From: CK Hu <ck.hu@mediatek.com>
To: Hsin-Yi Wang <hsinyi@chromium.org>
Cc: David Airlie <airlied@linux.ie>,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
linux-mediatek@lists.infradead.org,
Matthias Brugger <matthias.bgg@gmail.com>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 2/4] drm: mediatek: unbind components in mtk_drm_unbind()
Date: Thu, 30 May 2019 10:17:58 +0800 [thread overview]
Message-ID: <1559182678.6868.1.camel@mtksdaap41> (raw)
In-Reply-To: <20190529102555.251579-3-hsinyi@chromium.org>
Hi, Hsin-Yi:
On Wed, 2019-05-29 at 18:25 +0800, Hsin-Yi Wang wrote:
> Unbinding components (i.e. mtk_dsi and mtk_disp_ovl/rdma/color) will
> trigger master(mtk_drm)'s .unbind(), and currently mtk_drm's unbind
> won't actually unbind components. During the next bind,
> mtk_drm_kms_init() is called, and the components are added back.
>
> .unbind() should call mtk_drm_kms_deinit() to unbind components.
>
> And since component_master_del() in .remove() will trigger .unbind(),
> which will also unregister device, it's fine to remove original functions
> called here.
Reviewed-by: CK Hu <ck.hu@mediatek.com>
>
> Fixes: 119f5173628a ("drm/mediatek: Add DRM Driver for Mediatek SoC MT8173.")
> Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>
> ---
> change log v1->v2:
> * separate another 2 fixes to other patches.
> ---
> drivers/gpu/drm/mediatek/mtk_drm_drv.c | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> index 57ce4708ef1b..e7362bdafa82 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> @@ -397,6 +397,7 @@ static void mtk_drm_unbind(struct device *dev)
> struct mtk_drm_private *private = dev_get_drvdata(dev);
>
> drm_dev_unregister(private->drm);
> + mtk_drm_kms_deinit(private->drm);
> drm_dev_put(private->drm);
> private->drm = NULL;
> }
> @@ -568,13 +569,8 @@ static int mtk_drm_probe(struct platform_device *pdev)
> static int mtk_drm_remove(struct platform_device *pdev)
> {
> struct mtk_drm_private *private = platform_get_drvdata(pdev);
> - struct drm_device *drm = private->drm;
> int i;
>
> - drm_dev_unregister(drm);
> - mtk_drm_kms_deinit(drm);
> - drm_dev_put(drm);
> -
> component_master_del(&pdev->dev, &mtk_drm_ops);
> pm_runtime_disable(&pdev->dev);
> of_node_put(private->mutex_node);
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
WARNING: multiple messages have this Message-ID (diff)
From: CK Hu <ck.hu@mediatek.com>
To: Hsin-Yi Wang <hsinyi@chromium.org>
Cc: Philipp Zabel <p.zabel@pengutronix.de>,
David Airlie <airlied@linux.ie>,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
linux-mediatek@lists.infradead.org,
Daniel Vetter <daniel@ffwll.ch>,
Matthias Brugger <matthias.bgg@gmail.com>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 2/4] drm: mediatek: unbind components in mtk_drm_unbind()
Date: Thu, 30 May 2019 10:17:58 +0800 [thread overview]
Message-ID: <1559182678.6868.1.camel@mtksdaap41> (raw)
In-Reply-To: <20190529102555.251579-3-hsinyi@chromium.org>
Hi, Hsin-Yi:
On Wed, 2019-05-29 at 18:25 +0800, Hsin-Yi Wang wrote:
> Unbinding components (i.e. mtk_dsi and mtk_disp_ovl/rdma/color) will
> trigger master(mtk_drm)'s .unbind(), and currently mtk_drm's unbind
> won't actually unbind components. During the next bind,
> mtk_drm_kms_init() is called, and the components are added back.
>
> .unbind() should call mtk_drm_kms_deinit() to unbind components.
>
> And since component_master_del() in .remove() will trigger .unbind(),
> which will also unregister device, it's fine to remove original functions
> called here.
Reviewed-by: CK Hu <ck.hu@mediatek.com>
>
> Fixes: 119f5173628a ("drm/mediatek: Add DRM Driver for Mediatek SoC MT8173.")
> Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>
> ---
> change log v1->v2:
> * separate another 2 fixes to other patches.
> ---
> drivers/gpu/drm/mediatek/mtk_drm_drv.c | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> index 57ce4708ef1b..e7362bdafa82 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> @@ -397,6 +397,7 @@ static void mtk_drm_unbind(struct device *dev)
> struct mtk_drm_private *private = dev_get_drvdata(dev);
>
> drm_dev_unregister(private->drm);
> + mtk_drm_kms_deinit(private->drm);
> drm_dev_put(private->drm);
> private->drm = NULL;
> }
> @@ -568,13 +569,8 @@ static int mtk_drm_probe(struct platform_device *pdev)
> static int mtk_drm_remove(struct platform_device *pdev)
> {
> struct mtk_drm_private *private = platform_get_drvdata(pdev);
> - struct drm_device *drm = private->drm;
> int i;
>
> - drm_dev_unregister(drm);
> - mtk_drm_kms_deinit(drm);
> - drm_dev_put(drm);
> -
> component_master_del(&pdev->dev, &mtk_drm_ops);
> pm_runtime_disable(&pdev->dev);
> of_node_put(private->mutex_node);
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: CK Hu <ck.hu@mediatek.com>
To: Hsin-Yi Wang <hsinyi@chromium.org>
Cc: <linux-arm-kernel@lists.infradead.org>,
Philipp Zabel <p.zabel@pengutronix.de>,
David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
Matthias Brugger <matthias.bgg@gmail.com>,
<dri-devel@lists.freedesktop.org>,
<linux-mediatek@lists.infradead.org>,
<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2 2/4] drm: mediatek: unbind components in mtk_drm_unbind()
Date: Thu, 30 May 2019 10:17:58 +0800 [thread overview]
Message-ID: <1559182678.6868.1.camel@mtksdaap41> (raw)
In-Reply-To: <20190529102555.251579-3-hsinyi@chromium.org>
Hi, Hsin-Yi:
On Wed, 2019-05-29 at 18:25 +0800, Hsin-Yi Wang wrote:
> Unbinding components (i.e. mtk_dsi and mtk_disp_ovl/rdma/color) will
> trigger master(mtk_drm)'s .unbind(), and currently mtk_drm's unbind
> won't actually unbind components. During the next bind,
> mtk_drm_kms_init() is called, and the components are added back.
>
> .unbind() should call mtk_drm_kms_deinit() to unbind components.
>
> And since component_master_del() in .remove() will trigger .unbind(),
> which will also unregister device, it's fine to remove original functions
> called here.
Reviewed-by: CK Hu <ck.hu@mediatek.com>
>
> Fixes: 119f5173628a ("drm/mediatek: Add DRM Driver for Mediatek SoC MT8173.")
> Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>
> ---
> change log v1->v2:
> * separate another 2 fixes to other patches.
> ---
> drivers/gpu/drm/mediatek/mtk_drm_drv.c | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> index 57ce4708ef1b..e7362bdafa82 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> @@ -397,6 +397,7 @@ static void mtk_drm_unbind(struct device *dev)
> struct mtk_drm_private *private = dev_get_drvdata(dev);
>
> drm_dev_unregister(private->drm);
> + mtk_drm_kms_deinit(private->drm);
> drm_dev_put(private->drm);
> private->drm = NULL;
> }
> @@ -568,13 +569,8 @@ static int mtk_drm_probe(struct platform_device *pdev)
> static int mtk_drm_remove(struct platform_device *pdev)
> {
> struct mtk_drm_private *private = platform_get_drvdata(pdev);
> - struct drm_device *drm = private->drm;
> int i;
>
> - drm_dev_unregister(drm);
> - mtk_drm_kms_deinit(drm);
> - drm_dev_put(drm);
> -
> component_master_del(&pdev->dev, &mtk_drm_ops);
> pm_runtime_disable(&pdev->dev);
> of_node_put(private->mutex_node);
next prev parent reply other threads:[~2019-05-30 2:17 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-29 10:25 [PATCH v2 0/4] fix mediatek drm, dis, and disp-* unbind/bind Hsin-Yi Wang
2019-05-29 10:25 ` Hsin-Yi Wang
2019-05-29 10:25 ` [PATCH v2 1/4] drm: mediatek: fix unbind functions Hsin-Yi Wang
2019-05-29 10:25 ` Hsin-Yi Wang
2019-05-30 2:13 ` CK Hu
2019-05-30 2:13 ` CK Hu
2019-05-30 2:13 ` CK Hu
2019-05-29 10:25 ` [PATCH v2 2/4] drm: mediatek: unbind components in mtk_drm_unbind() Hsin-Yi Wang
2019-05-29 10:25 ` Hsin-Yi Wang
2019-05-30 2:17 ` CK Hu [this message]
2019-05-30 2:17 ` CK Hu
2019-05-30 2:17 ` CK Hu
2019-05-29 10:25 ` [PATCH v2 3/4] drm: mediatek: call drm_atomic_helper_shutdown() when unbinding driver Hsin-Yi Wang
2019-05-29 10:25 ` Hsin-Yi Wang
2019-05-30 2:22 ` CK Hu
2019-05-30 2:22 ` CK Hu
2019-05-30 2:22 ` CK Hu
2019-05-29 10:25 ` [PATCH v2 4/4] drm: mediatek: clear num_pipes when unbind driver Hsin-Yi Wang
2019-05-29 10:25 ` Hsin-Yi Wang
2019-05-30 2:28 ` CK Hu
2019-05-30 2:28 ` CK Hu
2019-05-30 2:28 ` CK Hu
2019-06-04 1:33 ` [PATCH v2 0/4] fix mediatek drm, dis, and disp-* unbind/bind CK Hu
2019-06-04 1:33 ` CK Hu
2019-06-04 1:33 ` CK Hu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1559182678.6868.1.camel@mtksdaap41 \
--to=ck.hu@mediatek.com \
--cc=airlied@linux.ie \
--cc=dri-devel@lists.freedesktop.org \
--cc=hsinyi@chromium.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.