On Wed, 2014-05-28 at 11:55 -0600, Bjorn Helgaas wrote: > On Thu, May 22, 2014 at 05:07:55PM -0600, Alex Williamson wrote: > > Several Marvell devices and a JMicron device have a similar DMA > > requester ID problem to Ricoh, except they use function 1 as the > > PCIe requester ID. Add a quirk for these to populate the DMA > > function alias bitmap. > > What's the DMA function alias bitmap? Guess I missed updating this comment for v4. Let me know if you have other comments and I can either resend this individually or respin the series. Thanks, Alex > > Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> > > --- > > drivers/pci/quirks.c | 36 ++++++++++++++++++++++++++++++++++++ > > 1 file changed, 36 insertions(+) > > > > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c > > index bc8ebd9..923689f 100644 > > --- a/drivers/pci/quirks.c > > +++ b/drivers/pci/quirks.c > > @@ -3349,6 +3349,42 @@ 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); > > > > +static void quirk_dma_func1_alias(struct pci_dev *dev) > > +{ > > + if (PCI_FUNC(dev->devfn) != 1) { > > + dev->dma_alias_devfn = PCI_DEVFN(PCI_SLOT(dev->devfn), 1); > > + dev->dev_flags |= PCI_DEV_FLAGS_DMA_ALIAS_DEVFN; > > + } > > +} > > + > > +/* > > + * Marvell 88SE9123 uses function 1 as the requester ID for DMA. In some > > + * SKUs function 1 is present and is a legacy IDE controller, in other > > + * SKUs this function is not present, making this a ghost requester. > > + * https://bugzilla.kernel.org/show_bug.cgi?id=42679 > > + */ > > +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9123, > > + quirk_dma_func1_alias); > > +/* https://bugzilla.kernel.org/show_bug.cgi?id=42679#c14 */ > > +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9130, > > + quirk_dma_func1_alias); > > +/* https://bugzilla.kernel.org/show_bug.cgi?id=42679#c47 + c57 */ > > +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9172, > > + quirk_dma_func1_alias); > > +/* https://bugzilla.kernel.org/show_bug.cgi?id=42679#c59 */ > > +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x917a, > > + quirk_dma_func1_alias); > > +/* https://bugzilla.kernel.org/show_bug.cgi?id=42679#c46 */ > > +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x91a0, > > + quirk_dma_func1_alias); > > +/* https://bugzilla.kernel.org/show_bug.cgi?id=42679#c49 */ > > +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9230, > > + quirk_dma_func1_alias); > > +/* https://bugs.gentoo.org/show_bug.cgi?id=497630 */ > > +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_JMICRON, > > + PCI_DEVICE_ID_JMICRON_JMB388_ESD, > > + quirk_dma_func1_alias); > > + > > static struct pci_dev *pci_func_0_dma_source(struct pci_dev *dev) > > { > > if (!PCI_FUNC(dev->devfn)) > > -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html