mbox series

[v3,00/15] PCI: Define Intel PCI IDs and use them in drivers

Message ID 20230714202457.423866-1-amadeuszx.slawinski@linux.intel.com
Headers show
Series PCI: Define Intel PCI IDs and use them in drivers | expand

Message

Amadeusz Sławiński July 14, 2023, 8:24 p.m. UTC
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.

Changes from v2:
 - Change CHV to BSW (Andy)
 - Fix incorrectly rebased patches (Andy)
 - Fix commit message and add suggestions from Andy to SST patch (Andy)
 - Rebased on top of Linus tree commit: 4b810bf037e5

Changes from v1:
 - Remove BXT-T PCI ID as it is not released (Andy)
 - Reorder macros to start from pci_match_id() (Andy)
 - Add comment about BXT->APL name change in commit messages (Andy)
 - Use SST as part of macro name for DSP only devices (Andy)
 - Add PCI IDs for all SST combinations (Andy)

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 (15):
  PCI: Sort Intel PCI IDs by number
  PCI: Add Intel Audio DSP devices to pci_ids.h
  ASoC: SOF: Remove unused Broxton PCI ID
  ALSA: Remove unused Broxton PCI ID
  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                | 105 +++++--
 include/sound/hda_codec.h              |   3 -
 include/sound/hdaudio.h                |  26 ++
 sound/hda/hdac_i915.c                  |   7 +-
 sound/hda/intel-dsp-config.c           | 124 ++++----
 sound/pci/hda/hda_intel.c              | 373 ++++++++++---------------
 sound/soc/intel/atom/sst/sst.c         |   9 +-
 sound/soc/intel/atom/sst/sst.h         |   7 +-
 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          |   8 +-
 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, 386 insertions(+), 445 deletions(-)

Comments

Andy Shevchenko July 14, 2023, 12:36 p.m. UTC | #1
On Fri, Jul 14, 2023 at 10:24:42PM +0200, 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.

> Changes from v2:
>  - Change CHV to BSW (Andy)
>  - Fix incorrectly rebased patches (Andy)
>  - Fix commit message and add suggestions from Andy to SST patch (Andy)
>  - Rebased on top of Linus tree commit: 4b810bf037e5

Use --base parameter, it will help CIs as well to test your changes against
correct base.
Amadeusz Sławiński July 14, 2023, 12:44 p.m. UTC | #2
On 7/14/2023 2:35 PM, Andy Shevchenko wrote:
> On Fri, Jul 14, 2023 at 10:24:45PM +0200, Amadeusz Sławiński wrote:
>> Current code references 0x1a98 which is BXT-M (not -T as it is
>> commented) and it's an RVP, BXT-M B0 to be specific. From what we know
>> no BXT is available on market.
> 
> ...
> 
>>   sound/hda/intel-dsp-config.c  | 7 -------
>>   sound/soc/sof/intel/pci-apl.c | 2 --
> 
> I dunno how SOF and HDA are related to each other, but in the next patch you
> also do something about HDA, either group all of them, or split HDA, or split
> on per file basis. I'm not familiar with the relationship between them up to
> you which way you choose.
> 

Well SOF is a DSP driver, so that's why I split it from HDA - 
intel-dsp-config.c file is used to perform checks to know if it should 
load DSP driver (and which one), hence the "weird" split.
Mark Brown July 14, 2023, 1:09 p.m. UTC | #3
On Fri, Jul 14, 2023 at 10:24:42PM +0200, 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.

Acked-by: Mark Brown <broonie@kernel.org>