home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-xtensa / pci.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  2.4 KB  |  90 lines

  1. /*
  2.  * linux/include/asm-xtensa/pci.h
  3.  *
  4.  * This file is subject to the terms and conditions of the GNU General Public
  5.  * License.  See the file "COPYING" in the main directory of this archive
  6.  * for more details.
  7.  *
  8.  * Copyright (C) 2001 - 2005 Tensilica Inc.
  9.  */
  10.  
  11. #ifndef _XTENSA_PCI_H
  12. #define _XTENSA_PCI_H
  13.  
  14. #ifdef __KERNEL__
  15.  
  16. /* Can be used to override the logic in pci_scan_bus for skipping
  17.  * already-configured bus numbers - to be used for buggy BIOSes
  18.  * or architectures with incomplete PCI setup by the loader
  19.  */
  20.  
  21. #define pcibios_assign_all_busses()    0
  22.  
  23. extern struct pci_controller* pcibios_alloc_controller(void);
  24.  
  25. static inline void pcibios_set_master(struct pci_dev *dev)
  26. {
  27.     /* No special bus mastering setup handling */
  28. }
  29.  
  30. static inline void pcibios_penalize_isa_irq(int irq)
  31. {
  32.     /* We don't do dynamic PCI IRQ allocation */
  33. }
  34.  
  35. /* Assume some values. (We should revise them, if necessary) */
  36.  
  37. #define PCIBIOS_MIN_IO        0x2000
  38. #define PCIBIOS_MIN_MEM        0x10000000
  39.  
  40. /* Dynamic DMA mapping stuff.
  41.  * Xtensa has everything mapped statically like x86.
  42.  */
  43.  
  44. #include <linux/types.h>
  45. #include <linux/slab.h>
  46. #include <asm/scatterlist.h>
  47. #include <linux/string.h>
  48. #include <asm/io.h>
  49.  
  50. struct pci_dev;
  51.  
  52. /* The PCI address space does equal the physical memory address space.
  53.  * The networking and block device layers use this boolean for bounce buffer
  54.  * decisions.
  55.  */
  56.  
  57. #define PCI_DMA_BUS_IS_PHYS    (1)
  58.  
  59. /* pci_unmap_{page,single} is a no-op, so */
  60. #define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME)
  61. #define DECLARE_PCI_UNMAP_LEN(LEN_NAME)
  62. #define pci_unmap_addr(PTR, ADDR_NAME)        (0)
  63. #define pci_unmap_addr_set(PTR, ADDR_NAME, VAL)    do { } while (0)
  64. #define pci_ubnmap_len(PTR, LEN_NAME)        (0)
  65. #define pci_unmap_len_set(PTR, LEN_NAME, VAL)    do { } while (0)
  66.  
  67. /* We cannot access memory above 4GB */
  68. #define pci_dac_dma_supported(pci_dev, mask)    (0)
  69.  
  70. /* Map a range of PCI memory or I/O space for a device into user space */
  71. int pci_mmap_page_range(struct pci_dev *pdev, struct vm_area_struct *vma,
  72.                         enum pci_mmap_state mmap_state, int write_combine);
  73.  
  74. /* Tell drivers/pci/proc.c that we have pci_mmap_page_range() */
  75. #define HAVE_PCI_MMAP    1
  76.  
  77. static inline void pcibios_add_platform_entries(struct pci_dev *dev)
  78. {
  79. }
  80.  
  81. #endif /* __KERNEL__ */
  82.  
  83. /* Implement the pci_ DMA API in terms of the generic device dma_ one */
  84. #include <asm-generic/pci-dma-compat.h>
  85.  
  86. /* Generic PCI */
  87. #include <asm-generic/pci.h>
  88.  
  89. #endif    /* _XTENSA_PCI_H */
  90.