Hi Hsin-Yi
Thanks for sending the patch upstream
On 6/4/20 7:11, Hsin-Yi Wang wrote:
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 hsinyi@chromium.org
Right, the mmsys device is now the parent of the drm device.
Reviewed-by: Enric Balletbo i Serra enric.balletbo@collabora.com
Also I tested drm with the patch applied and adding the gce client register to my device-tree.
Tested-by: Enric Balletbo i Serra enric.balletbo@collabora.com
Thanks, Enric
drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 6 ++++-- drivers/gpu/drm/mediatek/mtk_drm_drv.c | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c index 615a54e60fe2..8621f0289399 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c @@ -822,14 +822,16 @@ 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,
if (IS_ERR(mtk_crtc->cmdq_client)) { dev_dbg(dev, "mtk_crtc %d failed to create mailbox client, writing register by CPU now\n", drm_crtc_index(&mtk_crtc->base)); mtk_crtc->cmdq_client = NULL; }drm_crtc_index(&mtk_crtc->base), 2000);
- ret = of_property_read_u32_index(dev->of_node, "mediatek,gce-events",
- ret = of_property_read_u32_index(mtk_crtc->mmsys_dev->of_node,
if (ret)"mediatek,gce-events", drm_crtc_index(&mtk_crtc->base), &mtk_crtc->cmdq_event);
diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c index e2bb0d19ef99..dc78e86bccc0 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c @@ -517,7 +517,8 @@ 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;