Skip to content

arm/arm64: mediatek: Fix mmsys device probing

[email protected] dri-devel linux-arm-kernel linux-clk linux-devicetree linux-mediatek lkml 4 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v5 Latest12 patches 27 repliesIn review
  2. v45 patches 9 repliesSuperseded
  3. v310 patches 16 repliesSuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v210 patches1 replySuperseded

Changes in v5 from the cover letter

- 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)

Patches in v5 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/12drm/mediatek: Use regmap for register accessdrivers/gpu/drm/mediatek/mtk_drm_crtc.c drivers/gpu/drm/mediatek/mtk_drm_ddp.c drivers/gpu/drm/mediatek/mtk_drm_ddp.h +2 more+30 -430 replies
2/12clk: mediatek: mt2701-mmsys: switch to platform device probingdrivers/clk/mediatek/clk-mt2701-mm.c+30 -120 replies
3/12clk: mediatek: mt8173: switch mmsys to platform device probingdrivers/clk/mediatek/clk-mt8173.c+44 -72 replies
4/12drm/mediatek: Add support for mmsys through a pdevdrivers/gpu/drm/mediatek/mtk_drm_drv.c drivers/gpu/drm/mediatek/mtk_drm_drv.h+25 -01 reply
5/12drm: mediatek: Omit warning on probe defersdrivers/gpu/drm/mediatek/mtk_disp_color.c drivers/gpu/drm/mediatek/mtk_disp_ovl.c drivers/gpu/drm/mediatek/mtk_disp_rdma.c +2 more+15 -610 replies
6/12drm/mediatek: update dt-bindingsDocumentation/devicetree/bindings/display/mediatek/mediatek,disp.txt+17 -131 reply
7/12dt-bindings: clock: mediatek: delete mmsys clocksDocumentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.txt+0 -31 reply
8/12dt-bindings: mediatek: Change the binding for mmsys clocksDocumentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.txt Documentation/devicetree/bindings/display/mediatek/mediatek,disp.txt+18 -712 replies
9/12arm64: dts: mt2712e: Use the new mmsys clock compatiblearch/arm64/boot/dts/mediatek/mt2712e.dtsi+6 -20 replies
10/12arm64: dts: mt6797: Use the new mmsys clock compatiblearch/arm64/boot/dts/mediatek/mt6797.dtsi+6 -20 replies
11/12clk: mediatek: mt2712e: Probe with new compatibledrivers/clk/mediatek/clk-mt2712-mm.c+5 -40 replies
12/12clk: mediatek: mt6797: Probe with new compatibledrivers/clk/mediatek/clk-mt6797-mm.c+5 -40 replies

Reviews trailers per patch

3 of 12 patches have a Reviewed-by or Acked-by.

PatchPhilipp ZabelRob HerringCK Hu
1/12R-b
2/12
3/12
4/12R-b
5/12
6/12
7/12R-b
8/12
9/12
10/12
11/12
12/12

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.

Read the v5 thread

Cover letter [PATCH v5 00/12] arm/arm64: mediatek: Fix mmsys device probing

From: Matthias Brugger <[email protected]>

This is version four of the series. The biggest change are the last four patches which introduce how this should be handled in the future. Instead of creating the platform device in the DRM driver the device tree has in the mmsys memory range a child node to probe the clock part. That breaks backwards compatibility, so I only introduce that for SoCs which are not available to the general public (mt2712e) or only have the mmsys clock driver part implemented (mt6797).

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):
drm/mediatek: Use regmap for register access
clk: mediatek: mt2701-mmsys: switch to platform device probing
clk: mediatek: mt8173: switch mmsys to platform device probing drm/mediatek: Add support for mmsys through a pdev
drm: mediatek: Omit warning on probe defers drm/mediatek: update dt-bindings
dt-bindings: clock: mediatek: delete mmsys clocks
dt-bindings: mediatek: Change the binding for mmsys clocks
arm64: dts: mt2712e: Use the new mmsys clock compatible
arm64: dts: mt6797: Use the new mmsys clock compatible
clk: mediatek: mt2712e: Probe with new compatible
clk: mediatek: mt6797: Probe with new compatible

 .../bindings/arm/mediatek/mediatek,mmsys.txt  | 24 +++++----
 .../display/mediatek/mediatek,disp.txt        | 34 +++++++-----
 arch/arm64/boot/dts/mediatek/mt2712e.dtsi     |  8 ++-
 arch/arm64/boot/dts/mediatek/mt6797.dtsi      |  8 ++-
 drivers/clk/mediatek/clk-mt2701-mm.c          | 42 ++++++++++-----
 drivers/clk/mediatek/clk-mt2712-mm.c          |  9 ++--
 drivers/clk/mediatek/clk-mt6797-mm.c          |  9 ++--
 drivers/clk/mediatek/clk-mt8173.c             | 51 +++++++++++++++---
 drivers/gpu/drm/mediatek/mtk_disp_color.c     |  4 +-
 drivers/gpu/drm/mediatek/mtk_disp_ovl.c       |  4 +-
 drivers/gpu/drm/mediatek/mtk_disp_rdma.c      |  4 +-
 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_drv.c        | 34 +++++++++---
 drivers/gpu/drm/mediatek/mtk_drm_drv.h        |  4 +-
 drivers/gpu/drm/mediatek/mtk_dsi.c            |  6 ++-
 17 files changed, 200 insertions(+), 102 deletions(-)
Signature · 1 line
2.19.1