Message ID | 20200311115614.1425528-1-enric.balletbo@collabora.com (mailing list archive) |
---|---|
Headers | show |
Series | arm/arm64: mediatek: Fix mt8173 mmsys device probing | expand |
Hi, Enric: I'm confused this is v11 or v12. For v12, you've lost some 'Acked-by' and 'Reviewed-by' tag. Regards, CK On Wed, 2020-03-11 at 12:56 +0100, Enric Balletbo i Serra wrote: > Dear all, > > These patches are intended to solve an old standing issue on some > Mediatek devices (mt8173, mt2701 and mt2712 are affected by this issue). > > Up to now both drivers, clock and drm are probed with the same device tree > compatible. But only the first driver gets probed, which in effect breaks > graphics on those 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). Hence the MMSYS clk driver was moved > to drivers/soc/mediatek and is the entry point (parent) which will trigger > the probe of the corresponding mediatek-drm driver. > > **IMPORTANT** This series only fixes the issue on mt8173 to make it > simple and as is the only platform I can test. Similar changes should be > applied for mt2701 and mt2712 to have display working. > > These patches apply on top of linux-next. > > For reference, here are the links to the old discussions: > * v10: https://patchwork.kernel.org/project/linux-mediatek/list/?series=248505 > * v9: https://patchwork.kernel.org/project/linux-clk/list/?series=247591 > * v8: https://patchwork.kernel.org/project/linux-mediatek/list/?series=244891 > * 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 v11: > - Leave the clocks part in drivers/clk (clk-mt8173-mm) > - Instantiate the clock driver from the mtk-mmsys driver. > - Add default config option to not break anything. > - Removed the Reviewed-by CK tag as changed the organization. > > Changes in v10: > - Update the binding documentation for the mmsys system controller. > - Renamed to be generic mtk-mmsys > - Add driver data support to be able to support diferent SoCs > - Select CONFIG_MTK_MMSYS (CK) > - Pass device pointer of mmsys device instead of config regs (CK) > - Match driver data to get display routing. > > Changes in v9: > - Move mmsys to drivers/soc/mediatek (CK) > - Introduced a new patch to move routing control into mmsys driver. > - Removed the patch to use regmap as is not needed anymore. > - Do not move the display routing from the drm driver (CK) > > Changes in v8: > - Be a builtin_platform_driver like other mediatek mmsys drivers. > - New patch introduced in this series. > > Changes in v7: > - Free clk_data->clks as well > - Get rid of private data structure > > Enric Balletbo i Serra (3): > dt-bindings: mediatek: Update mmsys binding to reflect it is a system > controller > soc / drm: mediatek: Move routing control to mmsys device > soc / drm: mediatek: Fix mediatek-drm device probing > > Matthias Brugger (2): > drm/mediatek: Omit warning on probe defers > clk / soc: mediatek: Move mt8173 MMSYS to platform driver > > .../bindings/arm/mediatek/mediatek,mmsys.txt | 7 +- > drivers/clk/mediatek/Kconfig | 7 + > drivers/clk/mediatek/Makefile | 1 + > drivers/clk/mediatek/clk-mt8173-mm.c | 146 ++++++++ > drivers/clk/mediatek/clk-mt8173.c | 104 ------ > drivers/gpu/drm/mediatek/Kconfig | 1 + > 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 | 19 +- > drivers/gpu/drm/mediatek/mtk_drm_ddp.c | 259 +------------- > drivers/gpu/drm/mediatek/mtk_drm_ddp.h | 7 - > drivers/gpu/drm/mediatek/mtk_drm_drv.c | 45 +-- > drivers/gpu/drm/mediatek/mtk_drm_drv.h | 2 +- > drivers/gpu/drm/mediatek/mtk_dsi.c | 8 +- > drivers/gpu/drm/mediatek/mtk_hdmi.c | 4 +- > drivers/soc/mediatek/Kconfig | 8 + > drivers/soc/mediatek/Makefile | 1 + > drivers/soc/mediatek/mtk-mmsys.c | 335 ++++++++++++++++++ > include/linux/soc/mediatek/mtk-mmsys.h | 20 ++ > 21 files changed, 590 insertions(+), 411 deletions(-) > create mode 100644 drivers/clk/mediatek/clk-mt8173-mm.c > create mode 100644 drivers/soc/mediatek/mtk-mmsys.c > create mode 100644 include/linux/soc/mediatek/mtk-mmsys.h >
Hi CK, On 11/3/20 14:01, CK Hu wrote: > Hi, Enric: > > I'm confused this is v11 or v12. > For v12, you've lost some 'Acked-by' and 'Reviewed-by' tag. > Right, sorry about that, I messed my workflow after a patman upgrade that didn't work. I'll collect the acks and reviews and send a v12 later today, so it's clear which patches to apply. Thanks, Enric > Regards, > CK > > On Wed, 2020-03-11 at 12:56 +0100, Enric Balletbo i Serra wrote: >> Dear all, >> >> These patches are intended to solve an old standing issue on some >> Mediatek devices (mt8173, mt2701 and mt2712 are affected by this issue). >> >> Up to now both drivers, clock and drm are probed with the same device tree >> compatible. But only the first driver gets probed, which in effect breaks >> graphics on those 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). Hence the MMSYS clk driver was moved >> to drivers/soc/mediatek and is the entry point (parent) which will trigger >> the probe of the corresponding mediatek-drm driver. >> >> **IMPORTANT** This series only fixes the issue on mt8173 to make it >> simple and as is the only platform I can test. Similar changes should be >> applied for mt2701 and mt2712 to have display working. >> >> These patches apply on top of linux-next. >> >> For reference, here are the links to the old discussions: >> * v10: https://patchwork.kernel.org/project/linux-mediatek/list/?series=248505 >> * v9: https://patchwork.kernel.org/project/linux-clk/list/?series=247591 >> * v8: https://patchwork.kernel.org/project/linux-mediatek/list/?series=244891 >> * 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 v11: >> - Leave the clocks part in drivers/clk (clk-mt8173-mm) >> - Instantiate the clock driver from the mtk-mmsys driver. >> - Add default config option to not break anything. >> - Removed the Reviewed-by CK tag as changed the organization. >> >> Changes in v10: >> - Update the binding documentation for the mmsys system controller. >> - Renamed to be generic mtk-mmsys >> - Add driver data support to be able to support diferent SoCs >> - Select CONFIG_MTK_MMSYS (CK) >> - Pass device pointer of mmsys device instead of config regs (CK) >> - Match driver data to get display routing. >> >> Changes in v9: >> - Move mmsys to drivers/soc/mediatek (CK) >> - Introduced a new patch to move routing control into mmsys driver. >> - Removed the patch to use regmap as is not needed anymore. >> - Do not move the display routing from the drm driver (CK) >> >> Changes in v8: >> - Be a builtin_platform_driver like other mediatek mmsys drivers. >> - New patch introduced in this series. >> >> Changes in v7: >> - Free clk_data->clks as well >> - Get rid of private data structure >> >> Enric Balletbo i Serra (3): >> dt-bindings: mediatek: Update mmsys binding to reflect it is a system >> controller >> soc / drm: mediatek: Move routing control to mmsys device >> soc / drm: mediatek: Fix mediatek-drm device probing >> >> Matthias Brugger (2): >> drm/mediatek: Omit warning on probe defers >> clk / soc: mediatek: Move mt8173 MMSYS to platform driver >> >> .../bindings/arm/mediatek/mediatek,mmsys.txt | 7 +- >> drivers/clk/mediatek/Kconfig | 7 + >> drivers/clk/mediatek/Makefile | 1 + >> drivers/clk/mediatek/clk-mt8173-mm.c | 146 ++++++++ >> drivers/clk/mediatek/clk-mt8173.c | 104 ------ >> drivers/gpu/drm/mediatek/Kconfig | 1 + >> 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 | 19 +- >> drivers/gpu/drm/mediatek/mtk_drm_ddp.c | 259 +------------- >> drivers/gpu/drm/mediatek/mtk_drm_ddp.h | 7 - >> drivers/gpu/drm/mediatek/mtk_drm_drv.c | 45 +-- >> drivers/gpu/drm/mediatek/mtk_drm_drv.h | 2 +- >> drivers/gpu/drm/mediatek/mtk_dsi.c | 8 +- >> drivers/gpu/drm/mediatek/mtk_hdmi.c | 4 +- >> drivers/soc/mediatek/Kconfig | 8 + >> drivers/soc/mediatek/Makefile | 1 + >> drivers/soc/mediatek/mtk-mmsys.c | 335 ++++++++++++++++++ >> include/linux/soc/mediatek/mtk-mmsys.h | 20 ++ >> 21 files changed, 590 insertions(+), 411 deletions(-) >> create mode 100644 drivers/clk/mediatek/clk-mt8173-mm.c >> create mode 100644 drivers/soc/mediatek/mtk-mmsys.c >> create mode 100644 include/linux/soc/mediatek/mtk-mmsys.h >> >