Stop advertise CRTC color mgmt properties if post-blend colorop is
enabled. Follow the same approach done for plane COLOR_ENCODING and
COLOR_RANGE when pre-blend colorop is enabled.

Signed-off-by: Melissa Wen <[email protected]>
---
 drivers/gpu/drm/drm_mode_object.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/drm_mode_object.c 
b/drivers/gpu/drm/drm_mode_object.c
index e9f317126035..3b7c94957bf0 100644
--- a/drivers/gpu/drm/drm_mode_object.c
+++ b/drivers/gpu/drm/drm_mode_object.c
@@ -442,10 +442,19 @@ int drm_mode_object_get_properties(struct drm_mode_object 
*obj, bool atomic,
                                continue;
                }
 
-               if (!crtc_color_pipeline && obj->type == DRM_MODE_OBJECT_CRTC) {
+               if (obj->type == DRM_MODE_OBJECT_CRTC) {
                        struct drm_crtc *crtc = obj_to_crtc(obj);
+                       struct drm_mode_config *config = 
&crtc->dev->mode_config;
 
-                       if (prop == crtc->color_pipeline_property)
+                       if (!crtc_color_pipeline && prop == 
crtc->color_pipeline_property)
+                               continue;
+
+                       if (crtc_color_pipeline &&
+                           (prop == config->degamma_lut_property ||
+                            prop == config->degamma_lut_size_property ||
+                            prop == config->ctm_property ||
+                            prop == config->gamma_lut_property ||
+                            prop == config->gamma_lut_size_property))
                                continue;
                }
 
-- 
2.53.0

Reply via email to