Re: [PATCH] platform/raspberrypi: vchiq: register bus at subsys_initcall
From: Gaston Gonzalez
Date: Sun Oct 18 2026 - 15:53:13 EST
On Fri Oct 16, 2026 at 6:00 AM -03, Martin Wetterwald wrote:
> On Thu, Oct 15, 2026 at 11:25 PM Gaston Gonzalez <gascoar@xxxxxxxxx> wrote:
>> Hi,
>>
>> For Raspberry Pi Zero v1.3:
>>
>> Tested-by: Gaston Gonzalez <gascoar@xxxxxxxxx>
>>
>> Test setup:
>>
>> - Branch: patch manually applied in staging-next over commit ec1ecf4f23c5
>> - Setup: RPi Zero v1.3 connected to a HDMI monitor
>> - OS: standard raspbian with the desktop environment enabled
>> - Driver built both as a module and built-in.
>> - The following command was run to test the sound: 'speaker-test -t wav -c 2'
>> - Result: Both HDMI audio channels worked correctly
>
> Hello Gaston,
> Thanks very much for your test!
> It's great to have variety in tests because I don't have the Pi Zero, and I
> didn't test it through HDMI, I tested through the Headphones jack (which
> doesn't exist on the Pi Zero).
>
> Did you also also reproduce the bug without adding my patch?
> If the bug is present, cat /proc/asound/cards should reveal bcm2835_hdmi and
> bcm2835_headphones are both not present. And you should see this in the dmesg:
>> Driver 'bcm2835-audio' was unable to register with bus_type 'vchiq-bus' because the bus was not initialized.
>
> Regarding your test: there are two ways for the sound to go through the HDMI
> port:
> - One is through the bcm2835-audio driver (using VCHIQ)
> - The other way is through the vc4-hdmi (bypassing VCHIQ)
>
> # cat /proc/asound/cards
> 0 [vc4hdmi ]: vc4-hdmi - vc4-hdmi
> vc4-hdmi
> 1 [HDMI ]: bcm2835_hdmi - bcm2835 HDMI
> bcm2835 HDMI
> 2 [Headphones ]: bcm2835_headpho - bcm2835 Headphones
> bcm2835 Headphones
>
Hi Martin,
cat /proc/asound/cards shows only 'vc4-hdmi'.
After adding the kernel command line you pointed out, the bcm2835_hdmi
interface now appears.
The default interface seems to be vc4-hdmi. I could switch to bcm2835 in
alsamixer, and repeating the test in that conditions works. However,
speaker-test seems to take the vc4-hdmi interface nevertheless.
Running 'speaker-test -t wav -D plughw:1,0 -c 2' crash the system, so
thinks seem not to be working with that interface.
Im trying to debug what happens in that condition; I will need a couple
of days I guess. So far, this is what I could check.
Any feedback on the test or debugging would be appreciated.
Regards,
Gaston
> Can you make sure that your HDMI sound is really using bcm2835_hdmi ?
> If your sound happens to actually go through vc4-hdmi, then you are not testing
> my patch. If you can't see the bcm2835_hdmi, you just need to add:
>
> snd_bcm2835.enable_hdmi=1
>
> to your kernel command line if the driver is built in, or to the modprobe
> command as module parameter.
>
>> I’d be happy to run any additional tests if needed.
>
> It would be interesting to test other "clients" of the VCHIQ bus (because I
> only tested bcm2835-audio).
> But I've just noticed that bcm2835-camera doesn't exist anymore (it was using
> VCHIQ via VCHIQ_MMAL).
> If I understand correctly, if VCHIQ_MMAL is still there, it's because the
> bcm2835-isp and bcm2835-codec drivers will be upstreamed in the future, but
> there is not current "client" in the kernel as far as I understand.
>
> The only remaining thing I can think of is /dev/vchiq (CONFIG_VCHIQ_CDEV).
>
> Thanks again for the tests!
> Martin