FreeBSD kernel amd64 PCI device code
|
#include <sys/cdefs.h>
#include "opt_platform.h"
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/malloc.h>
#include <sys/kernel.h>
#include <sys/rman.h>
#include <sys/module.h>
#include <sys/bus.h>
#include <sys/endian.h>
#include <dev/pci/pcivar.h>
#include <dev/pci/pcireg.h>
#include <dev/pci/pcib_private.h>
#include <dev/pci/pci_host_generic.h>
#include <machine/bus.h>
#include <machine/intr.h>
#include "pcib_if.h"
Go to the source code of this file.
Functions | |
__FBSDID ("$FreeBSD$") | |
static uint32_t | generic_pcie_read_config (device_t dev, u_int bus, u_int slot, u_int func, u_int reg, int bytes) |
static void | generic_pcie_write_config (device_t dev, u_int bus, u_int slot, u_int func, u_int reg, uint32_t val, int bytes) |
static int | generic_pcie_maxslots (device_t dev) |
static int | generic_pcie_read_ivar (device_t dev, device_t child, int index, uintptr_t *result) |
static int | generic_pcie_write_ivar (device_t dev, device_t child, int index, uintptr_t value) |
int | pci_host_generic_core_attach (device_t dev) |
static struct rman * | generic_pcie_rman (struct generic_pcie_core_softc *sc, int type, int flags) |
int | pci_host_generic_core_release_resource (device_t dev, device_t child, int type, int rid, struct resource *res) |
static int | generic_pcie_translate_resource_common (device_t dev, int type, rman_res_t start, rman_res_t end, rman_res_t *new_start, rman_res_t *new_end) |
static int | generic_pcie_translate_resource (device_t bus, int type, rman_res_t start, rman_res_t *newstart) |
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) |
static int | generic_pcie_activate_resource (device_t dev, device_t child, int type, int rid, struct resource *r) |
static int | generic_pcie_deactivate_resource (device_t dev, device_t child, int type, int rid, struct resource *r) |
static int | generic_pcie_adjust_resource (device_t dev, device_t child, int type, struct resource *res, rman_res_t start, rman_res_t end) |
static bus_dma_tag_t | generic_pcie_get_dma_tag (device_t dev, device_t child) |
DEFINE_CLASS_0 (pcib, generic_pcie_core_driver, generic_pcie_methods, sizeof(struct generic_pcie_core_softc)) | |
Variables | |
static device_method_t | generic_pcie_methods [] |
__FBSDID | ( | "$FreeBSD$" | ) |
DEFINE_CLASS_0 | ( | pcib | , |
generic_pcie_core_driver | , | ||
generic_pcie_methods | , | ||
sizeof(struct generic_pcie_core_softc) | |||
) |
|
static |
Definition at line 463 of file pci_host_generic.c.
References child, dev, generic_pcie_translate_resource_common(), generic_pcie_core_softc::res, rid, start, and type.
|
static |
Definition at line 514 of file pci_host_generic.c.
References child, dev, generic_pcie_core_softc::ecam, generic_pcie_rman(), start, and type.
|
static |
Definition at line 491 of file pci_host_generic.c.
References child, dev, generic_pcie_core_softc::res, rid, and type.
|
static |
Definition at line 534 of file pci_host_generic.c.
References dev, and generic_pcie_core_softc::dmat.
|
static |
Definition at line 249 of file pci_host_generic.c.
|
static |
Definition at line 173 of file pci_host_generic.c.
References generic_pcie_core_softc::bsh, generic_pcie_core_softc::bst, bus, generic_pcie_core_softc::bus_end, generic_pcie_core_softc::bus_start, data, dev, func, PCI_FUNCMAX, PCI_SLOTMAX, PCIE_ADDR_OFFSET, PCIE_ECAM_DESIGNWARE_QUIRK, PCIE_REGMAX, generic_pcie_core_softc::quirks, reg, and slot.
|
static |
Definition at line 256 of file pci_host_generic.c.
References generic_pcie_core_softc::bus_start, dev, generic_pcie_core_softc::ecam, and index.
|
static |
Definition at line 287 of file pci_host_generic.c.
References generic_pcie_core_softc::has_pmem, generic_pcie_core_softc::io_rman, generic_pcie_core_softc::mem_rman, generic_pcie_core_softc::pmem_rman, and type.
Referenced by generic_pcie_adjust_resource(), pci_host_generic_core_alloc_resource(), and pci_host_generic_core_release_resource().
|
static |
Definition at line 392 of file pci_host_generic.c.
References bus, generic_pcie_translate_resource_common(), start, and type.
|
static |
Definition at line 335 of file pci_host_generic.c.
References dev, FLAG_TYPE, FLAG_TYPE_IO, FLAG_TYPE_MEM, FLAG_TYPE_PMEM, pcie_range::flags, MAX_RANGES_TUPLES, pcie_range::pci_base, pcie_range::phys_base, generic_pcie_core_softc::ranges, pcie_range::size, space, start, and type.
Referenced by generic_pcie_activate_resource(), generic_pcie_translate_resource(), and pci_host_generic_core_alloc_resource().
|
static |
Definition at line 213 of file pci_host_generic.c.
References generic_pcie_core_softc::bsh, generic_pcie_core_softc::bst, bus, generic_pcie_core_softc::bus_end, generic_pcie_core_softc::bus_start, dev, func, PCI_FUNCMAX, PCI_SLOTMAX, PCIE_ADDR_OFFSET, PCIE_REGMAX, reg, slot, and val.
|
static |
Definition at line 279 of file pci_host_generic.c.
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.
|
static |
Definition at line 542 of file pci_host_generic.c.