dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/mediatek: Use CPU when fail to get cmdq event
@ 2020-09-02 22:05 Chun-Kuang Hu
  2020-09-08 23:00 ` Chun-Kuang Hu
  0 siblings, 1 reply; 2+ messages in thread
From: Chun-Kuang Hu @ 2020-09-02 22:05 UTC (permalink / raw)
  To: dri-devel, linux-mediatek; +Cc: David Airlie, Chun-Kuang Hu

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.

Fixes: 60fa8c13ab1a ("drm/mediatek: Move gce event property to mutex device node")
Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
---
 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@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] drm/mediatek: Use CPU when fail to get cmdq event
  2020-09-02 22:05 [PATCH] drm/mediatek: Use CPU when fail to get cmdq event Chun-Kuang Hu
@ 2020-09-08 23:00 ` Chun-Kuang Hu
  0 siblings, 0 replies; 2+ messages in thread
From: Chun-Kuang Hu @ 2020-09-08 23:00 UTC (permalink / raw)
  To: Chun-Kuang Hu
  Cc: David Airlie, moderated list:ARM/Mediatek SoC support,
	DRI Development

Chun-Kuang Hu <chunkuang.hu@kernel.org> 於 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@kernel.org>
> ---
>  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@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-09-08 23:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-02 22:05 [PATCH] drm/mediatek: Use CPU when fail to get cmdq event Chun-Kuang Hu
2020-09-08 23:00 ` Chun-Kuang Hu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox