[alsa-devel] radeon multi-channel lpcm

Pierre Ossman pierre-list at ossman.eu
Thu Sep 6 09:09:00 CEST 2012

On Thu, 06 Sep 2012 07:59:52 +0200
Takashi Iwai <tiwai at suse.de> wrote:

> At Wed, 5 Sep 2012 19:22:39 +0200,
> Pierre Ossman wrote:
> > 
> > Some follow up questions, to confirm I haven't confused things:
> > 
> >  - The ELD really needs to go into the hardware, not just end up in the
> >    hands of the audio driver? IOW, we cannot override this?
> Usually ELD won't go to the hardware as is but translated in a
> different way in the graphics side.
> >  - The HDA interface only defines reading the ELD, so writing it would
> >    have to be done by the graphics driver using some GPU interface?
> Yes.
> > If so, I need to poke the AMD guys as I couldn't find any information
> > in the public documentation about writing the ELD.
> It's not about "writing" ELD.  If you got no valid ELD, it is the
> graphics driver who didn't send it.  The graphics hardware certainly
> sends some audio information, and the graphics driver translates into
> an ELD and notifies to the audio codec.  This part is missing or
> wrongly done, supposedly.

I've studied the Intel driver to get some feel for it, and it seems to
work like this:

 1) The graphics driver gets the EDID data from the GPU.

 2) The kernel constructs the ELD structure from the EDID.

 3) The graphics driver writes the ELD to some GPU registers.

 4) The audio driver reads the ELD via the HDA interface.

But if you're saying that the hardware doesn't really need the ELD,
then steps 3-4 could be replaced by a pure software channel. This would
be convenient as it is currently unknown how to do 3) on radeon.

(2 is currently missing in the radeon driver, but it is trivial to add

I am a bit confused though. If the hardware doesn't actually look at
the ELD, why are the widgets caps not indicating support for 8
channels? Isn't that coming straight from the hardware?

And static_hdmi_pcm is described as "Don't restrict PCM parameters per
ELD info", which doesn't seem to be the case as I cannot get more than
2 channels no matter the setting of that parameter.

     -- Pierre Ossman

  WARNING: This correspondence is being monitored by FRA, a
  Swedish intelligence agency. Make sure your server uses
  encryption for SMTP traffic and consider using PGP for
  end-to-end encryption.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 230 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20120906/66503279/attachment.sig>

More information about the Alsa-devel mailing list