Commit ac229a22 authored by Dmitry Baryshkov's avatar Dmitry Baryshkov Committed by Rob Clark

drm/msm/dsi: drop the hpd worker

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: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: default avatarAbhinav Kumar <quic_abhinavk@quicinc.com>
Patchwork: https://patchwork.freedesktop.org/patch/498740/
Link: https://lore.kernel.org/r/20220822174417.292926-1-dmitry.baryshkov@linaro.orgSigned-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
parent d175d6e0
...@@ -144,7 +144,6 @@ struct msm_dsi_host { ...@@ -144,7 +144,6 @@ struct msm_dsi_host {
u32 err_work_state; u32 err_work_state;
struct work_struct err_work; struct work_struct err_work;
struct work_struct hpd_work;
struct workqueue_struct *workqueue; struct workqueue_struct *workqueue;
/* DSI 6G TX buffer*/ /* DSI 6G TX buffer*/
...@@ -1427,14 +1426,6 @@ static int dsi_cmds2buf_tx(struct msm_dsi_host *msm_host, ...@@ -1427,14 +1426,6 @@ static int dsi_cmds2buf_tx(struct msm_dsi_host *msm_host,
return len; 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) static void dsi_err_worker(struct work_struct *work)
{ {
struct msm_dsi_host *msm_host = struct msm_dsi_host *msm_host =
...@@ -1624,8 +1615,6 @@ static int dsi_host_attach(struct mipi_dsi_host *host, ...@@ -1624,8 +1615,6 @@ static int dsi_host_attach(struct mipi_dsi_host *host,
return ret; return ret;
DBG("id=%d", msm_host->id); DBG("id=%d", msm_host->id);
if (msm_host->dev)
queue_work(msm_host->workqueue, &msm_host->hpd_work);
return 0; return 0;
} }
...@@ -1640,8 +1629,6 @@ static int dsi_host_detach(struct mipi_dsi_host *host, ...@@ -1640,8 +1629,6 @@ static int dsi_host_detach(struct mipi_dsi_host *host,
msm_host->device_node = NULL; msm_host->device_node = NULL;
DBG("id=%d", msm_host->id); DBG("id=%d", msm_host->id);
if (msm_host->dev)
queue_work(msm_host->workqueue, &msm_host->hpd_work);
return 0; return 0;
} }
...@@ -2055,7 +2042,6 @@ int msm_dsi_host_init(struct msm_dsi *msm_dsi) ...@@ -2055,7 +2042,6 @@ int msm_dsi_host_init(struct msm_dsi *msm_dsi)
/* setup workqueue */ /* setup workqueue */
msm_host->workqueue = alloc_ordered_workqueue("dsi_drm_work", 0); msm_host->workqueue = alloc_ordered_workqueue("dsi_drm_work", 0);
INIT_WORK(&msm_host->err_work, dsi_err_worker); INIT_WORK(&msm_host->err_work, dsi_err_worker);
INIT_WORK(&msm_host->hpd_work, dsi_hpd_worker);
msm_dsi->id = msm_host->id; msm_dsi->id = msm_host->id;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment