[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20240822185617.GA344785@bhelgaas>
Date: Thu, 22 Aug 2024 13:56:17 -0500
From: Bjorn Helgaas <helgaas@...nel.org>
To: WangYuli <wangyuli@...ontech.com>
Cc: bhelgaas@...gle.com, siyuli@...nfly.com, linux-pci@...r.kernel.org,
linux-kernel@...r.kernel.org, guanwentao@...ontech.com,
linux@...izon.com, pat-lkml@...ey.org, alex.williamson@...hat.com
Subject: Re: [PATCH] PCI: Add function 0 DMA alias quirk for Glenfly arise
chip
On Sat, Aug 03, 2024 at 12:11:09AM +0800, WangYuli wrote:
> Add DMA support for audio function of Glenfly arise chip,
> which uses request id of function 0.
>
> Signed-off-by: SiyuLi <siyuli@...nfly.com>
> Signed-off-by: WangYuli <wangyuli@...ontech.com>
> ---
> drivers/pci/quirks.c | 6 ++++++
> include/linux/pci_ids.h | 4 ++++
> 2 files changed, 10 insertions(+)
>
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index a2ce4e08edf5..a6cb8b314fae 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -4246,6 +4246,12 @@ 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 too.
> + */
> +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_GLENFLY, PCI_DEVICE_ID_GLENFLY_ARISE10C0_AUDIO, quirk_dma_func0_alias);
> +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_GLENFLY, PCI_DEVICE_ID_GLENFLY_ARISE1020_AUDIO, quirk_dma_func0_alias);
> +
> static void quirk_dma_func1_alias(struct pci_dev *dev)
> {
> if (PCI_FUNC(dev->devfn) != 1)
> diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
> index e388c8b1cbc2..35d2314cc433 100644
> --- a/include/linux/pci_ids.h
> +++ b/include/linux/pci_ids.h
> @@ -1654,6 +1654,10 @@
> #define PCI_DEVICE_ID_RICOH_R5C832 0x0832
> #define PCI_DEVICE_ID_RICOH_R5C843 0x0843
>
> +#define PCI_VENDOR_ID_GLENFLY 0x6766
>From include/linux/pci_ids.h:
* Please keep sorted by numeric Vendor ID and Device ID.
*
* Do not add new entries to this file unless the definitions
* are shared between multiple drivers.
The Vendor ID definition is OK, but needs to be moved so the file
stays sorted.
> +#define PCI_DEVICE_ID_GLENFLY_ARISE10C0_AUDIO 0x3D40
> +#define PCI_DEVICE_ID_GLENFLY_ARISE1020_AUDIO 0x3D41
Use the bare hex values in the quirk instead.
If/when there are more uses for them, we can add #defines here.
I see this in sound/pci/hda/hda_intel.c:
/* GLENFLY */
{ PCI_DEVICE(0x6766, PCI_ANY_ID),
.class = PCI_CLASS_MULTIMEDIA_HD_AUDIO << 8,
.class_mask = 0xffffff,
.driver_data = AZX_DRIVER_GFHDMI | AZX_DCAPS_POSFIX_LPIB |
AZX_DCAPS_NO_MSI | AZX_DCAPS_NO_64BIT },
Since you're adding PCI_VENDOR_ID_GLENFLY here, it would be nice to
update hda_intel.c to use the definition.
> #define PCI_VENDOR_ID_DLINK 0x1186
> #define PCI_DEVICE_ID_DLINK_DGE510T 0x4c00
>
> --
> 2.43.4
>
Powered by blists - more mailing lists