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: 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>
This commit is contained in:
parent
d175d6e0bb
commit
ac229a22f2
@ -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;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user