drivers/intel/fsp2_0: remove struct resource usage
There's no need to use a struct resource type for fsp_find_reserved_memory(). struct resource is mainly associated with a device and that memory is added to cbmem after memory init. Other uses ins FSP 2.0 just use struct range_entry. Use that instead for consistency. Change-Id: Id7d39da1c2e23f97cdaafd7f5d281cefa6fee543 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/13960 Tested-by: build bot (Jenkins) Reviewed-by: Andrey Petrov <andrey.petrov@intel.com>
This commit is contained in:
parent
9b28f0023c
commit
0fcd6f912b
|
@ -208,11 +208,11 @@ struct hob_resource *find_resource_hob_by_uuid(const struct hob_header *hob,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void fsp_find_reserved_memory(struct resource *res, const void *hob_list)
|
void fsp_find_reserved_memory(struct range_entry *re, const void *hob_list)
|
||||||
{
|
{
|
||||||
const struct hob_resource *fsp_mem;
|
const struct hob_resource *fsp_mem;
|
||||||
|
|
||||||
memset(res, 0, sizeof(*res));
|
range_entry_init(re, 0, 0, 0);
|
||||||
|
|
||||||
fsp_mem = find_resource_hob_by_uuid(hob_list, uuid_owner_fsp);
|
fsp_mem = find_resource_hob_by_uuid(hob_list, uuid_owner_fsp);
|
||||||
|
|
||||||
|
@ -220,8 +220,7 @@ void fsp_find_reserved_memory(struct resource *res, const void *hob_list)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
res->base = fsp_mem->addr;
|
range_entry_init(re, fsp_mem->addr, fsp_mem->addr + fsp_mem->length, 0);
|
||||||
res->size = fsp_mem->length;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -15,7 +15,6 @@
|
||||||
|
|
||||||
#include <boot/coreboot_tables.h>
|
#include <boot/coreboot_tables.h>
|
||||||
#include <fsp/info_header.h>
|
#include <fsp/info_header.h>
|
||||||
#include <device/resource.h>
|
|
||||||
#include <memrange.h>
|
#include <memrange.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -30,7 +29,7 @@ enum cb_err fsp_fill_lb_framebuffer(struct lb_framebuffer *framebuffer);
|
||||||
* Hand-off-block utilities which do not depend on CBMEM, but need to be passed
|
* Hand-off-block utilities which do not depend on CBMEM, but need to be passed
|
||||||
* the HOB list explicitly.
|
* the HOB list explicitly.
|
||||||
*/
|
*/
|
||||||
void fsp_find_reserved_memory(struct resource *res, const void *hob_list);
|
void fsp_find_reserved_memory(struct range_entry *re, const void *hob_list);
|
||||||
void fsp_print_memory_resource_hobs(const void *hob_list);
|
void fsp_print_memory_resource_hobs(const void *hob_list);
|
||||||
|
|
||||||
/* Load an FSP binary into CBFS, and fill the associated fsp_header struct */
|
/* Load an FSP binary into CBFS, and fill the associated fsp_header struct */
|
||||||
|
|
|
@ -75,11 +75,10 @@ static void disable_watchdog(void)
|
||||||
outl(reg, ACPI_PMIO_BASE + 0x68);
|
outl(reg, ACPI_PMIO_BASE + 0x68);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
asmlinkage void car_stage_entry(void)
|
asmlinkage void car_stage_entry(void)
|
||||||
{
|
{
|
||||||
void *hob_list_ptr;
|
void *hob_list_ptr;
|
||||||
struct resource fsp_mem;
|
struct range_entry fsp_mem;
|
||||||
struct range_entry reg_car;
|
struct range_entry reg_car;
|
||||||
|
|
||||||
printk(BIOS_DEBUG, "Starting romstage...\n");
|
printk(BIOS_DEBUG, "Starting romstage...\n");
|
||||||
|
@ -89,9 +88,8 @@ asmlinkage void car_stage_entry(void)
|
||||||
soc_early_romstage_init();
|
soc_early_romstage_init();
|
||||||
|
|
||||||
/* Make sure the blob does not override our data in CAR */
|
/* Make sure the blob does not override our data in CAR */
|
||||||
memset(®_car, 0, sizeof(reg_car));
|
range_entry_init(®_car, (uintptr_t)_car_relocatable_data_end,
|
||||||
reg_car.begin = (uintptr_t) _car_relocatable_data_end;
|
(uintptr_t)_car_region_end, 0);
|
||||||
reg_car.end = (uintptr_t) _car_region_end;
|
|
||||||
|
|
||||||
if (fsp_memory_init(&hob_list_ptr, ®_car) != FSP_SUCCESS) {
|
if (fsp_memory_init(&hob_list_ptr, ®_car) != FSP_SUCCESS) {
|
||||||
die("FSP memory init failed. Giving up.");
|
die("FSP memory init failed. Giving up.");
|
||||||
|
@ -101,10 +99,11 @@ asmlinkage void car_stage_entry(void)
|
||||||
|
|
||||||
/* initialize cbmem by adding FSP reserved memory first thing */
|
/* initialize cbmem by adding FSP reserved memory first thing */
|
||||||
cbmem_initialize_empty_id_size(CBMEM_ID_FSP_RESERVED_MEMORY,
|
cbmem_initialize_empty_id_size(CBMEM_ID_FSP_RESERVED_MEMORY,
|
||||||
fsp_mem.size);
|
range_entry_size(&fsp_mem));
|
||||||
|
|
||||||
/* make sure FSP memory is reserved in cbmem */
|
/* make sure FSP memory is reserved in cbmem */
|
||||||
if (fsp_mem.base != (uintptr_t)cbmem_find(CBMEM_ID_FSP_RESERVED_MEMORY))
|
if (range_entry_base(&fsp_mem) !=
|
||||||
|
(uintptr_t)cbmem_find(CBMEM_ID_FSP_RESERVED_MEMORY))
|
||||||
die("Failed to accommodate FSP reserved memory request");
|
die("Failed to accommodate FSP reserved memory request");
|
||||||
|
|
||||||
/* Now that CBMEM is up, save the list so ramstage can use it */
|
/* Now that CBMEM is up, save the list so ramstage can use it */
|
||||||
|
|
Loading…
Reference in New Issue