home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / x86 / include / asm / pci_64.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.4 KB  |  53 lines

  1. #ifndef _ASM_X86_PCI_64_H
  2. #define _ASM_X86_PCI_64_H
  3.  
  4. #ifdef __KERNEL__
  5.  
  6. #ifdef CONFIG_CALGARY_IOMMU
  7. static inline void *pci_iommu(struct pci_bus *bus)
  8. {
  9.     struct pci_sysdata *sd = bus->sysdata;
  10.     return sd->iommu;
  11. }
  12.  
  13. static inline void set_pci_iommu(struct pci_bus *bus, void *val)
  14. {
  15.     struct pci_sysdata *sd = bus->sysdata;
  16.     sd->iommu = val;
  17. }
  18. #endif /* CONFIG_CALGARY_IOMMU */
  19.  
  20. extern int (*pci_config_read)(int seg, int bus, int dev, int fn,
  21.                   int reg, int len, u32 *value);
  22. extern int (*pci_config_write)(int seg, int bus, int dev, int fn,
  23.                    int reg, int len, u32 value);
  24.  
  25. extern void dma32_reserve_bootmem(void);
  26. extern void pci_iommu_alloc(void);
  27.  
  28. /* The PCI address space does equal the physical memory
  29.  * address space.  The networking and block device layers use
  30.  * this boolean for bounce buffer decisions
  31.  *
  32.  * On AMD64 it mostly equals, but we set it to zero if a hardware
  33.  * IOMMU (gart) of sotware IOMMU (swiotlb) is available.
  34.  */
  35. #define PCI_DMA_BUS_IS_PHYS (dma_ops->is_phys)
  36.  
  37. #define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME)    \
  38.     dma_addr_t ADDR_NAME;
  39. #define DECLARE_PCI_UNMAP_LEN(LEN_NAME)        \
  40.     __u32 LEN_NAME;
  41. #define pci_unmap_addr(PTR, ADDR_NAME)            \
  42.     ((PTR)->ADDR_NAME)
  43. #define pci_unmap_addr_set(PTR, ADDR_NAME, VAL)        \
  44.     (((PTR)->ADDR_NAME) = (VAL))
  45. #define pci_unmap_len(PTR, LEN_NAME)            \
  46.     ((PTR)->LEN_NAME)
  47. #define pci_unmap_len_set(PTR, LEN_NAME, VAL)        \
  48.     (((PTR)->LEN_NAME) = (VAL))
  49.  
  50. #endif /* __KERNEL__ */
  51.  
  52. #endif /* _ASM_X86_PCI_64_H */
  53.