[PATCH 02/12] drm: Create Color Management DRM properties

Malladi, Kausal Kausal.Malladi at intel.com
Tue Jul 7 21:27:33 PDT 2015


Thanks for your review, Matt! Our responses inline...

Kausal

On Wednesday 08 July 2015 04:53 AM, Matt Roper wrote:
> On Fri, Jul 03, 2015 at 09:01:37AM +0530, Kausal Malladi wrote:
>> Color Management is an extension to Kernel display framework. It allows
>> abstraction of hardware color correction and enhancement capabilities by
>> virtue of DRM properties.
>>
>> This patch initializes color management framework by :
>> 1. Introducing new pointers in DRM mode_config structure to
>>     carry CTM and Palette color correction properties.
>> 2. Creating these DRM properties in DRM standard properties creation
>>     sequence.
>>
>> Signed-off-by: Shashank Sharma <shashank.sharma at intel.com>
>> Signed-off-by: Kausal Malladi <Kausal.Malladi at intel.com>
>> ---
>>   drivers/gpu/drm/drm_crtc.c | 24 ++++++++++++++++++++++++
>>   include/drm/drm_crtc.h     |  6 ++++++
>>   2 files changed, 30 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
>> index 2d57fc5..5d12ea9 100644
>> --- a/drivers/gpu/drm/drm_crtc.c
>> +++ b/drivers/gpu/drm/drm_crtc.c
>> @@ -1462,6 +1462,30 @@ static int drm_mode_create_standard_properties(struct drm_device *dev)
>>   		return -ENOMEM;
>>   	dev->mode_config.prop_mode_id = prop;
>>   
>> +	/* Color Management properties */
>> +	prop = drm_property_create(dev,
>> +			DRM_MODE_PROP_BLOB | DRM_MODE_PROP_IMMUTABLE,
>> +			"COLOR_CAPABILITIES", 0);
> Is there a specific reason you don't check for NULL on this property
> like you do on all the others, or is this just an oversight?
Oops, it was an oversight. Thanks for bringing it to notice.
>
>
> Matt
>
>> +	dev->mode_config.prop_color_capabilities = prop;
>> +
>> +	prop = drm_property_create(dev,
>> +			DRM_MODE_PROP_BLOB, "PALETTE_AFTER_CTM", 0);
>> +	if (!prop)
>> +		return -ENOMEM;
>> +	dev->mode_config.prop_palette_after_ctm = prop;
>> +
>> +	prop = drm_property_create(dev,
>> +			DRM_MODE_PROP_BLOB, "PALETTE_BEFORE_CTM", 0);
>> +	if (!prop)
>> +		return -ENOMEM;
>> +	dev->mode_config.prop_palette_before_ctm = prop;
>> +
>> +	prop = drm_property_create(dev,
>> +			DRM_MODE_PROP_BLOB, "CTM", 0);
>> +	if (!prop)
>> +		return -ENOMEM;
>> +	dev->mode_config.prop_ctm = prop;
>> +
>>   	return 0;
>>   }
>>   
>> diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
>> index 57ca8cc..408d39a 100644
>> --- a/include/drm/drm_crtc.h
>> +++ b/include/drm/drm_crtc.h
>> @@ -1178,6 +1178,12 @@ struct drm_mode_config {
>>   	struct drm_property *suggested_x_property;
>>   	struct drm_property *suggested_y_property;
>>   
>> +	/* Color Management Properties */
>> +	struct drm_property *prop_color_capabilities;
>> +	struct drm_property *prop_palette_before_ctm;
>> +	struct drm_property *prop_palette_after_ctm;
>> +	struct drm_property *prop_ctm;
>> +
>>   	/* dumb ioctl parameters */
>>   	uint32_t preferred_depth, prefer_shadow;
>>   
>> -- 
>> 2.4.5
>>



More information about the dri-devel mailing list