aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorStewart Smith <stewart@linux.vnet.ibm.com>2015-05-06 14:00:54 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2015-05-07 17:54:30 +1000
commit4d78c68415f5ac3081b724628aee5e34e46a65b3 (patch)
treea54701dd53b7ee03df38ef3f5f74caab4e975858 /include
parent18a462983f934bbb6651116ac347c7acf92b2cff (diff)
downloadskiboot-4d78c68415f5ac3081b724628aee5e34e46a65b3.zip
skiboot-4d78c68415f5ac3081b724628aee5e34e46a65b3.tar.gz
skiboot-4d78c68415f5ac3081b724628aee5e34e46a65b3.tar.bz2
Preload VPD LID and set up fsp_lid_load() for async queued loading
This means VPD LID is already loaded before we start preloading kernel and initramfs LIDs, thus ensuring VPD doesn't have to wait for them to finish being read from FSP. Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'include')
-rw-r--r--include/fsp.h3
-rw-r--r--include/skiboot.h1
-rw-r--r--include/vpd.h1
3 files changed, 4 insertions, 1 deletions
diff --git a/include/fsp.h b/include/fsp.h
index c74996d..5689798 100644
--- a/include/fsp.h
+++ b/include/fsp.h
@@ -737,7 +737,8 @@ extern int fsp_fetch_data_queue(uint8_t flags, uint16_t id, uint32_t sub_id,
extern int fsp_start_preload_resource(enum resource_id id, uint32_t idx,
void *buf, size_t *size);
extern int fsp_resource_loaded(enum resource_id id, uint32_t idx);
-extern int fsp_load_lid(uint32_t lid_no, char *buf, size_t *size);
+extern int fsp_preload_lid(uint32_t lid_no, char *buf, size_t *size);
+extern int fsp_wait_lid_loaded(uint32_t lid_no);
/* FSP console stuff */
extern void fsp_console_preinit(void);
diff --git a/include/skiboot.h b/include/skiboot.h
index 20fe79a..2684c73 100644
--- a/include/skiboot.h
+++ b/include/skiboot.h
@@ -191,6 +191,7 @@ extern void probe_p5ioc2(void);
extern void probe_p7ioc(void);
extern void probe_phb3(void);
extern int phb3_preload_capp_ucode(void);
+extern void phb3_preload_vpd(void);
extern void uart_init(bool enable_interrupt);
extern void homer_init(void);
extern void occ_pstates_init(void);
diff --git a/include/vpd.h b/include/vpd.h
index c49ab71..bc60d81 100644
--- a/include/vpd.h
+++ b/include/vpd.h
@@ -38,6 +38,7 @@ const void *vpd_find(const void *vpd, size_t vpd_size,
void add_dtb_model(void);
void vpd_iohub_load(struct dt_node *hub_node);
+void vpd_preload(struct dt_node *hub_node);
#define VPD_LOAD_LXRN_VINI 0xff