ACPI: Replace uses of CBMEM_ID_ACPI_GNVS
Change-Id: I45a2d9cb7f07609a1ff03fd70f17c3f2d4f013b9
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/48705
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/soc/intel/baytrail/southcluster.c b/src/soc/intel/baytrail/southcluster.c
index d8305c6..428002b 100644
--- a/src/soc/intel/baytrail/southcluster.c
+++ b/src/soc/intel/baytrail/southcluster.c
@@ -7,7 +7,6 @@
#include <acpi/acpi.h>
#include <acpi/acpi_gnvs.h>
#include <bootstate.h>
-#include <cbmem.h>
#include <console/console.h>
#include <cpu/x86/smm.h>
#include <device/device.h>
@@ -486,18 +485,13 @@
static void southcluster_inject_dsdt(const struct device *device)
{
- struct global_nvs *gnvs;
+ struct global_nvs *gnvs = acpi_get_gnvs();
+ if (!gnvs)
+ return;
- gnvs = cbmem_find(CBMEM_ID_ACPI_GNVS);
+ acpi_create_gnvs(gnvs);
- if (gnvs) {
- acpi_create_gnvs(gnvs);
-
- /* Add it to DSDT. */
- acpigen_write_scope("\\");
- acpigen_write_name_dword("NVSA", (u32) gnvs);
- acpigen_pop_len();
- }
+ acpi_inject_nvsa();
}
static struct device_operations device_ops = {
diff --git a/src/soc/intel/braswell/acpi.c b/src/soc/intel/braswell/acpi.c
index 6150222..922f485 100644
--- a/src/soc/intel/braswell/acpi.c
+++ b/src/soc/intel/braswell/acpi.c
@@ -5,7 +5,6 @@
#include <acpi/acpigen.h>
#include <device/mmio.h>
#include <arch/smp/mpspec.h>
-#include <cbmem.h>
#include <console/console.h>
#include <cpu/intel/turbo.h>
#include <cpu/x86/msr.h>
@@ -367,18 +366,13 @@
void southcluster_inject_dsdt(const struct device *device)
{
- struct global_nvs *gnvs;
+ struct global_nvs *gnvs = acpi_get_gnvs();
+ if (!gnvs)
+ return;
- gnvs = cbmem_find(CBMEM_ID_ACPI_GNVS);
+ acpi_create_gnvs(gnvs);
- if (gnvs) {
- acpi_create_gnvs(gnvs);
-
- /* Add it to DSDT */
- acpigen_write_scope("\\");
- acpigen_write_name_dword("NVSA", (u32) gnvs);
- acpigen_pop_len();
- }
+ acpi_inject_nvsa();
}
__weak void acpi_create_serialio_ssdt(acpi_header_t *ssdt)
diff --git a/src/soc/intel/broadwell/pch/lpc.c b/src/soc/intel/broadwell/pch/lpc.c
index 8feae0f..60c65cb 100644
--- a/src/soc/intel/broadwell/pch/lpc.c
+++ b/src/soc/intel/broadwell/pch/lpc.c
@@ -12,7 +12,6 @@
#include <acpi/acpi.h>
#include <acpi/acpi_gnvs.h>
#include <cpu/x86/smm.h>
-#include <cbmem.h>
#include <string.h>
#include <soc/gpio.h>
#include <soc/iobp.h>
@@ -603,24 +602,18 @@
static void southcluster_inject_dsdt(const struct device *device)
{
- struct global_nvs *gnvs;
+ struct global_nvs *gnvs = acpi_get_gnvs();
+ if (!gnvs)
+ return;
- gnvs = cbmem_find(CBMEM_ID_ACPI_GNVS);
+ /* Set unknown wake source */
+ gnvs->pm1i = -1;
- if (gnvs) {
- acpi_create_gnvs(gnvs);
+ /* CPU core count */
+ gnvs->pcnt = dev_count_cpu();
- /* Set unknown wake source */
- gnvs->pm1i = -1;
-
- /* CPU core count */
- gnvs->pcnt = dev_count_cpu();
-
- /* Add it to DSDT. */
- acpigen_write_scope("\\");
- acpigen_write_name_dword("NVSA", (u32) gnvs);
- acpigen_pop_len();
- }
+ acpi_create_gnvs(gnvs);
+ acpi_inject_nvsa();
}
static unsigned long broadwell_write_acpi_tables(const struct device *device,
diff --git a/src/soc/intel/common/block/acpi/acpi.c b/src/soc/intel/common/block/acpi/acpi.c
index fc43528..e1766ea 100644
--- a/src/soc/intel/common/block/acpi/acpi.c
+++ b/src/soc/intel/common/block/acpi/acpi.c
@@ -241,18 +241,12 @@
void southbridge_inject_dsdt(const struct device *device)
{
- struct global_nvs *gnvs;
+ struct global_nvs *gnvs = acpi_get_gnvs();
+ if (!gnvs)
+ return;
- gnvs = cbmem_find(CBMEM_ID_ACPI_GNVS);
-
- if (gnvs) {
- acpi_create_gnvs(gnvs);
-
- /* Add it to DSDT. */
- acpigen_write_scope("\\");
- acpigen_write_name_dword("NVSA", (uintptr_t) gnvs);
- acpigen_pop_len();
- }
+ acpi_create_gnvs(gnvs);
+ acpi_inject_nvsa();
}
int common_calculate_power_ratio(int tdp, int p1_ratio, int ratio)
diff --git a/src/soc/intel/denverton_ns/acpi.c b/src/soc/intel/denverton_ns/acpi.c
index 005dbae..cc967af 100644
--- a/src/soc/intel/denverton_ns/acpi.c
+++ b/src/soc/intel/denverton_ns/acpi.c
@@ -243,18 +243,12 @@
void southcluster_inject_dsdt(const struct device *device)
{
- struct global_nvs *gnvs;
+ struct global_nvs *gnvs = acpi_get_gnvs();
+ if (!gnvs)
+ return;
- gnvs = cbmem_find(CBMEM_ID_ACPI_GNVS);
-
- if (gnvs) {
- acpi_create_gnvs(gnvs);
-
- /* Add it to DSDT. */
- acpigen_write_scope("\\");
- acpigen_write_name_dword("NVSA", (u32)gnvs);
- acpigen_pop_len();
- }
+ acpi_create_gnvs(gnvs);
+ acpi_inject_nvsa();
}
__weak void acpi_create_serialio_ssdt(acpi_header_t *ssdt) {}
diff --git a/src/soc/intel/skylake/acpi.c b/src/soc/intel/skylake/acpi.c
index 0f3136e..6e41ea8 100644
--- a/src/soc/intel/skylake/acpi.c
+++ b/src/soc/intel/skylake/acpi.c
@@ -524,18 +524,12 @@
void southbridge_inject_dsdt(const struct device *device)
{
- struct global_nvs *gnvs;
+ struct global_nvs *gnvs = acpi_get_gnvs();
+ if (!gnvs)
+ return;
- gnvs = cbmem_find(CBMEM_ID_ACPI_GNVS);
-
- if (gnvs) {
- acpi_create_gnvs(gnvs);
-
- /* Add it to DSDT. */
- acpigen_write_scope("\\");
- acpigen_write_name_dword("NVSA", (u32) (uintptr_t)gnvs);
- acpigen_pop_len();
- }
+ acpi_create_gnvs(gnvs);
+ acpi_inject_nvsa();
}
/* Save wake source information for calculating ACPI _SWS values */
diff --git a/src/southbridge/intel/lynxpoint/lpc.c b/src/southbridge/intel/lynxpoint/lpc.c
index ae718c1..49c7f7e 100644
--- a/src/southbridge/intel/lynxpoint/lpc.c
+++ b/src/southbridge/intel/lynxpoint/lpc.c
@@ -13,7 +13,6 @@
#include <acpi/acpi.h>
#include <acpi/acpi_gnvs.h>
#include <cpu/x86/smm.h>
-#include <cbmem.h>
#include <string.h>
#include "chip.h"
#include "iobp.h"
@@ -697,22 +696,17 @@
void southbridge_inject_dsdt(const struct device *dev)
{
- struct global_nvs *gnvs;
+ struct global_nvs *gnvs = acpi_get_gnvs();
+ if (!gnvs)
+ return;
- gnvs = cbmem_find(CBMEM_ID_ACPI_GNVS);
+ acpi_create_gnvs(gnvs);
- if (gnvs) {
- acpi_create_gnvs(gnvs);
+ gnvs->apic = 1;
+ gnvs->mpen = 1; /* Enable Multi Processing */
+ gnvs->pcnt = dev_count_cpu();
- gnvs->apic = 1;
- gnvs->mpen = 1; /* Enable Multi Processing */
- gnvs->pcnt = dev_count_cpu();
-
- /* Add it to DSDT. */
- acpigen_write_scope("\\");
- acpigen_write_name_dword("NVSA", (u32)gnvs);
- acpigen_pop_len();
- }
+ acpi_inject_nvsa();
}
static const char *lpc_acpi_name(const struct device *dev)