aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/dma-mapping.h13
-rw-r--r--include/linux/pci.h6
-rw-r--r--include/linux/types.h1
3 files changed, 12 insertions, 8 deletions
diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h
index fd4aee29ad10..0c3eab1e39ac 100644
--- a/include/linux/dma-mapping.h
+++ b/include/linux/dma-mapping.h
@@ -8,6 +8,12 @@
8#include <linux/dma-direction.h> 8#include <linux/dma-direction.h>
9#include <linux/scatterlist.h> 9#include <linux/scatterlist.h>
10 10
11/*
12 * A dma_addr_t can hold any valid DMA or bus address for the platform.
13 * It can be given to a device to use as a DMA source or target. A CPU cannot
14 * reference a dma_addr_t directly because there may be translation between
15 * its physical address space and the bus address space.
16 */
11struct dma_map_ops { 17struct dma_map_ops {
12 void* (*alloc)(struct device *dev, size_t size, 18 void* (*alloc)(struct device *dev, size_t size,
13 dma_addr_t *dma_handle, gfp_t gfp, 19 dma_addr_t *dma_handle, gfp_t gfp,
@@ -186,7 +192,7 @@ static inline int dma_get_cache_alignment(void)
186 192
187#ifndef ARCH_HAS_DMA_DECLARE_COHERENT_MEMORY 193#ifndef ARCH_HAS_DMA_DECLARE_COHERENT_MEMORY
188static inline int 194static inline int
189dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr, 195dma_declare_coherent_memory(struct device *dev, phys_addr_t phys_addr,
190 dma_addr_t device_addr, size_t size, int flags) 196 dma_addr_t device_addr, size_t size, int flags)
191{ 197{
192 return 0; 198 return 0;
@@ -217,13 +223,14 @@ extern void *dmam_alloc_noncoherent(struct device *dev, size_t size,
217extern void dmam_free_noncoherent(struct device *dev, size_t size, void *vaddr, 223extern void dmam_free_noncoherent(struct device *dev, size_t size, void *vaddr,
218 dma_addr_t dma_handle); 224 dma_addr_t dma_handle);
219#ifdef ARCH_HAS_DMA_DECLARE_COHERENT_MEMORY 225#ifdef ARCH_HAS_DMA_DECLARE_COHERENT_MEMORY
220extern int dmam_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr, 226extern int dmam_declare_coherent_memory(struct device *dev,
227 phys_addr_t phys_addr,
221 dma_addr_t device_addr, size_t size, 228 dma_addr_t device_addr, size_t size,
222 int flags); 229 int flags);
223extern void dmam_release_declared_memory(struct device *dev); 230extern void dmam_release_declared_memory(struct device *dev);
224#else /* ARCH_HAS_DMA_DECLARE_COHERENT_MEMORY */ 231#else /* ARCH_HAS_DMA_DECLARE_COHERENT_MEMORY */
225static inline int dmam_declare_coherent_memory(struct device *dev, 232static inline int dmam_declare_coherent_memory(struct device *dev,
226 dma_addr_t bus_addr, dma_addr_t device_addr, 233 phys_addr_t phys_addr, dma_addr_t device_addr,
227 size_t size, gfp_t gfp) 234 size_t size, gfp_t gfp)
228{ 235{
229 return 0; 236 return 0;
diff --git a/include/linux/pci.h b/include/linux/pci.h
index a95aac7ad37f..5dbd15422b55 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1158,7 +1158,6 @@ struct msix_entry {
1158 1158
1159#ifdef CONFIG_PCI_MSI 1159#ifdef CONFIG_PCI_MSI
1160int pci_msi_vec_count(struct pci_dev *dev); 1160int pci_msi_vec_count(struct pci_dev *dev);
1161int pci_enable_msi_block(struct pci_dev *dev, int nvec);
1162void pci_msi_shutdown(struct pci_dev *dev); 1161void pci_msi_shutdown(struct pci_dev *dev);
1163void pci_disable_msi(struct pci_dev *dev); 1162void pci_disable_msi(struct pci_dev *dev);
1164int pci_msix_vec_count(struct pci_dev *dev); 1163int pci_msix_vec_count(struct pci_dev *dev);
@@ -1188,8 +1187,6 @@ static inline int pci_enable_msix_exact(struct pci_dev *dev,
1188} 1187}
1189#else 1188#else
1190static inline int pci_msi_vec_count(struct pci_dev *dev) { return -ENOSYS; } 1189static inline int pci_msi_vec_count(struct pci_dev *dev) { return -ENOSYS; }
1191static inline int pci_enable_msi_block(struct pci_dev *dev, int nvec)
1192{ return -ENOSYS; }
1193static inline void pci_msi_shutdown(struct pci_dev *dev) { } 1190static inline void pci_msi_shutdown(struct pci_dev *dev) { }
1194static inline void pci_disable_msi(struct pci_dev *dev) { } 1191static inline void pci_disable_msi(struct pci_dev *dev) { }
1195static inline int pci_msix_vec_count(struct pci_dev *dev) { return -ENOSYS; } 1192static inline int pci_msix_vec_count(struct pci_dev *dev) { return -ENOSYS; }
@@ -1244,7 +1241,7 @@ static inline void pcie_set_ecrc_checking(struct pci_dev *dev) { }
1244static inline void pcie_ecrc_get_policy(char *str) { } 1241static inline void pcie_ecrc_get_policy(char *str) { }
1245#endif 1242#endif
1246 1243
1247#define pci_enable_msi(pdev) pci_enable_msi_block(pdev, 1) 1244#define pci_enable_msi(pdev) pci_enable_msi_exact(pdev, 1)
1248 1245
1249#ifdef CONFIG_HT_IRQ 1246#ifdef CONFIG_HT_IRQ
1250/* The functions a driver should call */ 1247/* The functions a driver should call */
@@ -1572,7 +1569,6 @@ extern unsigned long pci_hotplug_io_size;
1572extern unsigned long pci_hotplug_mem_size; 1569extern unsigned long pci_hotplug_mem_size;
1573 1570
1574/* Architecture-specific versions may override these (weak) */ 1571/* Architecture-specific versions may override these (weak) */
1575int pcibios_add_platform_entries(struct pci_dev *dev);
1576void pcibios_disable_device(struct pci_dev *dev); 1572void pcibios_disable_device(struct pci_dev *dev);
1577void pcibios_set_master(struct pci_dev *dev); 1573void pcibios_set_master(struct pci_dev *dev);
1578int pcibios_set_pcie_reset_state(struct pci_dev *dev, 1574int pcibios_set_pcie_reset_state(struct pci_dev *dev,
diff --git a/include/linux/types.h b/include/linux/types.h
index 4d118ba11349..a0bb7048687f 100644
--- a/include/linux/types.h
+++ b/include/linux/types.h
@@ -142,6 +142,7 @@ typedef unsigned long blkcnt_t;
142#define pgoff_t unsigned long 142#define pgoff_t unsigned long
143#endif 143#endif
144 144
145/* A dma_addr_t can hold any valid DMA or bus address for the platform */
145#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT 146#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT
146typedef u64 dma_addr_t; 147typedef u64 dma_addr_t;
147#else 148#else