ACPI: Add common acpi_fill_gnvs()
Change-Id: I515e830808a95eee3ce72b16fd26da6ec79dac85 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/48718 Reviewed-by: Lance Zhao Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
e1ff3cd014
commit
2ab4a96668
|
@ -1472,6 +1472,9 @@ unsigned long write_acpi_tables(unsigned long start)
|
||||||
current += sizeof(acpi_header_t);
|
current += sizeof(acpi_header_t);
|
||||||
|
|
||||||
acpigen_set_current((char *) current);
|
acpigen_set_current((char *) current);
|
||||||
|
|
||||||
|
acpi_fill_gnvs();
|
||||||
|
|
||||||
for (dev = all_devices; dev; dev = dev->next)
|
for (dev = all_devices; dev; dev = dev->next)
|
||||||
if (dev->ops && dev->ops->acpi_inject_dsdt)
|
if (dev->ops && dev->ops->acpi_inject_dsdt)
|
||||||
dev->ops->acpi_inject_dsdt(dev);
|
dev->ops->acpi_inject_dsdt(dev);
|
||||||
|
|
|
@ -77,3 +77,12 @@ void acpi_inject_nvsa(void)
|
||||||
acpigen_write_name_dword("NVSA", (uintptr_t)gnvs);
|
acpigen_write_name_dword("NVSA", (uintptr_t)gnvs);
|
||||||
acpigen_pop_len();
|
acpigen_pop_len();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void acpi_fill_gnvs(void)
|
||||||
|
{
|
||||||
|
if (!gnvs)
|
||||||
|
return;
|
||||||
|
|
||||||
|
soc_fill_gnvs(gnvs);
|
||||||
|
mainboard_fill_gnvs(gnvs);
|
||||||
|
}
|
||||||
|
|
|
@ -961,6 +961,8 @@ void arch_fill_fadt(acpi_fadt_t *fadt);
|
||||||
void soc_fill_fadt(acpi_fadt_t *fadt);
|
void soc_fill_fadt(acpi_fadt_t *fadt);
|
||||||
void mainboard_fill_fadt(acpi_fadt_t *fadt);
|
void mainboard_fill_fadt(acpi_fadt_t *fadt);
|
||||||
|
|
||||||
|
void acpi_fill_gnvs(void);
|
||||||
|
|
||||||
void update_ssdt(void *ssdt);
|
void update_ssdt(void *ssdt);
|
||||||
void update_ssdtx(void *ssdtx, int i);
|
void update_ssdtx(void *ssdtx, int i);
|
||||||
|
|
||||||
|
|
|
@ -405,11 +405,6 @@ void soc_fill_gnvs(struct global_nvs *gnvs)
|
||||||
|
|
||||||
void southbridge_inject_dsdt(const struct device *device)
|
void southbridge_inject_dsdt(const struct device *device)
|
||||||
{
|
{
|
||||||
struct global_nvs *gnvs = acpi_get_gnvs();
|
|
||||||
if (!gnvs)
|
|
||||||
return;
|
|
||||||
|
|
||||||
soc_fill_gnvs(gnvs);
|
|
||||||
acpi_inject_nvsa();
|
acpi_inject_nvsa();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -173,11 +173,6 @@ void soc_fill_gnvs(struct global_nvs *gnvs)
|
||||||
|
|
||||||
void southbridge_inject_dsdt(const struct device *device)
|
void southbridge_inject_dsdt(const struct device *device)
|
||||||
{
|
{
|
||||||
struct global_nvs *gnvs = acpi_get_gnvs();
|
|
||||||
if (!gnvs)
|
|
||||||
return;
|
|
||||||
|
|
||||||
soc_fill_gnvs(gnvs);
|
|
||||||
acpi_inject_nvsa();
|
acpi_inject_nvsa();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,6 @@
|
||||||
#include <soc/iomap.h>
|
#include <soc/iomap.h>
|
||||||
#include <soc/irq.h>
|
#include <soc/irq.h>
|
||||||
#include <soc/lpc.h>
|
#include <soc/lpc.h>
|
||||||
#include <soc/nvs.h>
|
|
||||||
#include <soc/pci_devs.h>
|
#include <soc/pci_devs.h>
|
||||||
#include <soc/pm.h>
|
#include <soc/pm.h>
|
||||||
#include <soc/ramstage.h>
|
#include <soc/ramstage.h>
|
||||||
|
@ -485,13 +484,6 @@ void southcluster_enable_dev(struct device *dev)
|
||||||
|
|
||||||
static void southcluster_inject_dsdt(const struct device *device)
|
static void southcluster_inject_dsdt(const struct device *device)
|
||||||
{
|
{
|
||||||
struct global_nvs *gnvs = acpi_get_gnvs();
|
|
||||||
if (!gnvs)
|
|
||||||
return;
|
|
||||||
|
|
||||||
soc_fill_gnvs(gnvs);
|
|
||||||
mainboard_fill_gnvs(gnvs);
|
|
||||||
|
|
||||||
acpi_inject_nvsa();
|
acpi_inject_nvsa();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -366,13 +366,6 @@ unsigned long southcluster_write_acpi_tables(const struct device *device, unsign
|
||||||
|
|
||||||
void southcluster_inject_dsdt(const struct device *device)
|
void southcluster_inject_dsdt(const struct device *device)
|
||||||
{
|
{
|
||||||
struct global_nvs *gnvs = acpi_get_gnvs();
|
|
||||||
if (!gnvs)
|
|
||||||
return;
|
|
||||||
|
|
||||||
soc_fill_gnvs(gnvs);
|
|
||||||
mainboard_fill_gnvs(gnvs);
|
|
||||||
|
|
||||||
acpi_inject_nvsa();
|
acpi_inject_nvsa();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -611,13 +611,6 @@ void soc_fill_gnvs(struct global_nvs *gnvs)
|
||||||
|
|
||||||
static void southcluster_inject_dsdt(const struct device *device)
|
static void southcluster_inject_dsdt(const struct device *device)
|
||||||
{
|
{
|
||||||
struct global_nvs *gnvs = acpi_get_gnvs();
|
|
||||||
if (!gnvs)
|
|
||||||
return;
|
|
||||||
|
|
||||||
soc_fill_gnvs(gnvs);
|
|
||||||
mainboard_fill_gnvs(gnvs);
|
|
||||||
|
|
||||||
acpi_inject_nvsa();
|
acpi_inject_nvsa();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -238,13 +238,6 @@ static int acpi_fill_wake(uint32_t *pm1, uint32_t **gpe0)
|
||||||
|
|
||||||
void southbridge_inject_dsdt(const struct device *device)
|
void southbridge_inject_dsdt(const struct device *device)
|
||||||
{
|
{
|
||||||
struct global_nvs *gnvs = acpi_get_gnvs();
|
|
||||||
if (!gnvs)
|
|
||||||
return;
|
|
||||||
|
|
||||||
soc_fill_gnvs(gnvs);
|
|
||||||
mainboard_fill_gnvs(gnvs);
|
|
||||||
|
|
||||||
acpi_inject_nvsa();
|
acpi_inject_nvsa();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -243,12 +243,6 @@ unsigned long southcluster_write_acpi_tables(const struct device *device,
|
||||||
|
|
||||||
void southcluster_inject_dsdt(const struct device *device)
|
void southcluster_inject_dsdt(const struct device *device)
|
||||||
{
|
{
|
||||||
struct global_nvs *gnvs = acpi_get_gnvs();
|
|
||||||
if (!gnvs)
|
|
||||||
return;
|
|
||||||
|
|
||||||
soc_fill_gnvs(gnvs);
|
|
||||||
mainboard_fill_gnvs(gnvs);
|
|
||||||
acpi_inject_nvsa();
|
acpi_inject_nvsa();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -524,11 +524,6 @@ unsigned long southbridge_write_acpi_tables(const struct device *device,
|
||||||
|
|
||||||
void southbridge_inject_dsdt(const struct device *device)
|
void southbridge_inject_dsdt(const struct device *device)
|
||||||
{
|
{
|
||||||
struct global_nvs *gnvs = acpi_get_gnvs();
|
|
||||||
if (!gnvs)
|
|
||||||
return;
|
|
||||||
|
|
||||||
soc_fill_gnvs(gnvs);
|
|
||||||
acpi_inject_nvsa();
|
acpi_inject_nvsa();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -660,13 +660,6 @@ void soc_fill_gnvs(struct global_nvs *gnvs)
|
||||||
|
|
||||||
void southbridge_inject_dsdt(const struct device *dev)
|
void southbridge_inject_dsdt(const struct device *dev)
|
||||||
{
|
{
|
||||||
struct global_nvs *gnvs = acpi_get_gnvs();
|
|
||||||
if (!gnvs)
|
|
||||||
return;
|
|
||||||
|
|
||||||
soc_fill_gnvs(gnvs);
|
|
||||||
mainboard_fill_gnvs(gnvs);
|
|
||||||
|
|
||||||
acpi_inject_nvsa();
|
acpi_inject_nvsa();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -491,12 +491,6 @@ void soc_fill_gnvs(struct global_nvs *gnvs)
|
||||||
|
|
||||||
void southbridge_inject_dsdt(const struct device *dev)
|
void southbridge_inject_dsdt(const struct device *dev)
|
||||||
{
|
{
|
||||||
struct global_nvs *gnvs = acpi_get_gnvs();
|
|
||||||
if (!gnvs)
|
|
||||||
return;
|
|
||||||
|
|
||||||
soc_fill_gnvs(gnvs);
|
|
||||||
mainboard_fill_gnvs(gnvs);
|
|
||||||
acpi_inject_nvsa();
|
acpi_inject_nvsa();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -465,11 +465,6 @@ void *gnvs_chromeos_ptr(struct global_nvs *gnvs)
|
||||||
|
|
||||||
void southbridge_inject_dsdt(const struct device *dev)
|
void southbridge_inject_dsdt(const struct device *dev)
|
||||||
{
|
{
|
||||||
struct global_nvs *gnvs = acpi_get_gnvs();
|
|
||||||
if (!gnvs)
|
|
||||||
return;
|
|
||||||
|
|
||||||
mainboard_fill_gnvs(gnvs);
|
|
||||||
acpi_inject_nvsa();
|
acpi_inject_nvsa();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -483,11 +483,6 @@ size_t gnvs_size_of_array(void)
|
||||||
|
|
||||||
void southbridge_inject_dsdt(const struct device *dev)
|
void southbridge_inject_dsdt(const struct device *dev)
|
||||||
{
|
{
|
||||||
struct global_nvs *gnvs = acpi_get_gnvs();
|
|
||||||
if (!gnvs)
|
|
||||||
return;
|
|
||||||
|
|
||||||
mainboard_fill_gnvs(gnvs);
|
|
||||||
acpi_inject_nvsa();
|
acpi_inject_nvsa();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -555,13 +555,6 @@ void soc_fill_gnvs(struct global_nvs *gnvs)
|
||||||
|
|
||||||
void southbridge_inject_dsdt(const struct device *dev)
|
void southbridge_inject_dsdt(const struct device *dev)
|
||||||
{
|
{
|
||||||
struct global_nvs *gnvs = acpi_get_gnvs();
|
|
||||||
if (!gnvs)
|
|
||||||
return;
|
|
||||||
|
|
||||||
soc_fill_gnvs(gnvs);
|
|
||||||
mainboard_fill_gnvs(gnvs);
|
|
||||||
|
|
||||||
acpi_inject_nvsa();
|
acpi_inject_nvsa();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -703,13 +703,6 @@ void soc_fill_gnvs(struct global_nvs *gnvs)
|
||||||
|
|
||||||
void southbridge_inject_dsdt(const struct device *dev)
|
void southbridge_inject_dsdt(const struct device *dev)
|
||||||
{
|
{
|
||||||
struct global_nvs *gnvs = acpi_get_gnvs();
|
|
||||||
if (!gnvs)
|
|
||||||
return;
|
|
||||||
|
|
||||||
soc_fill_gnvs(gnvs);
|
|
||||||
mainboard_fill_gnvs(gnvs);
|
|
||||||
|
|
||||||
acpi_inject_nvsa();
|
acpi_inject_nvsa();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue