pci_32.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #ifndef __SPARC_PCI_H
  2. #define __SPARC_PCI_H
  3. #ifdef __KERNEL__
  4. #include <linux/dma-mapping.h>
  5. /* Can be used to override the logic in pci_scan_bus for skipping
  6. * already-configured bus numbers - to be used for buggy BIOSes
  7. * or architectures with incomplete PCI setup by the loader.
  8. */
  9. #define pcibios_assign_all_busses() 0
  10. #define PCIBIOS_MIN_IO 0UL
  11. #define PCIBIOS_MIN_MEM 0UL
  12. #define PCI_IRQ_NONE 0xffffffff
  13. static inline void pcibios_penalize_isa_irq(int irq, int active)
  14. {
  15. /* We don't do dynamic PCI IRQ allocation */
  16. }
  17. /* Dynamic DMA mapping stuff.
  18. */
  19. #define PCI_DMA_BUS_IS_PHYS (0)
  20. struct pci_dev;
  21. #ifdef CONFIG_PCI
  22. static inline void pci_dma_burst_advice(struct pci_dev *pdev,
  23. enum pci_dma_burst_strategy *strat,
  24. unsigned long *strategy_parameter)
  25. {
  26. *strat = PCI_DMA_BURST_INFINITY;
  27. *strategy_parameter = ~0UL;
  28. }
  29. #endif
  30. #endif /* __KERNEL__ */
  31. #ifndef CONFIG_LEON_PCI
  32. /* generic pci stuff */
  33. #include <asm-generic/pci.h>
  34. #else
  35. /*
  36. * On LEON PCI Memory space is mapped 1:1 with physical address space.
  37. *
  38. * I/O space is located at low 64Kbytes in PCI I/O space. The I/O addresses
  39. * are converted into CPU addresses to virtual addresses that are mapped with
  40. * MMU to the PCI Host PCI I/O space window which are translated to the low
  41. * 64Kbytes by the Host controller.
  42. */
  43. static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
  44. {
  45. return PCI_IRQ_NONE;
  46. }
  47. #endif
  48. #endif /* __SPARC_PCI_H */