]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/msm/dpu: simplify dpu_encoder_get_topology() interface
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Thu, 23 Jan 2025 12:43:35 +0000 (14:43 +0200)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tue, 25 Feb 2025 18:07:44 +0000 (20:07 +0200)
As a preparation for calling dpu_encoder_get_topology() from different
code paths, simplify its calling interface, obtaining some data pointers
internally instead passing them via arguments.

Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/633396/
Link: https://lore.kernel.org/r/20250123-drm-dirty-modeset-v2-3-bbfd3a6cd1a4@linaro.org
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c

index de329761cdb6bab37d920c07fb6ef2e195e61aa8..938d8b05a4cd4d2a926ae68ee9a2b7ee2de69ac4 100644 (file)
@@ -649,14 +649,14 @@ struct drm_dsc_config *dpu_encoder_get_dsc_config(struct drm_encoder *drm_enc)
 
 static struct msm_display_topology dpu_encoder_get_topology(
                        struct dpu_encoder_virt *dpu_enc,
-                       struct dpu_kms *dpu_kms,
                        struct drm_display_mode *mode,
                        struct drm_crtc_state *crtc_state,
-                       struct drm_connector_state *conn_state,
-                       struct drm_dsc_config *dsc)
+                       struct drm_connector_state *conn_state)
 {
        struct msm_drm_private *priv = dpu_enc->base.dev->dev_private;
        struct msm_display_info *disp_info = &dpu_enc->disp_info;
+       struct dpu_kms *dpu_kms = to_dpu_kms(priv->kms);
+       struct drm_dsc_config *dsc = dpu_encoder_get_dsc_config(&dpu_enc->base);
        struct msm_display_topology topology = {0};
        int i, intf_count = 0;
 
@@ -770,7 +770,6 @@ static int dpu_encoder_virt_atomic_check(
        struct drm_display_mode *adj_mode;
        struct msm_display_topology topology;
        struct dpu_global_state *global_state;
-       struct drm_dsc_config *dsc;
        int ret = 0;
 
        if (!drm_enc || !crtc_state || !conn_state) {
@@ -791,10 +790,7 @@ static int dpu_encoder_virt_atomic_check(
 
        trace_dpu_enc_atomic_check(DRMID(drm_enc));
 
-       dsc = dpu_encoder_get_dsc_config(drm_enc);
-
-       topology = dpu_encoder_get_topology(dpu_enc, dpu_kms, adj_mode, crtc_state, conn_state,
-                                           dsc);
+       topology = dpu_encoder_get_topology(dpu_enc, adj_mode, crtc_state, conn_state);
 
        if (topology.needs_cdm && !dpu_enc->cur_master->hw_cdm)
                crtc_state->mode_changed = true;