coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
root_complex.c File Reference
#include <acpi/acpigen.h>
#include <amdblocks/acpi.h>
#include <amdblocks/alib.h>
#include <amdblocks/memmap.h>
#include <amdblocks/ioapic.h>
#include <arch/ioapic.h>
#include <assert.h>
#include <cbmem.h>
#include <console/console.h>
#include <cpu/amd/msr.h>
#include <device/device.h>
#include <device/pci.h>
#include <device/pci_ids.h>
#include <fsp/util.h>
#include <stdint.h>
#include <soc/iomap.h>
#include "chip.h"
Include dependency graph for root_complex.c:

Go to the source code of this file.

Data Structures

struct  dptc_input
 

Macros

#define DPTC_TOTAL_UPDATE_PARAMS   4
 
#define DPTC_INPUTS(_thermctllmit, _sustained, _fast, _slow)
 

Functions

static void read_resources (struct device *dev)
 
static void root_complex_init (struct device *dev)
 
static void acipgen_dptci (void)
 
static void root_complex_fill_ssdt (const struct device *device)
 
static const char * gnb_acpi_name (const struct device *dev)
 

Variables

struct dptc_input __packed
 
static struct device_operations root_complex_operations
 
static const struct pci_driver family17_root_complex __pci_driver
 

Macro Definition Documentation

◆ DPTC_INPUTS

#define DPTC_INPUTS (   _thermctllmit,
  _sustained,
  _fast,
  _slow 
)
Value:
{ \
.size = sizeof(struct dptc_input), \
.params = { \
{ \
.value = _thermctllmit, \
}, \
{ \
.value = _sustained, \
}, \
{ \
.value = _fast, \
}, \
{ \
.value = _slow, \
}, \
}, \
}
@ ALIB_DPTC_THERMAL_CONTROL_LIMIT_ID
Definition: alib.h:13
@ ALIB_DPTC_SLOW_PPT_LIMIT_ID
Definition: alib.h:16
@ ALIB_DPTC_SUSTAINED_POWER_LIMIT_ID
Definition: alib.h:14
@ ALIB_DPTC_FAST_PPT_LIMIT_ID
Definition: alib.h:15
static struct sdram_info params
Definition: sdram_configs.c:83

Definition at line 28 of file root_complex.c.

◆ DPTC_TOTAL_UPDATE_PARAMS

#define DPTC_TOTAL_UPDATE_PARAMS   4

Definition at line 21 of file root_complex.c.

Function Documentation

◆ acipgen_dptci()

static void acipgen_dptci ( void  )
static

Definition at line 183 of file root_complex.c.

References acpigen_write_alib_dptc(), config, config_of_soc, and DPTC_INPUTS.

Referenced by root_complex_fill_ssdt().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gnb_acpi_name()

static const char* gnb_acpi_name ( const struct device dev)
static

Definition at line 210 of file root_complex.c.

◆ read_resources()

◆ root_complex_fill_ssdt()

static void root_complex_fill_ssdt ( const struct device device)
static

Definition at line 204 of file root_complex.c.

References acipgen_dptci(), and acpi_fill_root_complex_tom().

Here is the call graph for this function:

◆ root_complex_init()

static void root_complex_init ( struct device dev)
static

Definition at line 178 of file root_complex.c.

References GNB_IOAPIC_ID, and setup_ioapic().

Here is the call graph for this function:

Variable Documentation

◆ __packed

◆ __pci_driver

const struct pci_driver family17_root_complex __pci_driver
static
Initial value:
= {
.vendor = PCI_VID_AMD,
}
#define PCI_DID_AMD_17H_MODEL_101F_NB
Definition: pci_ids.h:506
#define PCI_VID_AMD
Definition: pci_ids.h:496
static struct device_operations root_complex_operations
Definition: root_complex.c:215

Definition at line 210 of file root_complex.c.

◆ root_complex_operations

struct device_operations root_complex_operations
static
Initial value:
= {
.read_resources = read_resources,
.set_resources = noop_set_resources,
.enable_resources = pci_dev_enable_resources,
.acpi_name = gnb_acpi_name,
.acpi_fill_ssdt = root_complex_fill_ssdt,
}
static void noop_set_resources(struct device *dev)
Definition: device.h:74
void pci_dev_enable_resources(struct device *dev)
Definition: pci_device.c:721
static void root_complex_init(struct device *dev)
Definition: root_complex.c:178
static const char * gnb_acpi_name(const struct device *dev)
Definition: root_complex.c:210
static void root_complex_fill_ssdt(const struct device *device)
Definition: root_complex.c:204
static void read_resources(struct device *dev)
Definition: root_complex.c:103

Definition at line 210 of file root_complex.c.