Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v2.6.13-rc4 105 lines 2.9 kB view raw
1#ifndef __ASM_CRIS_PCI_H 2#define __ASM_CRIS_PCI_H 3 4#include <linux/config.h> 5 6#ifdef __KERNEL__ 7#include <linux/mm.h> /* for struct page */ 8 9/* Can be used to override the logic in pci_scan_bus for skipping 10 already-configured bus numbers - to be used for buggy BIOSes 11 or architectures with incomplete PCI setup by the loader */ 12 13#define pcibios_assign_all_busses(void) 1 14 15extern unsigned long pci_mem_start; 16#define PCIBIOS_MIN_IO 0x1000 17#define PCIBIOS_MIN_MEM 0x10000000 18 19#define PCIBIOS_MIN_CARDBUS_IO 0x4000 20 21void pcibios_config_init(void); 22struct pci_bus * pcibios_scan_root(int bus); 23int pcibios_assign_resources(void); 24 25void pcibios_set_master(struct pci_dev *dev); 26void pcibios_penalize_isa_irq(int irq); 27struct irq_routing_table *pcibios_get_irq_routing_table(void); 28int pcibios_set_irq_routing(struct pci_dev *dev, int pin, int irq); 29 30/* Dynamic DMA mapping stuff. 31 * i386 has everything mapped statically. 32 */ 33 34#include <linux/types.h> 35#include <linux/slab.h> 36#include <asm/scatterlist.h> 37#include <linux/string.h> 38#include <asm/io.h> 39 40struct pci_dev; 41 42/* The PCI address space does equal the physical memory 43 * address space. The networking and block device layers use 44 * this boolean for bounce buffer decisions. 45 */ 46#define PCI_DMA_BUS_IS_PHYS (1) 47 48/* pci_unmap_{page,single} is a nop so... */ 49#define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME) 50#define DECLARE_PCI_UNMAP_LEN(LEN_NAME) 51#define pci_unmap_addr(PTR, ADDR_NAME) (0) 52#define pci_unmap_addr_set(PTR, ADDR_NAME, VAL) do { } while (0) 53#define pci_unmap_len(PTR, LEN_NAME) (0) 54#define pci_unmap_len_set(PTR, LEN_NAME, VAL) do { } while (0) 55 56/* This is always fine. */ 57#define pci_dac_dma_supported(pci_dev, mask) (1) 58 59static inline dma64_addr_t 60pci_dac_page_to_dma(struct pci_dev *pdev, struct page *page, unsigned long offset, int direction) 61{ 62 return ((dma64_addr_t) page_to_phys(page) + 63 (dma64_addr_t) offset); 64} 65 66static inline struct page * 67pci_dac_dma_to_page(struct pci_dev *pdev, dma64_addr_t dma_addr) 68{ 69 return pfn_to_page(dma_addr >> PAGE_SHIFT); 70} 71 72static inline unsigned long 73pci_dac_dma_to_offset(struct pci_dev *pdev, dma64_addr_t dma_addr) 74{ 75 return (dma_addr & ~PAGE_MASK); 76} 77 78static inline void 79pci_dac_dma_sync_single_for_cpu(struct pci_dev *pdev, dma64_addr_t dma_addr, size_t len, int direction) 80{ 81} 82 83static inline void 84pci_dac_dma_sync_single_for_device(struct pci_dev *pdev, dma64_addr_t dma_addr, size_t len, int direction) 85{ 86} 87 88#define HAVE_PCI_MMAP 89extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, 90 enum pci_mmap_state mmap_state, int write_combine); 91 92 93static inline void pcibios_add_platform_entries(struct pci_dev *dev) 94{ 95} 96 97#endif /* __KERNEL__ */ 98 99/* implement the pci_ DMA API in terms of the generic device dma_ one */ 100#include <asm-generic/pci-dma-compat.h> 101 102/* generic pci stuff */ 103#include <asm-generic/pci.h> 104 105#endif /* __ASM_CRIS_PCI_H */