linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/4] clk/soc: mediatek: mt8183: Bind clock driver from platform device
@ 2020-05-18 11:31 matthias.bgg
  2020-05-18 11:31 ` [PATCH 2/4] clk/soc: mediatek: mt6797: " matthias.bgg
                   ` (4 more replies)
  0 siblings, 5 replies; 20+ messages in thread
From: matthias.bgg @ 2020-05-18 11:31 UTC (permalink / raw)
  To: Rob Herring, Matthias Brugger, Michael Turquette, Stephen Boyd
  Cc: mtk01761, devicetree, Allison Randal, linux-kernel,
	Thomas Gleixner, linux-mediatek, Kate Stewart,
	Greg Kroah-Hartman, linux-clk, linux-arm-kernel

From: Matthias Brugger <matthias.bgg@gmail.com>

The mmsys driver is now the top level entry point for the multimedia
system (mmsys), we bind the clock driver by creating a platform device.
We also bind the MediaTek DRM driver which is not yet implement and
therefor will errror out for now.

Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
---

 drivers/clk/mediatek/clk-mt8183-mm.c | 9 ++-------
 drivers/soc/mediatek/mtk-mmsys.c     | 8 ++++++++
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/drivers/clk/mediatek/clk-mt8183-mm.c b/drivers/clk/mediatek/clk-mt8183-mm.c
index 720c696b506d..9d60e09619c1 100644
--- a/drivers/clk/mediatek/clk-mt8183-mm.c
+++ b/drivers/clk/mediatek/clk-mt8183-mm.c
@@ -84,8 +84,9 @@ static const struct mtk_gate mm_clks[] = {
 
 static int clk_mt8183_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;
-	struct device_node *node = pdev->dev.of_node;
 
 	clk_data = mtk_alloc_clk_data(CLK_MM_NR_CLK);
 
@@ -95,16 +96,10 @@ static int clk_mt8183_mm_probe(struct platform_device *pdev)
 	return of_clk_add_provider(node, of_clk_src_onecell_get, clk_data);
 }
 
-static const struct of_device_id of_match_clk_mt8183_mm[] = {
-	{ .compatible = "mediatek,mt8183-mmsys", },
-	{}
-};
-
 static struct platform_driver clk_mt8183_mm_drv = {
 	.probe = clk_mt8183_mm_probe,
 	.driver = {
 		.name = "clk-mt8183-mm",
-		.of_match_table = of_match_clk_mt8183_mm,
 	},
 };
 
diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c
index cacafe23c823..783c3dd008b2 100644
--- a/drivers/soc/mediatek/mtk-mmsys.c
+++ b/drivers/soc/mediatek/mtk-mmsys.c
@@ -92,6 +92,10 @@ static const struct mtk_mmsys_driver_data mt8173_mmsys_driver_data = {
 	.clk_driver = "clk-mt8173-mm",
 };
 
+static const struct mtk_mmsys_driver_data mt8183_mmsys_driver_data = {
+	.clk_driver = "clk-mt8183-mm",
+};
+
 static unsigned int mtk_mmsys_ddp_mout_en(enum mtk_ddp_comp_id cur,
 					  enum mtk_ddp_comp_id next,
 					  unsigned int *addr)
@@ -339,6 +343,10 @@ static const struct of_device_id of_match_mtk_mmsys[] = {
 		.compatible = "mediatek,mt8173-mmsys",
 		.data = &mt8173_mmsys_driver_data,
 	},
+	{
+		.compatible = "mediatek,mt8183-mmsys",
+		.data = &mt8183_mmsys_driver_data,
+	},
 	{ }
 };
 
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 2/4] clk/soc: mediatek: mt6797: Bind clock driver from platform device
  2020-05-18 11:31 [PATCH 1/4] clk/soc: mediatek: mt8183: Bind clock driver from platform device matthias.bgg
@ 2020-05-18 11:31 ` matthias.bgg
  2020-05-19  0:23   ` Chun-Kuang Hu
  2020-05-20 10:15   ` Stephen Boyd
  2020-05-18 11:31 ` [PATCH 3/4] clk/soc: mediatek: mt6779: " matthias.bgg
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 20+ messages in thread
From: matthias.bgg @ 2020-05-18 11:31 UTC (permalink / raw)
  To: Rob Herring, Matthias Brugger, Michael Turquette, Stephen Boyd
  Cc: mtk01761, devicetree, Allison Randal, linux-kernel,
	Thomas Gleixner, linux-mediatek, Kate Stewart,
	Greg Kroah-Hartman, linux-clk, linux-arm-kernel, Richard Fontana

From: Matthias Brugger <matthias.bgg@gmail.com>

The mmsys driver is now the top level entry point for the multimedia
system (mmsys), we bind the clock driver by creating a platform device.
We also bind the MediaTek DRM driver which is not yet implement and
therefor will errror out for now.

Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
---

 drivers/clk/mediatek/clk-mt6797-mm.c | 9 ++-------
 drivers/soc/mediatek/mtk-mmsys.c     | 8 ++++++++
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/drivers/clk/mediatek/clk-mt6797-mm.c b/drivers/clk/mediatek/clk-mt6797-mm.c
index 8f05653b387d..01fdce287247 100644
--- a/drivers/clk/mediatek/clk-mt6797-mm.c
+++ b/drivers/clk/mediatek/clk-mt6797-mm.c
@@ -92,16 +92,12 @@ static const struct mtk_gate mm_clks[] = {
 		 "clk26m", 3),
 };
 
-static const struct of_device_id of_match_clk_mt6797_mm[] = {
-	{ .compatible = "mediatek,mt6797-mmsys", },
-	{}
-};
-
 static int clk_mt6797_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);
 
@@ -121,7 +117,6 @@ static struct platform_driver clk_mt6797_mm_drv = {
 	.probe = clk_mt6797_mm_probe,
 	.driver = {
 		.name = "clk-mt6797-mm",
-		.of_match_table = of_match_clk_mt6797_mm,
 	},
 };
 
diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c
index 783c3dd008b2..fee64c8d3020 100644
--- a/drivers/soc/mediatek/mtk-mmsys.c
+++ b/drivers/soc/mediatek/mtk-mmsys.c
@@ -88,6 +88,10 @@ static const struct mtk_mmsys_driver_data mt2712_mmsys_driver_data = {
 	.clk_driver = "clk-mt2712-mm",
 };
 
+static const struct mtk_mmsys_driver_data mt6797_mmsys_driver_data = {
+	.clk_driver = "clk-mt6797-mm",
+};
+
 static const struct mtk_mmsys_driver_data mt8173_mmsys_driver_data = {
 	.clk_driver = "clk-mt8173-mm",
 };
@@ -339,6 +343,10 @@ static const struct of_device_id of_match_mtk_mmsys[] = {
 		.compatible = "mediatek,mt2712-mmsys",
 		.data = &mt2712_mmsys_driver_data,
 	},
+	{
+		.compatible = "mediatek,mt6797-mmsys",
+		.data = &mt6797_mmsys_driver_data,
+	},
 	{
 		.compatible = "mediatek,mt8173-mmsys",
 		.data = &mt8173_mmsys_driver_data,
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 3/4] clk/soc: mediatek: mt6779: Bind clock driver from platform device
  2020-05-18 11:31 [PATCH 1/4] clk/soc: mediatek: mt8183: Bind clock driver from platform device matthias.bgg
  2020-05-18 11:31 ` [PATCH 2/4] clk/soc: mediatek: mt6797: " matthias.bgg
@ 2020-05-18 11:31 ` matthias.bgg
  2020-05-19 15:10   ` Chun-Kuang Hu
                     ` (2 more replies)
  2020-05-18 11:31 ` [PATCH 4/4] arm64: dts: mt6797: Fix mmsys node name matthias.bgg
                   ` (2 subsequent siblings)
  4 siblings, 3 replies; 20+ messages in thread
From: matthias.bgg @ 2020-05-18 11:31 UTC (permalink / raw)
  To: Rob Herring, Matthias Brugger, Michael Turquette, Stephen Boyd
  Cc: mtk01761, devicetree, Allison Randal, linux-kernel,
	Thomas Gleixner, linux-mediatek, Kate Stewart,
	Greg Kroah-Hartman, linux-clk, linux-arm-kernel

From: Matthias Brugger <matthias.bgg@gmail.com>

The mmsys driver is now the top level entry point for the multimedia
system (mmsys), we bind the clock driver by creating a platform device.
We also bind the MediaTek DRM driver which is not yet implement and
therefor will errror out for now.

Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
---

 drivers/clk/mediatek/clk-mt6779-mm.c | 9 ++-------
 drivers/soc/mediatek/mtk-mmsys.c     | 8 ++++++++
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/drivers/clk/mediatek/clk-mt6779-mm.c b/drivers/clk/mediatek/clk-mt6779-mm.c
index fb5fbb8e3e41..059c1a41ac7a 100644
--- a/drivers/clk/mediatek/clk-mt6779-mm.c
+++ b/drivers/clk/mediatek/clk-mt6779-mm.c
@@ -84,15 +84,11 @@ static const struct mtk_gate mm_clks[] = {
 	GATE_MM1(CLK_MM_DISP_OVL_FBDC, "mm_disp_ovl_fbdc", "mm_sel", 16),
 };
 
-static const struct of_device_id of_match_clk_mt6779_mm[] = {
-	{ .compatible = "mediatek,mt6779-mmsys", },
-	{}
-};
-
 static int clk_mt6779_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;
-	struct device_node *node = pdev->dev.of_node;
 
 	clk_data = mtk_alloc_clk_data(CLK_MM_NR_CLK);
 
@@ -106,7 +102,6 @@ static struct platform_driver clk_mt6779_mm_drv = {
 	.probe = clk_mt6779_mm_probe,
 	.driver = {
 		.name = "clk-mt6779-mm",
-		.of_match_table = of_match_clk_mt6779_mm,
 	},
 };
 
diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c
index fee64c8d3020..dc15808cf3a3 100644
--- a/drivers/soc/mediatek/mtk-mmsys.c
+++ b/drivers/soc/mediatek/mtk-mmsys.c
@@ -88,6 +88,10 @@ static const struct mtk_mmsys_driver_data mt2712_mmsys_driver_data = {
 	.clk_driver = "clk-mt2712-mm",
 };
 
+static const struct mtk_mmsys_driver_data mt6779_mmsys_driver_data = {
+	.clk_driver = "clk-mt6779-mm",
+};
+
 static const struct mtk_mmsys_driver_data mt6797_mmsys_driver_data = {
 	.clk_driver = "clk-mt6797-mm",
 };
@@ -343,6 +347,10 @@ static const struct of_device_id of_match_mtk_mmsys[] = {
 		.compatible = "mediatek,mt2712-mmsys",
 		.data = &mt2712_mmsys_driver_data,
 	},
+	{
+		.compatible = "mediatek,mt6779-mmsys",
+		.data = &mt6779_mmsys_driver_data,
+	},
 	{
 		.compatible = "mediatek,mt6797-mmsys",
 		.data = &mt6797_mmsys_driver_data,
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 4/4] arm64: dts: mt6797: Fix mmsys node name
  2020-05-18 11:31 [PATCH 1/4] clk/soc: mediatek: mt8183: Bind clock driver from platform device matthias.bgg
  2020-05-18 11:31 ` [PATCH 2/4] clk/soc: mediatek: mt6797: " matthias.bgg
  2020-05-18 11:31 ` [PATCH 3/4] clk/soc: mediatek: mt6779: " matthias.bgg
@ 2020-05-18 11:31 ` matthias.bgg
  2020-05-19 15:06   ` Chun-Kuang Hu
  2020-05-18 15:30 ` [PATCH 1/4] clk/soc: mediatek: mt8183: Bind clock driver from platform device Chun-Kuang Hu
  2020-05-20 10:14 ` Stephen Boyd
  4 siblings, 1 reply; 20+ messages in thread
From: matthias.bgg @ 2020-05-18 11:31 UTC (permalink / raw)
  To: Rob Herring, Matthias Brugger, Michael Turquette, Stephen Boyd
  Cc: mtk01761, devicetree, Allison Randal, linux-kernel,
	Thomas Gleixner, linux-mediatek, Kate Stewart,
	Greg Kroah-Hartman, linux-clk, linux-arm-kernel

From: Matthias Brugger <matthias.bgg@gmail.com>

Node names are supposed to match the class of the device. The
mmsys node is a syscon as it provides more then just a clock controller.
Update the name.

Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>

---

 arch/arm64/boot/dts/mediatek/mt6797.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/mediatek/mt6797.dtsi b/arch/arm64/boot/dts/mediatek/mt6797.dtsi
index 136ef9527a0d..3efd032481ce 100644
--- a/arch/arm64/boot/dts/mediatek/mt6797.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt6797.dtsi
@@ -233,7 +233,7 @@ uart3: serial@11005000 {
 		status = "disabled";
 	};
 
-	mmsys: mmsys_config@14000000 {
+	mmsys: syscon@14000000 {
 		compatible = "mediatek,mt6797-mmsys", "syscon";
 		reg = <0 0x14000000 0 0x1000>;
 		#clock-cells = <1>;
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: [PATCH 1/4] clk/soc: mediatek: mt8183: Bind clock driver from platform device
  2020-05-18 11:31 [PATCH 1/4] clk/soc: mediatek: mt8183: Bind clock driver from platform device matthias.bgg
                   ` (2 preceding siblings ...)
  2020-05-18 11:31 ` [PATCH 4/4] arm64: dts: mt6797: Fix mmsys node name matthias.bgg
@ 2020-05-18 15:30 ` Chun-Kuang Hu
  2020-05-18 15:57   ` Matthias Brugger
  2020-05-20 10:14 ` Stephen Boyd
  4 siblings, 1 reply; 20+ messages in thread
From: Chun-Kuang Hu @ 2020-05-18 15:30 UTC (permalink / raw)
  To: matthias.bgg
  Cc: Rob Herring, Matthias Brugger, Michael Turquette, Stephen Boyd,
	Kate Stewart, devicetree, Greg Kroah-Hartman, linux-kernel,
	moderated list:ARM/Mediatek SoC support, Linux ARM, mtk01761,
	Thomas Gleixner, linux-clk, Allison Randal

Hi, Matthias:

<matthias.bgg@kernel.org> 於 2020年5月18日 週一 下午7:32寫道:
>
> From: Matthias Brugger <matthias.bgg@gmail.com>
>
> The mmsys driver is now the top level entry point for the multimedia
> system (mmsys), we bind the clock driver by creating a platform device.
> We also bind the MediaTek DRM driver which is not yet implement and
> therefor will errror out for now.

You may need to let CONFIG_MTK_MMSYS depends on
CONFIG_COMMON_CLK_MT8173_MMSYS || CONFIG_COMMON_CLK_MT8183_MMSYS

Regards,
Chun-Kuang.

>
> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
> ---
>
>  drivers/clk/mediatek/clk-mt8183-mm.c | 9 ++-------
>  drivers/soc/mediatek/mtk-mmsys.c     | 8 ++++++++
>  2 files changed, 10 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/clk/mediatek/clk-mt8183-mm.c b/drivers/clk/mediatek/clk-mt8183-mm.c
> index 720c696b506d..9d60e09619c1 100644
> --- a/drivers/clk/mediatek/clk-mt8183-mm.c
> +++ b/drivers/clk/mediatek/clk-mt8183-mm.c
> @@ -84,8 +84,9 @@ static const struct mtk_gate mm_clks[] = {
>
>  static int clk_mt8183_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;
> -       struct device_node *node = pdev->dev.of_node;
>
>         clk_data = mtk_alloc_clk_data(CLK_MM_NR_CLK);
>
> @@ -95,16 +96,10 @@ static int clk_mt8183_mm_probe(struct platform_device *pdev)
>         return of_clk_add_provider(node, of_clk_src_onecell_get, clk_data);
>  }
>
> -static const struct of_device_id of_match_clk_mt8183_mm[] = {
> -       { .compatible = "mediatek,mt8183-mmsys", },
> -       {}
> -};
> -
>  static struct platform_driver clk_mt8183_mm_drv = {
>         .probe = clk_mt8183_mm_probe,
>         .driver = {
>                 .name = "clk-mt8183-mm",
> -               .of_match_table = of_match_clk_mt8183_mm,
>         },
>  };
>
> diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c
> index cacafe23c823..783c3dd008b2 100644
> --- a/drivers/soc/mediatek/mtk-mmsys.c
> +++ b/drivers/soc/mediatek/mtk-mmsys.c
> @@ -92,6 +92,10 @@ static const struct mtk_mmsys_driver_data mt8173_mmsys_driver_data = {
>         .clk_driver = "clk-mt8173-mm",
>  };
>
> +static const struct mtk_mmsys_driver_data mt8183_mmsys_driver_data = {
> +       .clk_driver = "clk-mt8183-mm",
> +};
> +
>  static unsigned int mtk_mmsys_ddp_mout_en(enum mtk_ddp_comp_id cur,
>                                           enum mtk_ddp_comp_id next,
>                                           unsigned int *addr)
> @@ -339,6 +343,10 @@ static const struct of_device_id of_match_mtk_mmsys[] = {
>                 .compatible = "mediatek,mt8173-mmsys",
>                 .data = &mt8173_mmsys_driver_data,
>         },
> +       {
> +               .compatible = "mediatek,mt8183-mmsys",
> +               .data = &mt8183_mmsys_driver_data,
> +       },
>         { }
>  };
>
> --
> 2.26.2
>
>
> _______________________________________________
> Linux-mediatek mailing list
> Linux-mediatek@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 1/4] clk/soc: mediatek: mt8183: Bind clock driver from platform device
  2020-05-18 15:30 ` [PATCH 1/4] clk/soc: mediatek: mt8183: Bind clock driver from platform device Chun-Kuang Hu
@ 2020-05-18 15:57   ` Matthias Brugger
  2020-05-19  0:21     ` Chun-Kuang Hu
  0 siblings, 1 reply; 20+ messages in thread
From: Matthias Brugger @ 2020-05-18 15:57 UTC (permalink / raw)
  To: Chun-Kuang Hu, matthias.bgg
  Cc: Rob Herring, Michael Turquette, Stephen Boyd, Kate Stewart,
	devicetree, Greg Kroah-Hartman, linux-kernel,
	moderated list:ARM/Mediatek SoC support, Linux ARM, mtk01761,
	Thomas Gleixner, linux-clk, Allison Randal,
	Enric Balletbo i Serra



On 18/05/2020 17:30, Chun-Kuang Hu wrote:
> Hi, Matthias:
> 
> <matthias.bgg@kernel.org> 於 2020年5月18日 週一 下午7:32寫道:
>>
>> From: Matthias Brugger <matthias.bgg@gmail.com>
>>
>> The mmsys driver is now the top level entry point for the multimedia
>> system (mmsys), we bind the clock driver by creating a platform device.
>> We also bind the MediaTek DRM driver which is not yet implement and
>> therefor will errror out for now.
> 
> You may need to let CONFIG_MTK_MMSYS depends on
> CONFIG_COMMON_CLK_MT8173_MMSYS || CONFIG_COMMON_CLK_MT8183_MMSYS
> 

That will be fixed by:
https://patchwork.kernel.org/patch/11469521/

Otherwise this won't scale as we would need to add the SoCs using the mtk-mmsys
driver and this will be a lot if not all.

Regards,
Matthias

> Regards,
> Chun-Kuang.
> 
>>
>> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
>> ---
>>
>>  drivers/clk/mediatek/clk-mt8183-mm.c | 9 ++-------
>>  drivers/soc/mediatek/mtk-mmsys.c     | 8 ++++++++
>>  2 files changed, 10 insertions(+), 7 deletions(-)
>>
>> diff --git a/drivers/clk/mediatek/clk-mt8183-mm.c b/drivers/clk/mediatek/clk-mt8183-mm.c
>> index 720c696b506d..9d60e09619c1 100644
>> --- a/drivers/clk/mediatek/clk-mt8183-mm.c
>> +++ b/drivers/clk/mediatek/clk-mt8183-mm.c
>> @@ -84,8 +84,9 @@ static const struct mtk_gate mm_clks[] = {
>>
>>  static int clk_mt8183_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;
>> -       struct device_node *node = pdev->dev.of_node;
>>
>>         clk_data = mtk_alloc_clk_data(CLK_MM_NR_CLK);
>>
>> @@ -95,16 +96,10 @@ static int clk_mt8183_mm_probe(struct platform_device *pdev)
>>         return of_clk_add_provider(node, of_clk_src_onecell_get, clk_data);
>>  }
>>
>> -static const struct of_device_id of_match_clk_mt8183_mm[] = {
>> -       { .compatible = "mediatek,mt8183-mmsys", },
>> -       {}
>> -};
>> -
>>  static struct platform_driver clk_mt8183_mm_drv = {
>>         .probe = clk_mt8183_mm_probe,
>>         .driver = {
>>                 .name = "clk-mt8183-mm",
>> -               .of_match_table = of_match_clk_mt8183_mm,
>>         },
>>  };
>>
>> diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c
>> index cacafe23c823..783c3dd008b2 100644
>> --- a/drivers/soc/mediatek/mtk-mmsys.c
>> +++ b/drivers/soc/mediatek/mtk-mmsys.c
>> @@ -92,6 +92,10 @@ static const struct mtk_mmsys_driver_data mt8173_mmsys_driver_data = {
>>         .clk_driver = "clk-mt8173-mm",
>>  };
>>
>> +static const struct mtk_mmsys_driver_data mt8183_mmsys_driver_data = {
>> +       .clk_driver = "clk-mt8183-mm",
>> +};
>> +
>>  static unsigned int mtk_mmsys_ddp_mout_en(enum mtk_ddp_comp_id cur,
>>                                           enum mtk_ddp_comp_id next,
>>                                           unsigned int *addr)
>> @@ -339,6 +343,10 @@ static const struct of_device_id of_match_mtk_mmsys[] = {
>>                 .compatible = "mediatek,mt8173-mmsys",
>>                 .data = &mt8173_mmsys_driver_data,
>>         },
>> +       {
>> +               .compatible = "mediatek,mt8183-mmsys",
>> +               .data = &mt8183_mmsys_driver_data,
>> +       },
>>         { }
>>  };
>>
>> --
>> 2.26.2
>>
>>
>> _______________________________________________
>> Linux-mediatek mailing list
>> Linux-mediatek@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 1/4] clk/soc: mediatek: mt8183: Bind clock driver from platform device
  2020-05-18 15:57   ` Matthias Brugger
@ 2020-05-19  0:21     ` Chun-Kuang Hu
  0 siblings, 0 replies; 20+ messages in thread
From: Chun-Kuang Hu @ 2020-05-19  0:21 UTC (permalink / raw)
  To: Matthias Brugger
  Cc: Chun-Kuang Hu, matthias.bgg, Rob Herring, Michael Turquette,
	Stephen Boyd, Kate Stewart, devicetree, Greg Kroah-Hartman,
	linux-kernel, moderated list:ARM/Mediatek SoC support, Linux ARM,
	mtk01761, Thomas Gleixner, linux-clk, Allison Randal,
	Enric Balletbo i Serra

Hi, Matthias:

Matthias Brugger <matthias.bgg@gmail.com> 於 2020年5月18日 週一 下午11:57寫道:
>
>
>
> On 18/05/2020 17:30, Chun-Kuang Hu wrote:
> > Hi, Matthias:
> >
> > <matthias.bgg@kernel.org> 於 2020年5月18日 週一 下午7:32寫道:
> >>
> >> From: Matthias Brugger <matthias.bgg@gmail.com>
> >>
> >> The mmsys driver is now the top level entry point for the multimedia
> >> system (mmsys), we bind the clock driver by creating a platform device.
> >> We also bind the MediaTek DRM driver which is not yet implement and
> >> therefor will errror out for now.
> >
> > You may need to let CONFIG_MTK_MMSYS depends on
> > CONFIG_COMMON_CLK_MT8173_MMSYS || CONFIG_COMMON_CLK_MT8183_MMSYS
> >
>
> That will be fixed by:
> https://patchwork.kernel.org/patch/11469521/
>
> Otherwise this won't scale as we would need to add the SoCs using the mtk-mmsys
> driver and this will be a lot if not all.

I forgot that patch, so for this patch,

Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>

>
> Regards,
> Matthias
>
> > Regards,
> > Chun-Kuang.
> >
> >>
> >> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
> >> ---
> >>
> >>  drivers/clk/mediatek/clk-mt8183-mm.c | 9 ++-------
> >>  drivers/soc/mediatek/mtk-mmsys.c     | 8 ++++++++
> >>  2 files changed, 10 insertions(+), 7 deletions(-)
> >>
> >> diff --git a/drivers/clk/mediatek/clk-mt8183-mm.c b/drivers/clk/mediatek/clk-mt8183-mm.c
> >> index 720c696b506d..9d60e09619c1 100644
> >> --- a/drivers/clk/mediatek/clk-mt8183-mm.c
> >> +++ b/drivers/clk/mediatek/clk-mt8183-mm.c
> >> @@ -84,8 +84,9 @@ static const struct mtk_gate mm_clks[] = {
> >>
> >>  static int clk_mt8183_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;
> >> -       struct device_node *node = pdev->dev.of_node;
> >>
> >>         clk_data = mtk_alloc_clk_data(CLK_MM_NR_CLK);
> >>
> >> @@ -95,16 +96,10 @@ static int clk_mt8183_mm_probe(struct platform_device *pdev)
> >>         return of_clk_add_provider(node, of_clk_src_onecell_get, clk_data);
> >>  }
> >>
> >> -static const struct of_device_id of_match_clk_mt8183_mm[] = {
> >> -       { .compatible = "mediatek,mt8183-mmsys", },
> >> -       {}
> >> -};
> >> -
> >>  static struct platform_driver clk_mt8183_mm_drv = {
> >>         .probe = clk_mt8183_mm_probe,
> >>         .driver = {
> >>                 .name = "clk-mt8183-mm",
> >> -               .of_match_table = of_match_clk_mt8183_mm,
> >>         },
> >>  };
> >>
> >> diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c
> >> index cacafe23c823..783c3dd008b2 100644
> >> --- a/drivers/soc/mediatek/mtk-mmsys.c
> >> +++ b/drivers/soc/mediatek/mtk-mmsys.c
> >> @@ -92,6 +92,10 @@ static const struct mtk_mmsys_driver_data mt8173_mmsys_driver_data = {
> >>         .clk_driver = "clk-mt8173-mm",
> >>  };
> >>
> >> +static const struct mtk_mmsys_driver_data mt8183_mmsys_driver_data = {
> >> +       .clk_driver = "clk-mt8183-mm",
> >> +};
> >> +
> >>  static unsigned int mtk_mmsys_ddp_mout_en(enum mtk_ddp_comp_id cur,
> >>                                           enum mtk_ddp_comp_id next,
> >>                                           unsigned int *addr)
> >> @@ -339,6 +343,10 @@ static const struct of_device_id of_match_mtk_mmsys[] = {
> >>                 .compatible = "mediatek,mt8173-mmsys",
> >>                 .data = &mt8173_mmsys_driver_data,
> >>         },
> >> +       {
> >> +               .compatible = "mediatek,mt8183-mmsys",
> >> +               .data = &mt8183_mmsys_driver_data,
> >> +       },
> >>         { }
> >>  };
> >>
> >> --
> >> 2.26.2
> >>
> >>
> >> _______________________________________________
> >> Linux-mediatek mailing list
> >> Linux-mediatek@lists.infradead.org
> >> http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 2/4] clk/soc: mediatek: mt6797: Bind clock driver from platform device
  2020-05-18 11:31 ` [PATCH 2/4] clk/soc: mediatek: mt6797: " matthias.bgg
@ 2020-05-19  0:23   ` Chun-Kuang Hu
  2020-05-20 10:15   ` Stephen Boyd
  1 sibling, 0 replies; 20+ messages in thread
From: Chun-Kuang Hu @ 2020-05-19  0:23 UTC (permalink / raw)
  To: matthias.bgg
  Cc: Rob Herring, Matthias Brugger, Michael Turquette, Stephen Boyd,
	Kate Stewart, devicetree, Greg Kroah-Hartman, linux-kernel,
	Richard Fontana, moderated list:ARM/Mediatek SoC support,
	Linux ARM, mtk01761, Thomas Gleixner, linux-clk, Allison Randal

Hi, Matthias:

<matthias.bgg@kernel.org> 於 2020年5月18日 週一 下午7:32寫道:
>
> From: Matthias Brugger <matthias.bgg@gmail.com>
>
> The mmsys driver is now the top level entry point for the multimedia
> system (mmsys), we bind the clock driver by creating a platform device.
> We also bind the MediaTek DRM driver which is not yet implement and
> therefor will errror out for now.
>

Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>

> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
> ---
>
>  drivers/clk/mediatek/clk-mt6797-mm.c | 9 ++-------
>  drivers/soc/mediatek/mtk-mmsys.c     | 8 ++++++++
>  2 files changed, 10 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/clk/mediatek/clk-mt6797-mm.c b/drivers/clk/mediatek/clk-mt6797-mm.c
> index 8f05653b387d..01fdce287247 100644
> --- a/drivers/clk/mediatek/clk-mt6797-mm.c
> +++ b/drivers/clk/mediatek/clk-mt6797-mm.c
> @@ -92,16 +92,12 @@ static const struct mtk_gate mm_clks[] = {
>                  "clk26m", 3),
>  };
>
> -static const struct of_device_id of_match_clk_mt6797_mm[] = {
> -       { .compatible = "mediatek,mt6797-mmsys", },
> -       {}
> -};
> -
>  static int clk_mt6797_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);
>
> @@ -121,7 +117,6 @@ static struct platform_driver clk_mt6797_mm_drv = {
>         .probe = clk_mt6797_mm_probe,
>         .driver = {
>                 .name = "clk-mt6797-mm",
> -               .of_match_table = of_match_clk_mt6797_mm,
>         },
>  };
>
> diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c
> index 783c3dd008b2..fee64c8d3020 100644
> --- a/drivers/soc/mediatek/mtk-mmsys.c
> +++ b/drivers/soc/mediatek/mtk-mmsys.c
> @@ -88,6 +88,10 @@ static const struct mtk_mmsys_driver_data mt2712_mmsys_driver_data = {
>         .clk_driver = "clk-mt2712-mm",
>  };
>
> +static const struct mtk_mmsys_driver_data mt6797_mmsys_driver_data = {
> +       .clk_driver = "clk-mt6797-mm",
> +};
> +
>  static const struct mtk_mmsys_driver_data mt8173_mmsys_driver_data = {
>         .clk_driver = "clk-mt8173-mm",
>  };
> @@ -339,6 +343,10 @@ static const struct of_device_id of_match_mtk_mmsys[] = {
>                 .compatible = "mediatek,mt2712-mmsys",
>                 .data = &mt2712_mmsys_driver_data,
>         },
> +       {
> +               .compatible = "mediatek,mt6797-mmsys",
> +               .data = &mt6797_mmsys_driver_data,
> +       },
>         {
>                 .compatible = "mediatek,mt8173-mmsys",
>                 .data = &mt8173_mmsys_driver_data,
> --
> 2.26.2
>
>
> _______________________________________________
> Linux-mediatek mailing list
> Linux-mediatek@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 4/4] arm64: dts: mt6797: Fix mmsys node name
  2020-05-18 11:31 ` [PATCH 4/4] arm64: dts: mt6797: Fix mmsys node name matthias.bgg
@ 2020-05-19 15:06   ` Chun-Kuang Hu
  2020-05-20 10:54     ` Matthias Brugger
  0 siblings, 1 reply; 20+ messages in thread
From: Chun-Kuang Hu @ 2020-05-19 15:06 UTC (permalink / raw)
  To: matthias.bgg
  Cc: Rob Herring, Matthias Brugger, Michael Turquette, Stephen Boyd,
	Kate Stewart, devicetree, Greg Kroah-Hartman, linux-kernel,
	moderated list:ARM/Mediatek SoC support, Linux ARM, mtk01761,
	Thomas Gleixner, linux-clk, Allison Randal

Hi, Matthias:

<matthias.bgg@kernel.org> 於 2020年5月18日 週一 下午7:33寫道:
>
> From: Matthias Brugger <matthias.bgg@gmail.com>
>
> Node names are supposed to match the class of the device. The
> mmsys node is a syscon as it provides more then just a clock controller.
> Update the name.

Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>

>
> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
>
> ---
>
>  arch/arm64/boot/dts/mediatek/mt6797.dtsi | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/mediatek/mt6797.dtsi b/arch/arm64/boot/dts/mediatek/mt6797.dtsi
> index 136ef9527a0d..3efd032481ce 100644
> --- a/arch/arm64/boot/dts/mediatek/mt6797.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt6797.dtsi
> @@ -233,7 +233,7 @@ uart3: serial@11005000 {
>                 status = "disabled";
>         };
>
> -       mmsys: mmsys_config@14000000 {
> +       mmsys: syscon@14000000 {
>                 compatible = "mediatek,mt6797-mmsys", "syscon";
>                 reg = <0 0x14000000 0 0x1000>;
>                 #clock-cells = <1>;
> --
> 2.26.2
>
>
> _______________________________________________
> Linux-mediatek mailing list
> Linux-mediatek@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 3/4] clk/soc: mediatek: mt6779: Bind clock driver from platform device
  2020-05-18 11:31 ` [PATCH 3/4] clk/soc: mediatek: mt6779: " matthias.bgg
@ 2020-05-19 15:10   ` Chun-Kuang Hu
  2020-05-19 21:26     ` Matthias Brugger
  2020-05-20 10:15   ` Stephen Boyd
  2020-05-20 10:21   ` Stephen Boyd
  2 siblings, 1 reply; 20+ messages in thread
From: Chun-Kuang Hu @ 2020-05-19 15:10 UTC (permalink / raw)
  To: matthias.bgg
  Cc: Rob Herring, Matthias Brugger, Michael Turquette, Stephen Boyd,
	Kate Stewart, devicetree, Greg Kroah-Hartman, linux-kernel,
	moderated list:ARM/Mediatek SoC support, Linux ARM, mtk01761,
	Thomas Gleixner, linux-clk, Allison Randal

Hi, Matthias:

<matthias.bgg@kernel.org> 於 2020年5月18日 週一 下午7:33寫道:
>
> From: Matthias Brugger <matthias.bgg@gmail.com>
>
> The mmsys driver is now the top level entry point for the multimedia
> system (mmsys), we bind the clock driver by creating a platform device.
> We also bind the MediaTek DRM driver which is not yet implement and
> therefor will errror out for now.
>
> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
> ---
>
>  drivers/clk/mediatek/clk-mt6779-mm.c | 9 ++-------
>  drivers/soc/mediatek/mtk-mmsys.c     | 8 ++++++++
>  2 files changed, 10 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/clk/mediatek/clk-mt6779-mm.c b/drivers/clk/mediatek/clk-mt6779-mm.c
> index fb5fbb8e3e41..059c1a41ac7a 100644
> --- a/drivers/clk/mediatek/clk-mt6779-mm.c
> +++ b/drivers/clk/mediatek/clk-mt6779-mm.c
> @@ -84,15 +84,11 @@ static const struct mtk_gate mm_clks[] = {
>         GATE_MM1(CLK_MM_DISP_OVL_FBDC, "mm_disp_ovl_fbdc", "mm_sel", 16),
>  };
>
> -static const struct of_device_id of_match_clk_mt6779_mm[] = {
> -       { .compatible = "mediatek,mt6779-mmsys", },
> -       {}
> -};
> -
>  static int clk_mt6779_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;
> -       struct device_node *node = pdev->dev.of_node;
>
>         clk_data = mtk_alloc_clk_data(CLK_MM_NR_CLK);
>
> @@ -106,7 +102,6 @@ static struct platform_driver clk_mt6779_mm_drv = {
>         .probe = clk_mt6779_mm_probe,
>         .driver = {
>                 .name = "clk-mt6779-mm",
> -               .of_match_table = of_match_clk_mt6779_mm,
>         },
>  };
>
> diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c
> index fee64c8d3020..dc15808cf3a3 100644
> --- a/drivers/soc/mediatek/mtk-mmsys.c
> +++ b/drivers/soc/mediatek/mtk-mmsys.c
> @@ -88,6 +88,10 @@ static const struct mtk_mmsys_driver_data mt2712_mmsys_driver_data = {
>         .clk_driver = "clk-mt2712-mm",
>  };
>
> +static const struct mtk_mmsys_driver_data mt6779_mmsys_driver_data = {
> +       .clk_driver = "clk-mt6779-mm",

This patch looks good to me, but I've one question: why drm driver
just use single "mediatek-drm" for sub driver name, but clock driver
has different name for each SoC?
Could we just use single name for clock driver such as "mediatek-clk-mm"?

Regards,
Chun-Kuang.

> +};
> +
>  static const struct mtk_mmsys_driver_data mt6797_mmsys_driver_data = {
>         .clk_driver = "clk-mt6797-mm",
>  };
> @@ -343,6 +347,10 @@ static const struct of_device_id of_match_mtk_mmsys[] = {
>                 .compatible = "mediatek,mt2712-mmsys",
>                 .data = &mt2712_mmsys_driver_data,
>         },
> +       {
> +               .compatible = "mediatek,mt6779-mmsys",
> +               .data = &mt6779_mmsys_driver_data,
> +       },
>         {
>                 .compatible = "mediatek,mt6797-mmsys",
>                 .data = &mt6797_mmsys_driver_data,
> --
> 2.26.2
>
>
> _______________________________________________
> Linux-mediatek mailing list
> Linux-mediatek@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 3/4] clk/soc: mediatek: mt6779: Bind clock driver from platform device
  2020-05-19 15:10   ` Chun-Kuang Hu
@ 2020-05-19 21:26     ` Matthias Brugger
  2020-05-19 23:52       ` Chun-Kuang Hu
  0 siblings, 1 reply; 20+ messages in thread
From: Matthias Brugger @ 2020-05-19 21:26 UTC (permalink / raw)
  To: Chun-Kuang Hu, matthias.bgg
  Cc: Rob Herring, Matthias Brugger, Michael Turquette, Stephen Boyd,
	Kate Stewart, devicetree, Greg Kroah-Hartman, linux-kernel,
	moderated list:ARM/Mediatek SoC support, Linux ARM, mtk01761,
	Thomas Gleixner, linux-clk, Allison Randal



On 19/05/2020 17:10, Chun-Kuang Hu wrote:
> Hi, Matthias:
> 
> <matthias.bgg@kernel.org> 於 2020年5月18日 週一 下午7:33寫道:
>>
>> From: Matthias Brugger <matthias.bgg@gmail.com>
>>
>> The mmsys driver is now the top level entry point for the multimedia
>> system (mmsys), we bind the clock driver by creating a platform device.
>> We also bind the MediaTek DRM driver which is not yet implement and
>> therefor will errror out for now.
>>
>> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
>> ---
>>
>>  drivers/clk/mediatek/clk-mt6779-mm.c | 9 ++-------
>>  drivers/soc/mediatek/mtk-mmsys.c     | 8 ++++++++
>>  2 files changed, 10 insertions(+), 7 deletions(-)
>>
>> diff --git a/drivers/clk/mediatek/clk-mt6779-mm.c b/drivers/clk/mediatek/clk-mt6779-mm.c
>> index fb5fbb8e3e41..059c1a41ac7a 100644
>> --- a/drivers/clk/mediatek/clk-mt6779-mm.c
>> +++ b/drivers/clk/mediatek/clk-mt6779-mm.c
>> @@ -84,15 +84,11 @@ static const struct mtk_gate mm_clks[] = {
>>         GATE_MM1(CLK_MM_DISP_OVL_FBDC, "mm_disp_ovl_fbdc", "mm_sel", 16),
>>  };
>>
>> -static const struct of_device_id of_match_clk_mt6779_mm[] = {
>> -       { .compatible = "mediatek,mt6779-mmsys", },
>> -       {}
>> -};
>> -
>>  static int clk_mt6779_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;
>> -       struct device_node *node = pdev->dev.of_node;
>>
>>         clk_data = mtk_alloc_clk_data(CLK_MM_NR_CLK);
>>
>> @@ -106,7 +102,6 @@ static struct platform_driver clk_mt6779_mm_drv = {
>>         .probe = clk_mt6779_mm_probe,
>>         .driver = {
>>                 .name = "clk-mt6779-mm",
>> -               .of_match_table = of_match_clk_mt6779_mm,
>>         },
>>  };
>>
>> diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c
>> index fee64c8d3020..dc15808cf3a3 100644
>> --- a/drivers/soc/mediatek/mtk-mmsys.c
>> +++ b/drivers/soc/mediatek/mtk-mmsys.c
>> @@ -88,6 +88,10 @@ static const struct mtk_mmsys_driver_data mt2712_mmsys_driver_data = {
>>         .clk_driver = "clk-mt2712-mm",
>>  };
>>
>> +static const struct mtk_mmsys_driver_data mt6779_mmsys_driver_data = {
>> +       .clk_driver = "clk-mt6779-mm",
> 
> This patch looks good to me, but I've one question: why drm driver
> just use single "mediatek-drm" for sub driver name, but clock driver
> has different name for each SoC?
> Could we just use single name for clock driver such as "mediatek-clk-mm"?

Because the DRM for all SoCs are handled in the same driver, while we have a
different clock drivers for each SoC. So we need to specify which clock driver
we want to load.

If we want to change that, we would need to refactor heavily the clock drivers
for all MediaTek SoCs. I don't think it's worth the effort.

Regards,
Matthias

> 
> Regards,
> Chun-Kuang.
> 
>> +};
>> +
>>  static const struct mtk_mmsys_driver_data mt6797_mmsys_driver_data = {
>>         .clk_driver = "clk-mt6797-mm",
>>  };
>> @@ -343,6 +347,10 @@ static const struct of_device_id of_match_mtk_mmsys[] = {
>>                 .compatible = "mediatek,mt2712-mmsys",
>>                 .data = &mt2712_mmsys_driver_data,
>>         },
>> +       {
>> +               .compatible = "mediatek,mt6779-mmsys",
>> +               .data = &mt6779_mmsys_driver_data,
>> +       },
>>         {
>>                 .compatible = "mediatek,mt6797-mmsys",
>>                 .data = &mt6797_mmsys_driver_data,
>> --
>> 2.26.2
>>
>>
>> _______________________________________________
>> Linux-mediatek mailing list
>> Linux-mediatek@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 3/4] clk/soc: mediatek: mt6779: Bind clock driver from platform device
  2020-05-19 21:26     ` Matthias Brugger
@ 2020-05-19 23:52       ` Chun-Kuang Hu
  0 siblings, 0 replies; 20+ messages in thread
From: Chun-Kuang Hu @ 2020-05-19 23:52 UTC (permalink / raw)
  To: Matthias Brugger
  Cc: Chun-Kuang Hu, matthias.bgg, Rob Herring, Matthias Brugger,
	Michael Turquette, Stephen Boyd, Kate Stewart, devicetree,
	Greg Kroah-Hartman, linux-kernel,
	moderated list:ARM/Mediatek SoC support, Linux ARM, mtk01761,
	Thomas Gleixner, linux-clk, Allison Randal

Matthias Brugger <mbrugger@suse.com> 於 2020年5月20日 週三 上午5:26寫道:
>
>
>
> On 19/05/2020 17:10, Chun-Kuang Hu wrote:
> > Hi, Matthias:
> >
> > <matthias.bgg@kernel.org> 於 2020年5月18日 週一 下午7:33寫道:
> >>
> >> From: Matthias Brugger <matthias.bgg@gmail.com>
> >>
> >> The mmsys driver is now the top level entry point for the multimedia
> >> system (mmsys), we bind the clock driver by creating a platform device.
> >> We also bind the MediaTek DRM driver which is not yet implement and
> >> therefor will errror out for now.
> >>
> >> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
> >> ---
> >>
> >>  drivers/clk/mediatek/clk-mt6779-mm.c | 9 ++-------
> >>  drivers/soc/mediatek/mtk-mmsys.c     | 8 ++++++++
> >>  2 files changed, 10 insertions(+), 7 deletions(-)
> >>
> >> diff --git a/drivers/clk/mediatek/clk-mt6779-mm.c b/drivers/clk/mediatek/clk-mt6779-mm.c
> >> index fb5fbb8e3e41..059c1a41ac7a 100644
> >> --- a/drivers/clk/mediatek/clk-mt6779-mm.c
> >> +++ b/drivers/clk/mediatek/clk-mt6779-mm.c
> >> @@ -84,15 +84,11 @@ static const struct mtk_gate mm_clks[] = {
> >>         GATE_MM1(CLK_MM_DISP_OVL_FBDC, "mm_disp_ovl_fbdc", "mm_sel", 16),
> >>  };
> >>
> >> -static const struct of_device_id of_match_clk_mt6779_mm[] = {
> >> -       { .compatible = "mediatek,mt6779-mmsys", },
> >> -       {}
> >> -};
> >> -
> >>  static int clk_mt6779_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;
> >> -       struct device_node *node = pdev->dev.of_node;
> >>
> >>         clk_data = mtk_alloc_clk_data(CLK_MM_NR_CLK);
> >>
> >> @@ -106,7 +102,6 @@ static struct platform_driver clk_mt6779_mm_drv = {
> >>         .probe = clk_mt6779_mm_probe,
> >>         .driver = {
> >>                 .name = "clk-mt6779-mm",
> >> -               .of_match_table = of_match_clk_mt6779_mm,
> >>         },
> >>  };
> >>
> >> diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c
> >> index fee64c8d3020..dc15808cf3a3 100644
> >> --- a/drivers/soc/mediatek/mtk-mmsys.c
> >> +++ b/drivers/soc/mediatek/mtk-mmsys.c
> >> @@ -88,6 +88,10 @@ static const struct mtk_mmsys_driver_data mt2712_mmsys_driver_data = {
> >>         .clk_driver = "clk-mt2712-mm",
> >>  };
> >>
> >> +static const struct mtk_mmsys_driver_data mt6779_mmsys_driver_data = {
> >> +       .clk_driver = "clk-mt6779-mm",
> >
> > This patch looks good to me, but I've one question: why drm driver
> > just use single "mediatek-drm" for sub driver name, but clock driver
> > has different name for each SoC?
> > Could we just use single name for clock driver such as "mediatek-clk-mm"?
>
> Because the DRM for all SoCs are handled in the same driver, while we have a
> different clock drivers for each SoC. So we need to specify which clock driver
> we want to load.
>
> If we want to change that, we would need to refactor heavily the clock drivers
> for all MediaTek SoCs. I don't think it's worth the effort.
>

OK, so for this patch,

Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>

> Regards,
> Matthias
>
> >
> > Regards,
> > Chun-Kuang.
> >
> >> +};
> >> +
> >>  static const struct mtk_mmsys_driver_data mt6797_mmsys_driver_data = {
> >>         .clk_driver = "clk-mt6797-mm",
> >>  };
> >> @@ -343,6 +347,10 @@ static const struct of_device_id of_match_mtk_mmsys[] = {
> >>                 .compatible = "mediatek,mt2712-mmsys",
> >>                 .data = &mt2712_mmsys_driver_data,
> >>         },
> >> +       {
> >> +               .compatible = "mediatek,mt6779-mmsys",
> >> +               .data = &mt6779_mmsys_driver_data,
> >> +       },
> >>         {
> >>                 .compatible = "mediatek,mt6797-mmsys",
> >>                 .data = &mt6797_mmsys_driver_data,
> >> --
> >> 2.26.2
> >>
> >>
> >> _______________________________________________
> >> Linux-mediatek mailing list
> >> Linux-mediatek@lists.infradead.org
> >> http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 1/4] clk/soc: mediatek: mt8183: Bind clock driver from platform device
  2020-05-18 11:31 [PATCH 1/4] clk/soc: mediatek: mt8183: Bind clock driver from platform device matthias.bgg
                   ` (3 preceding siblings ...)
  2020-05-18 15:30 ` [PATCH 1/4] clk/soc: mediatek: mt8183: Bind clock driver from platform device Chun-Kuang Hu
@ 2020-05-20 10:14 ` Stephen Boyd
  2020-05-20 10:53   ` Matthias Brugger
  4 siblings, 1 reply; 20+ messages in thread
From: Stephen Boyd @ 2020-05-20 10:14 UTC (permalink / raw)
  To: Matthias Brugger, Michael Turquette, Rob Herring, matthias.bgg
  Cc: mtk01761, devicetree, Allison Randal, linux-kernel,
	Thomas Gleixner, linux-mediatek, Kate Stewart,
	Greg Kroah-Hartman, linux-clk, linux-arm-kernel

Quoting matthias.bgg@kernel.org (2020-05-18 04:31:53)
> From: Matthias Brugger <matthias.bgg@gmail.com>
> 
> The mmsys driver is now the top level entry point for the multimedia
> system (mmsys), we bind the clock driver by creating a platform device.
> We also bind the MediaTek DRM driver which is not yet implement and
> therefor will errror out for now.
> 
> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
> ---

Acked-by: Stephen Boyd <sboyd@kernel.org>

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 2/4] clk/soc: mediatek: mt6797: Bind clock driver from platform device
  2020-05-18 11:31 ` [PATCH 2/4] clk/soc: mediatek: mt6797: " matthias.bgg
  2020-05-19  0:23   ` Chun-Kuang Hu
@ 2020-05-20 10:15   ` Stephen Boyd
  2020-05-20 10:53     ` Matthias Brugger
  1 sibling, 1 reply; 20+ messages in thread
From: Stephen Boyd @ 2020-05-20 10:15 UTC (permalink / raw)
  To: Matthias Brugger, Michael Turquette, Rob Herring, matthias.bgg
  Cc: mtk01761, devicetree, Allison Randal, linux-kernel,
	Thomas Gleixner, linux-mediatek, Kate Stewart,
	Greg Kroah-Hartman, linux-clk, linux-arm-kernel, Richard Fontana

Quoting matthias.bgg@kernel.org (2020-05-18 04:31:54)
> From: Matthias Brugger <matthias.bgg@gmail.com>
> 
> The mmsys driver is now the top level entry point for the multimedia
> system (mmsys), we bind the clock driver by creating a platform device.
> We also bind the MediaTek DRM driver which is not yet implement and
> therefor will errror out for now.
> 
> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
> ---

Acked-by: Stephen Boyd <sboyd@kernel.org>

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 3/4] clk/soc: mediatek: mt6779: Bind clock driver from platform device
  2020-05-18 11:31 ` [PATCH 3/4] clk/soc: mediatek: mt6779: " matthias.bgg
  2020-05-19 15:10   ` Chun-Kuang Hu
@ 2020-05-20 10:15   ` Stephen Boyd
  2020-05-20 10:54     ` Matthias Brugger
  2020-05-20 10:21   ` Stephen Boyd
  2 siblings, 1 reply; 20+ messages in thread
From: Stephen Boyd @ 2020-05-20 10:15 UTC (permalink / raw)
  To: Matthias Brugger, Michael Turquette, Rob Herring, matthias.bgg
  Cc: mtk01761, devicetree, Allison Randal, linux-kernel,
	Thomas Gleixner, linux-mediatek, Kate Stewart,
	Greg Kroah-Hartman, linux-clk, linux-arm-kernel

Quoting matthias.bgg@kernel.org (2020-05-18 04:31:55)
> From: Matthias Brugger <matthias.bgg@gmail.com>
> 
> The mmsys driver is now the top level entry point for the multimedia
> system (mmsys), we bind the clock driver by creating a platform device.
> We also bind the MediaTek DRM driver which is not yet implement and
> therefor will errror out for now.
> 
> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
> ---

Acked-by: Stephen Boyd <sboyd@kernel.org>

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 3/4] clk/soc: mediatek: mt6779: Bind clock driver from platform device
  2020-05-18 11:31 ` [PATCH 3/4] clk/soc: mediatek: mt6779: " matthias.bgg
  2020-05-19 15:10   ` Chun-Kuang Hu
  2020-05-20 10:15   ` Stephen Boyd
@ 2020-05-20 10:21   ` Stephen Boyd
  2 siblings, 0 replies; 20+ messages in thread
From: Stephen Boyd @ 2020-05-20 10:21 UTC (permalink / raw)
  To: Matthias Brugger, Michael Turquette, Rob Herring, matthias.bgg
  Cc: mtk01761, devicetree, Allison Randal, linux-kernel,
	Thomas Gleixner, linux-mediatek, Kate Stewart,
	Greg Kroah-Hartman, linux-clk, linux-arm-kernel

Quoting matthias.bgg@kernel.org (2020-05-18 04:31:55)
> From: Matthias Brugger <matthias.bgg@gmail.com>
> 
> The mmsys driver is now the top level entry point for the multimedia
> system (mmsys), we bind the clock driver by creating a platform device.
> We also bind the MediaTek DRM driver which is not yet implement and
> therefor will errror out for now.
> 
> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
> ---

Acked-by: Stephen Boyd <sboyd@kernel.org>

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 2/4] clk/soc: mediatek: mt6797: Bind clock driver from platform device
  2020-05-20 10:15   ` Stephen Boyd
@ 2020-05-20 10:53     ` Matthias Brugger
  0 siblings, 0 replies; 20+ messages in thread
From: Matthias Brugger @ 2020-05-20 10:53 UTC (permalink / raw)
  To: Stephen Boyd, Michael Turquette, Rob Herring, matthias.bgg
  Cc: mtk01761, devicetree, Allison Randal, linux-kernel,
	Thomas Gleixner, linux-mediatek, Kate Stewart,
	Greg Kroah-Hartman, linux-clk, linux-arm-kernel, Richard Fontana



On 20/05/2020 12:15, Stephen Boyd wrote:
> Quoting matthias.bgg@kernel.org (2020-05-18 04:31:54)
>> From: Matthias Brugger <matthias.bgg@gmail.com>
>>
>> The mmsys driver is now the top level entry point for the multimedia
>> system (mmsys), we bind the clock driver by creating a platform device.
>> We also bind the MediaTek DRM driver which is not yet implement and
>> therefor will errror out for now.
>>
>> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
>> ---
> 
> Acked-by: Stephen Boyd <sboyd@kernel.org>
> 

Now queued for v5.7-next/soc


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 1/4] clk/soc: mediatek: mt8183: Bind clock driver from platform device
  2020-05-20 10:14 ` Stephen Boyd
@ 2020-05-20 10:53   ` Matthias Brugger
  0 siblings, 0 replies; 20+ messages in thread
From: Matthias Brugger @ 2020-05-20 10:53 UTC (permalink / raw)
  To: Stephen Boyd, Michael Turquette, Rob Herring, matthias.bgg
  Cc: mtk01761, devicetree, Allison Randal, linux-kernel,
	Thomas Gleixner, linux-mediatek, Kate Stewart,
	Greg Kroah-Hartman, linux-clk, linux-arm-kernel



On 20/05/2020 12:14, Stephen Boyd wrote:
> Quoting matthias.bgg@kernel.org (2020-05-18 04:31:53)
>> From: Matthias Brugger <matthias.bgg@gmail.com>
>>
>> The mmsys driver is now the top level entry point for the multimedia
>> system (mmsys), we bind the clock driver by creating a platform device.
>> We also bind the MediaTek DRM driver which is not yet implement and
>> therefor will errror out for now.
>>
>> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
>> ---
> 
> Acked-by: Stephen Boyd <sboyd@kernel.org>
> 

Now queued for v5.7-next/soc


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 3/4] clk/soc: mediatek: mt6779: Bind clock driver from platform device
  2020-05-20 10:15   ` Stephen Boyd
@ 2020-05-20 10:54     ` Matthias Brugger
  0 siblings, 0 replies; 20+ messages in thread
From: Matthias Brugger @ 2020-05-20 10:54 UTC (permalink / raw)
  To: Stephen Boyd, Michael Turquette, Rob Herring, matthias.bgg
  Cc: mtk01761, devicetree, Allison Randal, linux-kernel,
	Thomas Gleixner, linux-mediatek, Kate Stewart,
	Greg Kroah-Hartman, linux-clk, linux-arm-kernel



On 20/05/2020 12:15, Stephen Boyd wrote:
> Quoting matthias.bgg@kernel.org (2020-05-18 04:31:55)
>> From: Matthias Brugger <matthias.bgg@gmail.com>
>>
>> The mmsys driver is now the top level entry point for the multimedia
>> system (mmsys), we bind the clock driver by creating a platform device.
>> We also bind the MediaTek DRM driver which is not yet implement and
>> therefor will errror out for now.
>>
>> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
>> ---
> 
> Acked-by: Stephen Boyd <sboyd@kernel.org>
> 

Now queued for v5.7-next/soc


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 4/4] arm64: dts: mt6797: Fix mmsys node name
  2020-05-19 15:06   ` Chun-Kuang Hu
@ 2020-05-20 10:54     ` Matthias Brugger
  0 siblings, 0 replies; 20+ messages in thread
From: Matthias Brugger @ 2020-05-20 10:54 UTC (permalink / raw)
  To: Chun-Kuang Hu, matthias.bgg
  Cc: Rob Herring, Michael Turquette, Stephen Boyd, Kate Stewart,
	devicetree, Greg Kroah-Hartman, linux-kernel,
	moderated list:ARM/Mediatek SoC support, Linux ARM, mtk01761,
	Thomas Gleixner, linux-clk, Allison Randal



On 19/05/2020 17:06, Chun-Kuang Hu wrote:
> Hi, Matthias:
> 
> <matthias.bgg@kernel.org> 於 2020年5月18日 週一 下午7:33寫道:
>>
>> From: Matthias Brugger <matthias.bgg@gmail.com>
>>
>> Node names are supposed to match the class of the device. The
>> mmsys node is a syscon as it provides more then just a clock controller.
>> Update the name.
> 
> Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
> 


Now queued for v5.7-next/dts64


>>
>> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
>>
>> ---
>>
>>  arch/arm64/boot/dts/mediatek/mt6797.dtsi | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/boot/dts/mediatek/mt6797.dtsi b/arch/arm64/boot/dts/mediatek/mt6797.dtsi
>> index 136ef9527a0d..3efd032481ce 100644
>> --- a/arch/arm64/boot/dts/mediatek/mt6797.dtsi
>> +++ b/arch/arm64/boot/dts/mediatek/mt6797.dtsi
>> @@ -233,7 +233,7 @@ uart3: serial@11005000 {
>>                 status = "disabled";
>>         };
>>
>> -       mmsys: mmsys_config@14000000 {
>> +       mmsys: syscon@14000000 {
>>                 compatible = "mediatek,mt6797-mmsys", "syscon";
>>                 reg = <0 0x14000000 0 0x1000>;
>>                 #clock-cells = <1>;
>> --
>> 2.26.2
>>
>>
>> _______________________________________________
>> Linux-mediatek mailing list
>> Linux-mediatek@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2020-05-20 10:54 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-18 11:31 [PATCH 1/4] clk/soc: mediatek: mt8183: Bind clock driver from platform device matthias.bgg
2020-05-18 11:31 ` [PATCH 2/4] clk/soc: mediatek: mt6797: " matthias.bgg
2020-05-19  0:23   ` Chun-Kuang Hu
2020-05-20 10:15   ` Stephen Boyd
2020-05-20 10:53     ` Matthias Brugger
2020-05-18 11:31 ` [PATCH 3/4] clk/soc: mediatek: mt6779: " matthias.bgg
2020-05-19 15:10   ` Chun-Kuang Hu
2020-05-19 21:26     ` Matthias Brugger
2020-05-19 23:52       ` Chun-Kuang Hu
2020-05-20 10:15   ` Stephen Boyd
2020-05-20 10:54     ` Matthias Brugger
2020-05-20 10:21   ` Stephen Boyd
2020-05-18 11:31 ` [PATCH 4/4] arm64: dts: mt6797: Fix mmsys node name matthias.bgg
2020-05-19 15:06   ` Chun-Kuang Hu
2020-05-20 10:54     ` Matthias Brugger
2020-05-18 15:30 ` [PATCH 1/4] clk/soc: mediatek: mt8183: Bind clock driver from platform device Chun-Kuang Hu
2020-05-18 15:57   ` Matthias Brugger
2020-05-19  0:21     ` Chun-Kuang Hu
2020-05-20 10:14 ` Stephen Boyd
2020-05-20 10:53   ` Matthias Brugger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).