📄 pci.h
字号:
#ifndef _ASM_IA64_PCI_H#define _ASM_IA64_PCI_H#include <linux/slab.h>#include <linux/string.h>#include <linux/types.h>#include <linux/spinlock.h>#include <asm/io.h>#include <asm/scatterlist.h>/* * Can be used to override the logic in pci_scan_bus for skipping already-configured bus * numbers - to be used for buggy BIOSes or architectures with incomplete PCI setup by the * loader. */#define pcibios_assign_all_busses() 0#define PCIBIOS_MIN_IO 0x1000#define PCIBIOS_MIN_MEM 0x10000000struct pci_dev;static inline voidpcibios_set_master (struct pci_dev *dev){ /* No special bus mastering setup handling */}static inline voidpcibios_penalize_isa_irq (int irq){ /* We don't do dynamic PCI IRQ allocation */}/* * Dynamic DMA mapping API. See Documentation/DMA-mapping.txt for details. */#define pci_alloc_consistent platform_pci_alloc_consistent#define pci_free_consistent platform_pci_free_consistent#define pci_map_single platform_pci_map_single#define pci_unmap_single platform_pci_unmap_single#define pci_map_sg platform_pci_map_sg#define pci_unmap_sg platform_pci_unmap_sg#define pci_dma_sync_single platform_pci_dma_sync_single#define pci_dma_sync_sg platform_pci_dma_sync_sg#define sg_dma_address platform_pci_dma_address/* pci_unmap_{single,page} is not a nop, thus... */#define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME) \ dma_addr_t ADDR_NAME;#define DECLARE_PCI_UNMAP_LEN(LEN_NAME) \ __u32 LEN_NAME;#define pci_unmap_addr(PTR, ADDR_NAME) \ ((PTR)->ADDR_NAME)#define pci_unmap_addr_set(PTR, ADDR_NAME, VAL) \ (((PTR)->ADDR_NAME) = (VAL))#define pci_unmap_len(PTR, LEN_NAME) \ ((PTR)->LEN_NAME)#define pci_unmap_len_set(PTR, LEN_NAME, VAL) \ (((PTR)->LEN_NAME) = (VAL))/* * Return whether the given PCI device DMA address mask can be supported properly. For * example, if your device can only drive the low 24-bits during PCI bus mastering, then * you would pass 0x00ffffff as the mask to this function. */static inline intpci_dma_supported (struct pci_dev *hwdev, u64 mask){ return 1;}#define pci_map_page(dev,pg,off,size,dir) \ pci_map_single((dev), page_address(pg) + (off), (size), (dir))#define pci_unmap_page(dev,dma_addr,size,dir) \ pci_unmap_single((dev), (dma_addr), (size), (dir))/* The ia64 platform always supports 64-bit addressing. */#define pci_dac_dma_supported(pci_dev, mask) (1)#define pci_dac_page_to_dma(dev,pg,off,dir) ((dma64_addr_t) page_to_bus(pg) + (off))#define pci_dac_dma_to_page(dev,dma_addr) (virt_to_page(bus_to_virt(dma_addr)))#define pci_dac_dma_to_offset(dev,dma_addr) ((dma_addr) & ~PAGE_MASK)#define pci_dac_dma_sync_single(dev,dma_addr,len,dir) do { /* nothing */ } while (0)/* Return the index of the PCI controller for device PDEV. */#define pci_controller_num(PDEV) (0)#define sg_dma_len(sg) ((sg)->length)#define HAVE_PCI_MMAPextern int pci_mmap_page_range (struct pci_dev *dev, struct vm_area_struct *vma, enum pci_mmap_state mmap_state, int write_combine);#endif /* _ASM_IA64_PCI_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -