[alsa-devel] [PATCH v3 14/15] ASoC: hdac_hdmi: Add jack reporting for user space

Takashi Iwai tiwai at suse.de
Tue Dec 8 07:38:46 CET 2015


On Tue, 08 Dec 2015 07:31:36 +0100,
Vinod Koul wrote:
> 
> On Mon, Dec 07, 2015 at 05:18:06PM +0100, Takashi Iwai wrote:
> > On Mon, 07 Dec 2015 22:24:28 +0100,
> > > +		sprintf(jack_name, "HDMI/DP, Pin=%d Jack", pin->nid);
> > 
> > Such a name makes sense only to be compatible for PA, and then this
> > string isn't compatible.  Note that it's not about pin but for PCM
> > stream.  You may wonder why it matters -- see the whole discussion on
> > MST support.
> 
> So in our case we have added only one PCM Backend in DSP. In codec we have
> one DAI supported, thus creating a DAIlink
> 
> The Codec DAI is mapped to a stream which we fix to a CVT. Future we
> will add two more streams which are mapped to other two CVTs.
> 
> We use MUX controls to allow user to specfiy how CVT and PINs are connected
> togther, this way we can route stream to any pin.
> 
> Extending this concept, behind a pin for MST there may be different 'ports',
> right? Shouldn't that be another mux configuration :) So we can treat three
> streams coming to codec to be routed to any pin and then any port. Since we
> have only 3 CVTs we will have only 3 streams...

You can't do that easily.  Remember that you may connect up to 64
different devices at the same time per pin, and this can switch on the
fly.  How would you implement a MUX?

Though, the max number of converters is limited, thus what you can
actually use is defined by this constraint.  Due to this, we'll likely
manage MST for the legacy HDA by assigning MST devs dynamically to
pins in a certain procedure to make things compatible.

> Back on present :), what do you recommend for us for jack name.

Depends on your purpose.  If you want to keep it compatible, then use
the compatible string.


HTH,

Takashi


More information about the Alsa-devel mailing list