On Tue, 27 Feb 2018 17:20:05 +0100, Ughreja, Rakesh A wrote:
The hdac_hda is just a wrapper around the legacy codec driver and so it relies on the functionality of the legacy HDA codec driver for all the functionality including pin re-tasking.
The widget names that you see above is just to complete the DAPM route. Based on your comment I am planning to rename it as following
Analog In Endpoint Analog Output Endpoint Digital In Endpoint Digital Out Endpoint
and will connect it to the Codec Pins.
Also I think it makes sense to rename the codec Pin names accordingly
Codec Analog Input Pin Codec Analog Output Pin Codec Digital Input Pin Codec Digital Output Pin
Humm, what if you have more than one analog input? It's almost as if this list should be created dynamically based on what is exposed by the codec, I don't see how a static list will cover all configurations.
If it is really required it can be done, the codec->pcm_list_head has got entries stored.
But I am not sure what is the behavior of the legacy HDA codec driver when it sees more than one Analog inputs.
Takashi, will I see two Analog entries in the pcm_list_head ?
Yes, in a few cases, the generic parser creates another PCM for analog I/O as "Alt Analog":
- When a DAC is available for the headphone independently from others ("independent HP" stream)
- When there are multiple ADCs and neither dynamic ADC switch nor auto-mic selection feature is used
Takashi