On 7/11/23 14:57, Amadeusz Sławiński wrote: > PCI IDs for Intel HDA are duplicated across quite a few drivers, due to > various configurations and historical reasons. Currently almost all uses > of HDA PCI IDs have corresponding comment telling which platform it is. > Additionally there are some inconsistencies between drivers about which > ID corresponds to which device. > > Simplify things, by adding PCI IDs to global header and make use of them > in drivers. This allows for removal of comments by having IDs themselves > being self explanatory. Additionally it allows for removal of existing > inconsistencies by having one source of truth. I'd like to hear from Takashi and Mark on how this would work, we have to provide new PCI IDs for both trees using a common 'pci_ids.h' file. It's not science fiction, we have new PCI IDs for ArrowLake and LunarLake: https://github.com/thesofproject/linux/pull/4437 https://github.com/thesofproject/linux/pull/4425 > Changes from RFC: > - Sort Intel PCI IDs before adding new ones > - Fix ordering of new PCI IDs (Andy) > - Define all used Intel IDs (Andy) > - Add macros for controller type detection (Andy/Bjorn) > - Add set of patches changing to use above macro (Andy/Bjorn) > - Use PCI_DEVICE_DATA for Intel IDs in sound/pci/hda/hda_intel.c (Andy) > - Commit message wording (Andy) > - Remove unnecessary tabs (Andy) > > Amadeusz Sławiński (13): > PCI: Sort Intel PCI IDs by number > PCI: Add Intel Audio DSP devices to pci_ids.h > ALSA: hda: Add controller matching macros > ALSA: hda: Use global PCI match macro > ALSA: hda/i915: Use global PCI match macro > ASoC: Intel: Skylake: Use global PCI match macro > ALSA: intel-dsp-config: Convert to PCI device IDs defines > ALSA: hda: Convert to PCI device IDs defines > ASoC: Intel: avs: Convert to PCI device IDs defines > ASoC: Intel: avs: Convert to PCI device IDs defines > ASoC: Intel: Skylake: Convert to PCI device IDs defines > ASoC: SOF: Intel: Convert to PCI device IDs defines > ASoC: Intel: sst: Convert to PCI device IDs defines > > include/linux/pci_ids.h | 104 +++++-- > include/sound/hda_codec.h | 3 - > include/sound/hdaudio.h | 27 ++ > sound/hda/hdac_i915.c | 7 +- > sound/hda/intel-dsp-config.c | 119 ++++---- > sound/pci/hda/hda_intel.c | 373 ++++++++++--------------- > sound/soc/intel/atom/sst/sst.c | 3 +- > sound/soc/intel/atom/sst/sst.h | 1 - > sound/soc/intel/atom/sst/sst_pci.c | 4 +- > sound/soc/intel/avs/board_selection.c | 10 +- > sound/soc/intel/avs/core.c | 16 +- > sound/soc/intel/skylake/skl-messages.c | 16 +- > sound/soc/intel/skylake/skl-pcm.c | 3 +- > sound/soc/intel/skylake/skl.c | 36 +-- > sound/soc/sof/intel/pci-apl.c | 9 +- > sound/soc/sof/intel/pci-cnl.c | 15 +- > sound/soc/sof/intel/pci-icl.c | 12 +- > sound/soc/sof/intel/pci-mtl.c | 3 +- > sound/soc/sof/intel/pci-skl.c | 6 +- > sound/soc/sof/intel/pci-tgl.c | 45 +-- > sound/soc/sof/intel/pci-tng.c | 3 +- > 21 files changed, 384 insertions(+), 431 deletions(-) >