[prev in list] [next in list] [prev in thread] [next in thread]
List: freebsd-arm
Subject: Re: [PATCH] Experimental vchiq and bcm2835_audio support for arm64
From: Warner Losh <imp () bsdimp ! com>
Date: 2022-02-28 19:42:24
Message-ID: CANCZdfpvUcmOu9KmpdXMOhmqabt1iS9wEKfqg+3JMHQVQNtOXA () mail ! gmail ! com
[Download RAW message or body]
On Mon, Feb 28, 2022, 12:36 PM Marco Devesas Campos <
devesas.campos@gmail.com> wrote:
> Entirely right, Ronald — thanks for catching it!
>
Oops
Warner, can I send you a consolidated patch later in the week? What's the
> best way to submit it?
>
Git format-patch is likely best.
Warner
> Best,
> Marco
>
> On 28 Feb 2022, at 19:26, Ronald Klop <ronald-lists@klop.ws> wrote:
>
> On Sun, 27 Feb 2022 17:41:25 +0100, Warner Losh <imp@bsdimp.com> wrote:
>
>
>
> On Sun, Feb 27, 2022 at 8:44 AM Marco Devesas Campos <
> devesas.campos@gmail.com> wrote:
>
>> Hi, List
>>
>> On the back of Ronald Klop's comments (thanks!), I went and got myself an
>> RPI 4 and it turns out all that was need was adding the right dtb
>> reference and it all works (seemingly) fine (incremental patch attached).
>>
>
> I've committed the patch below. If it turns out we need more, we can
> always augment.
>
>
>
> Hi Marco, Warner,
>
> Isn't the patch from
> https://lists.freebsd.org/archives/freebsd-arm/2022-February/000949.html
> needed also?
> As you mention the patch below is an incremental patch?
>
> Regards,
> Ronald.
>
>
>
>
>
>
>
> Warner
>
>
>> One of the potential projects highlighted in the latest call for proposals
>> was exactly to get hdmi audio output in 64 bit Pis, viz. the 400-s. If
>> anyone who voted for that reads this list, wd be nice to get some input on
>> the patches.
>>
>> Best,
>> Marco
>>
>>
>>
>> diff --git a/sys/contrib/vchiq/interface/vchiq_arm/vchiq_kmod.c
>> b/sys/contrib/vchiq/interface/vchiq_arm/vchiq_kmod.c
>> index dc18678b99a3..344267ff0c1c 100644
>> --- a/sys/contrib/vchiq/interface/vchiq_arm/vchiq_kmod.c
>> +++ b/sys/contrib/vchiq/interface/vchiq_arm/vchiq_kmod.c
>> @@ -83,6 +83,7 @@ static struct bcm_vchiq_softc *bcm_vchiq_sc = NULL;
>> static struct ofw_compat_data compat_data[] = {
>> {"broadcom,bcm2835-vchiq", BSD_DTB},
>> {"brcm,bcm2835-vchiq", UPSTREAM_DTB},
>> + {"brcm,bcm2711-vchiq", UPSTREAM_DTB},
>> {NULL, 0}
>> };
>>
>>
>>
>> > On 8 Feb 2022, at 08:49, Ronald Klop <ronald-lists@klop.ws> wrote:
>> >
>> > Van: Ronald Klop <ronald-lists@klop.ws>
>> > Datum: maandag, 7 februari 2022 21:05
>> > Aan: Marco Devesas Campos <devesas.campos@gmail.com>,
>> freebsd-arm@freebsd.org
>> > Onderwerp: Re: [PATCH] Experimental vchiq and bcm2835_audio support for
>> arm64
>> >
>> > On 2/6/22 14:46, Marco Devesas Campos wrote:
>> > > Hi Ronald,
>> > >
>> > > Thanks so much for trying out the patch out.
>> > >
>> > >> On 6 Feb 2022, at 13:05, Ronald Klop <ronald-lists@klop.ws> wrote:
>> > >>
>> > >> Hi,
>> > >>
>> > >> I compiled this on a RPI4 + 14-CURRENT. It boots, but I see no
>> difference in available devices.
>> > >> I can try to boot it on a RPI3B+ on another time.
>> > >
>> > > I *think* the GPU/VC in RPI-4 is a very different beast from the
>> others. I'll
>> > > look into it, but if you could give it a try on the 3+ I'd be much
>> obliged.
>> > >
>> > >>
>> > >> What would be the expected outcome? Where should I look at (or
>> listen to)?
>> > >>
>> > >
>> > > You should see something like
>> > >
>> > > vchiq0: <BCM2835 VCHIQ> mem 0x7e00b840-0x7e00b87b irq 54 on
>> simplebus0
>> > > vchiq: local ver 8 (min 3), remote ver 8.
>> > > pcm0: <VCHIQ audio> on vchiq0
>> > >
>> > > in your dmesg output.
>> > >
>> > > The file /dev/vchiq should exist, as well as the following sysctl-s
>> (I'm
>> > > assuming no other audio devices are attached)
>> > >
>> > > % sysctl dev.pcm
>> > > dev.pcm.0.trace: 0
>> > > ...
>> > > dev.pcm.0.dest: 0
>> > > ...
>> > > dev.pcm.0.%parent: vchiq0
>> > > ...
>> > > dev.pcm.0.%driver: pcm
>> > > dev.pcm.0.%desc: VCHIQ audio
>> > > …
>> > >
>> > > Then if you `cat < /dev/random > /dev/dsp` you should hear some
>> static coming
>> > > out of whatever is connected to hdmi (maybe headphones too? otherwise
>> try
>> > > setting `sysctl dev.pcm.0.dest=1`)
>> > >
>> > > Best,
>> > > Marco
>> >
>> >
>> > Hi,
>> >
>> > Booted the patched 14-CURRENT on the RPI3B+.
>> >
>> > dmesg diff:
>> > +vchiq0: <BCM2835 VCHIQ> mem 0x7e00b840-0x7e00b87b irq 54 on simplebus0
>> > +vchiq: local ver 8 (min 3), remote ver 8.
>> > +pcm0: <VCHIQ audio> on vchiq0
>> >
>> > [root@rpi3 ~]# cat /dev/sndstat
>> > Installed devices:
>> > pcm0: <VCHIQ audio> (play) default
>> > No devices installed from userspace.
>> >
>> > [root@rpi3 ~]# sysctl dev.pcm
>> > dev.pcm.0.trace: 0
>> > dev.pcm.0.starved: 0
>> > dev.pcm.0.freebuffer: 40000
>> > dev.pcm.0.underruns: 0
>> > dev.pcm.0.retrieved: 0
>> > dev.pcm.0.submitted: 0
>> > dev.pcm.0.callbacks: 0
>> > dev.pcm.0.dest: 0
>> > dev.pcm.0.mode: 3
>> > dev.pcm.0.bitperfect: 0
>> > dev.pcm.0.buffersize: 0
>> > dev.pcm.0.play.vchanformat: s16le:2.0
>> > dev.pcm.0.play.vchanrate: 48000
>> > dev.pcm.0.play.vchanmode: fixed
>> > dev.pcm.0.play.vchans: 1
>> > dev.pcm.0.%parent: vchiq0
>> > dev.pcm.0.%pnpinfo:
>> > dev.pcm.0.%location:
>> > dev.pcm.0.%driver: pcm
>> > dev.pcm.0.%desc: VCHIQ audio
>> > dev.pcm.%parent:
>> >
>> >
>> > To play some audio I need to search some headphones first. :-)
>> >
>> > Ronald.
>> >
>> >
>> >
>> > Good morning,
>> >
>> > Found headphones with a cable on the attic. Plugged it into the audio
>> jack and played an mp3. Amazing!
>> >
>> > Regards,
>> > Ronald.
>> >
>>
>>
>>
>
>
>
>
[Attachment #3 (text/html)]
<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" \
class="gmail_attr">On Mon, Feb 28, 2022, 12:36 PM Marco Devesas Campos <<a \
href="mailto:devesas.campos@gmail.com">devesas.campos@gmail.com</a>> \
wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 \
.8ex;border-left:1px #ccc solid;padding-left:1ex"><div \
style="word-wrap:break-word;line-break:after-white-space"><span \
style="color:rgb(0,0,0);font-family:GillSans-Light;font-size:14px">Entirely right, \
Ronald — thanks for catching it!</span></div></blockquote></div></div><div \
dir="auto"><br></div><div dir="auto">Oops</div><div dir="auto"><br></div><div \
dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 \
0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div \
style="word-wrap:break-word;line-break:after-white-space"><span \
style="color:rgb(0,0,0);font-family:GillSans-Light;font-size:14px">Warner, can I send \
you a consolidated patch later in the week? What's the best way to submit \
it?</span></div></blockquote></div></div><div dir="auto"><br></div><div \
dir="auto">Git format-patch is likely best.</div><div dir="auto"><br></div><div \
dir="auto">Warner </div><div dir="auto"><br></div><div dir="auto"><div \
class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 \
.8ex;border-left:1px #ccc solid;padding-left:1ex"><div \
style="word-wrap:break-word;line-break:after-white-space"><br \
style="color:rgb(0,0,0);font-family:GillSans-Light;font-size:14px"><span \
style="color:rgb(0,0,0);font-family:GillSans-Light;font-size:14px">Best,</span><br \
style="color:rgb(0,0,0);font-family:GillSans-Light;font-size:14px"><span \
style="color:rgb(0,0,0);font-family:GillSans-Light;font-size:14px">Marco</span><br><div><br><blockquote \
type="cite"><div>On 28 Feb 2022, at 19:26, Ronald Klop <<a \
href="mailto:ronald-lists@klop.ws" target="_blank" \
rel="noreferrer">ronald-lists@klop.ws</a>> wrote:</div><br><div>
<div>On Sun, 27 Feb 2022 17:41:25 +0100, Warner Losh <<a \
href="mailto:imp@bsdimp.com" target="_blank" rel="noreferrer">imp@bsdimp.com</a>> \
wrote:<br><br><blockquote style="margin:0 0 0.80ex;border-left:#0000ff 2px \
solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div \
class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Feb 27, 2022 at 8:44 AM \
Marco Devesas Campos <<a href="mailto:devesas.campos@gmail.com" target="_blank" \
rel="noreferrer">devesas.campos@gmail.com</a>> wrote:<br></div><blockquote \
class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid \
rgb(204,204,204);padding-left:1ex">Hi, List<br> <br>
On the back of Ronald Klop's comments (thanks!), I went and got myself an<br>
RPI 4 and it turns out all that was need was adding the right dtb<br>
reference and it all works (seemingly) fine (incremental patch \
attached).<br></blockquote><div><br></div><div>I've committed the patch below. If \
it turns out we need more, we can always \
augment.</div></div></div></blockquote><div><br></div><div><br></div><div>Hi Marco, \
Warner,</div><div><br></div><div>Isn't the patch from <a \
href="https://lists.freebsd.org/archives/freebsd-arm/2022-February/000949.html" \
target="_blank" rel="noreferrer">https://lists.freebsd.org/archives/freebsd-arm/2022-February/000949.html</a> \
needed also?</div><div>As you mention the patch below is an incremental \
patch?</div><div><br></div><div>Regards,</div><div>Ronald.</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><blockquote \
style="margin:0 0 0.80ex;border-left:#0000ff 2px solid;padding-left:1ex"><div \
dir="ltr"><div class="gmail_quote"><div><br></div><div>Warner</div><div> \
</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px \
solid rgb(204,204,204);padding-left:1ex"> One of the potential projects highlighted \
in the latest call for proposals<br> was exactly to get hdmi audio output in 64 bit \
Pis, viz. the 400-s. If<br> anyone who voted for that reads this list, wd be nice to \
get some input on<br> the patches.<br>
<br>
Best,<br>
Marco<br>
<br>
<br>
<br>
diff --git a/sys/contrib/vchiq/interface/vchiq_arm/vchiq_kmod.c \
b/sys/contrib/vchiq/interface/vchiq_arm/vchiq_kmod.c<br> index \
dc18678b99a3..344267ff0c1c 100644<br>
--- a/sys/contrib/vchiq/interface/vchiq_arm/vchiq_kmod.c<br>
+++ b/sys/contrib/vchiq/interface/vchiq_arm/vchiq_kmod.c<br>
@@ -83,6 +83,7 @@ static struct bcm_vchiq_softc *bcm_vchiq_sc = NULL;<br>
static struct ofw_compat_data compat_data[] = {<br>
{"broadcom,bcm2835-vchiq", BSD_DTB},<br>
{"brcm,bcm2835-vchiq", UPSTREAM_DTB},<br>
+ {"brcm,bcm2711-vchiq", UPSTREAM_DTB},<br>
{NULL, 0}<br>
};<br>
<br>
<br>
<br>
> On 8 Feb 2022, at 08:49, Ronald Klop <<a href="mailto:ronald-lists@klop.ws" \
target="_blank" rel="noreferrer">ronald-lists@klop.ws</a>> wrote:<br> > <br>
> Van: Ronald Klop <<a href="mailto:ronald-lists@klop.ws" target="_blank" \
rel="noreferrer">ronald-lists@klop.ws</a>><br> > Datum: maandag, 7 februari \
2022 21:05<br> > Aan: Marco Devesas Campos <<a \
href="mailto:devesas.campos@gmail.com" target="_blank" \
rel="noreferrer">devesas.campos@gmail.com</a>>, <a \
href="mailto:freebsd-arm@freebsd.org" target="_blank" \
rel="noreferrer">freebsd-arm@freebsd.org</a><br> > Onderwerp: Re: [PATCH] \
Experimental vchiq and bcm2835_audio support for arm64<br> > <br>
> On 2/6/22 14:46, Marco Devesas Campos wrote:<br>
> > Hi Ronald,<br>
> ><br>
> > Thanks so much for trying out the patch out.<br>
> ><br>
> >> On 6 Feb 2022, at 13:05, Ronald Klop <<a \
href="mailto:ronald-lists@klop.ws" target="_blank" \
rel="noreferrer">ronald-lists@klop.ws</a>> wrote:<br> > >><br>
> >> Hi,<br>
> >><br>
> >> I compiled this on a RPI4 + 14-CURRENT. It boots, but I see no \
difference in available devices.<br> > >> I can try to boot it on a RPI3B+ \
on another time.<br> > ><br>
> > I *think* the GPU/VC in RPI-4 is a very different beast from the others. \
I'll<br> > > look into it, but if you could give it a try on the 3+ I'd \
be much obliged.<br> > ><br>
> >><br>
> >> What would be the expected outcome? Where should I look at (or listen \
to)?<br> > >><br>
> ><br>
> > You should see something like<br>
> ><br>
> > vchiq0: <BCM2835 VCHIQ> mem 0x7e00b840-0x7e00b87b irq 54 on \
simplebus0<br> > > vchiq: local ver 8 (min 3), remote ver 8.<br>
> > pcm0: <VCHIQ audio> on vchiq0<br>
> ><br>
> > in your dmesg output.<br>
> ><br>
> > The file /dev/vchiq should exist, as well as the following sysctl-s \
(I'm<br> > > assuming no other audio devices are attached)<br>
> ><br>
> > % sysctl dev.pcm<br>
> > dev.pcm.0.trace: 0<br>
> > ...<br>
> > dev.pcm.0.dest: 0<br>
> > ...<br>
> > dev.pcm.0.%parent: vchiq0<br>
> > ...<br>
> > dev.pcm.0.%driver: pcm<br>
> > dev.pcm.0.%desc: VCHIQ audio<br>
> > …<br>
> ><br>
> > Then if you `cat < /dev/random > /dev/dsp` you should hear some \
static coming<br> > > out of whatever is connected to hdmi (maybe headphones \
too? otherwise try<br> > > setting `sysctl dev.pcm.0.dest=1`)<br>
> ><br>
> > Best,<br>
> > Marco<br>
> <br>
> <br>
> Hi,<br>
> <br>
> Booted the patched 14-CURRENT on the RPI3B+.<br>
> <br>
> dmesg diff:<br>
> +vchiq0: <BCM2835 VCHIQ> mem 0x7e00b840-0x7e00b87b irq 54 on \
simplebus0<br> > +vchiq: local ver 8 (min 3), remote ver 8.<br>
> +pcm0: <VCHIQ audio> on vchiq0<br>
> <br>
> [root@rpi3 ~]# cat /dev/sndstat<br>
> Installed devices:<br>
> pcm0: <VCHIQ audio> (play) default<br>
> No devices installed from userspace.<br>
> <br>
> [root@rpi3 ~]# sysctl dev.pcm<br>
> dev.pcm.0.trace: 0<br>
> dev.pcm.0.starved: 0<br>
> dev.pcm.0.freebuffer: 40000<br>
> dev.pcm.0.underruns: 0<br>
> dev.pcm.0.retrieved: 0<br>
> dev.pcm.0.submitted: 0<br>
> dev.pcm.0.callbacks: 0<br>
> dev.pcm.0.dest: 0<br>
> dev.pcm.0.mode: 3<br>
> dev.pcm.0.bitperfect: 0<br>
> dev.pcm.0.buffersize: 0<br>
> dev.pcm.0.play.vchanformat: s16le:2.0<br>
> dev.pcm.0.play.vchanrate: 48000<br>
> dev.pcm.0.play.vchanmode: fixed<br>
> dev.pcm.0.play.vchans: 1<br>
> dev.pcm.0.%parent: vchiq0<br>
> dev.pcm.0.%pnpinfo:<br>
> dev.pcm.0.%location:<br>
> dev.pcm.0.%driver: pcm<br>
> dev.pcm.0.%desc: VCHIQ audio<br>
> dev.pcm.%parent:<br>
> <br>
> <br>
> To play some audio I need to search some headphones first. :-)<br>
> <br>
> Ronald.<br>
> <br>
> <br>
> <br>
> Good morning,<br>
> <br>
> Found headphones with a cable on the attic. Plugged it into the audio jack and \
played an mp3. Amazing!<br> > <br>
> Regards,<br>
> Ronald.<br>
> <br>
<br>
<br>
</blockquote></div></div>
</blockquote><br><br><br></div></div></blockquote></div><br></div></blockquote></div></div></div>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic