2021-08-30 18:27:00

by Marijn Suijten

[permalink] [raw]
Subject: [PATCH v2 2/2] clk: qcom: gcc-sdm660: Remove transient global "xo" clock

The DSI PHY/PLL was relying on a global "xo" clock to be found, but the
real clock is named "xo_board" in the DT. The standard nowadays is to
never use global clock names anymore but require the firmware (DT) to
provide every clock binding explicitly with .fw_name. The DSI PLLs have
since been converted to this mechanism (specifically 14nm for SDM660)
and this transient clock can now be removed.

This issue was originally discovered in:
https://lore.kernel.org/linux-arm-msm/[email protected]/
and prevented the removal of "xo" at that time.

Signed-off-by: Marijn Suijten <[email protected]>
---
drivers/clk/qcom/gcc-sdm660.c | 14 --------------
1 file changed, 14 deletions(-)

diff --git a/drivers/clk/qcom/gcc-sdm660.c b/drivers/clk/qcom/gcc-sdm660.c
index 9b97425008ce..16fd16351f95 100644
--- a/drivers/clk/qcom/gcc-sdm660.c
+++ b/drivers/clk/qcom/gcc-sdm660.c
@@ -37,19 +37,6 @@ enum {
P_GPLL1_EARLY_DIV,
};

-static struct clk_fixed_factor xo = {
- .mult = 1,
- .div = 1,
- .hw.init = &(struct clk_init_data){
- .name = "xo",
- .parent_data = &(const struct clk_parent_data) {
- .fw_name = "xo"
- },
- .num_parents = 1,
- .ops = &clk_fixed_factor_ops,
- },
-};
-
static struct clk_alpha_pll gpll0_early = {
.offset = 0x0,
.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
@@ -2281,7 +2268,6 @@ static struct gdsc pcie_0_gdsc = {
};

static struct clk_hw *gcc_sdm660_hws[] = {
- &xo.hw,
&gpll0_early_div.hw,
&gpll1_early_div.hw,
};
--
2.33.0


2021-09-01 06:22:00

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] clk: qcom: gcc-sdm660: Remove transient global "xo" clock

Quoting Marijn Suijten (2021-08-30 11:24:45)
> The DSI PHY/PLL was relying on a global "xo" clock to be found, but the
> real clock is named "xo_board" in the DT. The standard nowadays is to
> never use global clock names anymore but require the firmware (DT) to
> provide every clock binding explicitly with .fw_name. The DSI PLLs have
> since been converted to this mechanism (specifically 14nm for SDM660)
> and this transient clock can now be removed.
>
> This issue was originally discovered in:
> https://lore.kernel.org/linux-arm-msm/[email protected]/
> and prevented the removal of "xo" at that time.
>
> Signed-off-by: Marijn Suijten <[email protected]>
> ---

Presumably this wants to go with the first one.

Acked-by: Stephen Boyd <[email protected]>

2021-09-01 21:50:30

by Marijn Suijten

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] clk: qcom: gcc-sdm660: Remove transient global "xo" clock

On 2021-08-31 22:35:56, Stephen Boyd wrote:
> Quoting Marijn Suijten (2021-08-30 11:24:45)
> > The DSI PHY/PLL was relying on a global "xo" clock to be found, but the
> > real clock is named "xo_board" in the DT. The standard nowadays is to
> > never use global clock names anymore but require the firmware (DT) to
> > provide every clock binding explicitly with .fw_name. The DSI PLLs have
> > since been converted to this mechanism (specifically 14nm for SDM660)
> > and this transient clock can now be removed.
> >
> > This issue was originally discovered in:
> > https://lore.kernel.org/linux-arm-msm/[email protected]/
> > and prevented the removal of "xo" at that time.
> >
> > Signed-off-by: Marijn Suijten <[email protected]>
> > ---
>
> Presumably this wants to go with the first one.

What are you referring to with "the first one"? This patch can only go
in after patch 1/2 of this series, unless you are suggesting to squash
it with Bjorns cleanup and making sure that lands after the fix in the
DSI?

> Acked-by: Stephen Boyd <[email protected]>

2021-09-02 03:49:28

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] clk: qcom: gcc-sdm660: Remove transient global "xo" clock

Quoting Marijn Suijten (2021-09-01 01:57:15)
> On 2021-08-31 22:35:56, Stephen Boyd wrote:
> > Quoting Marijn Suijten (2021-08-30 11:24:45)
> > > The DSI PHY/PLL was relying on a global "xo" clock to be found, but the
> > > real clock is named "xo_board" in the DT. The standard nowadays is to
> > > never use global clock names anymore but require the firmware (DT) to
> > > provide every clock binding explicitly with .fw_name. The DSI PLLs have
> > > since been converted to this mechanism (specifically 14nm for SDM660)
> > > and this transient clock can now be removed.
> > >
> > > This issue was originally discovered in:
> > > https://lore.kernel.org/linux-arm-msm/[email protected]/
> > > and prevented the removal of "xo" at that time.
> > >
> > > Signed-off-by: Marijn Suijten <[email protected]>
> > > ---
> >
> > Presumably this wants to go with the first one.
>
> What are you referring to with "the first one"? This patch can only go
> in after patch 1/2 of this series, unless you are suggesting to squash
> it with Bjorns cleanup and making sure that lands after the fix in the
> DSI?

The first patch in this series.

Subject: Re: [PATCH v2 2/2] clk: qcom: gcc-sdm660: Remove transient global "xo" clock

Il 30/08/21 20:24, Marijn Suijten ha scritto:
> The DSI PHY/PLL was relying on a global "xo" clock to be found, but the
> real clock is named "xo_board" in the DT. The standard nowadays is to
> never use global clock names anymore but require the firmware (DT) to
> provide every clock binding explicitly with .fw_name. The DSI PLLs have
> since been converted to this mechanism (specifically 14nm for SDM660)
> and this transient clock can now be removed.
>
> This issue was originally discovered in:
> https://lore.kernel.org/linux-arm-msm/[email protected]/
> and prevented the removal of "xo" at that time.
>
> Signed-off-by: Marijn Suijten <[email protected]>

Reviewed-by: AngeloGioacchino Del Regno <[email protected]>

> ---
> drivers/clk/qcom/gcc-sdm660.c | 14 --------------
> 1 file changed, 14 deletions(-)
>
> diff --git a/drivers/clk/qcom/gcc-sdm660.c b/drivers/clk/qcom/gcc-sdm660.c
> index 9b97425008ce..16fd16351f95 100644
> --- a/drivers/clk/qcom/gcc-sdm660.c
> +++ b/drivers/clk/qcom/gcc-sdm660.c
> @@ -37,19 +37,6 @@ enum {
> P_GPLL1_EARLY_DIV,
> };
>
> -static struct clk_fixed_factor xo = {
> - .mult = 1,
> - .div = 1,
> - .hw.init = &(struct clk_init_data){
> - .name = "xo",
> - .parent_data = &(const struct clk_parent_data) {
> - .fw_name = "xo"
> - },
> - .num_parents = 1,
> - .ops = &clk_fixed_factor_ops,
> - },
> -};
> -
> static struct clk_alpha_pll gpll0_early = {
> .offset = 0x0,
> .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
> @@ -2281,7 +2268,6 @@ static struct gdsc pcie_0_gdsc = {
> };
>
> static struct clk_hw *gcc_sdm660_hws[] = {
> - &xo.hw,
> &gpll0_early_div.hw,
> &gpll1_early_div.hw,
> };
>

2021-09-02 19:38:03

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] clk: qcom: gcc-sdm660: Remove transient global "xo" clock

Quoting Marijn Suijten (2021-09-02 06:05:34)
> On 2021-09-01 20:46:34, Stephen Boyd wrote:
> > Quoting Marijn Suijten (2021-09-01 01:57:15)
> > > On 2021-08-31 22:35:56, Stephen Boyd wrote:
> > > > Quoting Marijn Suijten (2021-08-30 11:24:45)
> > > > > The DSI PHY/PLL was relying on a global "xo" clock to be found, but the
> > > > > real clock is named "xo_board" in the DT. The standard nowadays is to
> > > > > never use global clock names anymore but require the firmware (DT) to
> > > > > provide every clock binding explicitly with .fw_name. The DSI PLLs have
> > > > > since been converted to this mechanism (specifically 14nm for SDM660)
> > > > > and this transient clock can now be removed.
> > > > >
> > > > > This issue was originally discovered in:
> > > > > https://lore.kernel.org/linux-arm-msm/[email protected]/
> > > > > and prevented the removal of "xo" at that time.
> > > > >
> > > > > Signed-off-by: Marijn Suijten <[email protected]>
> > > > > ---
> > > >
> > > > Presumably this wants to go with the first one.
> > >
> > > What are you referring to with "the first one"? This patch can only go
> > > in after patch 1/2 of this series, unless you are suggesting to squash
> > > it with Bjorns cleanup and making sure that lands after the fix in the
> > > DSI?
> >
> > The first patch in this series.
>
> Are you suggesting to squash this patch into the first patch in this
> series? Note that the first patch touches drm/msm/dsi, the second
> (this) patch touches clk/qcom.

No.

2021-09-03 00:25:37

by Marijn Suijten

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] clk: qcom: gcc-sdm660: Remove transient global "xo" clock

On 2021-09-01 20:46:34, Stephen Boyd wrote:
> Quoting Marijn Suijten (2021-09-01 01:57:15)
> > On 2021-08-31 22:35:56, Stephen Boyd wrote:
> > > Quoting Marijn Suijten (2021-08-30 11:24:45)
> > > > The DSI PHY/PLL was relying on a global "xo" clock to be found, but the
> > > > real clock is named "xo_board" in the DT. The standard nowadays is to
> > > > never use global clock names anymore but require the firmware (DT) to
> > > > provide every clock binding explicitly with .fw_name. The DSI PLLs have
> > > > since been converted to this mechanism (specifically 14nm for SDM660)
> > > > and this transient clock can now be removed.
> > > >
> > > > This issue was originally discovered in:
> > > > https://lore.kernel.org/linux-arm-msm/[email protected]/
> > > > and prevented the removal of "xo" at that time.
> > > >
> > > > Signed-off-by: Marijn Suijten <[email protected]>
> > > > ---
> > >
> > > Presumably this wants to go with the first one.
> >
> > What are you referring to with "the first one"? This patch can only go
> > in after patch 1/2 of this series, unless you are suggesting to squash
> > it with Bjorns cleanup and making sure that lands after the fix in the
> > DSI?
>
> The first patch in this series.

Are you suggesting to squash this patch into the first patch in this
series? Note that the first patch touches drm/msm/dsi, the second
(this) patch touches clk/qcom.