Re: [PATCH 3/6] pci: add PCI quirk cmdmem fixup for Intel DSA device
From: Bjorn Helgaas
Date: Tue Mar 31 2020 - 11:59:11 EST
Take a look and make yours match (applies to other patches in the
series as well):
$ git log --oneline drivers/pci/quirks.c
299bd044a6f3 ("PCI: Add ACS quirk for Zhaoxin Root/Downstream Ports")
0325837c51cb ("PCI: Add ACS quirk for Zhaoxin multi-function devices")
2880325bda8d ("PCI: Avoid ASMedia XHCI USB PME# from D0 defect")
b88bf6c3b6ff ("PCI: Add boot interrupt quirk mechanism for Xeon chipsets")
5e89cd303e3a ("PCI: Mark AMD Navi14 GPU rev 0xc5 ATS as broken")
7b90dfc4873b ("PCI: Add DMA alias quirk for PLX PEX NTB")
09298542cd89 ("PCI: Add nr_devfns parameter to pci_add_dma_alias()")
There's no need to mention "PCI" twice. Also no need for both "quirk"
and "fixup". This is all in the interest of putting more information
in the small space of the subject line.
On Mon, Mar 30, 2020 at 02:27:06PM -0700, Dave Jiang wrote:
> Since there is no standard way that defines a PCI device that receives
> descriptors or commands with synchronous write operations, add quirk to set
> cmdmem for the Intel accelerator device that supports it.
>
> Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
> ---
> drivers/pci/quirks.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index 29f473ebf20f..ba0572b9b9c8 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -5461,3 +5461,14 @@ static void quirk_reset_lenovo_thinkpad_p50_nvgpu(struct pci_dev *pdev)
> DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_VENDOR_ID_NVIDIA, 0x13b1,
> PCI_CLASS_DISPLAY_VGA, 8,
> quirk_reset_lenovo_thinkpad_p50_nvgpu);
> +
> +/*
> + * Until the PCI Sig defines a standard capaiblity check that indicates a
> + * device has cmdmem with synchronous write capability, we'll add a quirk
> + * for device that supports it.
s/PCI Sig/PCI-SIG/
s/capaiblity/capability/
It's not clear why this would need to be in drivers/pci/quirks.c as
opposed to being in the driver itself.
> + */
> +static void device_cmdmem_fixup(struct pci_dev *pdev)
> +{
> + pdev->cmdmem = 1;
> +}
> +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x0b25, device_cmdmem_fixup);
>