region_file_update_data_arr: Modify region_file with array of buffers
Add region_file_update_data_arr, which has the same functionality as
region_file_update_data, but accepts mutliple data buffers. This is
useful for when we have the mrc_metadata and data in non-contiguous
addresses, which is the case when we bypass the storing of mrc_cache
data into the cbmem.
BUG=b:150502246
BRANCH=None
TEST=reboot from ec console. Make sure memory training happens.
reboot from ec console. Make sure that we don't do training again.
Change-Id: Ia530f7d428b9b07ce3a73e348016038d9daf4c15
Signed-off-by: Shelley Chen <shchen@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/45407
Reviewed-by: Furquan Shaikh <furquan@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
a79e01bf71
commit
2d90ddd2d2
2 changed files with 43 additions and 11 deletions
|
|
@ -31,9 +31,22 @@ int region_file_init(struct region_file *f, const struct region_device *p);
|
|||
*/
|
||||
int region_file_data(const struct region_file *f, struct region_device *rdev);
|
||||
|
||||
/*
|
||||
* Create region file entry struct to insert multiple data buffers
|
||||
* into the same region_file.
|
||||
*/
|
||||
struct update_region_file_entry {
|
||||
/* size of this entry */
|
||||
size_t size;
|
||||
/* data pointer */
|
||||
const void *data;
|
||||
};
|
||||
|
||||
/* Update region file with latest data. Returns < 0 on error, 0 on success. */
|
||||
int region_file_update_data(struct region_file *f, const void *buf,
|
||||
size_t size);
|
||||
int region_file_update_data_arr(struct region_file *f,
|
||||
const struct update_region_file_entry *entries,
|
||||
size_t num_entries);
|
||||
int region_file_update_data(struct region_file *f, const void *buf, size_t size);
|
||||
|
||||
/* Declared here for easy object allocation. */
|
||||
struct region_file {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue