Linking ALSA playback devices and DRM connectors

Daniel Vetter daniel at ffwll.ch
Tue Jun 4 15:24:35 UTC 2019


On Tue, Jun 4, 2019 at 5:15 PM Christian König
<ckoenig.leichtzumerken at gmail.com> wrote:
>
> Am 04.06.19 um 17:05 schrieb Ser, Simon:
> > Hi,
> >
> > I'm trying to link ALSA playback devices and DRM connectors. In other
> > words, I'd like to be able to know which ALSA device I should open to
> > play audio on a given connector.
> >
> > Unfortunately, I haven't found a way to extract this information. I
> > know /proc/asound/cardN/eld* expose the EDID-like data. However by
> > looking at the ALSA API (also: aplay -l and -L) I can't find a way to
> > figure out which PCM device maps to the ELD.
> >
> > Am I missing something?
>
> Is that actually fixed on all hardware? Or do we maybe have some
> hardware with only one audio codec and multiple connectors?
>
> >
> > If not, what would be the best way to expose this?
> >
> > - A symlink to the ALSA audio PCM device in
> >    /sys/class/drm/cardN-CONNECTOR?
> > - A symlink to the DRM connector in /sys/class/sound/pcm*?
>
> If it's fixed than those two options sound sane to me.
>
> > - A DRM connector property?
>
> If it's configurable than that sounds like a good option to me.
>
> Anyway added our DC team, stuff like that is their construction site.
>
> Regards,
> Christian.
>
> > - Somehow expose the connector name via the ALSA API?
> > - Expose the connector EDID via ALSA?
> > - Other ideas?

I think on our MST hw you get a combination of CRTCs x CONNECTORs on
the alsa side. I.e. for every pair of connector and crtc you get a
separate alsa pin. This is because with mst, you could have up to
num_crtcs streams on a single connector. Not sure how to model that.

Bigger question: How do you want to make the cooperation happen?
There's been some ideas floating about making the hdmi connection
between drm and alsa somehow represented in the code, but nothing ever
really happened. there's drm_audio_component.h, but that's just the
interface, it doesn't really solve how to make the connection. Also
only used by i915/hda.
-Daniel



> > Thanks!
> >
> > Simon Ser
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel



-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the dri-devel mailing list