msm_dp_modeset_init() and msm_dp_bridge_init() take a yuv_supported
argument, which the DPU driver fills in from the presence of a CDM block
in the hardware catalog. All platforms that support DisplayPort have a
CDM block, so this argument is always true and only obscures the code.

Drop the argument and set the bridge's ycbcr_420_allowed flag
unconditionally.

Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Dmitry Baryshkov <[email protected]>
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 4 +---
 drivers/gpu/drm/msm/dp/dp_display.c     | 4 ++--
 drivers/gpu/drm/msm/dp/dp_drm.c         | 5 +++--
 drivers/gpu/drm/msm/dp/dp_drm.h         | 3 +--
 drivers/gpu/drm/msm/msm_drv.h           | 5 ++---
 5 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
index da3556eb6ecc..ede935a426d1 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
@@ -653,7 +653,6 @@ static int _dpu_kms_initialize_displayport(struct 
drm_device *dev,
 {
        struct drm_encoder *encoder = NULL;
        struct msm_display_info info;
-       bool yuv_supported;
        int rc;
        int i;
 
@@ -672,8 +671,7 @@ static int _dpu_kms_initialize_displayport(struct 
drm_device *dev,
                        return PTR_ERR(encoder);
                }
 
-               yuv_supported = !!dpu_kms->catalog->cdm;
-               rc = msm_dp_modeset_init(priv->kms->dp[i], dev, encoder, 
yuv_supported);
+               rc = msm_dp_modeset_init(priv->kms->dp[i], dev, encoder);
                if (rc) {
                        DPU_ERROR("modeset_init failed for DP, rc = %d\n", rc);
                        return rc;
diff --git a/drivers/gpu/drm/msm/dp/dp_display.c 
b/drivers/gpu/drm/msm/dp/dp_display.c
index e0c44eef3aba..5ae5eed7e010 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -1318,7 +1318,7 @@ void msm_dp_display_debugfs_init(struct msm_dp 
*msm_dp_display, struct dentry *r
 }
 
 int msm_dp_modeset_init(struct msm_dp *msm_dp_display, struct drm_device *dev,
-                       struct drm_encoder *encoder, bool yuv_supported)
+                       struct drm_encoder *encoder)
 {
        struct msm_dp_display_private *msm_dp_priv;
        int ret;
@@ -1327,7 +1327,7 @@ int msm_dp_modeset_init(struct msm_dp *msm_dp_display, 
struct drm_device *dev,
 
        msm_dp_priv = container_of(msm_dp_display, struct 
msm_dp_display_private, msm_dp_display);
 
-       ret = msm_dp_bridge_init(msm_dp_display, dev, encoder, yuv_supported);
+       ret = msm_dp_bridge_init(msm_dp_display, dev, encoder);
        if (ret) {
                DRM_DEV_ERROR(dev->dev,
                        "failed to create dp bridge: %d\n", ret);
diff --git a/drivers/gpu/drm/msm/dp/dp_drm.c b/drivers/gpu/drm/msm/dp/dp_drm.c
index 06881bfd6181..4f615b45fff7 100644
--- a/drivers/gpu/drm/msm/dp/dp_drm.c
+++ b/drivers/gpu/drm/msm/dp/dp_drm.c
@@ -243,7 +243,7 @@ static const struct drm_bridge_funcs msm_edp_bridge_ops = {
 };
 
 int msm_dp_bridge_init(struct msm_dp *msm_dp_display, struct drm_device *dev,
-                  struct drm_encoder *encoder, bool yuv_supported)
+                  struct drm_encoder *encoder)
 {
        int rc;
        struct msm_dp_bridge *msm_dp_bridge;
@@ -259,7 +259,8 @@ int msm_dp_bridge_init(struct msm_dp *msm_dp_display, 
struct drm_device *dev,
 
        bridge = &msm_dp_bridge->bridge;
        bridge->type = msm_dp_display->connector_type;
-       bridge->ycbcr_420_allowed = yuv_supported;
+       /* all platforms which support DP have a CDM block for YUV output */
+       bridge->ycbcr_420_allowed = true;
 
        /*
         * Many ops only make sense for DP. Why?
diff --git a/drivers/gpu/drm/msm/dp/dp_drm.h b/drivers/gpu/drm/msm/dp/dp_drm.h
index 041aa026ae2e..3b046822f05e 100644
--- a/drivers/gpu/drm/msm/dp/dp_drm.h
+++ b/drivers/gpu/drm/msm/dp/dp_drm.h
@@ -22,8 +22,7 @@ struct msm_dp_bridge {
 struct drm_connector *msm_dp_drm_connector_init(struct msm_dp *msm_dp_display,
                                            struct drm_encoder *encoder);
 int msm_dp_bridge_init(struct msm_dp *msm_dp_display, struct drm_device *dev,
-                  struct drm_encoder *encoder,
-                  bool yuv_supported);
+                  struct drm_encoder *encoder);
 
 enum drm_connector_status msm_dp_bridge_detect(struct drm_bridge *bridge,
                                               struct drm_connector *connector);
diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h
index 3d5679be488e..0ec0622d9217 100644
--- a/drivers/gpu/drm/msm/msm_drv.h
+++ b/drivers/gpu/drm/msm/msm_drv.h
@@ -354,7 +354,7 @@ struct msm_dp;
 int __init msm_dp_register(void);
 void __exit msm_dp_unregister(void);
 int msm_dp_modeset_init(struct msm_dp *dp_display, struct drm_device *dev,
-                        struct drm_encoder *encoder, bool yuv_supported);
+                        struct drm_encoder *encoder);
 void msm_dp_snapshot(struct msm_disp_state *disp_state, struct msm_dp 
*dp_display);
 bool msm_dp_needs_periph_flush(const struct msm_dp *dp_display,
                               const struct drm_display_mode *mode);
@@ -370,8 +370,7 @@ static inline void __exit msm_dp_unregister(void)
 }
 static inline int msm_dp_modeset_init(struct msm_dp *dp_display,
                                       struct drm_device *dev,
-                                      struct drm_encoder *encoder,
-                                      bool yuv_supported)
+                                      struct drm_encoder *encoder)
 {
        return -EINVAL;
 }

-- 
2.47.3

Reply via email to