aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStewart Smith <stewart@linux.vnet.ibm.com>2015-10-09 17:58:04 +1100
committerStewart Smith <stewart@linux.vnet.ibm.com>2015-10-09 17:58:04 +1100
commitcf167a8d6069d936afb18cc318b5a1bbec6d9e9e (patch)
tree5c77a29151789de4e2527755a7eef24a56ab100b
parentee4c1a5e0e3cb8571059b9887bbcb8e47bb8c306 (diff)
parent396de731b044578233b7f2f977c876971586e1c0 (diff)
downloadskiboot-cf167a8d6069d936afb18cc318b5a1bbec6d9e9e.zip
skiboot-cf167a8d6069d936afb18cc318b5a1bbec6d9e9e.tar.gz
skiboot-cf167a8d6069d936afb18cc318b5a1bbec6d9e9e.tar.bz2
Merge branch 'update-2.1.1.1' into stable
-rw-r--r--hw/fsp/fsp-leds.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/hw/fsp/fsp-leds.c b/hw/fsp/fsp-leds.c
index c20049e..8a3a0d8 100644
--- a/hw/fsp/fsp-leds.c
+++ b/hw/fsp/fsp-leds.c
@@ -57,6 +57,7 @@ static enum led_support_state led_support = LED_STATE_ABSENT;
*
*/
static void *led_buffer;
+static u8 *loc_code_list_buffer = NULL;
/* Maintain list of all LEDs
*
@@ -777,8 +778,13 @@ static void fsp_ret_loc_code_list(u16 req_type, char *loc_code)
u32 bytes_sent = 0, total_size = 0;
u16 header_size = 0, flags = 0;
+ if (loc_code_list_buffer == NULL) {
+ prerror("No loc_code_list_buffer\n");
+ return;
+ }
+
/* Init the addresses */
- data = (u8 *) PSI_DMA_LOC_COD_BUF;
+ data = loc_code_list_buffer;
out_data = NULL;
/* Unmapping through FSP_CMD_RET_LOC_BUFFER command */
@@ -1875,6 +1881,11 @@ void fsp_led_init(void)
list_head_init(&spcn_cmdq);
fsp_leds_query_spcn();
+
+ loc_code_list_buffer = memalign(TCE_PSIZE, PSI_DMA_LOC_COD_BUF_SZ);
+ if (loc_code_list_buffer == NULL)
+ prerror(PREFIX "ERROR: Unable to allocate loc_code_list_buffer!\n");
+
prlog(PR_TRACE, "Init completed\n");
/* Get System attention indicator state */