~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/asm-generic/pci.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/asm-generic/pci.h (Version linux-6.11.5) and /include/asm-i386/pci.h (Version linux-2.6.0)


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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php