linux-mediatek.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: CK Hu <ck.hu@mediatek.com>
To: Yong Wu <yong.wu@mediatek.com>
Cc: Matthias Brugger <matthias.bgg@gmail.com>,
	Joerg Roedel <joro@8bytes.org>, Rob Herring <robh+dt@kernel.org>,
	youlin.pei@mediatek.com, devicetree@vger.kernel.org,
	Nicolas Boichat <drinkcat@chromium.org>,
	srv_heupstream@mediatek.com, Will Deacon <will.deacon@arm.com>,
	linux-kernel@vger.kernel.org, Evan Green <evgreen@chromium.org>,
	Tomasz Figa <tfiga@google.com>,
	iommu@lists.linux-foundation.org,
	linux-mediatek@lists.infradead.org, yingjoe.chen@mediatek.com,
	anan.sun@mediatek.com, Robin Murphy <robin.murphy@arm.com>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 00/12] Clean up "mediatek,larb" after adding device_link
Date: Tue, 23 Jul 2019 10:31:49 +0800	[thread overview]
Message-ID: <1563849109.27558.14.camel@mtksdaap41> (raw)
In-Reply-To: <1560171313-28299-1-git-send-email-yong.wu@mediatek.com>

Hi, Yong:

I've added log  in mtk_smi_clk_enable() and mtk_smi_clk_disable(), and I
boot MT8183 with display, the log is

[    4.020340] mtk-smi-common 14019000.smi: mtk_smi_clk_enable()
[    4.331371] mtk-smi-common 14019000.smi: mtk_smi_clk_disable()
[    4.429578] mtk-smi-common 14019000.smi: mtk_smi_clk_enable()
[    4.719743] mtk-smi-common 14019000.smi: mtk_smi_clk_disable()
[    5.084770] mtk-smi-common 14019000.smi: mtk_smi_clk_enable()
[    5.904310] mtk-smi-common 14019000.smi: mtk_smi_clk_disable()

>From the log, the clock is finally turned off, but the display works
normally. This is because scpsys has turn the clock on,

		scpsys: syscon@10006000 {
			compatible = "mediatek,mt8183-scpsys", "syscon";
			#power-domain-cells = <1>;
			reg = <0 0x10006000 0 0x1000>;
			clocks = <&topckgen CLK_TOP_MUX_AUD_INTBUS>,
				 <&mmsys CLK_MM_SMI_COMMON>,
				 <&mmsys CLK_MM_GALS_COMM0>,
				 <&mmsys CLK_MM_GALS_COMM1>,
			clock-names = "audio","mm-0",
				      "mm-1", "mm-2";
		}

I'm worried that for MT8173, scpsys would not turn on subsys clock, this
series would let display work abnormally, so I think smi common should
not depend on scpsys to turn on the clock.

You could simply remove the clock parameter in scpsys device node, and
you would see the display works abnormally.

Regards,
CK


On Mon, 2019-06-10 at 20:55 +0800, Yong Wu wrote:
> MediaTek IOMMU block diagram always like below:
> 
>         M4U
>          |
>     smi-common
>          |
>   -------------
>   |         |  ...
>   |         |
> larb1     larb2
>   |         |
> vdec       venc
> 
> All the consumer connect with smi-larb, then connect with smi-common.
> 
> MediaTek IOMMU don't have its power-domain. When the consumer works,
> it should enable the smi-larb's power which also need enable the smi-common's
> power firstly.
> 
> Thus, Firstly, use the device link connect the consumer and the
> smi-larbs. then add device link between the smi-larb and smi-common.
> 
> After adding the device_link, then "mediatek,larb" property can be removed.
> the iommu consumer don't need call the mtk_smi_larb_get/put to enable
> the power and clock of smi-larb and smi-common.
> 
> This patchset depends on "MT8183 IOMMU SUPPORT"[1].
> 
> [1] https://lists.linuxfoundation.org/pipermail/iommu/2019-June/036552.html
> 
> Change notes:
> v2:
>    1) rebase on v5.2-rc1.
>    2) Move adding device_link between the consumer and smi-larb into
> iommu_add_device from Robin.
>    3) add DL_FLAG_AUTOREMOVE_CONSUMER even though the smi is built-in from Evan.
>    4) Remove the shutdown callback in iommu.   
> 
> v1: https://lists.linuxfoundation.org/pipermail/iommu/2019-January/032387.html
> 
> Yong Wu (12):
>   dt-binding: mediatek: Get rid of mediatek,larb for multimedia HW
>   iommu/mediatek: Add probe_defer for smi-larb
>   iommu/mediatek: Add device_link between the consumer and the larb
>     devices
>   memory: mtk-smi: Add device-link between smi-larb and smi-common
>   media: mtk-jpeg: Get rid of mtk_smi_larb_get/put
>   media: mtk-mdp: Get rid of mtk_smi_larb_get/put
>   media: mtk-vcodec: Get rid of mtk_smi_larb_get/put
>   drm/mediatek: Get rid of mtk_smi_larb_get/put
>   memory: mtk-smi: Get rid of mtk_smi_larb_get/put
>   iommu/mediatek: Use builtin_platform_driver
>   arm: dts: mediatek: Get rid of mediatek,larb for MM nodes
>   arm64: dts: mediatek: Get rid of mediatek,larb for MM nodes
> 
>  .../bindings/display/mediatek/mediatek,disp.txt    |  9 -----
>  .../bindings/media/mediatek-jpeg-decoder.txt       |  4 --
>  .../devicetree/bindings/media/mediatek-mdp.txt     |  8 ----
>  .../devicetree/bindings/media/mediatek-vcodec.txt  |  4 --
>  arch/arm/boot/dts/mt2701.dtsi                      |  1 -
>  arch/arm/boot/dts/mt7623.dtsi                      |  1 -
>  arch/arm64/boot/dts/mediatek/mt8173.dtsi           | 15 -------
>  drivers/gpu/drm/mediatek/mtk_drm_crtc.c            | 11 -----
>  drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c        | 26 ------------
>  drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h        |  1 -
>  drivers/iommu/mtk_iommu.c                          | 45 +++++++--------------
>  drivers/iommu/mtk_iommu_v1.c                       | 39 +++++++-----------
>  drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c    | 22 ----------
>  drivers/media/platform/mtk-jpeg/mtk_jpeg_core.h    |  2 -
>  drivers/media/platform/mtk-mdp/mtk_mdp_comp.c      | 38 -----------------
>  drivers/media/platform/mtk-mdp/mtk_mdp_comp.h      |  2 -
>  drivers/media/platform/mtk-mdp/mtk_mdp_core.c      |  1 -
>  .../media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c  | 21 ----------
>  drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h |  3 --
>  drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c |  1 -
>  .../media/platform/mtk-vcodec/mtk_vcodec_enc_pm.c  | 47 ----------------------
>  drivers/memory/mtk-smi.c                           | 31 ++++----------
>  include/soc/mediatek/smi.h                         | 20 ---------
>  23 files changed, 36 insertions(+), 316 deletions(-)
> 

  parent reply	other threads:[~2019-07-23  2:31 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-10 12:55 [PATCH v2 00/12] Clean up "mediatek,larb" after adding device_link Yong Wu
2019-06-10 12:55 ` [PATCH v2 01/12] dt-binding: mediatek: Get rid of mediatek,larb for multimedia HW Yong Wu
2019-06-10 12:55 ` [PATCH v2 02/12] iommu/mediatek: Add probe_defer for smi-larb Yong Wu
2019-06-19 13:52   ` Matthias Brugger
     [not found]     ` <a11fa818-cf62-cc24-2c41-4688fda5a88f-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2019-06-22  2:42       ` Yong Wu
2019-06-10 12:55 ` [PATCH v2 03/12] iommu/mediatek: Add device_link between the consumer and the larb devices Yong Wu
2019-06-10 12:55 ` [PATCH v2 04/12] memory: mtk-smi: Add device-link between smi-larb and smi-common Yong Wu
2019-06-10 12:55 ` [PATCH v2 05/12] media: mtk-jpeg: Get rid of mtk_smi_larb_get/put Yong Wu
2019-06-20 15:20   ` Matthias Brugger
     [not found]     ` <6539751d-1751-f309-1c51-b3f9576c1b99-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2019-06-22  2:42       ` Yong Wu
2019-06-10 12:55 ` [PATCH v2 06/12] media: mtk-mdp: " Yong Wu
2019-06-10 12:55 ` [PATCH v2 07/12] media: mtk-vcodec: " Yong Wu
2019-06-10 12:55 ` [PATCH v2 08/12] drm/mediatek: " Yong Wu
2019-06-18  6:35   ` CK Hu
2019-06-18 12:14     ` Yong Wu
2019-06-10 12:55 ` [PATCH v2 10/12] iommu/mediatek: Use builtin_platform_driver Yong Wu
     [not found] ` <1560171313-28299-1-git-send-email-yong.wu-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2019-06-10 12:55   ` [PATCH v2 09/12] memory: mtk-smi: Get rid of mtk_smi_larb_get/put Yong Wu
2019-06-10 12:55   ` [PATCH v2 11/12] arm: dts: mediatek: Get rid of mediatek, larb for MM nodes Yong Wu
2019-06-10 12:55 ` [PATCH v2 12/12] arm64: dts: mediatek: Get rid of mediatek,larb " Yong Wu
2019-07-23  2:31 ` CK Hu [this message]
2019-07-27  7:51   ` [PATCH v2 00/12] Clean up "mediatek,larb" after adding device_link Yong Wu

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=1563849109.27558.14.camel@mtksdaap41 \
    --to=ck.hu@mediatek.com \
    --cc=anan.sun@mediatek.com \
    --cc=devicetree@vger.kernel.org \
    --cc=drinkcat@chromium.org \
    --cc=evgreen@chromium.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=joro@8bytes.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 \
    --cc=robh+dt@kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=srv_heupstream@mediatek.com \
    --cc=tfiga@google.com \
    --cc=will.deacon@arm.com \
    --cc=yingjoe.chen@mediatek.com \
    --cc=yong.wu@mediatek.com \
    --cc=youlin.pei@mediatek.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).