diff options
| author | Alex Williamson <alex.williamson@redhat.com> | 2014-09-17 12:41:13 -0400 |
|---|---|---|
| committer | Bjorn Helgaas <bhelgaas@google.com> | 2014-09-22 16:48:32 -0400 |
| commit | 5d8f4c9fdd67404c9f94683836e49ec8bded2287 (patch) | |
| tree | b9d415aac6a326e481ff62270a3fe2fb6b7137c5 | |
| parent | bee3f304435a9c8c70b135083e23516872a17c98 (diff) | |
PCI: Remove unused pci_get_dma_source()
pci_get_dma_source() is unused, so remove it. We now have
dma_alias_devfn() to describe this.
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
| -rw-r--r-- | drivers/pci/quirks.c | 51 | ||||
| -rw-r--r-- | include/linux/pci.h | 5 |
2 files changed, 0 insertions, 56 deletions
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index da062d8ae36f..01c935cc38dc 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c | |||
| @@ -3514,57 +3514,6 @@ DECLARE_PCI_FIXUP_HEADER(0x1283, 0x8892, quirk_use_pcie_bridge_dma_alias); | |||
| 3514 | /* Intel 82801, https://bugzilla.kernel.org/show_bug.cgi?id=44881#c49 */ | 3514 | /* Intel 82801, https://bugzilla.kernel.org/show_bug.cgi?id=44881#c49 */ |
| 3515 | DECLARE_PCI_FIXUP_HEADER(0x8086, 0x244e, quirk_use_pcie_bridge_dma_alias); | 3515 | DECLARE_PCI_FIXUP_HEADER(0x8086, 0x244e, quirk_use_pcie_bridge_dma_alias); |
| 3516 | 3516 | ||
| 3517 | static struct pci_dev *pci_func_0_dma_source(struct pci_dev *dev) | ||
| 3518 | { | ||
| 3519 | if (!PCI_FUNC(dev->devfn)) | ||
| 3520 | return pci_dev_get(dev); | ||
| 3521 | |||
| 3522 | return pci_get_slot(dev->bus, PCI_DEVFN(PCI_SLOT(dev->devfn), 0)); | ||
| 3523 | } | ||
| 3524 | |||
| 3525 | static const struct pci_dev_dma_source { | ||
| 3526 | u16 vendor; | ||
| 3527 | u16 device; | ||
| 3528 | struct pci_dev *(*dma_source)(struct pci_dev *dev); | ||
| 3529 | } pci_dev_dma_source[] = { | ||
| 3530 | /* | ||
| 3531 | * https://bugzilla.redhat.com/show_bug.cgi?id=605888 | ||
| 3532 | * | ||
| 3533 | * Some Ricoh devices use the function 0 source ID for DMA on | ||
| 3534 | * other functions of a multifunction device. The DMA devices | ||
| 3535 | * is therefore function 0, which will have implications of the | ||
| 3536 | * iommu grouping of these devices. | ||
| 3537 | */ | ||
| 3538 | { PCI_VENDOR_ID_RICOH, 0xe822, pci_func_0_dma_source }, | ||
| 3539 | { PCI_VENDOR_ID_RICOH, 0xe230, pci_func_0_dma_source }, | ||
| 3540 | { PCI_VENDOR_ID_RICOH, 0xe832, pci_func_0_dma_source }, | ||
| 3541 | { PCI_VENDOR_ID_RICOH, 0xe476, pci_func_0_dma_source }, | ||
| 3542 | { 0 } | ||
| 3543 | }; | ||
| 3544 | |||
| 3545 | /* | ||
| 3546 | * IOMMUs with isolation capabilities need to be programmed with the | ||
| 3547 | * correct source ID of a device. In most cases, the source ID matches | ||
| 3548 | * the device doing the DMA, but sometimes hardware is broken and will | ||
| 3549 | * tag the DMA as being sourced from a different device. This function | ||
| 3550 | * allows that translation. Note that the reference count of the | ||
| 3551 | * returned device is incremented on all paths. | ||
| 3552 | */ | ||
| 3553 | struct pci_dev *pci_get_dma_source(struct pci_dev *dev) | ||
| 3554 | { | ||
| 3555 | const struct pci_dev_dma_source *i; | ||
| 3556 | |||
| 3557 | for (i = pci_dev_dma_source; i->dma_source; i++) { | ||
| 3558 | if ((i->vendor == dev->vendor || | ||
| 3559 | i->vendor == (u16)PCI_ANY_ID) && | ||
| 3560 | (i->device == dev->device || | ||
| 3561 | i->device == (u16)PCI_ANY_ID)) | ||
| 3562 | return i->dma_source(dev); | ||
| 3563 | } | ||
| 3564 | |||
| 3565 | return pci_dev_get(dev); | ||
| 3566 | } | ||
| 3567 | |||
| 3568 | /* | 3517 | /* |
| 3569 | * AMD has indicated that the devices below do not support peer-to-peer | 3518 | * AMD has indicated that the devices below do not support peer-to-peer |
| 3570 | * in any system where they are found in the southbridge with an AMD | 3519 | * in any system where they are found in the southbridge with an AMD |
diff --git a/include/linux/pci.h b/include/linux/pci.h index bf5a47c0cb42..d68d8e33c196 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
| @@ -1557,16 +1557,11 @@ enum pci_fixup_pass { | |||
| 1557 | 1557 | ||
| 1558 | #ifdef CONFIG_PCI_QUIRKS | 1558 | #ifdef CONFIG_PCI_QUIRKS |
| 1559 | void pci_fixup_device(enum pci_fixup_pass pass, struct pci_dev *dev); | 1559 | void pci_fixup_device(enum pci_fixup_pass pass, struct pci_dev *dev); |
| 1560 | struct pci_dev *pci_get_dma_source(struct pci_dev *dev); | ||
| 1561 | int pci_dev_specific_acs_enabled(struct pci_dev *dev, u16 acs_flags); | 1560 | int pci_dev_specific_acs_enabled(struct pci_dev *dev, u16 acs_flags); |
| 1562 | void pci_dev_specific_enable_acs(struct pci_dev *dev); | 1561 | void pci_dev_specific_enable_acs(struct pci_dev *dev); |
| 1563 | #else | 1562 | #else |
| 1564 | static inline void pci_fixup_device(enum pci_fixup_pass pass, | 1563 | static inline void pci_fixup_device(enum pci_fixup_pass pass, |
| 1565 | struct pci_dev *dev) { } | 1564 | struct pci_dev *dev) { } |
| 1566 | static inline struct pci_dev *pci_get_dma_source(struct pci_dev *dev) | ||
| 1567 | { | ||
| 1568 | return pci_dev_get(dev); | ||
| 1569 | } | ||
| 1570 | static inline int pci_dev_specific_acs_enabled(struct pci_dev *dev, | 1565 | static inline int pci_dev_specific_acs_enabled(struct pci_dev *dev, |
| 1571 | u16 acs_flags) | 1566 | u16 acs_flags) |
| 1572 | { | 1567 | { |
