Re: [resend PATCH v6 00/12] arm/arm64: mediatek: Fix mmsys device probing

From: CK Hu
Date: Wed Feb 12 2020 - 22:11:27 EST


Hi, Matthias:


Would you work on this series in a short time? Some Yongqiang's patches
[1] also modify mmsys driver, and now it depend on your patch to prevent
conflicts. If you would not work on this series in a short time, I would
like to apply Yongqiang's patch without this series.

[1]
https://patchwork.kernel.org/project/linux-mediatek/list/?series=223221

Regards,
CK

On Sat, 2019-12-07 at 23:47 +0100, matthias.bgg@xxxxxxxxxx wrote:
> From: Matthias Brugger <mbrugger@xxxxxxxx>
>
> [reseding due to wrong mail of Stephen]
>
> This is version five of the series. It's a long time this wasn't worked on, so
> as a reminder, version four can be found here:
> https://patchwork.kernel.org/cover/10686247/
>
> The biggest changes this new version does, is to implement the clock probing
> through a platform driver. The corresponding platform device get's created in
> the DRM driver. I converted all the clock drivers to platform drivers and tested
> the approach on the Acer Chromebook R13 (mt8173 based).
> Apart from that I reordered the patches so that the DT bindings update are the first
> patches.
>
> Changes since v5:
> - re-arrange the patch order
> - generate platform_device for mmsys clock driver inside the DRM driver
> - fix DTS binding accordingly
> - switch all mmsys clock driver to platform probing
> - fix mt8173 platform driver remove function
> - fix probe defer path in HDMI driver
> - fix probe defer path in mtk_mdp_comp
> - fix identation of error messages
>
> Changes since v4:
> - fix missing regmap accessors in drm diver (patch 1)
> - omit probe deffered warning on all drivers (patch 5)
> - update drm and clk bindings (patch 6 and 7)
> - put mmsys clock part in dts child node of mmsys. Only done
> for HW where no dts backport compatible breakage is expected
> (either DRM driver not yet implemented or no HW available to
> the public) (patch 9 to 12)
>
> Changes since v3:
> - use platform device to probe clock driver
> - add Acked-by CK Hu for the probe deferred patch
>
> Changes since v2:
> - fix kconfig typo (shame on me)
> - delete __initconst from mm_clocks as converted to a platform driver
>
> Changes since v1:
> - add binding documentation
> - ddp: use regmap_update_bits
> - ddp: ignore EPROBE_DEFER on clock probing
> - mfd: delete mmsys_private
> - add Reviewed-by and Acked-by tags
>
> MMSYS in Mediatek SoCs has some registers to control clock gates (which is
> used in the clk driver) and some registers to set the routing and enable
> the differnet blocks of the display subsystem.
>
> Up to now both drivers, clock and drm are probed with the same device tree
> compatible. But only the first driver get probed, which in effect breaks
> graphics on mt8173 and mt2701.
>
> This patch uses a platform device registration in the DRM driver, which
> will trigger the probe of the corresponding clock driver. It was tested on the
> bananapi-r2 and the Acer R13 Chromebook.
>
>
> Matthias Brugger (12):
> dt-bindings: display: mediatek: Add mmsys binding description
> dt-bindings: mediatek: Add compatible for mt7623
> drm/mediatek: Use regmap for register access
> drm: mediatek: Omit warning on probe defers
> media: mtk-mdp: Check return value of of_clk_get
> clk: mediatek: mt2701: switch mmsys to platform device probing
> clk: mediatek: mt2712e: switch to platform device probing
> clk: mediatek: mt6779: switch mmsys to platform device probing
> clk: mediatek: mt6797: switch to platform device probing
> clk: mediatek: mt8183: switch mmsys to platform device probing
> clk: mediatek: mt8173: switch mmsys to platform device probing
> drm/mediatek: Add support for mmsys through a pdev
>
> .../display/mediatek/mediatek,disp.txt | 30 ++++++-----
> drivers/clk/mediatek/clk-mt2701-mm.c | 41 +++++++++-----
> drivers/clk/mediatek/clk-mt2712-mm.c | 39 +++++++++-----
> drivers/clk/mediatek/clk-mt6779-mm.c | 41 +++++++++-----
> drivers/clk/mediatek/clk-mt6797-mm.c | 43 ++++++++++-----
> drivers/clk/mediatek/clk-mt8173.c | 51 +++++++++++++++---
> drivers/clk/mediatek/clk-mt8183-mm.c | 39 +++++++++-----
> drivers/gpu/drm/mediatek/mtk_disp_color.c | 5 +-
> drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 5 +-
> drivers/gpu/drm/mediatek/mtk_disp_rdma.c | 5 +-
> drivers/gpu/drm/mediatek/mtk_dpi.c | 12 +++--
> drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 4 +-
> drivers/gpu/drm/mediatek/mtk_drm_ddp.c | 54 +++++++++----------
> drivers/gpu/drm/mediatek/mtk_drm_ddp.h | 4 +-
> drivers/gpu/drm/mediatek/mtk_drm_drv.c | 35 +++++++++---
> drivers/gpu/drm/mediatek/mtk_drm_drv.h | 4 +-
> drivers/gpu/drm/mediatek/mtk_dsi.c | 8 ++-
> drivers/gpu/drm/mediatek/mtk_hdmi.c | 4 +-
> drivers/media/platform/mtk-mdp/mtk_mdp_comp.c | 6 +++
> 19 files changed, 295 insertions(+), 135 deletions(-)
>