mbox series

[GIT,PULL] clk: samsung: drivers for v6.10

Message ID 20240504120624.6574-1-krzysztof.kozlowski@linaro.org
State New
Headers show
Series [GIT,PULL] clk: samsung: drivers for v6.10 | expand

Pull-request

https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git tags/samsung-clk-6.10

Message

Krzysztof Kozlowski May 4, 2024, 12:06 p.m. UTC
The following changes since commit 4cece764965020c22cff7665b18a012006359095:

  Linux 6.9-rc1 (2024-03-24 14:10:05 -0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git tags/samsung-clk-6.10

for you to fetch changes up to 6b32d7474e9b833dc7fadc1b4d4f08af9bd87fde:

  clk: samsung: gs101: mark some apm UASC and XIU clocks critical (2024-05-03 10:34:34 +0200)

----------------------------------------------------------------
Samsung SoC clock drivers changes for 6.10

1. Allow choice of manual or firmware-driven control over PLLs, needed
   to fully implement CPU clock controllers on Exynos850.

2. Correct PLL clock IDs on ExynosAutov9.

3. Google GS101:
   - Propagate certain clock rates to allow setting proper SPI clock
     rates.
   - Add HSI0 and HSI2 clock controllers.
   - Mark certain clocks critical.

4. Convert old S3C64xx clock controller bindings to DT schema.

----------------------------------------------------------------
André Draszik (3):
      dt-bindings: clock: google,gs101-clock: add HSI0 clock management unit
      clk: samsung: gs101: add support for cmu_hsi0
      clk: samsung: gs101: mark some apm UASC and XIU clocks critical

Jaewon Kim (1):
      clk: samsung: exynosautov9: fix wrong pll clock id value

Krzysztof Kozlowski (2):
      dt-bindings: clock: samsung,s3c6400-clock: convert to DT Schema
      Merge branch 'for-v6.10/clk-gs101-bindings' into next/clk

Peter Griffin (2):
      dt-bindings: clock: google,gs101-clock: add HSI2 clock management unit
      clk: samsung: gs101: add support for cmu_hsi2

Sam Protsenko (2):
      clk: samsung: Implement manual PLL control for ARM64 SoCs
      clk: samsung: exynos850: Add CMU_CPUCL0 and CMU_CPUCL1

Tudor Ambarus (2):
      clk: samsung: gs101: propagate PERIC0 USI SPI clock rate
      clk: samsung: gs101: propagate PERIC1 USI SPI clock rate

 .../bindings/clock/google,gs101-clock.yaml         |   55 +-
 .../bindings/clock/samsung,s3c6400-clock.yaml      |   57 +
 .../bindings/clock/samsung,s3c64xx-clock.txt       |   76 --
 drivers/clk/samsung/clk-exynos-arm64.c             |   56 +-
 drivers/clk/samsung/clk-exynos850.c                |  440 ++++++-
 drivers/clk/samsung/clk-exynosautov9.c             |    8 +-
 drivers/clk/samsung/clk-gs101.c                    | 1207 ++++++++++++++++++--
 drivers/clk/samsung/clk.h                          |   15 +-
 include/dt-bindings/clock/google,gs101.h           |  116 ++
 9 files changed, 1822 insertions(+), 208 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/clock/samsung,s3c6400-clock.yaml
 delete mode 100644 Documentation/devicetree/bindings/clock/samsung,s3c64xx-clock.txt

Comments

Stephen Boyd May 6, 2024, 11:44 p.m. UTC | #1
Quoting Krzysztof Kozlowski (2024-05-04 05:06:22)
> The following changes since commit 4cece764965020c22cff7665b18a012006359095:
> 
>   Linux 6.9-rc1 (2024-03-24 14:10:05 -0700)
> 
> are available in the Git repository at:
> 
>   https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git tags/samsung-clk-6.10

I'm getting compile warnings. Is there a pending fix? Also, why is GS101
describing clk parents with strings instead of using clk_parent_data?

In file included from drivers/clk/samsung/clk-gs101.c:16:
drivers/clk/samsung/clk-gs101.c:2616:7: error: ‘mout_hsi2_mmc_card_p’
defined but not used [-Werror=unused-const-variable=]
 2616 | PNAME(mout_hsi2_mmc_card_p)     = { "fout_shared2_pll", "fout_shared3_pll",
      |       ^~~~~~~~~~~~~~~~~~~~
drivers/clk/samsung/clk.h:236:44: note: in definition of macro ‘PNAME’
  236 | #define PNAME(x) static const char * const x[] __initconst
      |                                            ^
drivers/clk/samsung/clk-gs101.c:2609:7: error: ‘mout_hsi2_bus_p’ defined but not used [-Werror=unused-const-variable=]
 2609 | PNAME(mout_hsi2_bus_p)          = { "dout_cmu_shared0_div4",
      |       ^~~~~~~~~~~~~~~
drivers/clk/samsung/clk.h:236:44: note: in definition of macro ‘PNAME’
  236 | #define PNAME(x) static const char * const x[] __initconst
      |                                            ^
drivers/clk/samsung/clk-gs101.c:2607:7: error: ‘mout_hsi2_pcie_p’ defined but not used [-Werror=unused-const-variable=]
 2607 | PNAME(mout_hsi2_pcie_p)         = { "oscclk", "dout_cmu_shared2_div2" };
      |       ^~~~~~~~~~~~~~~~
drivers/clk/samsung/clk.h:236:44: note: in definition of macro ‘PNAME’
  236 | #define PNAME(x) static const char * const x[] __initconst
      |                                            ^
drivers/clk/samsung/clk-gs101.c:2604:7: error: ‘mout_hsi2_ufs_embd_p’ defined but not used [-Werror=unused-const-variable=]
 2604 | PNAME(mout_hsi2_ufs_embd_p)     = { "oscclk", "dout_cmu_shared0_div4",
      |       ^~~~~~~~~~~~~~~~~~~~
drivers/clk/samsung/clk.h:236:44: note: in definition of macro ‘PNAME’
  236 | #define PNAME(x) static const char * const x[] __initconst
Krzysztof Kozlowski May 7, 2024, 5:54 a.m. UTC | #2
On 07/05/2024 01:44, Stephen Boyd wrote:
> Quoting Krzysztof Kozlowski (2024-05-04 05:06:22)
>> The following changes since commit 4cece764965020c22cff7665b18a012006359095:
>>
>>   Linux 6.9-rc1 (2024-03-24 14:10:05 -0700)
>>
>> are available in the Git repository at:
>>
>>   https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git tags/samsung-clk-6.10
> 
> I'm getting compile warnings. Is there a pending fix? Also, why is GS101

I don't see any of these warnings. Neither local (W=1), nor on my CI,
nor reported by LKP (which reported build successes for this branch).
How can I reproduce it?


> describing clk parents with strings instead of using clk_parent_data?

GS101 uses existing Samsuung clock framework, so that's how it is done
there. There is nothing odd here, comparing to other Samsung clocks.

> 
> In file included from drivers/clk/samsung/clk-gs101.c:16:
> drivers/clk/samsung/clk-gs101.c:2616:7: error: ‘mout_hsi2_mmc_card_p’
> defined but not used [-Werror=unused-const-variable=]
>  2616 | PNAME(mout_hsi2_mmc_card_p)     = { "fout_shared2_pll", "fout_shared3_pll",

I see indeed some unused variables and I will drop them but your
warnings are not reproducible.


Best regards,
Krzysztof
Stephen Boyd May 7, 2024, 8:43 p.m. UTC | #3
Quoting Krzysztof Kozlowski (2024-05-06 22:54:10)
> On 07/05/2024 01:44, Stephen Boyd wrote:
> > Quoting Krzysztof Kozlowski (2024-05-04 05:06:22)
> >> The following changes since commit 4cece764965020c22cff7665b18a012006359095:
> >>
> >>   Linux 6.9-rc1 (2024-03-24 14:10:05 -0700)
> >>
> >> are available in the Git repository at:
> >>
> >>   https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git tags/samsung-clk-6.10
> > 
> > I'm getting compile warnings. Is there a pending fix? Also, why is GS101
> 
> I don't see any of these warnings. Neither local (W=1), nor on my CI,
> nor reported by LKP (which reported build successes for this branch).
> How can I reproduce it?

I ran this command

 make W=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- drivers/clk/samsung/clk-gs101.o

and I see the warnings. They're actually upgraded to errors.

> 
> 
> > describing clk parents with strings instead of using clk_parent_data?
> 
> GS101 uses existing Samsuung clock framework, so that's how it is done
> there. There is nothing odd here, comparing to other Samsung clocks.

Ok. Is anyone working on migrating Samsung clk drivers to the non-string
way?

> 
> > 
> > In file included from drivers/clk/samsung/clk-gs101.c:16:
> > drivers/clk/samsung/clk-gs101.c:2616:7: error: ‘mout_hsi2_mmc_card_p’
> > defined but not used [-Werror=unused-const-variable=]
> >  2616 | PNAME(mout_hsi2_mmc_card_p)     = { "fout_shared2_pll", "fout_shared3_pll",
> 
> I see indeed some unused variables and I will drop them but your
> warnings are not reproducible.

Weird! I use gcc-12.2 if that helps. I've been meaning to upgrade but I
also don't see much urgency.

I'll wait for the next PR.
Krzysztof Kozlowski May 8, 2024, 6:24 a.m. UTC | #4
On 07/05/2024 22:43, Stephen Boyd wrote:
> Quoting Krzysztof Kozlowski (2024-05-06 22:54:10)
>> On 07/05/2024 01:44, Stephen Boyd wrote:
>>> Quoting Krzysztof Kozlowski (2024-05-04 05:06:22)
>>>> The following changes since commit 4cece764965020c22cff7665b18a012006359095:
>>>>
>>>>   Linux 6.9-rc1 (2024-03-24 14:10:05 -0700)
>>>>
>>>> are available in the Git repository at:
>>>>
>>>>   https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git tags/samsung-clk-6.10
>>>
>>> I'm getting compile warnings. Is there a pending fix? Also, why is GS101
>>
>> I don't see any of these warnings. Neither local (W=1), nor on my CI,
>> nor reported by LKP (which reported build successes for this branch).
>> How can I reproduce it?
> 
> I ran this command
> 
>  make W=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- drivers/clk/samsung/clk-gs101.o
> 
> and I see the warnings. They're actually upgraded to errors.

So regular W=1 build... weird.

> 
>>
>>
>>> describing clk parents with strings instead of using clk_parent_data?
>>
>> GS101 uses existing Samsuung clock framework, so that's how it is done
>> there. There is nothing odd here, comparing to other Samsung clocks.
> 
> Ok. Is anyone working on migrating Samsung clk drivers to the non-string
> way?

I am not aware of it. There was no serious development for Samsung SoC
in total for years.

> 
>>
>>>
>>> In file included from drivers/clk/samsung/clk-gs101.c:16:
>>> drivers/clk/samsung/clk-gs101.c:2616:7: error: ‘mout_hsi2_mmc_card_p’
>>> defined but not used [-Werror=unused-const-variable=]
>>>  2616 | PNAME(mout_hsi2_mmc_card_p)     = { "fout_shared2_pll", "fout_shared3_pll",
>>
>> I see indeed some unused variables and I will drop them but your
>> warnings are not reproducible.
> 
> Weird! I use gcc-12.2 if that helps. I've been meaning to upgrade but I
> also don't see much urgency.
> 
> I'll wait for the next PR.

Yes, patch is already in linux-next, so I'll wait a bit and send today.

Best regards,
Krzysztof