summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/soc/intel/baytrail/southcluster.c16
-rw-r--r--src/soc/intel/braswell/acpi.c16
-rw-r--r--src/soc/intel/broadwell/pch/lpc.c25
-rw-r--r--src/soc/intel/common/block/acpi/acpi.c16
-rw-r--r--src/soc/intel/denverton_ns/acpi.c16
-rw-r--r--src/soc/intel/skylake/acpi.c16
-rw-r--r--src/southbridge/intel/lynxpoint/lpc.c22
7 files changed, 42 insertions, 85 deletions
diff --git a/src/soc/intel/baytrail/southcluster.c b/src/soc/intel/baytrail/southcluster.c
index d8305c612d..428002b669 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 @@ void southcluster_enable_dev(struct device *dev)
static void southcluster_inject_dsdt(const struct device *device)
{
- struct global_nvs *gnvs;
-
- gnvs = cbmem_find(CBMEM_ID_ACPI_GNVS);
+ struct global_nvs *gnvs = acpi_get_gnvs();
+ if (!gnvs)
+ return;
- if (gnvs) {
- acpi_create_gnvs(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 615022270f..922f485d7d 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 @@ unsigned long southcluster_write_acpi_tables(const struct device *device, unsign
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 8feae0f0a1..60c65cbaaa 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 pch_lpc_read_resources(struct device *dev)
static void southcluster_inject_dsdt(const struct device *device)
{
- struct global_nvs *gnvs;
-
- gnvs = cbmem_find(CBMEM_ID_ACPI_GNVS);
-
- if (gnvs) {
- acpi_create_gnvs(gnvs);
+ struct global_nvs *gnvs = acpi_get_gnvs();
+ if (!gnvs)
+ return;
- /* Set unknown wake source */
- gnvs->pm1i = -1;
+ /* Set unknown wake source */
+ gnvs->pm1i = -1;
- /* CPU core count */
- gnvs->pcnt = dev_count_cpu();
+ /* 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 fc4352834a..e1766ea06d 100644
--- a/src/soc/intel/common/block/acpi/acpi.c
+++ b/src/soc/intel/common/block/acpi/acpi.c
@@ -241,18 +241,12 @@ __weak void acpi_create_gnvs(struct global_nvs *gnvs)
void southbridge_inject_dsdt(const struct device *device)
{
- struct global_nvs *gnvs;
-
- gnvs = cbmem_find(CBMEM_ID_ACPI_GNVS);
-
- if (gnvs) {
- acpi_create_gnvs(gnvs);
+ struct global_nvs *gnvs = acpi_get_gnvs();
+ if (!gnvs)
+ return;
- /* 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 005dbae093..cc967af904 100644
--- a/src/soc/intel/denverton_ns/acpi.c
+++ b/src/soc/intel/denverton_ns/acpi.c
@@ -243,18 +243,12 @@ unsigned long southcluster_write_acpi_tables(const struct device *device,
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 0f3136e4c4..6e41ea81ff 100644
--- a/src/soc/intel/skylake/acpi.c
+++ b/src/soc/intel/skylake/acpi.c
@@ -524,18 +524,12 @@ unsigned long southbridge_write_acpi_tables(const struct device *device,
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 ae718c16a5..49c7f7ed3c 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 *gnvs_chromeos_ptr(struct global_nvs *gnvs)
void southbridge_inject_dsdt(const struct device *dev)
{
- struct global_nvs *gnvs;
-
- gnvs = cbmem_find(CBMEM_ID_ACPI_GNVS);
+ struct global_nvs *gnvs = acpi_get_gnvs();
+ if (!gnvs)
+ return;
- if (gnvs) {
- acpi_create_gnvs(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)