June 2025 | ||||||
Mo | Tu | We | Th | Fr | Sa | Su |
26 | 27 | 28 | 29 | 30 | 31 | 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 1 | 2 | 3 | 4 | 5 | 6 |
01: /* 02: * pci.h 03: * 04: * PCI defines and function prototypes 05: * Copyright 1994, Drew Eckhardt 06: * Copyright 1997--1999 Martin Mares <mj@ucw.cz> 07: * 08: * For more information, please consult the following manuals (look at 09: * http://www.pcisig.com/ for how to get them): 10: * 11: * PCI BIOS Specification 12: * PCI Local Bus Specification 13: * PCI to PCI Bridge Specification 14: * PCI System Design Guide 15: */ 16: 17: #ifndef LINUX_PCI_H 18: #define LINUX_PCI_H 19: 20: #include <linux/pci_regs.h> /* The pci register defines */ 21: 22: /* 23: * The PCI interface treats multi-function devices as independent 24: * devices. The slot/function address of each device is encoded 25: * in a single byte as follows: 26: * 27: * 7:3 = slot 28: * 2:0 = function 29: */ 30: #define PCI_DEVFN(slot, func) ((((slot) & 0x1f) << 3) | ((func) & 0x07)) 31: #define PCI_SLOT(devfn) (((devfn) >> 3) & 0x1f) 32: #define PCI_FUNC(devfn) ((devfn) & 0x07) 33: 34: /* Ioctls for /proc/bus/pci/X/Y nodes. */ 35: #define PCIIOC_BASE ('P' << 24 | 'C' << 16 | 'I' << 8) 36: #define PCIIOC_CONTROLLER (PCIIOC_BASE | 0x00) /* Get controller for PCI device. */ 37: #define PCIIOC_MMAP_IS_IO (PCIIOC_BASE | 0x01) /* Set mmap state to I/O space. */ 38: #define PCIIOC_MMAP_IS_MEM (PCIIOC_BASE | 0x02) /* Set mmap state to MEM space. */ 39: #define PCIIOC_WRITE_COMBINE (PCIIOC_BASE | 0x03) /* Enable/disable write-combining. */ 40: 41: #endif /* LINUX_PCI_H */ 42: