On Tue, 15 Mar 2016 10:48:51 +0100, Liam Girdwood wrote: > > On Tue, 2016-03-15 at 09:55 +0100, Takashi Iwai wrote: > > On Tue, 15 Mar 2016 09:45:44 +0100, > > Mark Brown wrote: > > > > > > On Tue, Mar 15, 2016 at 06:01:28AM +0000, Liam Girdwood wrote: > > > > > > > 1) Shortname is board/machine name. This can come from DMI or device > > > > tree. e.g. "Asus T100" > > > > > > That seems more useful for users. > > > > > > > 2) Long name is 1 + driver name + optional firmware name. (I've just > > > > added the FW name here too as we can have potentially > 1 FW per driver > > > > - BYT is an example) e.g. "Asus T00: byt-rt5640: IntSST1.bin". > > > > > > Shouldn't we use whatever we use to figure out which firmware to load > > > rather than the firmware name? Someone might do something like try to > > > replace one firmware with another and get everything confused. > > > > This is not to load FW for our use case, the FW name is hard coded in > driver tables. We do have several FWs for the BYT driver that all have > different capabilities. Userspace could set the correct config for each > FW if it knew the FW that was being used. > > > I agree that a consistent name would be better. Though, practically > > seen, the long name isn't persistent with many drivers, as it often > > contains the irq or port numbers that are assigned dynamically. That > > said, the consistency of long name isn't strictly required. It's > > regarded rather as a verbose information to user, which shouldn't be > > used as an identifier key. > > > > OTOH, the driver name is the primary id key used by alsa-lib for its > > configuration. So this must be retained through versions and unique > > for each configuration. > > > > Ok, so we probably need to add in the board/machine name here (from DMI > or DT). We currently have several x86 machines all using the same codec > + DSP + FW, but all have slightly different clocking and routing that is > causing problems as userspace cannot configure correctly. > > > The short name is something between them. The alsa-lib USB-audio > > config file refers to the short name because the driver doesn't > > provide a unique id for driver_name for various workarounds. But it > > should be considered as an exception. Ideally, driver_name should be > > unique enough for each different configuration. > > So IIUC this would mean ? > > 1) short name is optional, but could be board name. Right. > 2) long name is driver_name plus any other optional information for the > user. Not used by applications or alsa-lib to determine sound card > capabilities. In most cases, long name is short name + more optional information. > 3) Driver name is unique. machine driver name + (optional) board name + > (optional) fw name. e.g. "byt-rt5640: Asus T100: IntSST1.bin" used by > alsa-lib and userspace to determine sound card and set config. But, beware that driver name is fairly short, it's a 16 bytes string. The short name is 32 bytes and long name is 80 bytes. Thus, you need a special care to provide a unique driver name. Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel