mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Amadeusz Sławiński" <amadeuszx.slawinski@linux.intel.com>
To: Bjorn Helgaas <bhelgaas@google.com>,
	Mark Brown <broonie@kernel.org>, Takashi Iwai <tiwai@suse.com>
Cc: alsa-devel@alsa-project.org, linux-pci@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	"Cezary Rojewski" <cezary.rojewski@intel.com>,
	"Pierre-Louis Bossart" <pierre-louis.bossart@linux.intel.com>,
	"Kai Vehmanen" <kai.vehmanen@linux.intel.com>,
	"Andy Shevchenko" <andriy.shevchenko@intel.com>,
	"Hans de Goede" <hdegoede@redhat.com>,
	"Amadeusz Sławiński" <amadeuszx.slawinski@linux.intel.com>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>
Subject: [PATCH v3 05/15] ALSA: hda: Add controller matching macros
Date: Fri, 14 Jul 2023 22:24:47 +0200	[thread overview]
Message-ID: <20230714202457.423866-6-amadeuszx.slawinski@linux.intel.com> (raw)
In-Reply-To: <20230714202457.423866-1-amadeuszx.slawinski@linux.intel.com>

Some HDA controllers require additional handling, so there are macros to
match them, however those are spread across multiple files. Add them all
in one place, so they can be reused.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
---
 include/sound/hdaudio.h | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/include/sound/hdaudio.h b/include/sound/hdaudio.h
index 2ffdf58bd6d4..32c59053b48e 100644
--- a/include/sound/hdaudio.h
+++ b/include/sound/hdaudio.h
@@ -11,6 +11,7 @@
 #include <linux/io.h>
 #include <linux/io-64-nonatomic-lo-hi.h>
 #include <linux/iopoll.h>
+#include <linux/pci.h>
 #include <linux/pm_runtime.h>
 #include <linux/timecounter.h>
 #include <sound/core.h>
@@ -704,4 +705,29 @@ static inline unsigned int snd_array_index(struct snd_array *array, void *ptr)
 	for ((idx) = 0, (ptr) = (array)->list; (idx) < (array)->used; \
 	     (ptr) = snd_array_elem(array, ++(idx)))
 
+/*
+ * Device matching
+ */
+
+#define HDA_CONTROLLER_IS_HSW(pci) (pci_match_id((struct pci_device_id []){ \
+			{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HDA_HSW_0) }, \
+			{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HDA_HSW_2) }, \
+			{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HDA_HSW_3) }, \
+			{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HDA_BDW) }, \
+			{ } \
+		}, pci))
+
+#define HDA_CONTROLLER_IS_APL(pci) (pci_match_id((struct pci_device_id []){ \
+			{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HDA_APL) }, \
+			{ } \
+		}, pci))
+
+#define HDA_CONTROLLER_IN_GPU(pci) (pci_match_id((struct pci_device_id []){ \
+			{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HDA_DG1) }, \
+			{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HDA_DG2_0) }, \
+			{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HDA_DG2_1) }, \
+			{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HDA_DG2_2) }, \
+			{ } \
+		}, pci) || HDA_CONTROLLER_IS_HSW(pci))
+
 #endif /* __SOUND_HDAUDIO_H */
-- 
2.34.1


  parent reply	other threads:[~2023-07-14 12:24 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-14 20:24 [PATCH v3 00/15] PCI: Define Intel PCI IDs and use them in drivers Amadeusz Sławiński
2023-07-14 12:36 ` Andy Shevchenko
2023-07-14 13:09 ` Mark Brown
2023-07-14 19:03 ` Cezary Rojewski
2023-07-14 20:24 ` [PATCH v3 01/15] PCI: Sort Intel PCI IDs by number Amadeusz Sławiński
2023-07-14 20:24 ` [PATCH v3 02/15] PCI: Add Intel Audio DSP devices to pci_ids.h Amadeusz Sławiński
2023-07-14 20:24 ` [PATCH v3 03/15] ASoC: SOF: Remove unused Broxton PCI ID Amadeusz Sławiński
2023-07-14 12:35   ` Andy Shevchenko
2023-07-14 12:44     ` Amadeusz Sławiński
2023-07-14 12:46       ` Andy Shevchenko
2023-07-14 20:24 ` [PATCH v3 04/15] ALSA: " Amadeusz Sławiński
2023-07-14 20:24 ` Amadeusz Sławiński [this message]
2023-07-14 20:24 ` [PATCH v3 06/15] ALSA: hda: Use global PCI match macro Amadeusz Sławiński
2023-07-14 20:24 ` [PATCH v3 07/15] ALSA: hda/i915: " Amadeusz Sławiński
2023-07-14 12:29   ` Ilpo Järvinen
2023-07-14 20:24 ` [PATCH v3 08/15] ASoC: Intel: Skylake: " Amadeusz Sławiński
2023-07-14 20:24 ` [PATCH v3 09/15] ALSA: intel-dsp-config: Convert to PCI device IDs defines Amadeusz Sławiński
2023-07-14 20:24 ` [PATCH v3 10/15] ALSA: hda: " Amadeusz Sławiński
2023-07-14 20:24 ` [PATCH v3 11/15] ASoC: Intel: avs: " Amadeusz Sławiński
2023-07-14 20:24 ` [PATCH v3 12/15] " Amadeusz Sławiński
2023-07-14 20:24 ` [PATCH v3 13/15] ASoC: Intel: Skylake: " Amadeusz Sławiński
2023-07-14 20:24 ` [PATCH v3 14/15] ASoC: SOF: Intel: " Amadeusz Sławiński
2023-07-14 20:24 ` [PATCH v3 15/15] ASoC: Intel: sst: " Amadeusz Sławiński
2023-07-14 12:40   ` Andy Shevchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230714202457.423866-6-amadeuszx.slawinski@linux.intel.com \
    --to=amadeuszx.slawinski@linux.intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=andriy.shevchenko@intel.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=bhelgaas@google.com \
    --cc=broonie@kernel.org \
    --cc=cezary.rojewski@intel.com \
    --cc=hdegoede@redhat.com \
    --cc=kai.vehmanen@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=pierre-louis.bossart@linux.intel.com \
    --cc=tiwai@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®