On Mon, Apr 08, 2024 at 07:45:00PM +0100, Mark Brown wrote:
On Mon, Apr 08, 2024 at 09:40:41PM +0300, Dmitry Rokosov wrote:
On Mon, Apr 08, 2024 at 08:15:54PM +0200, Jerome Brunet wrote:
Userspace pcm, otherwise known as DPCM frontend, are merely that: frontends. What they do is entirely defined by the routing defined by the userspace (amixer and friends)
So naming the interface in DT (the FW describing the HW) after what the the userspace SW could possibly set later on is wrong.
Bottom line: I have mixed feeling about this change. It could allow all sort of bad names to be set.
The only way it could make sense HW wise is if the only allowed names where (fr|to)ddr_[abcd], which could help maps the interface and the kcontrol.
The link-name is an optional parameter. Yes, you are right, it can be routed in a way that it no longer functions as a speaker in most cases. However, if you plan to use your board's dt for common purposes, you should not change the common names for DAI links. But if you know that you have a static setup for speakers, microphones, loopback, or other references (you 100% know it, because you are HW developer of this board), why not help the user understand the PCM device assignment in the easiest way?
I would expect that the place to fix names based on the userspace configuration is in whatever userspace is using to define it's configurations, like a UCM config.
Honestly, I have tried to find a way to rename the PCM device name or mark it in some way (such as using a metainformation tag or any other method), but unfortunately, my search has been unsuccessful.
Ultimately, it is the responsibility of the DT board developer to define specific DAIs and name them based on their own knowledge about HW and understanding of the board's usage purposes.
DT seems like the wrong abstraction layer here.