]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
PCI: Add function 0 DMA alias quirk for Glenfly Arise chip
authorWangYuli <wangyuli@uniontech.com>
Fri, 23 Aug 2024 09:57:08 +0000 (17:57 +0800)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 23 Aug 2024 18:01:20 +0000 (13:01 -0500)
Add DMA support for audio function of Glenfly Arise chip, which uses
Requester ID of function 0.

Link: https://lore.kernel.org/r/CA2BBD087345B6D1+20240823095708.3237375-1-wangyuli@uniontech.com
Signed-off-by: SiyuLi <siyuli@glenfly.com>
Signed-off-by: WangYuli <wangyuli@uniontech.com>
[bhelgaas: lower-case hex to match local code, drop unused Device IDs]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
drivers/pci/quirks.c
include/linux/pci_ids.h
sound/pci/hda/hda_intel.c

index a2ce4e08edf5a31375bfb8b4358a9d2245f9b102..cc6c82c3bd3d0582b43f26b048e312b5c4293ea4 100644 (file)
@@ -4246,6 +4246,10 @@ static void quirk_dma_func0_alias(struct pci_dev *dev)
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_RICOH, 0xe832, quirk_dma_func0_alias);
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_RICOH, 0xe476, quirk_dma_func0_alias);
 
+/* Some Glenfly chips use function 0 as the PCIe Requester ID for DMA */
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_GLENFLY, 0x3d40, quirk_dma_func0_alias);
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_GLENFLY, 0x3d41, quirk_dma_func0_alias);
+
 static void quirk_dma_func1_alias(struct pci_dev *dev)
 {
        if (PCI_FUNC(dev->devfn) != 1)
index e388c8b1cbc2769a9bc8c25f524393489fb72fc9..2c94d4004dd506b330bce0ad547225345d83ad70 100644 (file)
 #define PCI_DEVICE_ID_DCI_PCCOM8       0x0002
 #define PCI_DEVICE_ID_DCI_PCCOM2       0x0004
 
+#define PCI_VENDOR_ID_GLENFLY          0x6766
+
 #define PCI_VENDOR_ID_INTEL            0x8086
 #define PCI_DEVICE_ID_INTEL_EESSC      0x0008
 #define PCI_DEVICE_ID_INTEL_HDA_CML_LP 0x02c8
index b33602e64d174c8af1bf196ee5b0ce90668f9681..e8958a4646476fc627c4ac7162d07559b167f7fc 100644 (file)
@@ -2671,7 +2671,7 @@ static const struct pci_device_id azx_ids[] = {
          .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS |
          AZX_DCAPS_PM_RUNTIME },
        /* GLENFLY */
-       { PCI_DEVICE(0x6766, PCI_ANY_ID),
+       { PCI_DEVICE(PCI_VENDOR_ID_GLENFLY, PCI_ANY_ID),
          .class = PCI_CLASS_MULTIMEDIA_HD_AUDIO << 8,
          .class_mask = 0xffffff,
          .driver_data = AZX_DRIVER_GFHDMI | AZX_DCAPS_POSFIX_LPIB |