On 2022-02-09 5:08 PM, Pierre-Louis Bossart wrote:
On 2/9/22 06:05, Cezary Rojewski wrote:
I believe our goals align. Rather than hardcoding Analog/Alt Analog/Digital endpoints as it's done currently, when codec most of the time do not have them working anyway, rely on behavior found in sound/hda and sound/pci/hda. If there are some problems there it's win:win for us and legacy driver. Fix one spot, have both drivers happy.
I don't quite see the alignment: the only thing that we've seen work reliably and that we do need is the analog part, and we want to get rid of the other paths which we can't test in the first place. I must admit I don't recall why we bothered to expose those alt analog and digital paths back in 2018, they have not been used nor tested by anyone.
Now if this patch helped to make sure we do indeed have an analog path, that'd be fine. That would indeed avoid a hard-coded decision and report configuration errors.
I just don't see what exposing additional paths brings, they never worked reliably for us when we tried. IIRC half of our team gets an error with the Digital playback stream on Up Extreme and the other half can play just fine - albeit with no connector to actually see what the output is.
FWIW there are many things made possible by HDaudio, in practice we often have to limit ourselves to what is known to work and what is needed by end-products. You could spend all your time chasing configuration issues, missing NIDS and bad verbs. Been there, done that.
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.
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.
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.
Regards, Czarek