2020-04-09 06:03:42

by Hsin-Yi Wang

[permalink] [raw]
Subject: [PATCH v2] drm: mediatek: fix device passed to cmdq

drm device is now probed from mmsys. We need to use mmsys device to get gce
nodes. Fix following errors:

[ 0.740068] mediatek-drm mediatek-drm.1.auto: error -2 can't parse gce-client-reg property (0)
[ 0.748721] mediatek-drm mediatek-drm.1.auto: error -2 can't parse gce-client-reg property (0)
...
[ 2.659645] mediatek-drm mediatek-drm.1.auto: failed to request channel
[ 2.666270] mediatek-drm mediatek-drm.1.auto: failed to request channel

Fixes: 1d367541aded ("soc / drm: mediatek: Fix mediatek-drm device probing")
Signed-off-by: Hsin-Yi Wang <[email protected]>
Reviewed-by: Enric Balletbo i Serra <[email protected]>
Tested-by: Enric Balletbo i Serra <[email protected]>
---
The patch is based on
https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux.git
branch v5.6-next/soc

Change log:
v1->v2:
align with 60fa8c13ab1a ("drm/mediatek: Move gce event property to mutex device node")
---
drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 3 ++-
drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
index 615a54e60fe2..7247c6f87f4a 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
@@ -822,7 +822,8 @@ int mtk_drm_crtc_create(struct drm_device *drm_dev,

#if IS_REACHABLE(CONFIG_MTK_CMDQ)
mtk_crtc->cmdq_client =
- cmdq_mbox_create(dev, drm_crtc_index(&mtk_crtc->base),
+ cmdq_mbox_create(mtk_crtc->mmsys_dev,
+ drm_crtc_index(&mtk_crtc->base),
2000);
if (IS_ERR(mtk_crtc->cmdq_client)) {
dev_dbg(dev, "mtk_crtc %d failed to create mailbox client, writing register by CPU now\n",
diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
index e2bb0d19ef99..28418e5b83ee 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
@@ -517,7 +517,7 @@ static int mtk_drm_probe(struct platform_device *pdev)
goto err_node;
}

- ret = mtk_ddp_comp_init(dev, node, comp, comp_id, NULL);
+ ret = mtk_ddp_comp_init(dev->parent, node, comp, comp_id, NULL);
if (ret) {
of_node_put(node);
goto err_node;
--
2.26.0.292.g33ef6b2f38-goog


2020-04-09 17:27:06

by Chun-Kuang Hu

[permalink] [raw]
Subject: Re: [PATCH v2] drm: mediatek: fix device passed to cmdq

Hi, Hsin-Yi:

Hsin-Yi Wang <[email protected]> 於 2020年4月9日 週四 下午2:02寫道:
>
> drm device is now probed from mmsys. We need to use mmsys device to get gce
> nodes. Fix following errors:
>
> [ 0.740068] mediatek-drm mediatek-drm.1.auto: error -2 can't parse gce-client-reg property (0)
> [ 0.748721] mediatek-drm mediatek-drm.1.auto: error -2 can't parse gce-client-reg property (0)
> ...
> [ 2.659645] mediatek-drm mediatek-drm.1.auto: failed to request channel
> [ 2.666270] mediatek-drm mediatek-drm.1.auto: failed to request channel

Reviewed-by: Chun-Kuang Hu <[email protected]>

>
> Fixes: 1d367541aded ("soc / drm: mediatek: Fix mediatek-drm device probing")
> Signed-off-by: Hsin-Yi Wang <[email protected]>
> Reviewed-by: Enric Balletbo i Serra <[email protected]>
> Tested-by: Enric Balletbo i Serra <[email protected]>
> ---
> The patch is based on
> https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux.git
> branch v5.6-next/soc
>
> Change log:
> v1->v2:
> align with 60fa8c13ab1a ("drm/mediatek: Move gce event property to mutex device node")
> ---
> drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 3 ++-
> drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 +-
> 2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> index 615a54e60fe2..7247c6f87f4a 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> @@ -822,7 +822,8 @@ int mtk_drm_crtc_create(struct drm_device *drm_dev,
>
> #if IS_REACHABLE(CONFIG_MTK_CMDQ)
> mtk_crtc->cmdq_client =
> - cmdq_mbox_create(dev, drm_crtc_index(&mtk_crtc->base),
> + cmdq_mbox_create(mtk_crtc->mmsys_dev,
> + drm_crtc_index(&mtk_crtc->base),
> 2000);
> if (IS_ERR(mtk_crtc->cmdq_client)) {
> dev_dbg(dev, "mtk_crtc %d failed to create mailbox client, writing register by CPU now\n",
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> index e2bb0d19ef99..28418e5b83ee 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> @@ -517,7 +517,7 @@ static int mtk_drm_probe(struct platform_device *pdev)
> goto err_node;
> }
>
> - ret = mtk_ddp_comp_init(dev, node, comp, comp_id, NULL);
> + ret = mtk_ddp_comp_init(dev->parent, node, comp, comp_id, NULL);
> if (ret) {
> of_node_put(node);
> goto err_node;
> --
> 2.26.0.292.g33ef6b2f38-goog
>