[PATCH 04/16] drm/connector: Convert DRM_MODE_COLORIMETRY to enum

Harry Wentland harry.wentland at amd.com
Tue Dec 13 16:41:08 UTC 2022



On 12/13/22 05:39, Pekka Paalanen wrote:
> On Mon, 12 Dec 2022 13:21:25 -0500
> Harry Wentland <harry.wentland at amd.com> wrote:
> 
>> This allows us to use strongly typed arguments.
>>
>> Signed-off-by: Harry Wentland <harry.wentland at amd.com>
>> Cc: Pekka Paalanen <ppaalanen at gmail.com>
>> Cc: Sebastian Wick <sebastian.wick at redhat.com>
>> Cc: Vitaly.Prosyak at amd.com
>> Cc: Uma Shankar <uma.shankar at intel.com>
>> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
>> Cc: Joshua Ashton <joshua at froggi.es>
>> Cc: dri-devel at lists.freedesktop.org
>> Cc: amd-gfx at lists.freedesktop.org
>> ---
>>  include/drm/display/drm_dp.h |  2 +-
>>  include/drm/drm_connector.h  | 47 ++++++++++++++++++------------------
>>  2 files changed, 25 insertions(+), 24 deletions(-)
>>
>> diff --git a/include/drm/display/drm_dp.h b/include/drm/display/drm_dp.h
>> index 4d0abe4c7ea9..b98697459f9c 100644
>> --- a/include/drm/display/drm_dp.h
>> +++ b/include/drm/display/drm_dp.h
>> @@ -1615,7 +1615,7 @@ enum dp_pixelformat {
>>   *
>>   * This enum is used to indicate DP VSC SDP Colorimetry formats.
>>   * It is based on DP 1.4 spec [Table 2-117: VSC SDP Payload for DB16 through
>> - * DB18] and a name of enum member follows DRM_MODE_COLORIMETRY definition.
>> + * DB18] and a name of enum member follows &enum drm_colorimetry definition.
>>   *
>>   * @DP_COLORIMETRY_DEFAULT: sRGB (IEC 61966-2-1) or
>>   *                          ITU-R BT.601 colorimetry format
>> diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
>> index 62c814241828..edef65388c29 100644
>> --- a/include/drm/drm_connector.h
>> +++ b/include/drm/drm_connector.h
>> @@ -371,28 +371,29 @@ enum drm_privacy_screen_status {
>>   * a colorspace property which will be created and exposed to
>>   * userspace.
>>   */
>> -
>> -/* For Default case, driver will set the colorspace */
>> -#define DRM_MODE_COLORIMETRY_DEFAULT			0
>> -/* CEA 861 Normal Colorimetry options */
>> -#define DRM_MODE_COLORIMETRY_SMPTE_170M_YCC		1
>> -#define DRM_MODE_COLORIMETRY_BT709_YCC			2
>> -/* CEA 861 Extended Colorimetry Options */
>> -#define DRM_MODE_COLORIMETRY_XVYCC_601			3
>> -#define DRM_MODE_COLORIMETRY_XVYCC_709			4
>> -#define DRM_MODE_COLORIMETRY_SYCC_601			5
>> -#define DRM_MODE_COLORIMETRY_OPYCC_601			6
>> -#define DRM_MODE_COLORIMETRY_OPRGB			7
>> -#define DRM_MODE_COLORIMETRY_BT2020_CYCC		8
>> -#define DRM_MODE_COLORIMETRY_BT2020_RGB			9
>> -#define DRM_MODE_COLORIMETRY_BT2020_YCC			10
>> -/* Additional Colorimetry extension added as part of CTA 861.G */
>> -#define DRM_MODE_COLORIMETRY_DCI_P3_RGB_D65		11
>> -#define DRM_MODE_COLORIMETRY_DCI_P3_RGB_THEATER		12
>> -/* Additional Colorimetry Options added for DP 1.4a VSC Colorimetry Format */
>> -#define DRM_MODE_COLORIMETRY_RGB_WIDE_FIXED		13
>> -#define DRM_MODE_COLORIMETRY_RGB_WIDE_FLOAT		14
>> -#define DRM_MODE_COLORIMETRY_BT601_YCC			15
>> +enum drm_colorspace {
>> +	/* For Default case, driver will set the colorspace */
>> +	DRM_MODE_COLORIMETRY_DEFAULT,
>> +	/* CEA 861 Normal Colorimetry options */
>> +	DRM_MODE_COLORIMETRY_SMPTE_170M_YCC,
>> +	DRM_MODE_COLORIMETRY_BT709_YCC,
>> +	/* CEA 861 Extended Colorimetry Options */
>> +	DRM_MODE_COLORIMETRY_XVYCC_601,
>> +	DRM_MODE_COLORIMETRY_XVYCC_709,
>> +	DRM_MODE_COLORIMETRY_SYCC_601,
>> +	DRM_MODE_COLORIMETRY_OPYCC_601,
>> +	DRM_MODE_COLORIMETRY_OPRGB,
>> +	DRM_MODE_COLORIMETRY_BT2020_CYCC,
>> +	DRM_MODE_COLORIMETRY_BT2020_RGB,
>> +	DRM_MODE_COLORIMETRY_BT2020_YCC,
>> +	/* Additional Colorimetry extension added as part of CTA 861.G */
>> +	DRM_MODE_COLORIMETRY_DCI_P3_RGB_D65,
>> +	DRM_MODE_COLORIMETRY_DCI_P3_RGB_THEATER,
>> +	/* Additional Colorimetry Options added for DP 1.4a VSC Colorimetry Format */
>> +	DRM_MODE_COLORIMETRY_RGB_WIDE_FIXED,
>> +	DRM_MODE_COLORIMETRY_RGB_WIDE_FLOAT,
>> +	DRM_MODE_COLORIMETRY_BT601_YCC,
>> +};
> 
> Hi,
> 
> what's the entry for "the traditional sRGB"?
> 
> It cannot be DRM_MODE_COLORIMETRY_DEFAULT, because the doc here says
> that it maps to some driver-defined entry which may be something else.
> 

If I understand this list correctly the only entry that currently covers
sRGB is DEFAULT.

Harry

> 
> Thanks,
> pq
> 
>>  
>>  /**
>>   * enum drm_bus_flags - bus_flags info for &drm_display_info
>> @@ -825,7 +826,7 @@ struct drm_connector_state {
>>  	 * colorspace change on Sink. This is most commonly used to switch
>>  	 * to wider color gamuts like BT2020.
>>  	 */
>> -	u32 colorspace;
>> +	enum drm_colorspace colorspace;
>>  
>>  	/**
>>  	 * @writeback_job: Writeback job for writeback connectors
> 



More information about the dri-devel mailing list