Chun-Kuang Hu <chunkuang.hu@xxxxxxxxxx> 於 2020年9月3日 週四 上午6:06寫道: > > Even though cmdq client is created successfully, without the cmdq event, > cmdq could not work correctly, so use CPU when fail to get cmdq event. Applied to mediatek-drm-fixes [1]. [1] https://git.kernel.org/pub/scm/linux/kernel/git/chunkuang.hu/linux.git/log/?h=mediatek-drm-fixes Regards, Chun-Kuang. > > Fixes: 60fa8c13ab1a ("drm/mediatek: Move gce event property to mutex device node") > Signed-off-by: Chun-Kuang Hu <chunkuang.hu@xxxxxxxxxx> > --- > drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 20 +++++++++++++------- > 1 file changed, 13 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > index 3fc5511330b9..4d29568be3f5 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > @@ -831,13 +831,19 @@ int mtk_drm_crtc_create(struct drm_device *drm_dev, > drm_crtc_index(&mtk_crtc->base)); > mtk_crtc->cmdq_client = NULL; > } > - ret = of_property_read_u32_index(priv->mutex_node, > - "mediatek,gce-events", > - drm_crtc_index(&mtk_crtc->base), > - &mtk_crtc->cmdq_event); > - if (ret) > - dev_dbg(dev, "mtk_crtc %d failed to get mediatek,gce-events property\n", > - drm_crtc_index(&mtk_crtc->base)); > + > + if (mtk_crtc->cmdq_client) { > + ret = of_property_read_u32_index(priv->mutex_node, > + "mediatek,gce-events", > + drm_crtc_index(&mtk_crtc->base), > + &mtk_crtc->cmdq_event); > + if (ret) { > + dev_dbg(dev, "mtk_crtc %d failed to get mediatek,gce-events property\n", > + drm_crtc_index(&mtk_crtc->base)); > + cmdq_mbox_destroy(mtk_crtc->cmdq_client); > + mtk_crtc->cmdq_client = NULL; > + } > + } > #endif > return 0; > } > -- > 2.17.1 > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel