diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/soc/intel/common/block/cse/cse.c | 19 | ||||
-rw-r--r-- | src/soc/intel/common/block/include/intelblocks/cse.h | 12 |
2 files changed, 17 insertions, 14 deletions
diff --git a/src/soc/intel/common/block/cse/cse.c b/src/soc/intel/common/block/cse/cse.c index 440b59b819..8fbaba5a2c 100644 --- a/src/soc/intel/common/block/cse/cse.c +++ b/src/soc/intel/common/block/cse/cse.c @@ -271,7 +271,7 @@ bool cse_is_hfs1_com_soft_temp_disable(void) } /* Makes the host ready to communicate with CSE */ -void set_host_ready(void) +void cse_set_host_ready(void) { uint32_t csr; csr = read_host_csr(); @@ -280,17 +280,20 @@ void set_host_ready(void) write_host_csr(csr); } -/* Polls for ME state 'HECI_OP_MODE_SEC_OVERRIDE' for 15 seconds */ -uint8_t wait_cse_sec_override_mode(void) +/* Polls for ME mode ME_HFS1_COM_SECOVER_MEI_MSG for 15 seconds */ +uint8_t cse_wait_sec_override_mode(void) { struct stopwatch sw; stopwatch_init_msecs_expire(&sw, HECI_DELAY_READY); while (!cse_is_hfs1_com_secover_mei_msg()) { udelay(HECI_DELAY); - if (stopwatch_expired(&sw)) + if (stopwatch_expired(&sw)) { + printk(BIOS_ERR, "HECI: Timed out waiting for SEC_OVERRIDE mode!\n"); return 0; + } } - + printk(BIOS_DEBUG, "HECI: CSE took %lu ms to enter security override mode\n", + stopwatch_duration_msecs(&sw)); return 1; } @@ -544,7 +547,7 @@ int heci_reset(void) if (wait_heci_ready()) { /* Device is back on its imaginary feet, clear reset */ - set_host_ready(); + cse_set_host_ready(); return 1; } @@ -622,7 +625,7 @@ int send_heci_reset_req_message(uint8_t rst_type) } /* Sends HMRFPO Enable command to CSE */ -int send_hmrfpo_enable_msg(void) +int cse_hmrfpo_enable(void) { struct hmrfpo_enable_msg { struct mkhi_hdr hdr; @@ -682,7 +685,7 @@ failed: * Sends HMRFPO Get Status command to CSE to get the HMRFPO status. * The status can be DISABLES/LOCKED/ENABLED */ -int send_hmrfpo_get_status_msg(void) +int cse_hmrfpo_get_status(void) { struct hmrfpo_get_status_msg { struct mkhi_hdr hdr; diff --git a/src/soc/intel/common/block/include/intelblocks/cse.h b/src/soc/intel/common/block/include/intelblocks/cse.h index 46730707c8..6233f7d193 100644 --- a/src/soc/intel/common/block/include/intelblocks/cse.h +++ b/src/soc/intel/common/block/include/intelblocks/cse.h @@ -51,7 +51,7 @@ enum { PCI_ME_HFSTS6 = 0x6C, }; -/* HECI Message Header */ +/* MKHI Message Header */ struct mkhi_hdr { uint8_t group_id; uint8_t command:7; @@ -103,14 +103,14 @@ uint32_t me_read_config32(int offset); */ bool is_cse_enabled(void); -/* Makes the host ready to communicate with CSE*/ -void set_host_ready(void); +/* Makes the host ready to communicate with CSE */ +void cse_set_host_ready(void); /* * Polls for ME state 'HECI_OP_MODE_SEC_OVERRIDE' for 15 seconds. * Returns 0 on failure and 1 on success. */ -uint8_t wait_cse_sec_override_mode(void); +uint8_t cse_wait_sec_override_mode(void); /* * Sends GLOBAL_RESET_REQ cmd to CSE.The reset type can be @@ -123,14 +123,14 @@ int send_heci_reset_req_message(uint8_t rst_type); * Send HMRFPO_ENABLE command. * returns 0 on failure and 1 on success. */ -int send_hmrfpo_enable_msg(void); +int cse_hmrfpo_enable(void); /* * Send HMRFPO_GET_STATUS command. * returns -1 on failure and 0 (DISABLED)/ 1 (LOCKED)/ 2 (ENABLED) * on success. */ -int send_hmrfpo_get_status_msg(void); +int cse_hmrfpo_get_status(void); /* Fixed Address MEI Header's Host Address field value */ #define BIOS_HOST_ADDR 0x00 |