drm/msm/dsi: drop the hpd worker
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Mon, 22 Aug 2022 17:44:17 +0000 (20:44 +0300)
committerRob Clark <robdclark@chromium.org>
Sun, 18 Sep 2022 16:38:06 +0000 (09:38 -0700)
It makes no sense to have the HPD worker in the MSM DSI driver anymore.
It is only queued from the dsi_host_attach/detach() callbacks, where
it plays no useful role. Either way the panel or next bridge will be
present and will report it's status directly.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Patchwork: https://patchwork.freedesktop.org/patch/498740/
Link: https://lore.kernel.org/r/20220822174417.292926-1-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 40f27ed57340f1e9604ce57a4fa3544c92b4788b..d7d025fadda91aea1d939feb917b3429c45926f9 100644 (file)
@@ -144,7 +144,6 @@ struct msm_dsi_host {
 
        u32 err_work_state;
        struct work_struct err_work;
-       struct work_struct hpd_work;
        struct workqueue_struct *workqueue;
 
        /* DSI 6G TX buffer*/
@@ -1427,14 +1426,6 @@ static int dsi_cmds2buf_tx(struct msm_dsi_host *msm_host,
        return len;
 }
 
-static void dsi_hpd_worker(struct work_struct *work)
-{
-       struct msm_dsi_host *msm_host =
-               container_of(work, struct msm_dsi_host, hpd_work);
-
-       drm_helper_hpd_irq_event(msm_host->dev);
-}
-
 static void dsi_err_worker(struct work_struct *work)
 {
        struct msm_dsi_host *msm_host =
@@ -1624,8 +1615,6 @@ static int dsi_host_attach(struct mipi_dsi_host *host,
                return ret;
 
        DBG("id=%d", msm_host->id);
-       if (msm_host->dev)
-               queue_work(msm_host->workqueue, &msm_host->hpd_work);
 
        return 0;
 }
@@ -1640,8 +1629,6 @@ static int dsi_host_detach(struct mipi_dsi_host *host,
        msm_host->device_node = NULL;
 
        DBG("id=%d", msm_host->id);
-       if (msm_host->dev)
-               queue_work(msm_host->workqueue, &msm_host->hpd_work);
 
        return 0;
 }
@@ -2055,7 +2042,6 @@ int msm_dsi_host_init(struct msm_dsi *msm_dsi)
        /* setup workqueue */
        msm_host->workqueue = alloc_ordered_workqueue("dsi_drm_work", 0);
        INIT_WORK(&msm_host->err_work, dsi_err_worker);
-       INIT_WORK(&msm_host->hpd_work, dsi_hpd_worker);
 
        msm_dsi->id = msm_host->id;