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 >>