On 2022-02-11 4:23 PM, Pierre-Louis Bossart wrote:
Again, we are not trying to force-expose stuff which does not work. In majority of the cases, non-HDMI codecs we're dealing with notify about just single analog endpoint. For now, it's 100% of the cases, but I'm aware of fact that RVPs and a dozen of Dell/Lenovo/Acer laptops do not equal to entire market.
We are in agreement, but since we don't have any ability to test those alt/digital parts my take is 'don't even bother about them'.
Remember that you can always use topology to "gate" userspace from streaming through endpoints which we do not work. And right now, we are working with topologies supporting single endpoint for non-HDMI devices.
May I ask how you 'gate' parts of a topology? Or did you mean that you use different topologies?
So, this is a clear upgrade when compared to Analog/Alt Analog/Digitalh-hardcoded configuration used currently. That's on top of aligning with hda legacy behavior.
Agree, but it still leaves the door open to exposing those paths which may or may not work - no one has ever tested them. It's better IMHO to only allow for the analog path. If we can detect the presence of this path, great.
You may define topology with lower number of FE, thus limiting number of options available to user, possibly shielding them from untested scenarios. E.g.: Have a 3-DAI HDMI codec yet provide 2-FE topology file for it because you know 3rd endpoint is faulty. Only two devices will show up in userspace effectively making users unable to play on the 3rd one.
Again, that's a default - expose fewer endpoints (here, just single analog one) for non-HDMI codecs.
Of course, there is small number of users who may want to stream on their Alt Analog/Digital endpoints. We do not want 'Conexant story' to repeat all over again. So, for them, non-default (topology) could be provided to enable streaming on whatever they want.
The chosen approach does not hinder either of the sides.
Regards, Czarek