linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/4] ACPI: APD: Change name from ST to FCH
       [not found] <20200720050500.23357-1-akshu.agrawal@amd.com>
@ 2020-07-20  5:04 ` Akshu Agrawal
  2020-07-27 13:28   ` Rafael J. Wysocki
  2020-07-20  5:04 ` [PATCH 2/4] clk: x86: " Akshu Agrawal
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 11+ messages in thread
From: Akshu Agrawal @ 2020-07-20  5:04 UTC (permalink / raw)
  To: akshu.agrawal
  Cc: sboyd, Rafael J. Wysocki, Len Brown, open list:ACPI, open list

AMD SoC general pupose clk is present in new platforms with
same MMIO mappings. We can reuse the same clk handler support
for other platforms. Hence, changing name from ST(SoC) to FCH(IP)

Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
---
 drivers/acpi/acpi_apd.c                            | 14 +++++++-------
 .../linux/platform_data/{clk-st.h => clk-fch.h}    | 10 +++++-----
 2 files changed, 12 insertions(+), 12 deletions(-)
 rename include/linux/platform_data/{clk-st.h => clk-fch.h} (53%)

diff --git a/drivers/acpi/acpi_apd.c b/drivers/acpi/acpi_apd.c
index ba2612e9a0eb..2d99e46add1a 100644
--- a/drivers/acpi/acpi_apd.c
+++ b/drivers/acpi/acpi_apd.c
@@ -8,7 +8,7 @@
  */
 
 #include <linux/clk-provider.h>
-#include <linux/platform_data/clk-st.h>
+#include <linux/platform_data/clk-fch.h>
 #include <linux/platform_device.h>
 #include <linux/pm_domain.h>
 #include <linux/clkdev.h>
@@ -79,11 +79,11 @@ static int misc_check_res(struct acpi_resource *ares, void *data)
 	return !acpi_dev_resource_memory(ares, &res);
 }
 
-static int st_misc_setup(struct apd_private_data *pdata)
+static int fch_misc_setup(struct apd_private_data *pdata)
 {
 	struct acpi_device *adev = pdata->adev;
 	struct platform_device *clkdev;
-	struct st_clk_data *clk_data;
+	struct fch_clk_data *clk_data;
 	struct resource_entry *rentry;
 	struct list_head resource_list;
 	int ret;
@@ -106,7 +106,7 @@ static int st_misc_setup(struct apd_private_data *pdata)
 
 	acpi_dev_free_resource_list(&resource_list);
 
-	clkdev = platform_device_register_data(&adev->dev, "clk-st",
+	clkdev = platform_device_register_data(&adev->dev, "clk-fch",
 					       PLATFORM_DEVID_NONE, clk_data,
 					       sizeof(*clk_data));
 	return PTR_ERR_OR_ZERO(clkdev);
@@ -135,8 +135,8 @@ static const struct apd_device_desc cz_uart_desc = {
 	.properties = uart_properties,
 };
 
-static const struct apd_device_desc st_misc_desc = {
-	.setup = st_misc_setup,
+static const struct apd_device_desc fch_misc_desc = {
+	.setup = fch_misc_setup,
 };
 #endif
 
@@ -239,7 +239,7 @@ static const struct acpi_device_id acpi_apd_device_ids[] = {
 	{ "AMD0020", APD_ADDR(cz_uart_desc) },
 	{ "AMDI0020", APD_ADDR(cz_uart_desc) },
 	{ "AMD0030", },
-	{ "AMD0040", APD_ADDR(st_misc_desc)},
+	{ "AMD0040", APD_ADDR(fch_misc_desc)},
 #endif
 #ifdef CONFIG_ARM64
 	{ "APMC0D0F", APD_ADDR(xgene_i2c_desc) },
diff --git a/include/linux/platform_data/clk-st.h b/include/linux/platform_data/clk-fch.h
similarity index 53%
rename from include/linux/platform_data/clk-st.h
rename to include/linux/platform_data/clk-fch.h
index 7cdb6a402b35..850ca776156d 100644
--- a/include/linux/platform_data/clk-st.h
+++ b/include/linux/platform_data/clk-fch.h
@@ -1,17 +1,17 @@
 /* SPDX-License-Identifier: MIT */
 /*
- * clock framework for AMD Stoney based clock
+ * clock framework for AMD misc clocks
  *
  * Copyright 2018 Advanced Micro Devices, Inc.
  */
 
-#ifndef __CLK_ST_H
-#define __CLK_ST_H
+#ifndef __CLK_FCH_H
+#define __CLK_FCH_H
 
 #include <linux/compiler.h>
 
-struct st_clk_data {
+struct fch_clk_data {
 	void __iomem *base;
 };
 
-#endif /* __CLK_ST_H */
+#endif /* __CLK_FCH_H */
-- 
2.20.1


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

* [PATCH 2/4] clk: x86: Change name from ST to FCH
       [not found] <20200720050500.23357-1-akshu.agrawal@amd.com>
  2020-07-20  5:04 ` [PATCH 1/4] ACPI: APD: Change name from ST to FCH Akshu Agrawal
@ 2020-07-20  5:04 ` Akshu Agrawal
  2020-07-21  8:06   ` Stephen Boyd
  2020-07-20  5:04 ` [PATCH 3/4] ACPI: APD: Add a fmw property is_raven Akshu Agrawal
  2020-07-20  5:04 ` [v2 4/4] clk: x86: Support RV architecture Akshu Agrawal
  3 siblings, 1 reply; 11+ messages in thread
From: Akshu Agrawal @ 2020-07-20  5:04 UTC (permalink / raw)
  To: akshu.agrawal
  Cc: sboyd, Michael Turquette, Rahul Tanwar,
	open list:COMMON CLK FRAMEWORK, open list

AMD SoC general pupose clk is present in new platforms with
minor differences. We can reuse the same clk driver for other
platforms. Hence, changing name from ST(SoC) to FCH(IP)

Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
---
 drivers/clk/x86/Makefile                |  2 +-
 drivers/clk/x86/{clk-st.c => clk-fch.c} | 26 ++++++++++++-------------
 2 files changed, 14 insertions(+), 14 deletions(-)
 rename drivers/clk/x86/{clk-st.c => clk-fch.c} (73%)

diff --git a/drivers/clk/x86/Makefile b/drivers/clk/x86/Makefile
index 7c774ea7ddeb..18564efdc651 100644
--- a/drivers/clk/x86/Makefile
+++ b/drivers/clk/x86/Makefile
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0-only
 obj-$(CONFIG_PMC_ATOM)		+= clk-pmc-atom.o
-obj-$(CONFIG_X86_AMD_PLATFORM_DEVICE)	+= clk-st.o
+obj-$(CONFIG_X86_AMD_PLATFORM_DEVICE)	+= clk-fch.o
 clk-x86-lpss-objs		:= clk-lpt.o
 obj-$(CONFIG_X86_INTEL_LPSS)	+= clk-x86-lpss.o
 obj-$(CONFIG_CLK_LGM_CGU)	+= clk-cgu.o clk-cgu-pll.o clk-lgm.o
diff --git a/drivers/clk/x86/clk-st.c b/drivers/clk/x86/clk-fch.c
similarity index 73%
rename from drivers/clk/x86/clk-st.c
rename to drivers/clk/x86/clk-fch.c
index 25d4b97aff9b..b252f0cf0628 100644
--- a/drivers/clk/x86/clk-st.c
+++ b/drivers/clk/x86/clk-fch.c
@@ -8,7 +8,7 @@
 #include <linux/clk.h>
 #include <linux/clkdev.h>
 #include <linux/clk-provider.h>
-#include <linux/platform_data/clk-st.h>
+#include <linux/platform_data/clk-fch.h>
 #include <linux/platform_device.h>
 
 /* Clock Driving Strength 2 register */
@@ -29,12 +29,12 @@
 static const char * const clk_oscout1_parents[] = { "clk48MHz", "clk25MHz" };
 static struct clk_hw *hws[ST_MAX_CLKS];
 
-static int st_clk_probe(struct platform_device *pdev)
+static int fch_clk_probe(struct platform_device *pdev)
 {
-	struct st_clk_data *st_data;
+	struct fch_clk_data *fch_data;
 
-	st_data = dev_get_platdata(&pdev->dev);
-	if (!st_data || !st_data->base)
+	fch_data = dev_get_platdata(&pdev->dev);
+	if (!fch_data || !fch_data->base)
 		return -EINVAL;
 
 	hws[ST_CLK_48M] = clk_hw_register_fixed_rate(NULL, "clk48MHz", NULL, 0,
@@ -44,12 +44,12 @@ static int st_clk_probe(struct platform_device *pdev)
 
 	hws[ST_CLK_MUX] = clk_hw_register_mux(NULL, "oscout1_mux",
 		clk_oscout1_parents, ARRAY_SIZE(clk_oscout1_parents),
-		0, st_data->base + CLKDRVSTR2, OSCOUT1CLK25MHZ, 3, 0, NULL);
+		0, fch_data->base + CLKDRVSTR2, OSCOUT1CLK25MHZ, 3, 0, NULL);
 
 	clk_set_parent(hws[ST_CLK_MUX]->clk, hws[ST_CLK_48M]->clk);
 
 	hws[ST_CLK_GATE] = clk_hw_register_gate(NULL, "oscout1", "oscout1_mux",
-		0, st_data->base + MISCCLKCNTL1, OSCCLKENB,
+		0, fch_data->base + MISCCLKCNTL1, OSCCLKENB,
 		CLK_GATE_SET_TO_DISABLE, NULL);
 
 	devm_clk_hw_register_clkdev(&pdev->dev, hws[ST_CLK_GATE], "oscout1",
@@ -58,7 +58,7 @@ static int st_clk_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int st_clk_remove(struct platform_device *pdev)
+static int fch_clk_remove(struct platform_device *pdev)
 {
 	int i;
 
@@ -67,12 +67,12 @@ static int st_clk_remove(struct platform_device *pdev)
 	return 0;
 }
 
-static struct platform_driver st_clk_driver = {
+static struct platform_driver fch_clk_driver = {
 	.driver = {
-		.name = "clk-st",
+		.name = "clk-fch",
 		.suppress_bind_attrs = true,
 	},
-	.probe = st_clk_probe,
-	.remove = st_clk_remove,
+	.probe = fch_clk_probe,
+	.remove = fch_clk_remove,
 };
-builtin_platform_driver(st_clk_driver);
+builtin_platform_driver(fch_clk_driver);
-- 
2.20.1


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

* [PATCH 3/4] ACPI: APD: Add a fmw property is_raven
       [not found] <20200720050500.23357-1-akshu.agrawal@amd.com>
  2020-07-20  5:04 ` [PATCH 1/4] ACPI: APD: Change name from ST to FCH Akshu Agrawal
  2020-07-20  5:04 ` [PATCH 2/4] clk: x86: " Akshu Agrawal
@ 2020-07-20  5:04 ` Akshu Agrawal
  2020-07-20  5:04 ` [v2 4/4] clk: x86: Support RV architecture Akshu Agrawal
  3 siblings, 0 replies; 11+ messages in thread
From: Akshu Agrawal @ 2020-07-20  5:04 UTC (permalink / raw)
  To: akshu.agrawal
  Cc: sboyd, Rafael J. Wysocki, Len Brown, open list:ACPI, open list

Since there is slight difference in AMD RV based soc in misc
clk architecture. The fmw property will help in differentiating
the SoCs.

Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
---
 drivers/acpi/acpi_apd.c               | 4 ++++
 include/linux/platform_data/clk-fch.h | 1 +
 2 files changed, 5 insertions(+)

diff --git a/drivers/acpi/acpi_apd.c b/drivers/acpi/acpi_apd.c
index 2d99e46add1a..d879ba28826c 100644
--- a/drivers/acpi/acpi_apd.c
+++ b/drivers/acpi/acpi_apd.c
@@ -82,6 +82,7 @@ static int misc_check_res(struct acpi_resource *ares, void *data)
 static int fch_misc_setup(struct apd_private_data *pdata)
 {
 	struct acpi_device *adev = pdata->adev;
+	const union acpi_object *obj;
 	struct platform_device *clkdev;
 	struct fch_clk_data *clk_data;
 	struct resource_entry *rentry;
@@ -98,6 +99,9 @@ static int fch_misc_setup(struct apd_private_data *pdata)
 	if (ret < 0)
 		return -ENOENT;
 
+	acpi_dev_get_property(adev, "is-rv", ACPI_TYPE_INTEGER, &obj);
+	clk_data->is_rv = obj->integer.value;
+
 	list_for_each_entry(rentry, &resource_list, node) {
 		clk_data->base = devm_ioremap(&adev->dev, rentry->res->start,
 					      resource_size(rentry->res));
diff --git a/include/linux/platform_data/clk-fch.h b/include/linux/platform_data/clk-fch.h
index 850ca776156d..b9f682459f08 100644
--- a/include/linux/platform_data/clk-fch.h
+++ b/include/linux/platform_data/clk-fch.h
@@ -12,6 +12,7 @@
 
 struct fch_clk_data {
 	void __iomem *base;
+	u32 is_rv;
 };
 
 #endif /* __CLK_FCH_H */
-- 
2.20.1


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

* [v2 4/4] clk: x86: Support RV architecture
       [not found] <20200720050500.23357-1-akshu.agrawal@amd.com>
                   ` (2 preceding siblings ...)
  2020-07-20  5:04 ` [PATCH 3/4] ACPI: APD: Add a fmw property is_raven Akshu Agrawal
@ 2020-07-20  5:04 ` Akshu Agrawal
  2020-07-21  8:05   ` Stephen Boyd
  3 siblings, 1 reply; 11+ messages in thread
From: Akshu Agrawal @ 2020-07-20  5:04 UTC (permalink / raw)
  To: akshu.agrawal
  Cc: sboyd, Michael Turquette, open list:COMMON CLK FRAMEWORK, open list

There is minor difference between previous family of SoC and
the current one. Which is the there is only 48Mh fixed clk.
There is no mux and no option to select another freq as there in previous.

Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
---
v2: Consolidated the loops in remove.

 drivers/clk/x86/clk-fch.c | 53 ++++++++++++++++++++++++++++-----------
 1 file changed, 38 insertions(+), 15 deletions(-)

diff --git a/drivers/clk/x86/clk-fch.c b/drivers/clk/x86/clk-fch.c
index b252f0cf0628..d68bca7b213f 100644
--- a/drivers/clk/x86/clk-fch.c
+++ b/drivers/clk/x86/clk-fch.c
@@ -26,6 +26,10 @@
 #define ST_CLK_GATE	3
 #define ST_MAX_CLKS	4
 
+#define RV_CLK_48M	0
+#define RV_CLK_GATE	1
+#define RV_MAX_CLKS	2
+
 static const char * const clk_oscout1_parents[] = { "clk48MHz", "clk25MHz" };
 static struct clk_hw *hws[ST_MAX_CLKS];
 
@@ -37,33 +41,52 @@ static int fch_clk_probe(struct platform_device *pdev)
 	if (!fch_data || !fch_data->base)
 		return -EINVAL;
 
-	hws[ST_CLK_48M] = clk_hw_register_fixed_rate(NULL, "clk48MHz", NULL, 0,
-						     48000000);
-	hws[ST_CLK_25M] = clk_hw_register_fixed_rate(NULL, "clk25MHz", NULL, 0,
-						     25000000);
+	if (!fch_data->is_rv) {
+		hws[ST_CLK_48M] = clk_hw_register_fixed_rate(NULL, "clk48MHz",
+			NULL, 0, 48000000);
+		hws[ST_CLK_25M] = clk_hw_register_fixed_rate(NULL, "clk25MHz",
+			NULL, 0, 25000000);
+
+		hws[ST_CLK_MUX] = clk_hw_register_mux(NULL, "oscout1_mux",
+			clk_oscout1_parents, ARRAY_SIZE(clk_oscout1_parents),
+			0, fch_data->base + CLKDRVSTR2, OSCOUT1CLK25MHZ, 3, 0,
+			NULL);
 
-	hws[ST_CLK_MUX] = clk_hw_register_mux(NULL, "oscout1_mux",
-		clk_oscout1_parents, ARRAY_SIZE(clk_oscout1_parents),
-		0, fch_data->base + CLKDRVSTR2, OSCOUT1CLK25MHZ, 3, 0, NULL);
+		clk_set_parent(hws[ST_CLK_MUX]->clk, hws[ST_CLK_48M]->clk);
 
-	clk_set_parent(hws[ST_CLK_MUX]->clk, hws[ST_CLK_48M]->clk);
+		hws[ST_CLK_GATE] = clk_hw_register_gate(NULL, "oscout1",
+			"oscout1_mux", 0, fch_data->base + MISCCLKCNTL1,
+			OSCCLKENB, CLK_GATE_SET_TO_DISABLE, NULL);
 
-	hws[ST_CLK_GATE] = clk_hw_register_gate(NULL, "oscout1", "oscout1_mux",
-		0, fch_data->base + MISCCLKCNTL1, OSCCLKENB,
-		CLK_GATE_SET_TO_DISABLE, NULL);
+		devm_clk_hw_register_clkdev(&pdev->dev, hws[ST_CLK_GATE],
+			"oscout1", NULL);
+	} else {
+		hws[RV_CLK_48M] = clk_hw_register_fixed_rate(NULL, "clk48MHz",
+			NULL, 0, 48000000);
 
-	devm_clk_hw_register_clkdev(&pdev->dev, hws[ST_CLK_GATE], "oscout1",
-				    NULL);
+		hws[RV_CLK_GATE] = clk_hw_register_gate(NULL, "oscout1",
+			"clk48MHz", 0, fch_data->base + MISCCLKCNTL1,
+			OSCCLKENB, CLK_GATE_SET_TO_DISABLE, NULL);
+
+		devm_clk_hw_register_clkdev(&pdev->dev, hws[RV_CLK_GATE],
+			"oscout1", NULL);
+	}
 
 	return 0;
 }
 
 static int fch_clk_remove(struct platform_device *pdev)
 {
-	int i;
+	int i, clks;
+	struct fch_clk_data *fch_data;
 
-	for (i = 0; i < ST_MAX_CLKS; i++)
+	fch_data = dev_get_platdata(&pdev->dev);
+
+	clks = (!fch_data->is_rv) ? ST_MAX_CLKS : RV_MAX_CLKS;
+
+	for (i = 0; i < clks; i++)
 		clk_hw_unregister(hws[i]);
+
 	return 0;
 }
 
-- 
2.20.1


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

* Re: [v2 4/4] clk: x86: Support RV architecture
  2020-07-20  5:04 ` [v2 4/4] clk: x86: Support RV architecture Akshu Agrawal
@ 2020-07-21  8:05   ` Stephen Boyd
  2020-07-28  6:36     ` Agrawal, Akshu
  0 siblings, 1 reply; 11+ messages in thread
From: Stephen Boyd @ 2020-07-21  8:05 UTC (permalink / raw)
  To: akshu.agrawal; +Cc: Michael Turquette, linux-clk, linux-kernel

Quoting Akshu Agrawal (2020-07-19 22:04:59)
> diff --git a/drivers/clk/x86/clk-fch.c b/drivers/clk/x86/clk-fch.c
> index b252f0cf0628..d68bca7b213f 100644
> --- a/drivers/clk/x86/clk-fch.c
> +++ b/drivers/clk/x86/clk-fch.c
[...]
>  
>  static int fch_clk_remove(struct platform_device *pdev)
>  {
> -       int i;
> +       int i, clks;
> +       struct fch_clk_data *fch_data;
>  
> -       for (i = 0; i < ST_MAX_CLKS; i++)
> +       fch_data = dev_get_platdata(&pdev->dev);
> +
> +       clks = (!fch_data->is_rv) ? ST_MAX_CLKS : RV_MAX_CLKS;

Useless parenthesis and negation, just write:

	num = fch_data->is_rv ? RV_MAX_CLKS : ST_MAX_CLKS;

> +
> +       for (i = 0; i < clks; i++)
>                 clk_hw_unregister(hws[i]);
> +
>         return 0;
>  }
>

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

* Re: [PATCH 2/4] clk: x86: Change name from ST to FCH
  2020-07-20  5:04 ` [PATCH 2/4] clk: x86: " Akshu Agrawal
@ 2020-07-21  8:06   ` Stephen Boyd
  2020-07-28  6:35     ` Agrawal, Akshu
  0 siblings, 1 reply; 11+ messages in thread
From: Stephen Boyd @ 2020-07-21  8:06 UTC (permalink / raw)
  To: akshu.agrawal; +Cc: Michael Turquette, Rahul Tanwar, linux-clk, linux-kernel

Quoting Akshu Agrawal (2020-07-19 22:04:57)
> diff --git a/drivers/clk/x86/clk-st.c b/drivers/clk/x86/clk-fch.c
> similarity index 73%
> rename from drivers/clk/x86/clk-st.c
> rename to drivers/clk/x86/clk-fch.c
> index 25d4b97aff9b..b252f0cf0628 100644
> --- a/drivers/clk/x86/clk-st.c
> +++ b/drivers/clk/x86/clk-fch.c
> @@ -8,7 +8,7 @@
>  #include <linux/clk.h>
>  #include <linux/clkdev.h>
>  #include <linux/clk-provider.h>
> -#include <linux/platform_data/clk-st.h>
> +#include <linux/platform_data/clk-fch.h>

As stated before, this should go with the patch that moves the file.

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

* Re: [PATCH 1/4] ACPI: APD: Change name from ST to FCH
  2020-07-20  5:04 ` [PATCH 1/4] ACPI: APD: Change name from ST to FCH Akshu Agrawal
@ 2020-07-27 13:28   ` Rafael J. Wysocki
  2020-07-28  5:50     ` Agrawal, Akshu
  0 siblings, 1 reply; 11+ messages in thread
From: Rafael J. Wysocki @ 2020-07-27 13:28 UTC (permalink / raw)
  To: Akshu Agrawal
  Cc: Stephen Boyd, Rafael J. Wysocki, Len Brown, open list:ACPI, open list

On Mon, Jul 20, 2020 at 7:06 AM Akshu Agrawal <akshu.agrawal@amd.com> wrote:
>
> AMD SoC general pupose clk is present in new platforms with
> same MMIO mappings. We can reuse the same clk handler support
> for other platforms. Hence, changing name from ST(SoC) to FCH(IP)
>
> Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>

This patch and the [3/4] appear to be part of a larger series which
isn't visible to me as a whole.

Do you want me to apply them nevertheless?

> ---
>  drivers/acpi/acpi_apd.c                            | 14 +++++++-------
>  .../linux/platform_data/{clk-st.h => clk-fch.h}    | 10 +++++-----
>  2 files changed, 12 insertions(+), 12 deletions(-)
>  rename include/linux/platform_data/{clk-st.h => clk-fch.h} (53%)
>
> diff --git a/drivers/acpi/acpi_apd.c b/drivers/acpi/acpi_apd.c
> index ba2612e9a0eb..2d99e46add1a 100644
> --- a/drivers/acpi/acpi_apd.c
> +++ b/drivers/acpi/acpi_apd.c
> @@ -8,7 +8,7 @@
>   */
>
>  #include <linux/clk-provider.h>
> -#include <linux/platform_data/clk-st.h>
> +#include <linux/platform_data/clk-fch.h>
>  #include <linux/platform_device.h>
>  #include <linux/pm_domain.h>
>  #include <linux/clkdev.h>
> @@ -79,11 +79,11 @@ static int misc_check_res(struct acpi_resource *ares, void *data)
>         return !acpi_dev_resource_memory(ares, &res);
>  }
>
> -static int st_misc_setup(struct apd_private_data *pdata)
> +static int fch_misc_setup(struct apd_private_data *pdata)
>  {
>         struct acpi_device *adev = pdata->adev;
>         struct platform_device *clkdev;
> -       struct st_clk_data *clk_data;
> +       struct fch_clk_data *clk_data;
>         struct resource_entry *rentry;
>         struct list_head resource_list;
>         int ret;
> @@ -106,7 +106,7 @@ static int st_misc_setup(struct apd_private_data *pdata)
>
>         acpi_dev_free_resource_list(&resource_list);
>
> -       clkdev = platform_device_register_data(&adev->dev, "clk-st",
> +       clkdev = platform_device_register_data(&adev->dev, "clk-fch",
>                                                PLATFORM_DEVID_NONE, clk_data,
>                                                sizeof(*clk_data));
>         return PTR_ERR_OR_ZERO(clkdev);
> @@ -135,8 +135,8 @@ static const struct apd_device_desc cz_uart_desc = {
>         .properties = uart_properties,
>  };
>
> -static const struct apd_device_desc st_misc_desc = {
> -       .setup = st_misc_setup,
> +static const struct apd_device_desc fch_misc_desc = {
> +       .setup = fch_misc_setup,
>  };
>  #endif
>
> @@ -239,7 +239,7 @@ static const struct acpi_device_id acpi_apd_device_ids[] = {
>         { "AMD0020", APD_ADDR(cz_uart_desc) },
>         { "AMDI0020", APD_ADDR(cz_uart_desc) },
>         { "AMD0030", },
> -       { "AMD0040", APD_ADDR(st_misc_desc)},
> +       { "AMD0040", APD_ADDR(fch_misc_desc)},
>  #endif
>  #ifdef CONFIG_ARM64
>         { "APMC0D0F", APD_ADDR(xgene_i2c_desc) },
> diff --git a/include/linux/platform_data/clk-st.h b/include/linux/platform_data/clk-fch.h
> similarity index 53%
> rename from include/linux/platform_data/clk-st.h
> rename to include/linux/platform_data/clk-fch.h
> index 7cdb6a402b35..850ca776156d 100644
> --- a/include/linux/platform_data/clk-st.h
> +++ b/include/linux/platform_data/clk-fch.h
> @@ -1,17 +1,17 @@
>  /* SPDX-License-Identifier: MIT */
>  /*
> - * clock framework for AMD Stoney based clock
> + * clock framework for AMD misc clocks
>   *
>   * Copyright 2018 Advanced Micro Devices, Inc.
>   */
>
> -#ifndef __CLK_ST_H
> -#define __CLK_ST_H
> +#ifndef __CLK_FCH_H
> +#define __CLK_FCH_H
>
>  #include <linux/compiler.h>
>
> -struct st_clk_data {
> +struct fch_clk_data {
>         void __iomem *base;
>  };
>
> -#endif /* __CLK_ST_H */
> +#endif /* __CLK_FCH_H */
> --
> 2.20.1
>

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

* Re: [PATCH 1/4] ACPI: APD: Change name from ST to FCH
  2020-07-27 13:28   ` Rafael J. Wysocki
@ 2020-07-28  5:50     ` Agrawal, Akshu
  2020-07-28 11:17       ` Rafael J. Wysocki
  0 siblings, 1 reply; 11+ messages in thread
From: Agrawal, Akshu @ 2020-07-28  5:50 UTC (permalink / raw)
  To: Rafael J. Wysocki, Akshu Agrawal
  Cc: Stephen Boyd, Rafael J. Wysocki, Len Brown, open list:ACPI, open list


On 7/27/2020 6:58 PM, Rafael J. Wysocki wrote:
> On Mon, Jul 20, 2020 at 7:06 AM Akshu Agrawal <akshu.agrawal@amd.com> wrote:
>> AMD SoC general pupose clk is present in new platforms with
>> same MMIO mappings. We can reuse the same clk handler support
>> for other platforms. Hence, changing name from ST(SoC) to FCH(IP)
>>
>> Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
> This patch and the [3/4] appear to be part of a larger series which
> isn't visible to me as a whole.

Link to other patches:

https://patchwork.kernel.org/patch/11672857/

https://patchwork.kernel.org/patch/11672861/

>
> Do you want me to apply them nevertheless?

This patch on its own will cause compilation error as we need the second 
patch.

Since, there is dependency we need them to be merged together. Can you 
or Stephen please suggest a way forward.


Thanks,

Akshu

>> ---
>>   drivers/acpi/acpi_apd.c                            | 14 +++++++-------
>>   .../linux/platform_data/{clk-st.h => clk-fch.h}    | 10 +++++-----
>>   2 files changed, 12 insertions(+), 12 deletions(-)
>>   rename include/linux/platform_data/{clk-st.h => clk-fch.h} (53%)
>>
>> diff --git a/drivers/acpi/acpi_apd.c b/drivers/acpi/acpi_apd.c
>> index ba2612e9a0eb..2d99e46add1a 100644
>> --- a/drivers/acpi/acpi_apd.c
>> +++ b/drivers/acpi/acpi_apd.c
>> @@ -8,7 +8,7 @@
>>    */
>>
>>   #include <linux/clk-provider.h>
>> -#include <linux/platform_data/clk-st.h>
>> +#include <linux/platform_data/clk-fch.h>
>>   #include <linux/platform_device.h>
>>   #include <linux/pm_domain.h>
>>   #include <linux/clkdev.h>
>> @@ -79,11 +79,11 @@ static int misc_check_res(struct acpi_resource *ares, void *data)
>>          return !acpi_dev_resource_memory(ares, &res);
>>   }
>>
>> -static int st_misc_setup(struct apd_private_data *pdata)
>> +static int fch_misc_setup(struct apd_private_data *pdata)
>>   {
>>          struct acpi_device *adev = pdata->adev;
>>          struct platform_device *clkdev;
>> -       struct st_clk_data *clk_data;
>> +       struct fch_clk_data *clk_data;
>>          struct resource_entry *rentry;
>>          struct list_head resource_list;
>>          int ret;
>> @@ -106,7 +106,7 @@ static int st_misc_setup(struct apd_private_data *pdata)
>>
>>          acpi_dev_free_resource_list(&resource_list);
>>
>> -       clkdev = platform_device_register_data(&adev->dev, "clk-st",
>> +       clkdev = platform_device_register_data(&adev->dev, "clk-fch",
>>                                                 PLATFORM_DEVID_NONE, clk_data,
>>                                                 sizeof(*clk_data));
>>          return PTR_ERR_OR_ZERO(clkdev);
>> @@ -135,8 +135,8 @@ static const struct apd_device_desc cz_uart_desc = {
>>          .properties = uart_properties,
>>   };
>>
>> -static const struct apd_device_desc st_misc_desc = {
>> -       .setup = st_misc_setup,
>> +static const struct apd_device_desc fch_misc_desc = {
>> +       .setup = fch_misc_setup,
>>   };
>>   #endif
>>
>> @@ -239,7 +239,7 @@ static const struct acpi_device_id acpi_apd_device_ids[] = {
>>          { "AMD0020", APD_ADDR(cz_uart_desc) },
>>          { "AMDI0020", APD_ADDR(cz_uart_desc) },
>>          { "AMD0030", },
>> -       { "AMD0040", APD_ADDR(st_misc_desc)},
>> +       { "AMD0040", APD_ADDR(fch_misc_desc)},
>>   #endif
>>   #ifdef CONFIG_ARM64
>>          { "APMC0D0F", APD_ADDR(xgene_i2c_desc) },
>> diff --git a/include/linux/platform_data/clk-st.h b/include/linux/platform_data/clk-fch.h
>> similarity index 53%
>> rename from include/linux/platform_data/clk-st.h
>> rename to include/linux/platform_data/clk-fch.h
>> index 7cdb6a402b35..850ca776156d 100644
>> --- a/include/linux/platform_data/clk-st.h
>> +++ b/include/linux/platform_data/clk-fch.h
>> @@ -1,17 +1,17 @@
>>   /* SPDX-License-Identifier: MIT */
>>   /*
>> - * clock framework for AMD Stoney based clock
>> + * clock framework for AMD misc clocks
>>    *
>>    * Copyright 2018 Advanced Micro Devices, Inc.
>>    */
>>
>> -#ifndef __CLK_ST_H
>> -#define __CLK_ST_H
>> +#ifndef __CLK_FCH_H
>> +#define __CLK_FCH_H
>>
>>   #include <linux/compiler.h>
>>
>> -struct st_clk_data {
>> +struct fch_clk_data {
>>          void __iomem *base;
>>   };
>>
>> -#endif /* __CLK_ST_H */
>> +#endif /* __CLK_FCH_H */
>> --
>> 2.20.1
>>

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

* Re: [PATCH 2/4] clk: x86: Change name from ST to FCH
  2020-07-21  8:06   ` Stephen Boyd
@ 2020-07-28  6:35     ` Agrawal, Akshu
  0 siblings, 0 replies; 11+ messages in thread
From: Agrawal, Akshu @ 2020-07-28  6:35 UTC (permalink / raw)
  To: Stephen Boyd, akshu.agrawal
  Cc: Michael Turquette, Rahul Tanwar, linux-clk, linux-kernel,
	Rafael J. Wysocki


On 7/21/2020 1:36 PM, Stephen Boyd wrote:
> Quoting Akshu Agrawal (2020-07-19 22:04:57)
>> diff --git a/drivers/clk/x86/clk-st.c b/drivers/clk/x86/clk-fch.c
>> similarity index 73%
>> rename from drivers/clk/x86/clk-st.c
>> rename to drivers/clk/x86/clk-fch.c
>> index 25d4b97aff9b..b252f0cf0628 100644
>> --- a/drivers/clk/x86/clk-st.c
>> +++ b/drivers/clk/x86/clk-fch.c
>> @@ -8,7 +8,7 @@
>>   #include <linux/clk.h>
>>   #include <linux/clkdev.h>
>>   #include <linux/clk-provider.h>
>> -#include <linux/platform_data/clk-st.h>
>> +#include <linux/platform_data/clk-fch.h>
> As stated before, this should go with the patch that moves the file.

+Rafael

Sorry for late reply, somehow I missed these mails. Will move it to 
acpi: apd change

Thanks,

Akshu


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

* Re: [v2 4/4] clk: x86: Support RV architecture
  2020-07-21  8:05   ` Stephen Boyd
@ 2020-07-28  6:36     ` Agrawal, Akshu
  0 siblings, 0 replies; 11+ messages in thread
From: Agrawal, Akshu @ 2020-07-28  6:36 UTC (permalink / raw)
  To: Stephen Boyd, akshu.agrawal; +Cc: Michael Turquette, linux-clk, linux-kernel


On 7/21/2020 1:35 PM, Stephen Boyd wrote:
> Quoting Akshu Agrawal (2020-07-19 22:04:59)
>> diff --git a/drivers/clk/x86/clk-fch.c b/drivers/clk/x86/clk-fch.c
>> index b252f0cf0628..d68bca7b213f 100644
>> --- a/drivers/clk/x86/clk-fch.c
>> +++ b/drivers/clk/x86/clk-fch.c
> [...]
>>   
>>   static int fch_clk_remove(struct platform_device *pdev)
>>   {
>> -       int i;
>> +       int i, clks;
>> +       struct fch_clk_data *fch_data;
>>   
>> -       for (i = 0; i < ST_MAX_CLKS; i++)
>> +       fch_data = dev_get_platdata(&pdev->dev);
>> +
>> +       clks = (!fch_data->is_rv) ? ST_MAX_CLKS : RV_MAX_CLKS;
> Useless parenthesis and negation, just write:
>
> 	num = fch_data->is_rv ? RV_MAX_CLKS : ST_MAX_CLKS;

Sure, including in the next patch set.

Thanks,

Akshu

>
>> +
>> +       for (i = 0; i < clks; i++)
>>                  clk_hw_unregister(hws[i]);
>> +
>>          return 0;
>>   }
>>

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

* Re: [PATCH 1/4] ACPI: APD: Change name from ST to FCH
  2020-07-28  5:50     ` Agrawal, Akshu
@ 2020-07-28 11:17       ` Rafael J. Wysocki
  0 siblings, 0 replies; 11+ messages in thread
From: Rafael J. Wysocki @ 2020-07-28 11:17 UTC (permalink / raw)
  To: Agrawal, Akshu
  Cc: Rafael J. Wysocki, Akshu Agrawal, Stephen Boyd,
	Rafael J. Wysocki, Len Brown, open list:ACPI, open list

On Tue, Jul 28, 2020 at 7:50 AM Agrawal, Akshu <aagrawal2@amd.com> wrote:
>
>
> On 7/27/2020 6:58 PM, Rafael J. Wysocki wrote:
> > On Mon, Jul 20, 2020 at 7:06 AM Akshu Agrawal <akshu.agrawal@amd.com> wrote:
> >> AMD SoC general pupose clk is present in new platforms with
> >> same MMIO mappings. We can reuse the same clk handler support
> >> for other platforms. Hence, changing name from ST(SoC) to FCH(IP)
> >>
> >> Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
> > This patch and the [3/4] appear to be part of a larger series which
> > isn't visible to me as a whole.
>
> Link to other patches:
>
> https://patchwork.kernel.org/patch/11672857/
>
> https://patchwork.kernel.org/patch/11672861/
>
> >
> > Do you want me to apply them nevertheless?
>
> This patch on its own will cause compilation error as we need the second
> patch.
>
> Since, there is dependency we need them to be merged together. Can you
> or Stephen please suggest a way forward.

I would prefer it to be routed through the clock tree.

The APD changes are simple enough and I don't have any issues with them.

Thanks!


> >> ---
> >>   drivers/acpi/acpi_apd.c                            | 14 +++++++-------
> >>   .../linux/platform_data/{clk-st.h => clk-fch.h}    | 10 +++++-----
> >>   2 files changed, 12 insertions(+), 12 deletions(-)
> >>   rename include/linux/platform_data/{clk-st.h => clk-fch.h} (53%)
> >>
> >> diff --git a/drivers/acpi/acpi_apd.c b/drivers/acpi/acpi_apd.c
> >> index ba2612e9a0eb..2d99e46add1a 100644
> >> --- a/drivers/acpi/acpi_apd.c
> >> +++ b/drivers/acpi/acpi_apd.c
> >> @@ -8,7 +8,7 @@
> >>    */
> >>
> >>   #include <linux/clk-provider.h>
> >> -#include <linux/platform_data/clk-st.h>
> >> +#include <linux/platform_data/clk-fch.h>
> >>   #include <linux/platform_device.h>
> >>   #include <linux/pm_domain.h>
> >>   #include <linux/clkdev.h>
> >> @@ -79,11 +79,11 @@ static int misc_check_res(struct acpi_resource *ares, void *data)
> >>          return !acpi_dev_resource_memory(ares, &res);
> >>   }
> >>
> >> -static int st_misc_setup(struct apd_private_data *pdata)
> >> +static int fch_misc_setup(struct apd_private_data *pdata)
> >>   {
> >>          struct acpi_device *adev = pdata->adev;
> >>          struct platform_device *clkdev;
> >> -       struct st_clk_data *clk_data;
> >> +       struct fch_clk_data *clk_data;
> >>          struct resource_entry *rentry;
> >>          struct list_head resource_list;
> >>          int ret;
> >> @@ -106,7 +106,7 @@ static int st_misc_setup(struct apd_private_data *pdata)
> >>
> >>          acpi_dev_free_resource_list(&resource_list);
> >>
> >> -       clkdev = platform_device_register_data(&adev->dev, "clk-st",
> >> +       clkdev = platform_device_register_data(&adev->dev, "clk-fch",
> >>                                                 PLATFORM_DEVID_NONE, clk_data,
> >>                                                 sizeof(*clk_data));
> >>          return PTR_ERR_OR_ZERO(clkdev);
> >> @@ -135,8 +135,8 @@ static const struct apd_device_desc cz_uart_desc = {
> >>          .properties = uart_properties,
> >>   };
> >>
> >> -static const struct apd_device_desc st_misc_desc = {
> >> -       .setup = st_misc_setup,
> >> +static const struct apd_device_desc fch_misc_desc = {
> >> +       .setup = fch_misc_setup,
> >>   };
> >>   #endif
> >>
> >> @@ -239,7 +239,7 @@ static const struct acpi_device_id acpi_apd_device_ids[] = {
> >>          { "AMD0020", APD_ADDR(cz_uart_desc) },
> >>          { "AMDI0020", APD_ADDR(cz_uart_desc) },
> >>          { "AMD0030", },
> >> -       { "AMD0040", APD_ADDR(st_misc_desc)},
> >> +       { "AMD0040", APD_ADDR(fch_misc_desc)},
> >>   #endif
> >>   #ifdef CONFIG_ARM64
> >>          { "APMC0D0F", APD_ADDR(xgene_i2c_desc) },
> >> diff --git a/include/linux/platform_data/clk-st.h b/include/linux/platform_data/clk-fch.h
> >> similarity index 53%
> >> rename from include/linux/platform_data/clk-st.h
> >> rename to include/linux/platform_data/clk-fch.h
> >> index 7cdb6a402b35..850ca776156d 100644
> >> --- a/include/linux/platform_data/clk-st.h
> >> +++ b/include/linux/platform_data/clk-fch.h
> >> @@ -1,17 +1,17 @@
> >>   /* SPDX-License-Identifier: MIT */
> >>   /*
> >> - * clock framework for AMD Stoney based clock
> >> + * clock framework for AMD misc clocks
> >>    *
> >>    * Copyright 2018 Advanced Micro Devices, Inc.
> >>    */
> >>
> >> -#ifndef __CLK_ST_H
> >> -#define __CLK_ST_H
> >> +#ifndef __CLK_FCH_H
> >> +#define __CLK_FCH_H
> >>
> >>   #include <linux/compiler.h>
> >>
> >> -struct st_clk_data {
> >> +struct fch_clk_data {
> >>          void __iomem *base;
> >>   };
> >>
> >> -#endif /* __CLK_ST_H */
> >> +#endif /* __CLK_FCH_H */
> >> --
> >> 2.20.1
> >>

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

end of thread, other threads:[~2020-07-28 11:17 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20200720050500.23357-1-akshu.agrawal@amd.com>
2020-07-20  5:04 ` [PATCH 1/4] ACPI: APD: Change name from ST to FCH Akshu Agrawal
2020-07-27 13:28   ` Rafael J. Wysocki
2020-07-28  5:50     ` Agrawal, Akshu
2020-07-28 11:17       ` Rafael J. Wysocki
2020-07-20  5:04 ` [PATCH 2/4] clk: x86: " Akshu Agrawal
2020-07-21  8:06   ` Stephen Boyd
2020-07-28  6:35     ` Agrawal, Akshu
2020-07-20  5:04 ` [PATCH 3/4] ACPI: APD: Add a fmw property is_raven Akshu Agrawal
2020-07-20  5:04 ` [v2 4/4] clk: x86: Support RV architecture Akshu Agrawal
2020-07-21  8:05   ` Stephen Boyd
2020-07-28  6:36     ` Agrawal, Akshu

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