[PATCH v8 0/6] arm/arm64: mediatek: Fix mmsys device probing

From: Enric Balletbo i Serra
Date: Thu Feb 20 2020 - 12:22:02 EST


Dear all,

Those patches are intended to solve an old standing issue on some
Mediatek devices (mt8173, mt2701 and mt2712) in a slightly different way
to the precedent series.

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 those devices.

The version eight of the series tries to solve the problem with a
different approach than the previous series but similar to how is solved
on other Mediatek devices.

The MMSYS (Multimedia subsystem) 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
and MDP (Media Data Path) subsystem. On this series the clk driver is
not a pure clock controller but a system controller that can provide
access to the shared registers between the different drivers that need
it (mediatek-drm and mediatek-mdp). And the biggest change is, that in
this version, clk driver is the entry point (parent) which will trigger
the probe of the corresponding mediatek-drm driver and pass its MMSYS
platform data for display configuration.

All this series was tested on the Acer R13 Chromebook only.

For reference, here are the links to the old discussions:

* v7: https://patchwork.kernel.org/project/linux-mediatek/list/?series=241217
* v6: https://patchwork.kernel.org/project/linux-mediatek/list/?series=213219
* v5: https://patchwork.kernel.org/project/linux-mediatek/list/?series=44063
* v4:
* https://patchwork.kernel.org/patch/10530871/
* https://patchwork.kernel.org/patch/10530883/
* https://patchwork.kernel.org/patch/10530885/
* https://patchwork.kernel.org/patch/10530911/
* https://patchwork.kernel.org/patch/10530913/
* v3:
* https://patchwork.kernel.org/patch/10367857/
* https://patchwork.kernel.org/patch/10367861/
* https://patchwork.kernel.org/patch/10367877/
* https://patchwork.kernel.org/patch/10367875/
* https://patchwork.kernel.org/patch/10367885/
* https://patchwork.kernel.org/patch/10367883/
* https://patchwork.kernel.org/patch/10367889/
* https://patchwork.kernel.org/patch/10367907/
* https://patchwork.kernel.org/patch/10367909/
* https://patchwork.kernel.org/patch/10367905/
* v2: No relevant discussion, see v3
* v1:
* https://patchwork.kernel.org/patch/10016497/
* https://patchwork.kernel.org/patch/10016499/
* https://patchwork.kernel.org/patch/10016505/
* https://patchwork.kernel.org/patch/10016507/

Best regards,
Enric

Changes in v8:
- Be a builtin_platform_driver like other mediatek mmsys drivers.
- New patches introduced in this series.

Changes in v7:
- Add R-by from CK
- Add R-by from CK
- Fix check of return value of of_clk_get
- Fix identation
- Free clk_data->clks as well
- Get rid of private data structure

Enric Balletbo i Serra (2):
drm/mediatek: Move MMSYS configuration to include/linux/platform_data
clk/drm: mediatek: Fix mediatek-drm device probing

Matthias Brugger (4):
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: mt8173: Switch MMSYS to platform driver

drivers/clk/mediatek/Kconfig | 6 +
drivers/clk/mediatek/Makefile | 1 +
drivers/clk/mediatek/clk-mt2701-mm.c | 30 +++
drivers/clk/mediatek/clk-mt2712-mm.c | 44 +++++
drivers/clk/mediatek/clk-mt8173-mm.c | 172 ++++++++++++++++++
drivers/clk/mediatek/clk-mt8173.c | 104 -----------
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 | 53 +++---
drivers/gpu/drm/mediatek/mtk_drm_ddp.h | 4 +-
drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h | 56 +-----
drivers/gpu/drm/mediatek/mtk_drm_drv.c | 113 +-----------
drivers/gpu/drm/mediatek/mtk_drm_drv.h | 13 +-
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 +
include/linux/platform_data/mtk_mmsys.h | 73 ++++++++
20 files changed, 401 insertions(+), 317 deletions(-)
create mode 100644 drivers/clk/mediatek/clk-mt8173-mm.c
create mode 100644 include/linux/platform_data/mtk_mmsys.h

--
2.25.0