Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/connector: Print connector colorspace in state debugfs

v3: Fix kerneldocs (kernel test robot)

v4: Avoid returning NULL from drm_get_colorspace_name

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com>
Reviewed-by: Joshua Ashton <joshua@froggi.es>
Reviewed-by: Simon Ser <contact@emersion.fr>

Cc: Pekka Paalanen <ppaalanen@gmail.com>
Cc: Sebastian Wick <sebastian.wick@redhat.com>
Cc: Vitaly.Prosyak@amd.com
Cc: Uma Shankar <uma.shankar@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Joshua Ashton <joshua@froggi.es>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Simon Ser <contact@emersion.fr>
Cc: Melissa Wen <mwen@igalia.com>
Cc: dri-devel@lists.freedesktop.org
Cc: amd-gfx@lists.freedesktop.org
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Harry Wentland and committed by
Alex Deucher
035d53e0 c627087c

+17
+1
drivers/gpu/drm/drm_atomic.c
··· 1131 1131 drm_printf(p, "\tcrtc=%s\n", state->crtc ? state->crtc->name : "(null)"); 1132 1132 drm_printf(p, "\tself_refresh_aware=%d\n", state->self_refresh_aware); 1133 1133 drm_printf(p, "\tmax_requested_bpc=%d\n", state->max_requested_bpc); 1134 + drm_printf(p, "\tcolorspace=%s\n", drm_get_colorspace_name(state->colorspace)); 1134 1135 1135 1136 if (connector->connector_type == DRM_MODE_CONNECTOR_WRITEBACK) 1136 1137 if (state->writeback_job && state->writeback_job->fb)
+15
drivers/gpu/drm/drm_connector.c
··· 1087 1087 [DRM_MODE_COLORIMETRY_BT601_YCC] = "BT601_YCC", 1088 1088 }; 1089 1089 1090 + /** 1091 + * drm_get_colorspace_name - return a string for color encoding 1092 + * @colorspace: color space to compute name of 1093 + * 1094 + * In contrast to the other drm_get_*_name functions this one here returns a 1095 + * const pointer and hence is threadsafe. 1096 + */ 1097 + const char *drm_get_colorspace_name(enum drm_colorspace colorspace) 1098 + { 1099 + if (colorspace < ARRAY_SIZE(colorspace_names) && colorspace_names[colorspace]) 1100 + return colorspace_names[colorspace]; 1101 + else 1102 + return "(null)"; 1103 + } 1104 + 1090 1105 static const u32 hdmi_colorspaces = 1091 1106 BIT(DRM_MODE_COLORIMETRY_SMPTE_170M_YCC) | 1092 1107 BIT(DRM_MODE_COLORIMETRY_BT709_YCC) |
+1
include/drm/drm_connector.h
··· 2078 2078 2079 2079 bool drm_connector_has_possible_encoder(struct drm_connector *connector, 2080 2080 struct drm_encoder *encoder); 2081 + const char *drm_get_colorspace_name(enum drm_colorspace colorspace); 2081 2082 2082 2083 /** 2083 2084 * drm_for_each_connector_iter - connector_list iterator macro