Add atomic state property handling for CSC colorop's COLOR_ENCODING and COLOR_RANGE properties in both set and get paths.
Also add state printing support to display the current color encoding and range settings when dumping atomic state. Co-developed by Claude Sonnet 4.5. Signed-off-by: Harry Wentland <[email protected]> --- drivers/gpu/drm/drm_atomic.c | 6 ++++++ drivers/gpu/drm/drm_atomic_uapi.c | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index 04925166df98..2a7963c9676d 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -844,6 +844,12 @@ static void drm_atomic_colorop_print_state(struct drm_printer *p, drm_get_colorop_lut3d_interpolation_name(colorop->lut3d_interpolation)); drm_printf(p, "\tdata blob id=%d\n", state->data ? state->data->base.id : 0); break; + case DRM_COLOROP_CSC: + drm_printf(p, "\tcolor-encoding=%s\n", + drm_get_color_encoding_name(state->color_encoding)); + drm_printf(p, "\tcolor-range=%s\n", + drm_get_color_range_name(state->color_range)); + break; default: break; } diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c index 87de41fb4459..b760d753573c 100644 --- a/drivers/gpu/drm/drm_atomic_uapi.c +++ b/drivers/gpu/drm/drm_atomic_uapi.c @@ -754,6 +754,10 @@ static int drm_atomic_colorop_set_property(struct drm_colorop *colorop, state->multiplier = val; } else if (property == colorop->lut3d_interpolation_property) { colorop->lut3d_interpolation = val; + } else if (property == colorop->color_encoding_property) { + state->color_encoding = val; + } else if (property == colorop->color_range_property) { + state->color_range = val; } else if (property == colorop->data_property) { return drm_atomic_color_set_data_property(colorop, state, property, val); @@ -787,6 +791,10 @@ drm_atomic_colorop_get_property(struct drm_colorop *colorop, *val = colorop->size; else if (property == colorop->lut3d_interpolation_property) *val = colorop->lut3d_interpolation; + else if (property == colorop->color_encoding_property) + *val = state->color_encoding; + else if (property == colorop->color_range_property) + *val = state->color_range; else if (property == colorop->data_property) *val = (state->data) ? state->data->base.id : 0; else -- 2.53.0
