FreeBSD kernel amd64 PCI device code
pci_if.m File Reference
#include <sys/bus.h>
#include <dev/pci/pcivar.h>
Include dependency graph for pci_if.m:

Go to the source code of this file.

Enumerations

enum  pci_id_type { PCI_ID_RID , PCI_ID_MSI }
 
enum  pci_feature { PCI_FEATURE_HP , PCI_FEATURE_AER }
 

Variables

INTERFACE pci
 
 CODE
 
 HEADER
 
METHOD u_int32_t read_config
 
device_t child
 
int reg
 
int width
 
METHOD void write_config
 
u_int32_t val
 
METHOD int get_powerstate
 
METHOD int set_powerstate
 
int state
 
METHOD int get_vpd_ident
 
const char ** identptr
 
METHOD int get_vpd_readonly
 
const char * kw
 
const char ** vptr
 
METHOD int enable_busmaster
 
METHOD int disable_busmaster
 
METHOD int enable_io
 
int space
 
METHOD int disable_io
 
METHOD int assign_interrupt
 
METHOD int find_cap
 
int capability
 
int * capreg
 
METHOD int find_next_cap
 
int start
 
METHOD int find_extcap
 
METHOD int find_next_extcap
 
METHOD int find_htcap
 
METHOD int find_next_htcap
 
METHOD int alloc_msi
 
int * count
 
METHOD int alloc_msix
 
METHOD void enable_msi
 
uint64_t address
 
uint16_t data
 
METHOD void enable_msix
 
u_int index
 
METHOD void disable_msi
 
METHOD int remap_msix
 
const u_int * vectors
 
METHOD int release_msi
 
METHOD int msi_count
 
DEFAULT null_msi_count
 
METHOD int msix_count
 
METHOD int msix_pba_bar
 
DEFAULT null_msix_bar
 
METHOD int msix_table_bar
 
METHOD int get_id
 
enum pci_id_type type
 
uintptr_t * id
 
METHOD struct pci_devinfo * alloc_devinfo
 
METHOD void child_added
 
METHOD int iov_attach
 
struct nvlist * pf_schema
 
struct nvlist * vf_schema
 
const char * name
 
METHOD int iov_detach
 
METHOD device_t create_iov_child
 
device_t pf
 
uint16_t rid
 
uint16_t vid
 
uint16_t did
 
DEFAULT null_create_iov_child
 

Enumeration Type Documentation

◆ pci_feature

Enumerator
PCI_FEATURE_HP 
PCI_FEATURE_AER 

Definition at line 64 of file pci_if.m.

◆ pci_id_type

Enumerator
PCI_ID_RID 
PCI_ID_MSI 

Definition at line 59 of file pci_if.m.

Variable Documentation

◆ address

uint64_t address

◆ alloc_devinfo

METHOD struct pci_devinfo* alloc_devinfo
Initial value:
{
device_t dev
device_t dev
Definition: pcib_if.m:109

Definition at line 253 of file pci_if.m.

◆ alloc_msi

METHOD int alloc_msi
Initial value:
{
device_t dev

Definition at line 182 of file pci_if.m.

◆ alloc_msix

METHOD int alloc_msix
Initial value:
{
device_t dev

Definition at line 188 of file pci_if.m.

◆ assign_interrupt

METHOD int assign_interrupt
Initial value:
{
device_t dev

Definition at line 132 of file pci_if.m.

◆ capability

◆ capreg

◆ child

device_t child

Definition at line 73 of file pci_if.m.

Referenced by generic_pcie_acpi_alloc_msi(), generic_pcie_acpi_alloc_msix(), generic_pcie_acpi_get_id(), generic_pcie_acpi_map_msi(), generic_pcie_acpi_release_msi(), generic_pcie_acpi_release_msix(), generic_pcie_activate_resource(), generic_pcie_adjust_resource(), generic_pcie_deactivate_resource(), generic_pcie_fdt_alloc_msi(), generic_pcie_fdt_alloc_msix(), generic_pcie_fdt_map_msi(), generic_pcie_fdt_release_msi(), generic_pcie_fdt_release_msix(), generic_pcie_get_id(), generic_pcie_get_xref(), generic_pcie_map_id(), generic_pcie_ofw_get_devinfo(), isab_pci_alloc_resource(), isab_pci_release_resource(), pci_activate_resource(), pci_alloc_msi_method(), pci_alloc_msix_method(), pci_alloc_multi_resource(), pci_alloc_resource(), pci_assign_interrupt_method(), pci_child_deleted(), pci_child_detached(), pci_child_location_method(), pci_child_pnpinfo_method(), pci_clear_command_bit(), pci_deactivate_resource(), pci_delete_resource(), pci_disable_busmaster_method(), pci_disable_io_method(), pci_disable_msi_method(), pci_driver_added(), pci_dw_alloc_msi(), pci_dw_alloc_msix(), pci_dw_get_id(), pci_dw_map_msi(), pci_dw_release_msi(), pci_dw_release_msix(), pci_enable_busmaster_method(), pci_enable_io_method(), pci_enable_msi_method(), pci_enable_msix_method(), pci_find_cap_method(), pci_find_extcap_method(), pci_find_htcap_method(), pci_find_next_cap_method(), pci_find_next_extcap_method(), pci_find_next_htcap_method(), pci_get_device_path_method(), pci_get_id_method(), pci_get_powerstate_method(), pci_get_resource_list(), pci_get_vpd_ident_method(), pci_get_vpd_readonly_method(), pci_hint_device_unit(), pci_host_generic_core_alloc_resource(), pci_host_generic_core_release_resource(), pci_hostb_assign_interrupt(), pci_hostb_disable_busmaster(), pci_hostb_disable_io(), pci_hostb_enable_busmaster(), pci_hostb_enable_io(), pci_hostb_get_powerstate(), pci_hostb_set_powerstate(), pci_iov_is_child_vf(), pci_match_device(), pci_msi_count_method(), pci_msix_count_method(), pci_msix_pba_bar_method(), pci_msix_table_bar_method(), pci_print_child(), pci_probe_nomatch(), pci_read_config_method(), pci_read_ivar(), pci_release_msi_method(), pci_release_msix(), pci_release_resource(), pci_remap_msix_method(), pci_rescan_method(), pci_reserve_map(), pci_reset_child(), pci_reset_post(), pci_reset_prepare(), pci_resume(), pci_resume_child(), pci_set_command_bit(), pci_set_power_child(), pci_set_powerstate_method(), pci_setup_intr(), pci_suspend_child(), pci_teardown_intr(), pci_vf_alloc_mem_resource(), pci_vf_release_mem_resource(), pci_write_config_method(), pci_write_ivar(), pcib_alloc_resource(), pcib_reset_child(), vga_pci_alloc_msi(), vga_pci_alloc_msix(), vga_pci_assign_interrupt(), vga_pci_disable_io(), vga_pci_enable_io(), vga_pci_get_powerstate(), vga_pci_release_msi(), vga_pci_remap_msix(), and vga_pci_set_powerstate().

◆ child_added

METHOD void child_added
Initial value:
{
device_t dev

Definition at line 257 of file pci_if.m.

◆ CODE

CODE
Initial value:
{
static int
null_msi_count(device_t dev, device_t child)
{
return (0);
}
static int
null_msix_bar(device_t dev, device_t child)
{
return (-1);
}
static device_t
null_create_iov_child(device_t bus, device_t pf, uint16_t rid,
uint16_t vid, uint16_t did)
{
device_printf(bus, "PCI_IOV not implemented on this bus.\n");
return (NULL);
}
}
DEFAULT null_msi_count
Definition: pci_if.m:229
device_t child
Definition: pci_if.m:73
device_t pf
Definition: pci_if.m:277
uint16_t rid
Definition: pci_if.m:278
uint16_t vid
Definition: pci_if.m:279
DEFAULT null_msix_bar
Definition: pci_if.m:239
uint16_t did
Definition: pci_if.m:280
DEFAULT null_create_iov_child
Definition: pci_if.m:281
u_int bus
Definition: pcib_if.m:79

Definition at line 34 of file pci_if.m.

◆ count

◆ create_iov_child

METHOD device_t create_iov_child
Initial value:
{
device_t bus

Definition at line 275 of file pci_if.m.

◆ data

◆ did

uint16_t did

Definition at line 280 of file pci_if.m.

Referenced by pci_fill_devinfo(), pci_iov_enumerate_vfs(), and pci_read_device().

◆ disable_busmaster

METHOD int disable_busmaster
Initial value:
{
device_t dev

Definition at line 115 of file pci_if.m.

◆ disable_io

METHOD int disable_io
Initial value:
{
device_t dev

Definition at line 126 of file pci_if.m.

◆ disable_msi

METHOD void disable_msi
Initial value:
{
device_t dev

Definition at line 209 of file pci_if.m.

◆ enable_busmaster

METHOD int enable_busmaster
Initial value:
{
device_t dev

Definition at line 110 of file pci_if.m.

◆ enable_io

METHOD int enable_io
Initial value:
{
device_t dev

Definition at line 120 of file pci_if.m.

◆ enable_msi

METHOD void enable_msi
Initial value:
{
device_t dev

Definition at line 194 of file pci_if.m.

◆ enable_msix

METHOD void enable_msix
Initial value:
{
device_t dev

Definition at line 201 of file pci_if.m.

◆ find_cap

METHOD int find_cap
Initial value:
{
device_t dev

Definition at line 137 of file pci_if.m.

◆ find_extcap

METHOD int find_extcap
Initial value:
{
device_t dev

Definition at line 152 of file pci_if.m.

◆ find_htcap

METHOD int find_htcap
Initial value:
{
device_t dev

Definition at line 167 of file pci_if.m.

◆ find_next_cap

METHOD int find_next_cap
Initial value:
{
device_t dev

Definition at line 144 of file pci_if.m.

◆ find_next_extcap

METHOD int find_next_extcap
Initial value:
{
device_t dev

Definition at line 159 of file pci_if.m.

◆ find_next_htcap

METHOD int find_next_htcap
Initial value:
{
device_t dev

Definition at line 174 of file pci_if.m.

◆ get_id

METHOD int get_id
Initial value:
{
device_t dev

Definition at line 246 of file pci_if.m.

◆ get_powerstate

METHOD int get_powerstate
Initial value:
{
device_t dev

Definition at line 86 of file pci_if.m.

◆ get_vpd_ident

METHOD int get_vpd_ident
Initial value:
{
device_t dev

Definition at line 97 of file pci_if.m.

◆ get_vpd_readonly

METHOD int get_vpd_readonly
Initial value:
{
device_t dev

Definition at line 103 of file pci_if.m.

◆ HEADER

HEADER
Initial value:
{
struct nvlist

Definition at line 56 of file pci_if.m.

◆ id

uintptr_t* id

Definition at line 250 of file pci_if.m.

Referenced by host_pcib_get_busno(), pci_hostb_probe(), and pci_match_device().

◆ identptr

const char** identptr

Definition at line 100 of file pci_if.m.

Referenced by pci_get_vpd_ident_method(), and vga_pci_get_vpd_ident().

◆ index

◆ iov_attach

METHOD int iov_attach
Initial value:
{
device_t dev

Definition at line 262 of file pci_if.m.

◆ iov_detach

METHOD int iov_detach
Initial value:
{
device_t dev

Definition at line 270 of file pci_if.m.

◆ kw

const char* kw

Definition at line 106 of file pci_if.m.

Referenced by pci_get_vpd_readonly_method(), and vga_pci_get_vpd_readonly().

◆ msi_count

METHOD int msi_count
Initial value:
{
device_t dev

Definition at line 226 of file pci_if.m.

◆ msix_count

METHOD int msix_count
Initial value:
{
device_t dev

Definition at line 231 of file pci_if.m.

◆ msix_pba_bar

METHOD int msix_pba_bar
Initial value:
{
device_t dev

Definition at line 236 of file pci_if.m.

◆ msix_table_bar

METHOD int msix_table_bar
Initial value:
{
device_t dev

Definition at line 241 of file pci_if.m.

◆ name

◆ null_create_iov_child

DEFAULT null_create_iov_child

Definition at line 281 of file pci_if.m.

◆ null_msi_count

DEFAULT null_msi_count

Definition at line 229 of file pci_if.m.

◆ null_msix_bar

DEFAULT null_msix_bar

Definition at line 239 of file pci_if.m.

◆ pci

◆ pf

◆ pf_schema

struct nvlist* pf_schema

◆ read_config

METHOD u_int32_t read_config
Initial value:
{
device_t dev

Definition at line 71 of file pci_if.m.

Referenced by host_pcib_get_busno().

◆ reg

int reg

Definition at line 74 of file pci_if.m.

◆ release_msi

METHOD int release_msi
Initial value:
{
device_t dev

Definition at line 221 of file pci_if.m.

◆ remap_msix

METHOD int remap_msix
Initial value:
{
device_t dev

Definition at line 214 of file pci_if.m.

◆ rid

◆ set_powerstate

METHOD int set_powerstate
Initial value:
{
device_t dev

Definition at line 91 of file pci_if.m.

◆ space

◆ start

int start

Definition at line 148 of file pci_if.m.

◆ state

◆ type

◆ val

◆ vectors

const u_int* vectors

Definition at line 218 of file pci_if.m.

Referenced by pci_remap_msix_method(), and vga_pci_remap_msix().

◆ vf_schema

struct nvlist* vf_schema

◆ vid

uint16_t vid

Definition at line 279 of file pci_if.m.

Referenced by pci_fill_devinfo(), pci_iov_enumerate_vfs(), and pci_read_device().

◆ vptr

const char** vptr

Definition at line 107 of file pci_if.m.

Referenced by pci_get_vpd_readonly_method(), and vga_pci_get_vpd_readonly().

◆ width

int width

Definition at line 75 of file pci_if.m.

◆ write_config

METHOD void write_config
Initial value:
{
device_t dev

Definition at line 78 of file pci_if.m.