FreeBSD kernel amd64 PCI device code
|
#include "pci_if.h"
Go to the source code of this file.
Data Structures | |
struct | pcie_range |
struct | generic_pcie_core_softc |
Macros | |
#define | PCIE_BUS_SHIFT 20 |
#define | PCIE_SLOT_SHIFT 15 |
#define | PCIE_FUNC_SHIFT 12 |
#define | PCIE_BUS_MASK 0xFF |
#define | PCIE_SLOT_MASK 0x1F |
#define | PCIE_FUNC_MASK 0x07 |
#define | PCIE_REG_MASK 0xFFF |
#define | PCIE_ADDR_OFFSET(bus, slot, func, reg) |
#define | MAX_RANGES_TUPLES 16 |
#define | MIN_RANGES_TUPLES 2 |
#define | FLAG_TYPE(x) ((x) & FLAG_TYPE_MASK) |
#define | FLAG_TYPE_MASK 0x3 |
#define | FLAG_TYPE_INVALID 0x0 |
#define | FLAG_TYPE_IO 0x1 |
#define | FLAG_TYPE_MEM 0x2 |
#define | FLAG_TYPE_PMEM 0x3 |
#define | PCIE_ECAM_DESIGNWARE_QUIRK (1 << 0) |
Functions | |
DECLARE_CLASS (generic_pcie_core_driver) | |
int | pci_host_generic_core_attach (device_t) |
struct resource * | pci_host_generic_core_alloc_resource (device_t, device_t, int, int *, rman_res_t, rman_res_t, rman_res_t, u_int) |
int | pci_host_generic_core_release_resource (device_t, device_t, int, int, struct resource *) |
#define FLAG_TYPE | ( | x | ) | ((x) & FLAG_TYPE_MASK) |
Definition at line 62 of file pci_host_generic.h.
#define FLAG_TYPE_INVALID 0x0 |
Definition at line 64 of file pci_host_generic.h.
#define FLAG_TYPE_IO 0x1 |
Definition at line 65 of file pci_host_generic.h.
#define FLAG_TYPE_MASK 0x3 |
Definition at line 63 of file pci_host_generic.h.
#define FLAG_TYPE_MEM 0x2 |
Definition at line 66 of file pci_host_generic.h.
#define FLAG_TYPE_PMEM 0x3 |
Definition at line 67 of file pci_host_generic.h.
#define MAX_RANGES_TUPLES 16 |
Definition at line 54 of file pci_host_generic.h.
#define MIN_RANGES_TUPLES 2 |
Definition at line 55 of file pci_host_generic.h.
Definition at line 48 of file pci_host_generic.h.
#define PCIE_BUS_MASK 0xFF |
Definition at line 43 of file pci_host_generic.h.
#define PCIE_BUS_SHIFT 20 |
Definition at line 40 of file pci_host_generic.h.
#define PCIE_ECAM_DESIGNWARE_QUIRK (1 << 0) |
Definition at line 92 of file pci_host_generic.h.
#define PCIE_FUNC_MASK 0x07 |
Definition at line 45 of file pci_host_generic.h.
#define PCIE_FUNC_SHIFT 12 |
Definition at line 42 of file pci_host_generic.h.
#define PCIE_REG_MASK 0xFFF |
Definition at line 46 of file pci_host_generic.h.
#define PCIE_SLOT_MASK 0x1F |
Definition at line 44 of file pci_host_generic.h.
#define PCIE_SLOT_SHIFT 15 |
Definition at line 41 of file pci_host_generic.h.
DECLARE_CLASS | ( | generic_pcie_core_driver | ) |
struct resource * pci_host_generic_core_alloc_resource | ( | device_t | dev, |
device_t | child, | ||
int | type, | ||
int * | rid, | ||
rman_res_t | start, | ||
rman_res_t | end, | ||
rman_res_t | count, | ||
u_int | flags | ||
) |
Definition at line 402 of file pci_host_generic.c.
References child, count, dev, generic_pcie_core_softc::ecam, generic_pcie_rman(), generic_pcie_translate_resource_common(), rid, start, and type.
int pci_host_generic_core_attach | ( | device_t | dev | ) |
Definition at line 70 of file pci_host_generic.c.
References generic_pcie_core_softc::bsh, generic_pcie_core_softc::bst, generic_pcie_core_softc::coherent, generic_pcie_core_softc::dev, dev, generic_pcie_core_softc::dmat, FLAG_TYPE, FLAG_TYPE_IO, FLAG_TYPE_MEM, FLAG_TYPE_PMEM, pcie_range::flags, generic_pcie_core_softc::has_pmem, generic_pcie_core_softc::io_rman, MAX_RANGES_TUPLES, generic_pcie_core_softc::mem_rman, pcie_range::pci_base, pcie_range::phys_base, generic_pcie_core_softc::pmem_rman, generic_pcie_core_softc::ranges, generic_pcie_core_softc::res, rid, and pcie_range::size.
Referenced by pci_host_generic_acpi_init(), and pci_host_generic_setup_fdt().
int pci_host_generic_core_release_resource | ( | device_t | dev, |
device_t | child, | ||
int | type, | ||
int | rid, | ||
struct resource * | res | ||
) |
Definition at line 305 of file pci_host_generic.c.
References child, dev, generic_pcie_core_softc::ecam, generic_pcie_rman(), rid, and type.