Re: [PATCH] ASoC: core: Change device numbering

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On 11. 02. 25 14:56, Amadeusz Sławiński wrote:
On 2/11/2025 2:30 PM, Jaroslav Kysela wrote:
On 11. 02. 25 11:53, Amadeusz Sławiński wrote:
On 1/31/2025 5:18 PM, Jaroslav Kysela wrote:
On 31. 01. 25 13:41, Amadeusz Sławiński wrote:



We had some more discussions, what about something like:

card X: HDAudio [AVS HD-Audio], device X: HDAudio Analog () []
card X: HDMI [AVS HDMI], device X: HDMI 1 () []
card X: ALC274 [AVS I2S ALC274], device X: Audio () []

- card: X
     id: HDAudio
     name: AVS HD-Audio
     longname: LENOVO-20KH006LPB-ThinkPadX1Carbon6th
     driver_name: avs_hdaudio
     mixer_name: Realtek ALC285
     components: HDA:10ec0285,17aa225c,00100002
     controls_count: 14

- card: X
     id: HDMI
     name: AVS HDMI
     longname: LENOVO-20KH006LPB-ThinkPadX1Carbon6th
     driver_name: avs_hdaudio
     mixer_name: Intel Kabylake HDMI
     components: HDA:8086280b,80860101,00100000
     controls_count: 21

- card: X
     id: ALC274
     name: AVS I2S ALC274
     longname:
IntelCorporation-CannonLakeClientPlatform-0.1-CannonLakeYLPDDR4RVP
     driver_name: avs_rt274
     mixer_name:
     components:
     controls_count: 17

it feels like it is more descriptive.

It looks much better for driver name and card (short) name. It also
shows, how the DMI auto-generated long names are really broken and
confusing for users.


Well, those can be set to something better, it's just that ASoC defaults
to DMI if there is no longname provided. So if you have any suggestions,
we can do it while also changing card names.
But do note that it allows for differentiating between different
machines using same card in case we need to do something custom for UCM
on one of them:
2680
access("/usr/share/alsa/ucm2/conf.d/avs_hdaudio/LENOVO-20KH006LPB-ThinkPadX1Carbon6th.conf",
R_OK) = -1 ENOENT (No such file or directory)
2680  access("/usr/share/alsa/ucm2/conf.d/avs_hdaudio/avs_hdaudio.conf",
R_OK) = -1 ENOENT (No such file or directory)
so while not pretty I'm not sure if we can do any better, without
breaking above possibility. And in most cases UCM based on driver name
should be enough, which looks pretty enough.

UCM can do DMI matching itself now like (copied from acp5x.conf):

....
If.jupiter {
	Condition {
		Type String
		String1 "Jupiter"
		String2 "${sys:devices/virtual/dmi/id/product_name}"
	}
	True {
                ...
....

The long name path lookup is a relict from the past. ASoC core just duplicates information which can be already obtained in the user space. I'm going to rewrite the machine specific links and use the UCM like matching here. With this, we can turn long name lookups in /usr/share/alsa/ucm2/ucm.conf off.

					Jaroslav

--
Jaroslav Kysela <perex@xxxxxxxx>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.




[Index of Archives]     [Pulseaudio]     [Linux Audio Users]     [ALSA Devel]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux