mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
firmware: stratix10-svc: change get provision data to async SMC call
Change INTEL_SIP_SMC_FCS_GET_PROVISION_DATA's SMC call to async from sync to avoid long runtime which may cause the watchdog timeout issue. Signed-off-by: Richard Gong <richard.gong@intel.com> Signed-off-by: Siew Chin Lim <elly.siew.chin.lim@intel.com> Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
This commit is contained in:
parent
3f7fd751d8
commit
4b0a320163
|
|
@ -463,6 +463,7 @@ static void svc_thread_recv_status_ok(struct stratix10_svc_data *p_data,
|
|||
case COMMAND_FCS_SEND_CERTIFICATE:
|
||||
case COMMAND_FCS_DATA_ENCRYPTION:
|
||||
case COMMAND_FCS_DATA_DECRYPTION:
|
||||
case COMMAND_FCS_GET_PROVISION_DATA:
|
||||
cb_data->status = BIT(SVC_STATUS_OK);
|
||||
break;
|
||||
case COMMAND_RECONFIG_DATA_SUBMIT:
|
||||
|
|
@ -491,7 +492,6 @@ static void svc_thread_recv_status_ok(struct stratix10_svc_data *p_data,
|
|||
cb_data->kaddr2 = &res.a2;
|
||||
break;
|
||||
case COMMAND_FCS_RANDOM_NUMBER_GEN:
|
||||
case COMMAND_FCS_GET_PROVISION_DATA:
|
||||
case COMMAND_POLL_SERVICE_STATUS:
|
||||
cb_data->status = BIT(SVC_STATUS_OK);
|
||||
cb_data->kaddr1 = &res.a1;
|
||||
|
|
@ -674,7 +674,7 @@ static int svc_normal_to_secure_thread(void *data)
|
|||
break;
|
||||
case COMMAND_FCS_GET_PROVISION_DATA:
|
||||
a0 = INTEL_SIP_SMC_FCS_GET_PROVISION_DATA;
|
||||
a1 = (unsigned long)pdata->paddr;
|
||||
a1 = 0;
|
||||
a2 = 0;
|
||||
break;
|
||||
/* for HWMON */
|
||||
|
|
|
|||
|
|
@ -605,25 +605,21 @@ INTEL_SIP_SMC_FAST_CALL_VAL(INTEL_SIP_SMC_FUNCID_FPGA_CONFIG_COMPLETED_WRITE)
|
|||
|
||||
/**
|
||||
* Request INTEL_SIP_SMC_FCS_GET_PROVISION_DATA
|
||||
* Sync call to dump all the fuses and key hashes
|
||||
* Async call to dump all the fuses and key hashes
|
||||
*
|
||||
* Call register usage:
|
||||
* a0 INTEL_SIP_SMC_FCS_GET_PROVISION_DATA
|
||||
* a1 the physical address for firmware to write structure of fuse and
|
||||
* key hashes
|
||||
* a2-a7 not used
|
||||
* a1-a7 not used
|
||||
*
|
||||
* Return status:
|
||||
* a0 INTEL_SIP_SMC_STATUS_OK, INTEL_SIP_SMC_FCS_ERROR or
|
||||
* INTEL_SIP_SMC_FCS_REJECTED
|
||||
* a1 mailbox error
|
||||
* a2 physical address for the structure of fuse and key hashes
|
||||
* a3 the size of structure
|
||||
* a1-a3 not used
|
||||
*
|
||||
*/
|
||||
#define INTEL_SIP_SMC_FUNCID_FCS_GET_PROVISION_DATA 94
|
||||
#define INTEL_SIP_SMC_FCS_GET_PROVISION_DATA \
|
||||
INTEL_SIP_SMC_FAST_CALL_VAL(INTEL_SIP_SMC_FUNCID_FCS_GET_PROVISION_DATA)
|
||||
INTEL_SIP_SMC_STD_CALL_VAL(INTEL_SIP_SMC_FUNCID_FCS_GET_PROVISION_DATA)
|
||||
|
||||
/**
|
||||
* Request INTEL_SIP_SMC_HWMON_READTEMP
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user