PCI: Consolidate PCI DMA constants and interfaces in linux/pci-dma-compat.h
Christoph added a generic include/linux/pci-dma-compat.h, so now there's one place with most of the PCI DMA interfaces. Move more PCI DMA-related things there: - The PCI_DMA_* direction constants from linux/pci.h - The pci_set_dma_max_seg_size() and pci_set_dma_seg_boundary() CONFIG_PCI implementations from drivers/pci/pci.c - The pci_set_dma_max_seg_size() and pci_set_dma_seg_boundary() !CONFIG_PCI stubs from linux/pci.h - The pci_set_dma_mask() and pci_set_consistent_dma_mask() !CONFIG_PCI stubs from linux/pci.h Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
parent
bc4b024a8b
commit
fe537670ea
@ -3385,18 +3385,6 @@ bool pci_check_and_unmask_intx(struct pci_dev *dev)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(pci_check_and_unmask_intx);
|
EXPORT_SYMBOL_GPL(pci_check_and_unmask_intx);
|
||||||
|
|
||||||
int pci_set_dma_max_seg_size(struct pci_dev *dev, unsigned int size)
|
|
||||||
{
|
|
||||||
return dma_set_max_seg_size(&dev->dev, size);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(pci_set_dma_max_seg_size);
|
|
||||||
|
|
||||||
int pci_set_dma_seg_boundary(struct pci_dev *dev, unsigned long mask)
|
|
||||||
{
|
|
||||||
return dma_set_seg_boundary(&dev->dev, mask);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(pci_set_dma_seg_boundary);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* pci_wait_for_pending_transaction - waits for pending transaction
|
* pci_wait_for_pending_transaction - waits for pending transaction
|
||||||
* @dev: the PCI device to operate on
|
* @dev: the PCI device to operate on
|
||||||
|
@ -6,6 +6,12 @@
|
|||||||
|
|
||||||
#include <linux/dma-mapping.h>
|
#include <linux/dma-mapping.h>
|
||||||
|
|
||||||
|
/* This defines the direction arg to the DMA mapping routines. */
|
||||||
|
#define PCI_DMA_BIDIRECTIONAL 0
|
||||||
|
#define PCI_DMA_TODEVICE 1
|
||||||
|
#define PCI_DMA_FROMDEVICE 2
|
||||||
|
#define PCI_DMA_NONE 3
|
||||||
|
|
||||||
static inline void *
|
static inline void *
|
||||||
pci_alloc_consistent(struct pci_dev *hwdev, size_t size,
|
pci_alloc_consistent(struct pci_dev *hwdev, size_t size,
|
||||||
dma_addr_t *dma_handle)
|
dma_addr_t *dma_handle)
|
||||||
@ -113,6 +119,29 @@ static inline int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask)
|
|||||||
{
|
{
|
||||||
return dma_set_coherent_mask(&dev->dev, mask);
|
return dma_set_coherent_mask(&dev->dev, mask);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline int pci_set_dma_max_seg_size(struct pci_dev *dev,
|
||||||
|
unsigned int size)
|
||||||
|
{
|
||||||
|
return dma_set_max_seg_size(&dev->dev, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int pci_set_dma_seg_boundary(struct pci_dev *dev,
|
||||||
|
unsigned long mask)
|
||||||
|
{
|
||||||
|
return dma_set_seg_boundary(&dev->dev, mask);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static inline int pci_set_dma_mask(struct pci_dev *dev, u64 mask)
|
||||||
|
{ return -EIO; }
|
||||||
|
static inline int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask)
|
||||||
|
{ return -EIO; }
|
||||||
|
static inline int pci_set_dma_max_seg_size(struct pci_dev *dev,
|
||||||
|
unsigned int size)
|
||||||
|
{ return -EIO; }
|
||||||
|
static inline int pci_set_dma_seg_boundary(struct pci_dev *dev,
|
||||||
|
unsigned long mask)
|
||||||
|
{ return -EIO; }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -70,12 +70,6 @@ enum pci_mmap_state {
|
|||||||
pci_mmap_mem
|
pci_mmap_mem
|
||||||
};
|
};
|
||||||
|
|
||||||
/* This defines the direction arg to the DMA mapping routines. */
|
|
||||||
#define PCI_DMA_BIDIRECTIONAL 0
|
|
||||||
#define PCI_DMA_TODEVICE 1
|
|
||||||
#define PCI_DMA_FROMDEVICE 2
|
|
||||||
#define PCI_DMA_NONE 3
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* For PCI devices, the region numbers are assigned this way:
|
* For PCI devices, the region numbers are assigned this way:
|
||||||
*/
|
*/
|
||||||
@ -1038,8 +1032,6 @@ void pci_intx(struct pci_dev *dev, int enable);
|
|||||||
bool pci_intx_mask_supported(struct pci_dev *dev);
|
bool pci_intx_mask_supported(struct pci_dev *dev);
|
||||||
bool pci_check_and_mask_intx(struct pci_dev *dev);
|
bool pci_check_and_mask_intx(struct pci_dev *dev);
|
||||||
bool pci_check_and_unmask_intx(struct pci_dev *dev);
|
bool pci_check_and_unmask_intx(struct pci_dev *dev);
|
||||||
int pci_set_dma_max_seg_size(struct pci_dev *dev, unsigned int size);
|
|
||||||
int pci_set_dma_seg_boundary(struct pci_dev *dev, unsigned long mask);
|
|
||||||
int pci_wait_for_pending(struct pci_dev *dev, int pos, u16 mask);
|
int pci_wait_for_pending(struct pci_dev *dev, int pos, u16 mask);
|
||||||
int pci_wait_for_pending_transaction(struct pci_dev *dev);
|
int pci_wait_for_pending_transaction(struct pci_dev *dev);
|
||||||
int pcix_get_max_mmrbc(struct pci_dev *dev);
|
int pcix_get_max_mmrbc(struct pci_dev *dev);
|
||||||
@ -1255,6 +1247,7 @@ resource_size_t pcibios_iov_resource_alignment(struct pci_dev *dev, int resno);
|
|||||||
|
|
||||||
int pci_set_vga_state(struct pci_dev *pdev, bool decode,
|
int pci_set_vga_state(struct pci_dev *pdev, bool decode,
|
||||||
unsigned int command_bits, u32 flags);
|
unsigned int command_bits, u32 flags);
|
||||||
|
|
||||||
/* kmem_cache style wrapper around pci_alloc_consistent() */
|
/* kmem_cache style wrapper around pci_alloc_consistent() */
|
||||||
|
|
||||||
#include <linux/pci-dma.h>
|
#include <linux/pci-dma.h>
|
||||||
@ -1466,16 +1459,6 @@ static inline struct pci_dev *pci_get_class(unsigned int class,
|
|||||||
static inline void pci_set_master(struct pci_dev *dev) { }
|
static inline void pci_set_master(struct pci_dev *dev) { }
|
||||||
static inline int pci_enable_device(struct pci_dev *dev) { return -EIO; }
|
static inline int pci_enable_device(struct pci_dev *dev) { return -EIO; }
|
||||||
static inline void pci_disable_device(struct pci_dev *dev) { }
|
static inline void pci_disable_device(struct pci_dev *dev) { }
|
||||||
static inline int pci_set_dma_mask(struct pci_dev *dev, u64 mask)
|
|
||||||
{ return -EIO; }
|
|
||||||
static inline int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask)
|
|
||||||
{ return -EIO; }
|
|
||||||
static inline int pci_set_dma_max_seg_size(struct pci_dev *dev,
|
|
||||||
unsigned int size)
|
|
||||||
{ return -EIO; }
|
|
||||||
static inline int pci_set_dma_seg_boundary(struct pci_dev *dev,
|
|
||||||
unsigned long mask)
|
|
||||||
{ return -EIO; }
|
|
||||||
static inline int pci_assign_resource(struct pci_dev *dev, int i)
|
static inline int pci_assign_resource(struct pci_dev *dev, int i)
|
||||||
{ return -EBUSY; }
|
{ return -EBUSY; }
|
||||||
static inline int __pci_register_driver(struct pci_driver *drv,
|
static inline int __pci_register_driver(struct pci_driver *drv,
|
||||||
|
Loading…
Reference in New Issue
Block a user