mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 03:24:45 +01:00
drm/colorop: Add atomic state print for drm_colorop
Print atomic state for drm_colorop in debugfs Reviewed-by: Simon Ser <contact@emersion.fr> Signed-off-by: Alex Hung <alex.hung@amd.com> Signed-off-by: Harry Wentland <harry.wentland@amd.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Melissa Wen <mwen@igalia.com> Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com> Signed-off-by: Simon Ser <contact@emersion.fr> Link: https://patch.msgid.link/20251115000237.3561250-10-alex.hung@amd.com
This commit is contained in:
parent
78a5add824
commit
2190c14498
1 changed files with 32 additions and 1 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue