diff options
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/pci.c | 8 | ||||
-rw-r--r-- | drivers/pci/probe.c | 3 |
2 files changed, 11 insertions, 0 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 04aac7782468..be97090ddf32 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c | |||
@@ -1451,6 +1451,14 @@ pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask) | |||
1451 | } | 1451 | } |
1452 | #endif | 1452 | #endif |
1453 | 1453 | ||
1454 | #ifndef HAVE_ARCH_PCI_SET_DMA_MAX_SEGMENT_SIZE | ||
1455 | int pci_set_dma_max_seg_size(struct pci_dev *dev, unsigned int size) | ||
1456 | { | ||
1457 | return dma_set_max_seg_size(&dev->dev, size); | ||
1458 | } | ||
1459 | EXPORT_SYMBOL(pci_set_dma_max_seg_size); | ||
1460 | #endif | ||
1461 | |||
1454 | /** | 1462 | /** |
1455 | * pcix_get_max_mmrbc - get PCI-X maximum designed memory read byte count | 1463 | * pcix_get_max_mmrbc - get PCI-X maximum designed memory read byte count |
1456 | * @dev: PCI device to query | 1464 | * @dev: PCI device to query |
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index 7f5dab34d315..f47d596d5ebc 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c | |||
@@ -933,8 +933,11 @@ void pci_device_add(struct pci_dev *dev, struct pci_bus *bus) | |||
933 | 933 | ||
934 | set_dev_node(&dev->dev, pcibus_to_node(bus)); | 934 | set_dev_node(&dev->dev, pcibus_to_node(bus)); |
935 | dev->dev.dma_mask = &dev->dma_mask; | 935 | dev->dev.dma_mask = &dev->dma_mask; |
936 | dev->dev.dma_parms = &dev->dma_parms; | ||
936 | dev->dev.coherent_dma_mask = 0xffffffffull; | 937 | dev->dev.coherent_dma_mask = 0xffffffffull; |
937 | 938 | ||
939 | pci_set_dma_max_seg_size(dev, 65536); | ||
940 | |||
938 | /* Fix up broken headers */ | 941 | /* Fix up broken headers */ |
939 | pci_fixup_device(pci_fixup_header, dev); | 942 | pci_fixup_device(pci_fixup_header, dev); |
940 | 943 | ||