OSDN Git Service

drm/msm/dsi: fetch DSC pps payload from struct mipi_dsi_device
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Mon, 11 Jul 2022 09:43:18 +0000 (12:43 +0300)
committerRob Clark <robdclark@chromium.org>
Sun, 18 Sep 2022 16:38:06 +0000 (09:38 -0700)
Now that struct mipi_dsi_device provides DSC data, fetch it from the
mentioned struct rather than from the struct drm_panel itself. This
would allow supporting MIPI DSI bridges handling DSC on their input
side.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Patchwork: https://patchwork.freedesktop.org/patch/493307/
Link: https://lore.kernel.org/r/20220711094320.368062-3-dmitry.baryshkov@linaro.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/msm/dsi/dsi_host.c

index d7d025f..9bb124c 100644 (file)
@@ -1604,6 +1604,8 @@ static int dsi_host_attach(struct mipi_dsi_host *host,
        msm_host->lanes = dsi->lanes;
        msm_host->format = dsi->format;
        msm_host->mode_flags = dsi->mode_flags;
+       if (dsi->dsc)
+               msm_host->dsc = dsi->dsc;
 
        /* Some gpios defined in panel DT need to be controlled by host */
        ret = dsi_host_init_panel_gpios(msm_host, &dsi->dev);
@@ -2074,14 +2076,9 @@ int msm_dsi_host_modeset_init(struct mipi_dsi_host *host,
 {
        struct msm_dsi_host *msm_host = to_msm_dsi_host(host);
        const struct msm_dsi_cfg_handler *cfg_hnd = msm_host->cfg_hnd;
-       struct drm_panel *panel;
        int ret;
 
        msm_host->dev = dev;
-       panel = msm_dsi_host_get_panel(&msm_host->base);
-
-       if (!IS_ERR(panel) && panel->dsc)
-               msm_host->dsc = panel->dsc;
 
        ret = cfg_hnd->ops->tx_buf_alloc(msm_host, SZ_4K);
        if (ret) {