Commit 2190c144 authored by Harry Wentland's avatar Harry Wentland Committed by Simon Ser
Browse files

drm/colorop: Add atomic state print for drm_colorop

parent 78a5add8
Loading
Loading
Loading
Loading
+32 −1
Original line number Diff line number Diff line
@@ -780,6 +780,27 @@ static int drm_atomic_plane_check(const struct drm_plane_state *old_plane_state,
	return 0;
}

static void drm_atomic_colorop_print_state(struct drm_printer *p,
					   const struct drm_colorop_state *state)
{
	struct drm_colorop *colorop = state->colorop;

	drm_printf(p, "colorop[%u]:\n", colorop->base.id);
	drm_printf(p, "\ttype=%s\n", drm_get_colorop_type_name(colorop->type));
	drm_printf(p, "\tbypass=%u\n", state->bypass);

	switch (colorop->type) {
	case DRM_COLOROP_1D_CURVE:
		drm_printf(p, "\tcurve_1d_type=%s\n",
			   drm_get_colorop_curve_1d_type_name(state->curve_1d_type));
		break;
	default:
		break;
	}

	drm_printf(p, "\tnext=%d\n", colorop->next ? colorop->next->base.id : 0);
}

static void drm_atomic_plane_print_state(struct drm_printer *p,
		const struct drm_plane_state *state)
{
@@ -801,7 +822,8 @@ static void drm_atomic_plane_print_state(struct drm_printer *p,
	drm_printf(p, "\tcolor-range=%s\n",
		   drm_get_color_range_name(state->color_range));
	drm_printf(p, "\tcolor_mgmt_changed=%d\n", state->color_mgmt_changed);

	drm_printf(p, "\tcolor-pipeline=%d\n",
		   state->color_pipeline ? state->color_pipeline->base.id : 0);
	if (plane->funcs->atomic_print_state)
		plane->funcs->atomic_print_state(p, state);
}
@@ -1912,6 +1934,7 @@ static void __drm_state_dump(struct drm_device *dev, struct drm_printer *p,
			     bool take_locks)
{
	struct drm_mode_config *config = &dev->mode_config;
	struct drm_colorop *colorop;
	struct drm_plane *plane;
	struct drm_crtc *crtc;
	struct drm_connector *connector;
@@ -1921,6 +1944,14 @@ static void __drm_state_dump(struct drm_device *dev, struct drm_printer *p,
	if (!drm_drv_uses_atomic_modeset(dev))
		return;

	list_for_each_entry(colorop, &config->colorop_list, head) {
		if (take_locks)
			drm_modeset_lock(&colorop->plane->mutex, NULL);
		drm_atomic_colorop_print_state(p, colorop->state);
		if (take_locks)
			drm_modeset_unlock(&colorop->plane->mutex);
	}

	list_for_each_entry(plane, &config->plane_list, head) {
		if (take_locks)
			drm_modeset_lock(&plane->mutex, NULL);