Message ID | 20200401201736.2980433-3-enric.balletbo@collabora.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | c292b133b58b49d9c5d6a838a8de7831fd97f58d |
Headers | show |
Series | [v2,1/4] soc: mediatek: Enable mmsys driver by default if Mediatek arch is selected | expand |
Hi Stephen, On 01/04/2020 22:17, Enric Balletbo i Serra wrote: > Now that the mmsys driver is the top-level entry point for the > multimedia subsystem, we could bind the clock and the gpu driver on > those devices that is expected to work, so the drm driver is > intantiated by the mmsys driver and display, hopefully, working again. > > Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> > Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org> I'm happy to take this through my tree if you provide a Acked-by/Reviewed-by Sounds good to you? Regards, Matthias > --- > If you have this hardware, please kindly provide your tested tag. Only > build tested. > > Changes in v2: > - Remove of_match_table > > drivers/clk/mediatek/clk-mt2701-mm.c | 9 ++------- > drivers/soc/mediatek/mtk-mmsys.c | 8 ++++++++ > 2 files changed, 10 insertions(+), 7 deletions(-) > > diff --git a/drivers/clk/mediatek/clk-mt2701-mm.c b/drivers/clk/mediatek/clk-mt2701-mm.c > index 054b597d4a73..cb18e1849492 100644 > --- a/drivers/clk/mediatek/clk-mt2701-mm.c > +++ b/drivers/clk/mediatek/clk-mt2701-mm.c > @@ -79,16 +79,12 @@ static const struct mtk_gate mm_clks[] = { > GATE_DISP1(CLK_MM_TVE_FMM, "mm_tve_fmm", "mm_sel", 14), > }; > > -static const struct of_device_id of_match_clk_mt2701_mm[] = { > - { .compatible = "mediatek,mt2701-mmsys", }, > - {} > -}; > - > static int clk_mt2701_mm_probe(struct platform_device *pdev) > { > + struct device *dev = &pdev->dev; > + struct device_node *node = dev->parent->of_node; > struct clk_onecell_data *clk_data; > int r; > - struct device_node *node = pdev->dev.of_node; > > clk_data = mtk_alloc_clk_data(CLK_MM_NR); > > @@ -108,7 +104,6 @@ static struct platform_driver clk_mt2701_mm_drv = { > .probe = clk_mt2701_mm_probe, > .driver = { > .name = "clk-mt2701-mm", > - .of_match_table = of_match_clk_mt2701_mm, > }, > }; > > diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c > index c7d3b7bcfa32..cacafe23c823 100644 > --- a/drivers/soc/mediatek/mtk-mmsys.c > +++ b/drivers/soc/mediatek/mtk-mmsys.c > @@ -80,6 +80,10 @@ struct mtk_mmsys_driver_data { > const char *clk_driver; > }; > > +static const struct mtk_mmsys_driver_data mt2701_mmsys_driver_data = { > + .clk_driver = "clk-mt2701-mm", > +}; > + > static const struct mtk_mmsys_driver_data mt2712_mmsys_driver_data = { > .clk_driver = "clk-mt2712-mm", > }; > @@ -323,6 +327,10 @@ static int mtk_mmsys_probe(struct platform_device *pdev) > } > > static const struct of_device_id of_match_mtk_mmsys[] = { > + { > + .compatible = "mediatek,mt2701-mmsys", > + .data = &mt2701_mmsys_driver_data, > + }, > { > .compatible = "mediatek,mt2712-mmsys", > .data = &mt2712_mmsys_driver_data, >
Quoting Enric Balletbo i Serra (2020-04-01 13:17:35) > Now that the mmsys driver is the top-level entry point for the > multimedia subsystem, we could bind the clock and the gpu driver on > those devices that is expected to work, so the drm driver is > intantiated by the mmsys driver and display, hopefully, working again. > > Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> > Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org> > --- Acked-by: Stephen Boyd <sboyd@kernel.org>
On 20/05/2020 12:13, Stephen Boyd wrote: > Quoting Enric Balletbo i Serra (2020-04-01 13:17:35) >> Now that the mmsys driver is the top-level entry point for the >> multimedia subsystem, we could bind the clock and the gpu driver on >> those devices that is expected to work, so the drm driver is >> intantiated by the mmsys driver and display, hopefully, working again. >> >> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> >> Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org> >> --- > > Acked-by: Stephen Boyd <sboyd@kernel.org> > Now queued for v5.7-next/soc Thanks!
diff --git a/drivers/clk/mediatek/clk-mt2701-mm.c b/drivers/clk/mediatek/clk-mt2701-mm.c index 054b597d4a73..cb18e1849492 100644 --- a/drivers/clk/mediatek/clk-mt2701-mm.c +++ b/drivers/clk/mediatek/clk-mt2701-mm.c @@ -79,16 +79,12 @@ static const struct mtk_gate mm_clks[] = { GATE_DISP1(CLK_MM_TVE_FMM, "mm_tve_fmm", "mm_sel", 14), }; -static const struct of_device_id of_match_clk_mt2701_mm[] = { - { .compatible = "mediatek,mt2701-mmsys", }, - {} -}; - static int clk_mt2701_mm_probe(struct platform_device *pdev) { + struct device *dev = &pdev->dev; + struct device_node *node = dev->parent->of_node; struct clk_onecell_data *clk_data; int r; - struct device_node *node = pdev->dev.of_node; clk_data = mtk_alloc_clk_data(CLK_MM_NR); @@ -108,7 +104,6 @@ static struct platform_driver clk_mt2701_mm_drv = { .probe = clk_mt2701_mm_probe, .driver = { .name = "clk-mt2701-mm", - .of_match_table = of_match_clk_mt2701_mm, }, }; diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c index c7d3b7bcfa32..cacafe23c823 100644 --- a/drivers/soc/mediatek/mtk-mmsys.c +++ b/drivers/soc/mediatek/mtk-mmsys.c @@ -80,6 +80,10 @@ struct mtk_mmsys_driver_data { const char *clk_driver; }; +static const struct mtk_mmsys_driver_data mt2701_mmsys_driver_data = { + .clk_driver = "clk-mt2701-mm", +}; + static const struct mtk_mmsys_driver_data mt2712_mmsys_driver_data = { .clk_driver = "clk-mt2712-mm", }; @@ -323,6 +327,10 @@ static int mtk_mmsys_probe(struct platform_device *pdev) } static const struct of_device_id of_match_mtk_mmsys[] = { + { + .compatible = "mediatek,mt2701-mmsys", + .data = &mt2701_mmsys_driver_data, + }, { .compatible = "mediatek,mt2712-mmsys", .data = &mt2712_mmsys_driver_data,