drm/msm/dsi: Use the new setup_encoder function in attach_dsi_device [Linux 5.3]

This Linux kernel change "drm/msm/dsi: Use the new setup_encoder function in attach_dsi_device" is included in the Linux 5.3 release. This change is authored by Sean Paul <seanpaul [at] chromium.org> on Mon Jun 17 16:12:56 2019 -0400. The commit for this change in Linux stable tree is 970524b (patch).

drm/msm/dsi: Use the new setup_encoder function in attach_dsi_device

Now that we have a function to call set_encoder_mode() for us, use it.

Reviewed-by: Rob Clark <robdclark@chromium.org>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20190617201301.133275-8-sean@poorly.run

There are 19 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

 drivers/gpu/drm/msm/dsi/dsi.h         |  2 +-
 drivers/gpu/drm/msm/dsi/dsi_host.c    |  2 +-
 drivers/gpu/drm/msm/dsi/dsi_manager.c | 15 ++-------------
 3 files changed, 4 insertions(+), 15 deletions(-)

diff --git a/drivers/gpu/drm/msm/dsi/dsi.h b/drivers/gpu/drm/msm/dsi/dsi.h
index e0bbe81..f8a6117 100644
--- a/drivers/gpu/drm/msm/dsi/dsi.h
+++ b/drivers/gpu/drm/msm/dsi/dsi.h
@@ -96,7 +96,7 @@ struct msm_dsi {
 struct drm_connector *msm_dsi_manager_ext_bridge_init(u8 id);
 int msm_dsi_manager_cmd_xfer(int id, const struct mipi_dsi_msg *msg);
 bool msm_dsi_manager_cmd_xfer_trigger(int id, u32 dma_base, u32 len);
-void msm_dsi_manager_attach_dsi_device(int id, u32 device_flags);
+void msm_dsi_manager_attach_dsi_device(int id);
 int msm_dsi_manager_register(struct msm_dsi *msm_dsi);
 void msm_dsi_manager_unregister(struct msm_dsi *msm_dsi);
 bool msm_dsi_manager_validate_current_config(u8 id);
diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c
index 2594ecf..f6eb91c 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_host.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_host.c
@@ -1598,7 +1598,7 @@ static int dsi_host_attach(struct mipi_dsi_host *host,
    msm_host->format = dsi->format;
    msm_host->mode_flags = dsi->mode_flags;

-   msm_dsi_manager_attach_dsi_device(msm_host->id, dsi->mode_flags);
+   msm_dsi_manager_attach_dsi_device(msm_host->id);

    /* Some gpios defined in panel DT need to be controlled by host */
    ret = dsi_host_init_panel_gpios(msm_host, &dsi->dev);
diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c b/drivers/gpu/drm/msm/dsi/dsi_manager.c
index 787d978..a48a540 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_manager.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c
@@ -787,14 +787,10 @@ bool msm_dsi_manager_cmd_xfer_trigger(int id, u32 dma_base, u32 len)
    return true;
 }

-void msm_dsi_manager_attach_dsi_device(int id, u32 device_flags)
+void msm_dsi_manager_attach_dsi_device(int id)
 {
    struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id);
    struct drm_device *dev;
-   struct msm_drm_private *priv;
-   struct msm_kms *kms;
-   struct drm_encoder *encoder;
-   bool cmd_mode;

    /*
     * drm_device pointer is assigned to msm_dsi only in the modeset_init
@@ -816,14 +812,7 @@ void msm_dsi_manager_attach_dsi_device(int id, u32 device_flags)
    if (!dev)
        return;

-   priv = dev->dev_private;
-   kms = priv->kms;
-   encoder = msm_dsi_get_encoder(msm_dsi);
-   cmd_mode = !(device_flags &
-                MIPI_DSI_MODE_VIDEO);
-
-   if (encoder && kms->funcs->set_encoder_mode)
-       kms->funcs->set_encoder_mode(kms, encoder, cmd_mode);
+   msm_dsi_manager_setup_encoder(id);
 }

 int msm_dsi_manager_register(struct msm_dsi *msm_dsi)

Leave a Reply

Your email address will not be published. Required fields are marked *