Message ID | 20200401201736.2980433-2-enric.balletbo@collabora.com (mailing list archive) |
---|---|
State | New, archived |
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 on > those devices. > > 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-mt2712-mm.c | 9 ++------- > drivers/soc/mediatek/mtk-mmsys.c | 8 ++++++++ > 2 files changed, 10 insertions(+), 7 deletions(-) > > diff --git a/drivers/clk/mediatek/clk-mt2712-mm.c b/drivers/clk/mediatek/clk-mt2712-mm.c > index 1c5948be35f3..5519c3d68c1f 100644 > --- a/drivers/clk/mediatek/clk-mt2712-mm.c > +++ b/drivers/clk/mediatek/clk-mt2712-mm.c > @@ -128,9 +128,10 @@ static const struct mtk_gate mm_clks[] = { > > static int clk_mt2712_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_CLK); > > @@ -146,16 +147,10 @@ static int clk_mt2712_mm_probe(struct platform_device *pdev) > return r; > } > > -static const struct of_device_id of_match_clk_mt2712_mm[] = { > - { .compatible = "mediatek,mt2712-mmsys", }, > - {} > -}; > - > static struct platform_driver clk_mt2712_mm_drv = { > .probe = clk_mt2712_mm_probe, > .driver = { > .name = "clk-mt2712-mm", > - .of_match_table = of_match_clk_mt2712_mm, > }, > }; > > diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c > index 05e322c9c301..c7d3b7bcfa32 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 mt2712_mmsys_driver_data = { > + .clk_driver = "clk-mt2712-mm", > +}; > + > static const struct mtk_mmsys_driver_data mt8173_mmsys_driver_data = { > .clk_driver = "clk-mt8173-mm", > }; > @@ -319,6 +323,10 @@ static int mtk_mmsys_probe(struct platform_device *pdev) > } > > static const struct of_device_id of_match_mtk_mmsys[] = { > + { > + .compatible = "mediatek,mt2712-mmsys", > + .data = &mt2712_mmsys_driver_data, > + }, > { > .compatible = "mediatek,mt8173-mmsys", > .data = &mt8173_mmsys_driver_data, >
Quoting Enric Balletbo i Serra (2020-04-01 13:17:34) > 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 on > those devices. > > 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:34) >> 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 on >> those devices. >> >> 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-mt2712-mm.c b/drivers/clk/mediatek/clk-mt2712-mm.c index 1c5948be35f3..5519c3d68c1f 100644 --- a/drivers/clk/mediatek/clk-mt2712-mm.c +++ b/drivers/clk/mediatek/clk-mt2712-mm.c @@ -128,9 +128,10 @@ static const struct mtk_gate mm_clks[] = { static int clk_mt2712_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_CLK); @@ -146,16 +147,10 @@ static int clk_mt2712_mm_probe(struct platform_device *pdev) return r; } -static const struct of_device_id of_match_clk_mt2712_mm[] = { - { .compatible = "mediatek,mt2712-mmsys", }, - {} -}; - static struct platform_driver clk_mt2712_mm_drv = { .probe = clk_mt2712_mm_probe, .driver = { .name = "clk-mt2712-mm", - .of_match_table = of_match_clk_mt2712_mm, }, }; diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c index 05e322c9c301..c7d3b7bcfa32 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 mt2712_mmsys_driver_data = { + .clk_driver = "clk-mt2712-mm", +}; + static const struct mtk_mmsys_driver_data mt8173_mmsys_driver_data = { .clk_driver = "clk-mt8173-mm", }; @@ -319,6 +323,10 @@ static int mtk_mmsys_probe(struct platform_device *pdev) } static const struct of_device_id of_match_mtk_mmsys[] = { + { + .compatible = "mediatek,mt2712-mmsys", + .data = &mt2712_mmsys_driver_data, + }, { .compatible = "mediatek,mt8173-mmsys", .data = &mt8173_mmsys_driver_data,