coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
pcie_rp.c File Reference
#include <device/device.h>
#include <intelblocks/pcie_rp.h>
#include <soc/cpu.h>
#include <soc/pci_devs.h>
#include <soc/pcie.h>
Include dependency graph for pcie_rp.c:

Go to the source code of this file.

Macros

#define CPU_CPIE_VW_IDX_BASE   24
 

Functions

const struct pcie_rp_groupget_pch_pcie_rp_table (void)
 
const struct pcie_rp_groupget_cpu_pcie_rp_table (void)
 
const struct pcie_rp_groupget_tbt_pcie_rp_table (void)
 
static bool is_part_of_group (const struct device *dev, const struct pcie_rp_group *groups)
 
enum pcie_rp_type soc_get_pcie_rp_type (const struct device *dev)
 
int soc_get_cpu_rp_vw_idx (const struct device *dev)
 

Variables

static const struct pcie_rp_group pch_lp_rp_groups []
 
static const struct pcie_rp_group pch_m_rp_groups []
 
static const struct pcie_rp_group cpu_rp_groups []
 
static const struct pcie_rp_group cpu_m_rp_groups []
 
static const struct pcie_rp_group cpu_n_rp_groups []
 
static const struct pcie_rp_group tbt_rp_groups []
 

Macro Definition Documentation

◆ CPU_CPIE_VW_IDX_BASE

#define CPU_CPIE_VW_IDX_BASE   24

Definition at line 9 of file pcie_rp.c.

Function Documentation

◆ get_cpu_pcie_rp_table()

const struct pcie_rp_group* get_cpu_pcie_rp_table ( void  )

Definition at line 53 of file pcie_rp.c.

References CONFIG, cpu_m_rp_groups, cpu_n_rp_groups, and cpu_rp_groups.

Referenced by fill_fspm_pcie_rp_params(), and fill_fsps_cpu_pcie_params().

Here is the caller graph for this function:

◆ get_pch_pcie_rp_table()

const struct pcie_rp_group* get_pch_pcie_rp_table ( void  )

Definition at line 23 of file pcie_rp.c.

Referenced by fill_fspm_pcie_rp_params(), fill_fsps_pcie_params(), and soc_init_pre_device().

Here is the caller graph for this function:

◆ get_tbt_pcie_rp_table()

const struct pcie_rp_group* get_tbt_pcie_rp_table ( void  )

Definition at line 75 of file pcie_rp.c.

References tbt_rp_groups.

Referenced by soc_init_pre_device().

Here is the caller graph for this function:

◆ is_part_of_group()

static bool is_part_of_group ( const struct device dev,
const struct pcie_rp_group groups 
)
static

Definition at line 80 of file pcie_rp.c.

References pcie_rp_group::count, pci_path::devfn, DEVICE_PATH_PCI, device::path, device_path::pci, PCI_FUNC, PCI_SLOT, rp_start_fn(), pcie_rp_group::slot, and device_path::type.

Here is the call graph for this function:

◆ soc_get_cpu_rp_vw_idx()

int soc_get_cpu_rp_vw_idx ( const struct device dev)

◆ soc_get_pcie_rp_type()

enum pcie_rp_type soc_get_pcie_rp_type ( const struct device dev)

Definition at line 80 of file pcie_rp.c.

Referenced by pcie_rtd3_acpi_fill_ssdt().

Here is the caller graph for this function:

Variable Documentation

◆ cpu_m_rp_groups

const struct pcie_rp_group cpu_m_rp_groups[]
static
Initial value:
= {
{ .slot = SA_DEV_SLOT_CPU_6, .start = 0, .count = 1, .lcap_port_base = 1 },
{ 0 }
}
#define SA_DEV_SLOT_CPU_6
Definition: pci_devs.h:43

Definition at line 23 of file pcie_rp.c.

Referenced by get_cpu_pcie_rp_table().

◆ cpu_n_rp_groups

const struct pcie_rp_group cpu_n_rp_groups[]
static
Initial value:
= {
{ 0 }
}

Definition at line 23 of file pcie_rp.c.

Referenced by get_cpu_pcie_rp_table().

◆ cpu_rp_groups

const struct pcie_rp_group cpu_rp_groups[]
static
Initial value:
= {
{ .slot = SA_DEV_SLOT_CPU_6, .start = 0, .count = 1, .lcap_port_base = 1 },
{ .slot = SA_DEV_SLOT_CPU_1, .start = 0, .count = 1, .lcap_port_base = 1 },
{ .slot = SA_DEV_SLOT_CPU_6, .start = 2, .count = 1, .lcap_port_base = 1 },
{ 0 }
}
#define SA_DEV_SLOT_CPU_1
Definition: pci_devs.h:28

Definition at line 23 of file pcie_rp.c.

Referenced by get_cpu_pcie_rp_table().

◆ pch_lp_rp_groups

const struct pcie_rp_group pch_lp_rp_groups[]
static
Initial value:
= {
{ .slot = PCH_DEV_SLOT_PCIE, .count = 8, .lcap_port_base = 1 },
{ .slot = PCH_DEV_SLOT_PCIE_1, .count = 4, .lcap_port_base = 1 },
{ 0 }
}
#define PCH_DEV_SLOT_PCIE_1
Definition: pci_devs.h:193
#define PCH_DEV_SLOT_PCIE
Definition: pci_devs.h:175

Definition at line 1 of file pcie_rp.c.

◆ pch_m_rp_groups

const struct pcie_rp_group pch_m_rp_groups[]
static
Initial value:
= {
{ .slot = PCH_DEV_SLOT_PCIE, .count = 8, .lcap_port_base = 1 },
{ .slot = PCH_DEV_SLOT_PCIE_1, .count = 2, .lcap_port_base = 1 },
{ 0 }
}

Definition at line 1 of file pcie_rp.c.

◆ tbt_rp_groups

const struct pcie_rp_group tbt_rp_groups[]
static
Initial value:
= {
{ .slot = SA_DEV_SLOT_TBT, .count = CONFIG_MAX_TBT_ROOT_PORTS, .lcap_port_base = 2 },
{ 0 }
}
#define SA_DEV_SLOT_TBT
Definition: pci_devs.h:47

Definition at line 53 of file pcie_rp.c.

Referenced by get_tbt_pcie_rp_table().