diff mbox series

[v2] Revert v6.2-rc1 and later "ARM: dts: bcm2835-rpi: Use firmware clocks for display"

Message ID cb9e10dfb4f50207e33ddac16794ee6b806744da.1737217627.git.hns@goldelico.com (mailing list archive)
State New
Headers show
Series [v2] Revert v6.2-rc1 and later "ARM: dts: bcm2835-rpi: Use firmware clocks for display" | expand

Commit Message

H. Nikolaus Schaller Jan. 18, 2025, 4:27 p.m. UTC
This reverts commit 27ab05e1b7e5c5ec9b4f658e1b2464c0908298a6.

I tried to upgrade a RasPi 3B+ with Waveshare 7inch HDMI LCD
from 6.1.y to 6.6.y but found that the display is broken with
this log message:

[   17.776315] vc4-drm soc:gpu: bound 3f400000.hvs (ops vc4_drm_unregister [vc4])
[   17.784034] platform 3f806000.vec: deferred probe pending

Some tests revealed that while 6.1.y works, 6.2-rc1 is already broken but all
newer kernels as well. And a bisect did lead me to this patch.

I could repair several versions up to 6.13-rc7 by doing
this revert. Newer kernels have just to take care of

commit f702475b839c ("ARM: dts: bcm2835-rpi: Move duplicate firmware-clocks to bcm2835-rpi.dtsi")

but that is straightforward.

Fixes: 27ab05e1b7e5 ("ARM: dts: bcm2835-rpi: Use firmware clocks for display")
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 arch/arm/boot/dts/bcm2835-rpi-common.dtsi | 17 -----------------
 1 file changed, 17 deletions(-)

Comments

Stefan Wahren Jan. 19, 2025, 12:36 a.m. UTC | #1
Hi,

Am 18.01.25 um 17:27 schrieb H. Nikolaus Schaller:
> This reverts commit 27ab05e1b7e5c5ec9b4f658e1b2464c0908298a6.
>
> I tried to upgrade a RasPi 3B+ with Waveshare 7inch HDMI LCD
> from 6.1.y to 6.6.y but found that the display is broken with
> this log message:
>
> [   17.776315] vc4-drm soc:gpu: bound 3f400000.hvs (ops vc4_drm_unregister [vc4])
> [   17.784034] platform 3f806000.vec: deferred probe pending
>
> Some tests revealed that while 6.1.y works, 6.2-rc1 is already broken but all
> newer kernels as well. And a bisect did lead me to this patch.
I successfully tested every Kernel release until Linux 6.13-rc with the
Raspberry Pi 3B+, so i prefer to step back and analyze this issue further.

What kernel config do you use ?
What is the value of CONFIG_CLK_RASPBERRYPI ?

Best regards
Greg KH Jan. 19, 2025, 6:35 a.m. UTC | #2
On Sat, Jan 18, 2025 at 05:27:07PM +0100, H. Nikolaus Schaller wrote:
> This reverts commit 27ab05e1b7e5c5ec9b4f658e1b2464c0908298a6.
> 
> I tried to upgrade a RasPi 3B+ with Waveshare 7inch HDMI LCD
> from 6.1.y to 6.6.y but found that the display is broken with
> this log message:
> 
> [   17.776315] vc4-drm soc:gpu: bound 3f400000.hvs (ops vc4_drm_unregister [vc4])
> [   17.784034] platform 3f806000.vec: deferred probe pending
> 
> Some tests revealed that while 6.1.y works, 6.2-rc1 is already broken but all
> newer kernels as well. And a bisect did lead me to this patch.
> 
> I could repair several versions up to 6.13-rc7 by doing
> this revert. Newer kernels have just to take care of
> 
> commit f702475b839c ("ARM: dts: bcm2835-rpi: Move duplicate firmware-clocks to bcm2835-rpi.dtsi")
> 
> but that is straightforward.
> 
> Fixes: 27ab05e1b7e5 ("ARM: dts: bcm2835-rpi: Use firmware clocks for display")
> Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
> ---
>  arch/arm/boot/dts/bcm2835-rpi-common.dtsi | 17 -----------------
>  1 file changed, 17 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/bcm2835-rpi-common.dtsi b/arch/arm/boot/dts/bcm2835-rpi-common.dtsi
> index 4e7b4a592da7c..8a55b6cded592 100644
> --- a/arch/arm/boot/dts/bcm2835-rpi-common.dtsi
> +++ b/arch/arm/boot/dts/bcm2835-rpi-common.dtsi
> @@ -7,23 +7,6 @@
>  
>  #include <dt-bindings/power/raspberrypi-power.h>
>  
> -&firmware {
> -	firmware_clocks: clocks {
> -		compatible = "raspberrypi,firmware-clocks";
> -		#clock-cells = <1>;
> -	};
> -};
> -
> -&hdmi {
> -	clocks = <&firmware_clocks 9>,
> -		 <&firmware_clocks 13>;
> -	clock-names = "pixel", "hdmi";
> -};
> -
>  &v3d {
>  	power-domains = <&power RPI_POWER_DOMAIN_V3D>;
>  };
> -
> -&vec {
> -	clocks = <&firmware_clocks 15>;
> -};
> -- 
> 2.47.0
> 
> 

Hi,

This is the friendly patch-bot of Greg Kroah-Hartman.  You have sent him
a patch that has triggered this response.  He used to manually respond
to these common problems, but in order to save his sanity (he kept
writing the same thing over and over, yet to different people), I was
created.  Hopefully you will not take offence and will fix the problem
in your patch and resubmit it so that it can be accepted into the Linux
kernel tree.

You are receiving this message because of the following common error(s)
as indicated below:

- You have marked a patch with a "Fixes:" tag for a commit that is in an
  older released kernel, yet you do not have a cc: stable line in the
  signed-off-by area at all, which means that the patch will not be
  applied to any older kernel releases.  To properly fix this, please
  follow the documented rules in the
  Documentation/process/stable-kernel-rules.rst file for how to resolve
  this.

If you wish to discuss this problem further, or you have questions about
how to resolve this issue, please feel free to respond to this email and
Greg will reply once he has dug out from the pending patches received
from other developers.

thanks,

greg k-h's patch email bot
H. Nikolaus Schaller Jan. 19, 2025, 3:04 p.m. UTC | #3
Hi Stefan,

> Am 19.01.2025 um 01:36 schrieb Stefan Wahren <wahrenst@gmx.net>:
> 
> Hi,
> 
> Am 18.01.25 um 17:27 schrieb H. Nikolaus Schaller:
>> This reverts commit 27ab05e1b7e5c5ec9b4f658e1b2464c0908298a6.
>> 
>> I tried to upgrade a RasPi 3B+ with Waveshare 7inch HDMI LCD
>> from 6.1.y to 6.6.y but found that the display is broken with
>> this log message:
>> 
>> [   17.776315] vc4-drm soc:gpu: bound 3f400000.hvs (ops vc4_drm_unregister [vc4])
>> [   17.784034] platform 3f806000.vec: deferred probe pending
>> 
>> Some tests revealed that while 6.1.y works, 6.2-rc1 is already broken but all
>> newer kernels as well. And a bisect did lead me to this patch.
> I successfully tested every Kernel release until Linux 6.13-rc with the
> Raspberry Pi 3B+, so i prefer to step back and analyze this issue further.

Yes, I would be happy with any solution.

> What kernel config do you use ?

a private one which enables application specific drivers.

> What is the value of CONFIG_CLK_RASPBERRYPI ?

CONFIG_CLK_RASPBERRYPI is not set

I checked where this is defined and it is in bcm2835_defconfig and
multi_v7_defconfig by

4c6f5d4038af2c ("ARM: defconfig: enable cpufreq driver for RPi")

which hides this requirement quite well and got therefore unnoticed...

Setting CONFIG_CLK_RASPBERRYPI=y makes HDMI work without my proposed revert.
Tested with v6.2.16, v6.6.72, v6.12.10 and v6.13-rc7.

BR and thanks,
Nikolaus
Florian Fainelli Jan. 20, 2025, 4:34 p.m. UTC | #4
On 1/19/2025 7:04 AM, 'H. Nikolaus Schaller' via 
BCM-KERNEL-FEEDBACK-LIST,PDL wrote:
> Hi Stefan,
> 
>> Am 19.01.2025 um 01:36 schrieb Stefan Wahren <wahrenst@gmx.net>:
>>
>> Hi,
>>
>> Am 18.01.25 um 17:27 schrieb H. Nikolaus Schaller:
>>> This reverts commit 27ab05e1b7e5c5ec9b4f658e1b2464c0908298a6.
>>>
>>> I tried to upgrade a RasPi 3B+ with Waveshare 7inch HDMI LCD
>>> from 6.1.y to 6.6.y but found that the display is broken with
>>> this log message:
>>>
>>> [   17.776315] vc4-drm soc:gpu: bound 3f400000.hvs (ops vc4_drm_unregister [vc4])
>>> [   17.784034] platform 3f806000.vec: deferred probe pending
>>>
>>> Some tests revealed that while 6.1.y works, 6.2-rc1 is already broken but all
>>> newer kernels as well. And a bisect did lead me to this patch.
>> I successfully tested every Kernel release until Linux 6.13-rc with the
>> Raspberry Pi 3B+, so i prefer to step back and analyze this issue further.
> 
> Yes, I would be happy with any solution.
> 
>> What kernel config do you use ?
> 
> a private one which enables application specific drivers.
> 
>> What is the value of CONFIG_CLK_RASPBERRYPI ?
> 
> CONFIG_CLK_RASPBERRYPI is not set
> 
> I checked where this is defined and it is in bcm2835_defconfig and
> multi_v7_defconfig by
> 
> 4c6f5d4038af2c ("ARM: defconfig: enable cpufreq driver for RPi")
> 
> which hides this requirement quite well and got therefore unnoticed...
> 
> Setting CONFIG_CLK_RASPBERRYPI=y makes HDMI work without my proposed revert.
> Tested with v6.2.16, v6.6.72, v6.12.10 and v6.13-rc7.

I have been burned before by something similar and came up with this 
patch series that I should resubmit after addressing Conor's comment:

https://lore.kernel.org/all/20240513235234.1474619-1-florian.fainelli@broadcom.com/

Essentially, it removes the guess work, all you have to do is enable 
CONFIG_ARCH_BCM2835 and it just works, which is how it should be IMHO.
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/bcm2835-rpi-common.dtsi b/arch/arm/boot/dts/bcm2835-rpi-common.dtsi
index 4e7b4a592da7c..8a55b6cded592 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-common.dtsi
+++ b/arch/arm/boot/dts/bcm2835-rpi-common.dtsi
@@ -7,23 +7,6 @@ 
 
 #include <dt-bindings/power/raspberrypi-power.h>
 
-&firmware {
-	firmware_clocks: clocks {
-		compatible = "raspberrypi,firmware-clocks";
-		#clock-cells = <1>;
-	};
-};
-
-&hdmi {
-	clocks = <&firmware_clocks 9>,
-		 <&firmware_clocks 13>;
-	clock-names = "pixel", "hdmi";
-};
-
 &v3d {
 	power-domains = <&power RPI_POWER_DOMAIN_V3D>;
 };
-
-&vec {
-	clocks = <&firmware_clocks 15>;
-};