alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Pierre Ossman <pierre-list@ossman.eu>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org
Subject: Re: radeon multi-channel lpcm
Date: Thu, 6 Sep 2012 09:09:00 +0200	[thread overview]
Message-ID: <20120906090900.63328552@mjolnir.ossman.eu> (raw)
In-Reply-To: <s5hpq5zitd3.wl%tiwai@suse.de>


[-- Attachment #1.1: Type: text/plain, Size: 2354 bytes --]

On Thu, 06 Sep 2012 07:59:52 +0200
Takashi Iwai <tiwai@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
AFAICT)

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.

Rgds
-- 
     -- 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.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 230 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



  reply	other threads:[~2012-09-06  7:09 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-31 20:34 radeon multi-channel lpcm Pierre Ossman
2012-09-05 16:19 ` Pierre Ossman
2012-09-05 16:39   ` Takashi Iwai
2012-09-05 17:22     ` Pierre Ossman
2012-09-06  5:59       ` Takashi Iwai
2012-09-06  7:09         ` Pierre Ossman [this message]
2012-09-06  7:28           ` Takashi Iwai
2012-09-06  7:52             ` Pierre Ossman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120906090900.63328552@mjolnir.ossman.eu \
    --to=pierre-list@ossman.eu \
    --cc=alsa-devel@alsa-project.org \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).