summaryrefslogtreecommitdiff
path: root/src/drivers/mrc_cache
diff options
context:
space:
mode:
authorShelley Chen <shchen@google.com>2020-10-06 15:14:24 -0700
committerShelley Chen <shchen@google.com>2020-10-09 05:38:04 +0000
commit93d483db89da3554afe01958e9f80a76251f2477 (patch)
tree09eec81b47dc39751517f541b09107456ddcaa4f /src/drivers/mrc_cache
parent60d4f2411c93f5ee3b07b8978cfc282688536a65 (diff)
mrc_cache: Change mrc_cache_load_current to return size of entry
Modify mrc_cache_load current to return the size of the mrc_cache entry so that caller will know what the actual size of the data returned is. This is needed for ARM devices like trogdor, which need to know the size of the training data when populating the QcLib interface table. BUG=b:150502246 BRANCH=None TEST=./util/abuild/abuild -p none -t GOOGLE_NAMI -x -a Change-Id: Ia314717ad2a7d5232b37a19951c1aecd7f843c27 Signed-off-by: Shelley Chen <shchen@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/46110 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Furquan Shaikh <furquan@google.com>
Diffstat (limited to 'src/drivers/mrc_cache')
-rw-r--r--src/drivers/mrc_cache/mrc_cache.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/drivers/mrc_cache/mrc_cache.c b/src/drivers/mrc_cache/mrc_cache.c
index d2991ac917..a083655a2f 100644
--- a/src/drivers/mrc_cache/mrc_cache.c
+++ b/src/drivers/mrc_cache/mrc_cache.c
@@ -260,12 +260,12 @@ static int mrc_cache_find_current(int type, uint32_t version,
return rdev_chain(rdev, rdev, md_size, data_size);
}
-int mrc_cache_load_current(int type, uint32_t version, void *buffer,
- size_t buffer_size)
+ssize_t mrc_cache_load_current(int type, uint32_t version, void *buffer,
+ size_t buffer_size)
{
struct region_device rdev;
struct mrc_metadata md;
- size_t data_size;
+ ssize_t data_size;
if (mrc_cache_find_current(type, version, &rdev, &md) < 0)
return -1;
@@ -280,7 +280,7 @@ int mrc_cache_load_current(int type, uint32_t version, void *buffer,
if (mrc_data_valid(&md, buffer, data_size) < 0)
return -1;
- return 0;
+ return data_size;
}
void *mrc_cache_current_mmap_leak(int type, uint32_t version,