linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] arm64: dts: imx95: remove CLK_GPUAPB
@ 2025-12-31  3:19 Rain Yang
  2025-12-31 14:11 ` Marek Vasut
  0 siblings, 1 reply; 6+ messages in thread
From: Rain Yang @ 2025-12-31  3:19 UTC (permalink / raw)
  To: imx, devicetree, linux-arm-kernel, linux-kernel
  Cc: robh, krzk+dt, conor+dt, shawnguo, s.hauer, kernel, festevam,
	Frank.Li, liviu.dudau, marek.vasut, Rain Yang

From: Rain Yang <jiyu.yang@nxp.com>

Dropping CLK_GPUAPB simplifies OPP handling and avoids unnecessary
complexity.

Fixes: 67934f248e64 ("arm64: dts: imx95: Describe Mali G310 GPU")
Signed-off-by: Rain Yang <jiyu.yang@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx95.dtsi | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi b/arch/arm64/boot/dts/freescale/imx95.dtsi
index 88bde59e61b2..ab446aa6f73c 100644
--- a/arch/arm64/boot/dts/freescale/imx95.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx95.dtsi
@@ -2164,8 +2164,8 @@ netc_emdio: mdio@0,0 {
 		gpu: gpu@4d900000 {
 			compatible = "nxp,imx95-mali", "arm,mali-valhall-csf";
 			reg = <0 0x4d900000 0 0x480000>;
-			clocks = <&scmi_clk IMX95_CLK_GPU_CGC>, <&scmi_clk IMX95_CLK_GPUAPB>;
-			clock-names = "core", "coregroup";
+			clocks = <&scmi_clk IMX95_CLK_GPU_CGC>;
+			clock-names = "core";
 			interrupts = <GIC_SPI 289 IRQ_TYPE_LEVEL_HIGH>,
 				     <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>,
 				     <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
-- 
2.39.5



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

* Re: [PATCH] arm64: dts: imx95: remove CLK_GPUAPB
  2025-12-31  3:19 [PATCH] arm64: dts: imx95: remove CLK_GPUAPB Rain Yang
@ 2025-12-31 14:11 ` Marek Vasut
  2026-01-01  0:37   ` Rain Yang
  0 siblings, 1 reply; 6+ messages in thread
From: Marek Vasut @ 2025-12-31 14:11 UTC (permalink / raw)
  To: Rain Yang, imx, devicetree, linux-arm-kernel, linux-kernel
  Cc: robh, krzk+dt, conor+dt, shawnguo, s.hauer, kernel, festevam,
	Frank.Li, liviu.dudau, Rain Yang

On 12/31/25 4:19 AM, Rain Yang wrote:
> From: Rain Yang <jiyu.yang@nxp.com>
> 
> Dropping CLK_GPUAPB simplifies OPP handling and avoids unnecessary
> complexity.
> 
> Fixes: 67934f248e64 ("arm64: dts: imx95: Describe Mali G310 GPU")
> Signed-off-by: Rain Yang <jiyu.yang@nxp.com>
> ---
>   arch/arm64/boot/dts/freescale/imx95.dtsi | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi b/arch/arm64/boot/dts/freescale/imx95.dtsi
> index 88bde59e61b2..ab446aa6f73c 100644
> --- a/arch/arm64/boot/dts/freescale/imx95.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx95.dtsi
> @@ -2164,8 +2164,8 @@ netc_emdio: mdio@0,0 {
>   		gpu: gpu@4d900000 {
>   			compatible = "nxp,imx95-mali", "arm,mali-valhall-csf";
>   			reg = <0 0x4d900000 0 0x480000>;
> -			clocks = <&scmi_clk IMX95_CLK_GPU_CGC>, <&scmi_clk IMX95_CLK_GPUAPB>;
> -			clock-names = "core", "coregroup";
> +			clocks = <&scmi_clk IMX95_CLK_GPU_CGC>;
> +			clock-names = "core";

I don't think this is correct, SM can disable the GPUAPB clock from the 
SM monitor:

 >$ clock.w gpuapb off

Linux has to make sure the GPUAPB clock are enabled to access the GPU 
register, hence the clock have to be described in DT.


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

* Re: [PATCH] arm64: dts: imx95: remove CLK_GPUAPB
  2025-12-31 14:11 ` Marek Vasut
@ 2026-01-01  0:37   ` Rain Yang
  2026-01-01 16:51     ` Marek Vasut
  0 siblings, 1 reply; 6+ messages in thread
From: Rain Yang @ 2026-01-01  0:37 UTC (permalink / raw)
  To: Marek Vasut
  Cc: jiyu.yang, Frank.Li, conor+dt, devicetree, festevam, imx,
	jiyu.yang, kernel, krzk+dt, linux-arm-kernel, linux-kernel,
	liviu.dudau, marek.vasut, robh, s.hauer, shawnguo

On Wed, Dec 31, 2025 at 03:11:21PM +0100, Marek Vasut wrote:
>On 12/31/25 4:19 AM, Rain Yang wrote:
>> From: Rain Yang <jiyu.yang@nxp.com>
>> 
>> Dropping CLK_GPUAPB simplifies OPP handling and avoids unnecessary
>> complexity.
>> 
>> Fixes: 67934f248e64 ("arm64: dts: imx95: Describe Mali G310 GPU")
>> Signed-off-by: Rain Yang <jiyu.yang@nxp.com>
>> ---
>>   arch/arm64/boot/dts/freescale/imx95.dtsi | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>> 
>> diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi b/arch/arm64/boot/dts/freescale/imx95.dtsi
>> index 88bde59e61b2..ab446aa6f73c 100644
>> --- a/arch/arm64/boot/dts/freescale/imx95.dtsi
>> +++ b/arch/arm64/boot/dts/freescale/imx95.dtsi
>> @@ -2164,8 +2164,8 @@ netc_emdio: mdio@0,0 {
>>   		gpu: gpu@4d900000 {
>>   			compatible = "nxp,imx95-mali", "arm,mali-valhall-csf";
>>   			reg = <0 0x4d900000 0 0x480000>;
>> -			clocks = <&scmi_clk IMX95_CLK_GPU_CGC>, <&scmi_clk IMX95_CLK_GPUAPB>;
>> -			clock-names = "core", "coregroup";
>> +			clocks = <&scmi_clk IMX95_CLK_GPU_CGC>;
>> +			clock-names = "core";
>
>I don't think this is correct, SM can disable the GPUAPB clock from the SM
>monitor:
>
>>$ clock.w gpuapb off
>
>Linux has to make sure the GPUAPB clock are enabled to access the GPU
>register, hence the clock have to be described in DT.
Hi Marek,

CLK_GPU and CLK_GPUAPB can only be controlled internally by the SM, not by Linux.
CLK_GPUAPB always runs at a fixed frequency, does not require dynamic adjustment,
and is practically always on.
Additionally, CLK_GPUAPB's frequency is absent from all OPP entries. Removing it
could simplify OPP handling logic and reduce unnecessary complexity.


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

* Re: [PATCH] arm64: dts: imx95: remove CLK_GPUAPB
  2026-01-01  0:37   ` Rain Yang
@ 2026-01-01 16:51     ` Marek Vasut
  2026-01-02 10:37       ` Rain Yang
  0 siblings, 1 reply; 6+ messages in thread
From: Marek Vasut @ 2026-01-01 16:51 UTC (permalink / raw)
  To: Rain Yang
  Cc: Frank.Li, conor+dt, devicetree, festevam, imx, jiyu.yang, kernel,
	krzk+dt, linux-arm-kernel, linux-kernel, liviu.dudau, robh,
	s.hauer, shawnguo

On 1/1/26 1:37 AM, Rain Yang wrote:
> On Wed, Dec 31, 2025 at 03:11:21PM +0100, Marek Vasut wrote:
>> On 12/31/25 4:19 AM, Rain Yang wrote:
>>> From: Rain Yang <jiyu.yang@nxp.com>
>>>
>>> Dropping CLK_GPUAPB simplifies OPP handling and avoids unnecessary
>>> complexity.
>>>
>>> Fixes: 67934f248e64 ("arm64: dts: imx95: Describe Mali G310 GPU")
>>> Signed-off-by: Rain Yang <jiyu.yang@nxp.com>
>>> ---
>>>    arch/arm64/boot/dts/freescale/imx95.dtsi | 4 ++--
>>>    1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi b/arch/arm64/boot/dts/freescale/imx95.dtsi
>>> index 88bde59e61b2..ab446aa6f73c 100644
>>> --- a/arch/arm64/boot/dts/freescale/imx95.dtsi
>>> +++ b/arch/arm64/boot/dts/freescale/imx95.dtsi
>>> @@ -2164,8 +2164,8 @@ netc_emdio: mdio@0,0 {
>>>    		gpu: gpu@4d900000 {
>>>    			compatible = "nxp,imx95-mali", "arm,mali-valhall-csf";
>>>    			reg = <0 0x4d900000 0 0x480000>;
>>> -			clocks = <&scmi_clk IMX95_CLK_GPU_CGC>, <&scmi_clk IMX95_CLK_GPUAPB>;
>>> -			clock-names = "core", "coregroup";
>>> +			clocks = <&scmi_clk IMX95_CLK_GPU_CGC>;
>>> +			clock-names = "core";
>>
>> I don't think this is correct, SM can disable the GPUAPB clock from the SM
>> monitor:
>>
>>> $ clock.w gpuapb off
>>
>> Linux has to make sure the GPUAPB clock are enabled to access the GPU
>> register, hence the clock have to be described in DT.
> Hi Marek,

Hello Jiyu,

> CLK_GPU and CLK_GPUAPB can only be controlled internally by the SM, not by Linux.
> CLK_GPUAPB always runs at a fixed frequency, does not require dynamic adjustment,
> and is practically always on.
> Additionally, CLK_GPUAPB's frequency is absent from all OPP entries. Removing it
> could simplify OPP handling logic and reduce unnecessary complexity.

But the SM can turn the GPUAPB clock off, correct ?

Linux has to be able to turn GPUAPB clock on, therefore the GPUAPB clock 
have to be described in DT, correct ?


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

* Re: [PATCH] arm64: dts: imx95: remove CLK_GPUAPB
  2026-01-01 16:51     ` Marek Vasut
@ 2026-01-02 10:37       ` Rain Yang
  2026-01-02 13:53         ` Marek Vasut
  0 siblings, 1 reply; 6+ messages in thread
From: Rain Yang @ 2026-01-02 10:37 UTC (permalink / raw)
  To: Marek Vasut
  Cc: Frank.Li, conor+dt, devicetree, festevam, imx, jiyu.yang, kernel,
	krzk+dt, linux-arm-kernel, linux-kernel, liviu.dudau, marek.vasut,
	robh, s.hauer, shawnguo

On Thu, Jan 01, 2026 at 05:51:12PM +0100, Marek Vasut wrote:
>On 1/1/26 1:37 AM, Rain Yang wrote:
>> On Wed, Dec 31, 2025 at 03:11:21PM +0100, Marek Vasut wrote:
>> > On 12/31/25 4:19 AM, Rain Yang wrote:
>> > > From: Rain Yang <jiyu.yang@nxp.com>
>> > > 
>> > > Dropping CLK_GPUAPB simplifies OPP handling and avoids unnecessary
>> > > complexity.
>> > > 
>> > > Fixes: 67934f248e64 ("arm64: dts: imx95: Describe Mali G310 GPU")
>> > > Signed-off-by: Rain Yang <jiyu.yang@nxp.com>
>> > > ---
>> > >    arch/arm64/boot/dts/freescale/imx95.dtsi | 4 ++--
>> > >    1 file changed, 2 insertions(+), 2 deletions(-)
>> > > 
>> > > diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi b/arch/arm64/boot/dts/freescale/imx95.dtsi
>> > > index 88bde59e61b2..ab446aa6f73c 100644
>> > > --- a/arch/arm64/boot/dts/freescale/imx95.dtsi
>> > > +++ b/arch/arm64/boot/dts/freescale/imx95.dtsi
>> > > @@ -2164,8 +2164,8 @@ netc_emdio: mdio@0,0 {
>> > >    		gpu: gpu@4d900000 {
>> > >    			compatible = "nxp,imx95-mali", "arm,mali-valhall-csf";
>> > >    			reg = <0 0x4d900000 0 0x480000>;
>> > > -			clocks = <&scmi_clk IMX95_CLK_GPU_CGC>, <&scmi_clk IMX95_CLK_GPUAPB>;
>> > > -			clock-names = "core", "coregroup";
>> > > +			clocks = <&scmi_clk IMX95_CLK_GPU_CGC>;
>> > > +			clock-names = "core";
>> > 
>> > I don't think this is correct, SM can disable the GPUAPB clock from the SM
>> > monitor:
>> > 
>> > > $ clock.w gpuapb off
>> > 
>> > Linux has to make sure the GPUAPB clock are enabled to access the GPU
>> > register, hence the clock have to be described in DT.
>> Hi Marek,
>
>Hello Jiyu,
>
>> CLK_GPU and CLK_GPUAPB can only be controlled internally by the SM, not by Linux.
>> CLK_GPUAPB always runs at a fixed frequency, does not require dynamic adjustment,
>> and is practically always on.
>> Additionally, CLK_GPUAPB's frequency is absent from all OPP entries. Removing it
>> could simplify OPP handling logic and reduce unnecessary complexity.
>
>But the SM can turn the GPUAPB clock off, correct ?
>
>Linux has to be able to turn GPUAPB clock on, therefore the GPUAPB clock have
>to be described in DT, correct ?

Yes, CLK_GPUAPB can be turned off by the SM, but by default it remains on, just like
CLK_GPU. AFAIK, there is no scenario where either of these clocks could or would be
disabled in both SM and Linux.

If enabling or disabling CLK_GPUAPB in Linux was wanted, the same shall apply to CLK_GPU
to make this approach reasonable.
Also, OPP framework shall be adjusted to meet these changes too.


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

* Re: [PATCH] arm64: dts: imx95: remove CLK_GPUAPB
  2026-01-02 10:37       ` Rain Yang
@ 2026-01-02 13:53         ` Marek Vasut
  0 siblings, 0 replies; 6+ messages in thread
From: Marek Vasut @ 2026-01-02 13:53 UTC (permalink / raw)
  To: Rain Yang
  Cc: Frank.Li, conor+dt, devicetree, festevam, imx, jiyu.yang, kernel,
	krzk+dt, linux-arm-kernel, linux-kernel, liviu.dudau, robh,
	s.hauer, shawnguo

On 1/2/26 11:37 AM, Rain Yang wrote:
> On Thu, Jan 01, 2026 at 05:51:12PM +0100, Marek Vasut wrote:
>> On 1/1/26 1:37 AM, Rain Yang wrote:
>>> On Wed, Dec 31, 2025 at 03:11:21PM +0100, Marek Vasut wrote:
>>>> On 12/31/25 4:19 AM, Rain Yang wrote:
>>>>> From: Rain Yang <jiyu.yang@nxp.com>
>>>>>
>>>>> Dropping CLK_GPUAPB simplifies OPP handling and avoids unnecessary
>>>>> complexity.
>>>>>
>>>>> Fixes: 67934f248e64 ("arm64: dts: imx95: Describe Mali G310 GPU")
>>>>> Signed-off-by: Rain Yang <jiyu.yang@nxp.com>
>>>>> ---
>>>>>     arch/arm64/boot/dts/freescale/imx95.dtsi | 4 ++--
>>>>>     1 file changed, 2 insertions(+), 2 deletions(-)
>>>>>
>>>>> diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi b/arch/arm64/boot/dts/freescale/imx95.dtsi
>>>>> index 88bde59e61b2..ab446aa6f73c 100644
>>>>> --- a/arch/arm64/boot/dts/freescale/imx95.dtsi
>>>>> +++ b/arch/arm64/boot/dts/freescale/imx95.dtsi
>>>>> @@ -2164,8 +2164,8 @@ netc_emdio: mdio@0,0 {
>>>>>     		gpu: gpu@4d900000 {
>>>>>     			compatible = "nxp,imx95-mali", "arm,mali-valhall-csf";
>>>>>     			reg = <0 0x4d900000 0 0x480000>;
>>>>> -			clocks = <&scmi_clk IMX95_CLK_GPU_CGC>, <&scmi_clk IMX95_CLK_GPUAPB>;
>>>>> -			clock-names = "core", "coregroup";
>>>>> +			clocks = <&scmi_clk IMX95_CLK_GPU_CGC>;
>>>>> +			clock-names = "core";
>>>>
>>>> I don't think this is correct, SM can disable the GPUAPB clock from the SM
>>>> monitor:
>>>>
>>>>> $ clock.w gpuapb off
>>>>
>>>> Linux has to make sure the GPUAPB clock are enabled to access the GPU
>>>> register, hence the clock have to be described in DT.
>>> Hi Marek,
>>
>> Hello Jiyu,
>>
>>> CLK_GPU and CLK_GPUAPB can only be controlled internally by the SM, not by Linux.
>>> CLK_GPUAPB always runs at a fixed frequency, does not require dynamic adjustment,
>>> and is practically always on.
>>> Additionally, CLK_GPUAPB's frequency is absent from all OPP entries. Removing it
>>> could simplify OPP handling logic and reduce unnecessary complexity.
>>
>> But the SM can turn the GPUAPB clock off, correct ?
>>
>> Linux has to be able to turn GPUAPB clock on, therefore the GPUAPB clock have
>> to be described in DT, correct ?
> 
> Yes, CLK_GPUAPB can be turned off by the SM, but by default it remains on, just like
> CLK_GPU. AFAIK, there is no scenario where either of these clocks could or would be
> disabled in both SM and Linux.
> 
> If enabling or disabling CLK_GPUAPB in Linux was wanted, the same shall apply to CLK_GPU
> to make this approach reasonable.
> Also, OPP framework shall be adjusted to meet these changes too.

You can not depend on the state in which bootloader or any other prior 
stage left the platform. If the clock can be turned off, you must make 
sure they are turned on for correct hardware operation.

CLK_GPU is enabled as parent clock of CLK_GPUCGC already.

I don't understand your concerns about the OPP framework, this keeps 
coming up in the discussion one way or the other, but it is not clear to 
me what this is about. Can you elaborate on the OPP framework concern ?


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

end of thread, other threads:[~2026-01-02 13:53 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-31  3:19 [PATCH] arm64: dts: imx95: remove CLK_GPUAPB Rain Yang
2025-12-31 14:11 ` Marek Vasut
2026-01-01  0:37   ` Rain Yang
2026-01-01 16:51     ` Marek Vasut
2026-01-02 10:37       ` Rain Yang
2026-01-02 13:53         ` Marek Vasut

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