Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

firmware: fpga: replace the error codes with the standard ones

The Intel service layer driver has defined error codes for the
specific services, which started from FPGA configuration then RSU
(Remote Status Update).

Intel service layer driver should define the standard error codes
rather than keep adding more error codes for the new services.

The standard error codes will be used by all the clients of Intel service
layer driver.

Replace FPGA and RSU specific error codes with Intel service layer’s
Common error codes.

Signed-off-by: Richard Gong <richard.gong@intel.com>
Link: https://lore.kernel.org/r/1586897274-307-2-git-send-email-richard.gong@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Richard Gong and committed by
Greg Kroah-Hartman
7536ad8d 2a4542e5

+86 -135
+5 -5
drivers/firmware/stratix10-rsu.c
··· 72 72 struct stratix10_rsu_priv *priv = client->priv; 73 73 struct arm_smccc_res *res = (struct arm_smccc_res *)data->kaddr1; 74 74 75 - if (data->status == BIT(SVC_STATUS_RSU_OK)) { 75 + if (data->status == BIT(SVC_STATUS_OK)) { 76 76 priv->status.version = FIELD_GET(RSU_VERSION_MASK, 77 77 res->a2); 78 78 priv->status.state = FIELD_GET(RSU_STATE_MASK, res->a2); ··· 108 108 { 109 109 struct stratix10_rsu_priv *priv = client->priv; 110 110 111 - if (data->status == BIT(SVC_STATUS_RSU_NO_SUPPORT)) 111 + if (data->status == BIT(SVC_STATUS_NO_SUPPORT)) 112 112 dev_warn(client->dev, "Secure FW doesn't support notify\n"); 113 - else if (data->status == BIT(SVC_STATUS_RSU_ERROR)) 113 + else if (data->status == BIT(SVC_STATUS_ERROR)) 114 114 dev_err(client->dev, "Failure, returned status is %lu\n", 115 115 BIT(data->status)); 116 116 ··· 133 133 struct stratix10_rsu_priv *priv = client->priv; 134 134 unsigned int *counter = (unsigned int *)data->kaddr1; 135 135 136 - if (data->status == BIT(SVC_STATUS_RSU_OK)) 136 + if (data->status == BIT(SVC_STATUS_OK)) 137 137 priv->retry_counter = *counter; 138 - else if (data->status == BIT(SVC_STATUS_RSU_NO_SUPPORT)) 138 + else if (data->status == BIT(SVC_STATUS_NO_SUPPORT)) 139 139 dev_warn(client->dev, "Secure FW doesn't support retry\n"); 140 140 else 141 141 dev_err(client->dev, "Failed to get retry counter %lu\n",
+20 -46
drivers/firmware/stratix10-svc.c
··· 214 214 complete(&ctrl->complete_status); 215 215 break; 216 216 } 217 - cb_data->status = BIT(SVC_STATUS_RECONFIG_BUFFER_DONE); 217 + cb_data->status = BIT(SVC_STATUS_BUFFER_DONE); 218 218 cb_data->kaddr1 = svc_pa_to_va(res.a1); 219 219 cb_data->kaddr2 = (res.a2) ? 220 220 svc_pa_to_va(res.a2) : NULL; ··· 227 227 __func__); 228 228 } 229 229 } while (res.a0 == INTEL_SIP_SMC_STATUS_OK || 230 - res.a0 == INTEL_SIP_SMC_FPGA_CONFIG_STATUS_BUSY || 230 + res.a0 == INTEL_SIP_SMC_STATUS_BUSY || 231 231 wait_for_completion_timeout(&ctrl->complete_status, timeout)); 232 232 } 233 233 ··· 250 250 cb_data->kaddr1 = NULL; 251 251 cb_data->kaddr2 = NULL; 252 252 cb_data->kaddr3 = NULL; 253 - cb_data->status = BIT(SVC_STATUS_RECONFIG_ERROR); 253 + cb_data->status = BIT(SVC_STATUS_ERROR); 254 254 255 255 pr_debug("%s: polling config status\n", __func__); 256 256 ··· 259 259 ctrl->invoke_fn(INTEL_SIP_SMC_FPGA_CONFIG_ISDONE, 260 260 0, 0, 0, 0, 0, 0, 0, &res); 261 261 if ((res.a0 == INTEL_SIP_SMC_STATUS_OK) || 262 - (res.a0 == INTEL_SIP_SMC_FPGA_CONFIG_STATUS_ERROR)) 262 + (res.a0 == INTEL_SIP_SMC_STATUS_ERROR)) 263 263 break; 264 264 265 265 /* ··· 271 271 } 272 272 273 273 if (res.a0 == INTEL_SIP_SMC_STATUS_OK && count_in_sec) 274 - cb_data->status = BIT(SVC_STATUS_RECONFIG_COMPLETED); 274 + cb_data->status = BIT(SVC_STATUS_COMPLETED); 275 275 276 276 p_data->chan->scl->receive_cb(p_data->chan->scl, cb_data); 277 277 } ··· 294 294 295 295 switch (p_data->command) { 296 296 case COMMAND_RECONFIG: 297 - cb_data->status = BIT(SVC_STATUS_RECONFIG_REQUEST_OK); 298 - break; 299 - case COMMAND_RECONFIG_DATA_SUBMIT: 300 - cb_data->status = BIT(SVC_STATUS_RECONFIG_BUFFER_SUBMITTED); 301 - break; 302 - case COMMAND_NOOP: 303 - cb_data->status = BIT(SVC_STATUS_RECONFIG_BUFFER_SUBMITTED); 304 - cb_data->kaddr1 = svc_pa_to_va(res.a1); 305 - break; 306 - case COMMAND_RECONFIG_STATUS: 307 - cb_data->status = BIT(SVC_STATUS_RECONFIG_COMPLETED); 308 - break; 309 297 case COMMAND_RSU_UPDATE: 310 298 case COMMAND_RSU_NOTIFY: 311 - cb_data->status = BIT(SVC_STATUS_RSU_OK); 299 + cb_data->status = BIT(SVC_STATUS_OK); 300 + break; 301 + case COMMAND_RECONFIG_DATA_SUBMIT: 302 + cb_data->status = BIT(SVC_STATUS_BUFFER_SUBMITTED); 303 + break; 304 + case COMMAND_RECONFIG_STATUS: 305 + cb_data->status = BIT(SVC_STATUS_COMPLETED); 312 306 break; 313 307 case COMMAND_RSU_RETRY: 314 - cb_data->status = BIT(SVC_STATUS_RSU_OK); 308 + cb_data->status = BIT(SVC_STATUS_OK); 315 309 cb_data->kaddr1 = &res.a1; 316 310 break; 317 311 default: ··· 424 430 425 431 if (pdata->command == COMMAND_RSU_STATUS) { 426 432 if (res.a0 == INTEL_SIP_SMC_RSU_ERROR) 427 - cbdata->status = BIT(SVC_STATUS_RSU_ERROR); 433 + cbdata->status = BIT(SVC_STATUS_ERROR); 428 434 else 429 - cbdata->status = BIT(SVC_STATUS_RSU_OK); 435 + cbdata->status = BIT(SVC_STATUS_OK); 430 436 431 437 cbdata->kaddr1 = &res; 432 438 cbdata->kaddr2 = NULL; ··· 439 445 case INTEL_SIP_SMC_STATUS_OK: 440 446 svc_thread_recv_status_ok(pdata, cbdata, res); 441 447 break; 442 - case INTEL_SIP_SMC_FPGA_CONFIG_STATUS_BUSY: 448 + case INTEL_SIP_SMC_STATUS_BUSY: 443 449 switch (pdata->command) { 444 450 case COMMAND_RECONFIG_DATA_SUBMIT: 445 451 svc_thread_cmd_data_claim(ctrl, ··· 454 460 break; 455 461 } 456 462 break; 457 - case INTEL_SIP_SMC_FPGA_CONFIG_STATUS_REJECTED: 463 + case INTEL_SIP_SMC_STATUS_REJECTED: 458 464 pr_debug("%s: STATUS_REJECTED\n", __func__); 459 465 break; 460 - case INTEL_SIP_SMC_FPGA_CONFIG_STATUS_ERROR: 466 + case INTEL_SIP_SMC_STATUS_ERROR: 461 467 case INTEL_SIP_SMC_RSU_ERROR: 462 468 pr_err("%s: STATUS_ERROR\n", __func__); 463 - switch (pdata->command) { 464 - /* for FPGA mgr */ 465 - case COMMAND_RECONFIG_DATA_CLAIM: 466 - case COMMAND_RECONFIG: 467 - case COMMAND_RECONFIG_DATA_SUBMIT: 468 - case COMMAND_RECONFIG_STATUS: 469 - cbdata->status = 470 - BIT(SVC_STATUS_RECONFIG_ERROR); 471 - break; 472 - 473 - /* for RSU */ 474 - case COMMAND_RSU_STATUS: 475 - case COMMAND_RSU_UPDATE: 476 - case COMMAND_RSU_NOTIFY: 477 - case COMMAND_RSU_RETRY: 478 - cbdata->status = 479 - BIT(SVC_STATUS_RSU_ERROR); 480 - break; 481 - } 482 - 483 - cbdata->status = BIT(SVC_STATUS_RECONFIG_ERROR); 469 + cbdata->status = BIT(SVC_STATUS_ERROR); 484 470 cbdata->kaddr1 = NULL; 485 471 cbdata->kaddr2 = NULL; 486 472 cbdata->kaddr3 = NULL; ··· 476 502 if ((pdata->command == COMMAND_RSU_RETRY) || 477 503 (pdata->command == COMMAND_RSU_NOTIFY)) { 478 504 cbdata->status = 479 - BIT(SVC_STATUS_RSU_NO_SUPPORT); 505 + BIT(SVC_STATUS_NO_SUPPORT); 480 506 cbdata->kaddr1 = NULL; 481 507 cbdata->kaddr2 = NULL; 482 508 cbdata->kaddr3 = NULL;
+10 -15
drivers/fpga/stratix10-soc.c
··· 154 154 * Here we set status bits as we receive them. Elsewhere, we always use 155 155 * test_and_clear_bit() to check status in priv->status 156 156 */ 157 - for (i = 0; i <= SVC_STATUS_RECONFIG_ERROR; i++) 157 + for (i = 0; i <= SVC_STATUS_ERROR; i++) 158 158 if (status & (1 << i)) 159 159 set_bit(i, &priv->status); 160 160 161 - if (status & BIT(SVC_STATUS_RECONFIG_BUFFER_DONE)) { 161 + if (status & BIT(SVC_STATUS_BUFFER_DONE)) { 162 162 s10_unlock_bufs(priv, data->kaddr1); 163 163 s10_unlock_bufs(priv, data->kaddr2); 164 164 s10_unlock_bufs(priv, data->kaddr3); ··· 209 209 } 210 210 211 211 ret = 0; 212 - if (!test_and_clear_bit(SVC_STATUS_RECONFIG_REQUEST_OK, 213 - &priv->status)) { 212 + if (!test_and_clear_bit(SVC_STATUS_OK, &priv->status)) { 214 213 ret = -ETIMEDOUT; 215 214 goto init_done; 216 215 } ··· 322 323 &priv->status_return_completion, 323 324 S10_BUFFER_TIMEOUT); 324 325 325 - if (test_and_clear_bit(SVC_STATUS_RECONFIG_BUFFER_DONE, 326 - &priv->status) || 327 - test_and_clear_bit(SVC_STATUS_RECONFIG_BUFFER_SUBMITTED, 326 + if (test_and_clear_bit(SVC_STATUS_BUFFER_DONE, &priv->status) || 327 + test_and_clear_bit(SVC_STATUS_BUFFER_SUBMITTED, 328 328 &priv->status)) { 329 329 ret = 0; 330 330 continue; 331 331 } 332 332 333 - if (test_and_clear_bit(SVC_STATUS_RECONFIG_ERROR, 334 - &priv->status)) { 335 - dev_err(dev, "ERROR - giving up - SVC_STATUS_RECONFIG_ERROR\n"); 333 + if (test_and_clear_bit(SVC_STATUS_ERROR, &priv->status)) { 334 + dev_err(dev, "ERROR - giving up - SVC_STATUS_ERROR\n"); 336 335 ret = -EFAULT; 337 336 break; 338 337 } ··· 390 393 timeout = ret; 391 394 ret = 0; 392 395 393 - if (test_and_clear_bit(SVC_STATUS_RECONFIG_COMPLETED, 394 - &priv->status)) 396 + if (test_and_clear_bit(SVC_STATUS_COMPLETED, &priv->status)) 395 397 break; 396 398 397 - if (test_and_clear_bit(SVC_STATUS_RECONFIG_ERROR, 398 - &priv->status)) { 399 - dev_err(dev, "ERROR - giving up - SVC_STATUS_RECONFIG_ERROR\n"); 399 + if (test_and_clear_bit(SVC_STATUS_ERROR, &priv->status)) { 400 + dev_err(dev, "ERROR - giving up - SVC_STATUS_ERROR\n"); 400 401 ret = -EFAULT; 401 402 break; 402 403 }
+21 -28
include/linux/firmware/intel/stratix10-smc.h
··· 54 54 * Secure monitor software doesn't recognize the request. 55 55 * 56 56 * INTEL_SIP_SMC_STATUS_OK: 57 - * FPGA configuration completed successfully, 58 - * In case of FPGA configuration write operation, it means secure monitor 59 - * software can accept the next chunk of FPGA configuration data. 57 + * Secure monitor software accepts the service client's request. 60 58 * 61 - * INTEL_SIP_SMC_FPGA_CONFIG_STATUS_BUSY: 62 - * In case of FPGA configuration write operation, it means secure monitor 63 - * software is still processing previous data & can't accept the next chunk 64 - * of data. Service driver needs to issue 65 - * INTEL_SIP_SMC_FPGA_CONFIG_COMPLETED_WRITE call to query the 66 - * completed block(s). 59 + * INTEL_SIP_SMC_STATUS_BUSY: 60 + * Secure monitor software is still processing service client's request. 67 61 * 68 - * INTEL_SIP_SMC_FPGA_CONFIG_STATUS_ERROR: 69 - * There is error during the FPGA configuration process. 62 + * INTEL_SIP_SMC_STATUS_REJECTED: 63 + * Secure monitor software reject the service client's request. 70 64 * 71 - * INTEL_SIP_SMC_REG_ERROR: 72 - * There is error during a read or write operation of the protected registers. 65 + * INTEL_SIP_SMC_STATUS_ERROR: 66 + * There is error during the process of service request. 73 67 * 74 68 * INTEL_SIP_SMC_RSU_ERROR: 75 - * There is error during a remote status update. 69 + * There is error during the process of remote status update request. 76 70 */ 77 71 #define INTEL_SIP_SMC_RETURN_UNKNOWN_FUNCTION 0xFFFFFFFF 78 72 #define INTEL_SIP_SMC_STATUS_OK 0x0 79 - #define INTEL_SIP_SMC_FPGA_CONFIG_STATUS_BUSY 0x1 80 - #define INTEL_SIP_SMC_FPGA_CONFIG_STATUS_REJECTED 0x2 81 - #define INTEL_SIP_SMC_FPGA_CONFIG_STATUS_ERROR 0x4 82 - #define INTEL_SIP_SMC_REG_ERROR 0x5 73 + #define INTEL_SIP_SMC_STATUS_BUSY 0x1 74 + #define INTEL_SIP_SMC_STATUS_REJECTED 0x2 75 + #define INTEL_SIP_SMC_STATUS_ERROR 0x4 83 76 #define INTEL_SIP_SMC_RSU_ERROR 0x7 84 77 85 78 /** ··· 88 95 * a2-7: not used. 89 96 * 90 97 * Return status: 91 - * a0: INTEL_SIP_SMC_STATUS_OK, or INTEL_SIP_SMC_FPGA_CONFIG_STATUS_ERROR. 98 + * a0: INTEL_SIP_SMC_STATUS_OK, or INTEL_SIP_SMC_STATUS_ERROR. 92 99 * a1-3: not used. 93 100 */ 94 101 #define INTEL_SIP_SMC_FUNCID_FPGA_CONFIG_START 1 ··· 108 115 * a3-7: not used. 109 116 * 110 117 * Return status: 111 - * a0: INTEL_SIP_SMC_STATUS_OK, INTEL_SIP_SMC_FPGA_CONFIG_STATUS_BUSY or 112 - * INTEL_SIP_SMC_FPGA_CONFIG_STATUS_ERROR. 118 + * a0: INTEL_SIP_SMC_STATUS_OK, INTEL_SIP_SMC_STATUS_BUSY or 119 + * INTEL_SIP_SMC_STATUS_ERROR. 113 120 * a1: 64bit physical address of 1st completed memory block if any completed 114 121 * block, otherwise zero value. 115 122 * a2: 64bit physical address of 2nd completed memory block if any completed ··· 126 133 * 127 134 * Sync call used by service driver at EL1 to track the completed write 128 135 * transactions. This request is called after INTEL_SIP_SMC_FPGA_CONFIG_WRITE 129 - * call returns INTEL_SIP_SMC_FPGA_CONFIG_STATUS_BUSY. 136 + * call returns INTEL_SIP_SMC_STATUS_BUSY. 130 137 * 131 138 * Call register usage: 132 139 * a0: INTEL_SIP_SMC_FPGA_CONFIG_COMPLETED_WRITE. 133 140 * a1-7: not used. 134 141 * 135 142 * Return status: 136 - * a0: INTEL_SIP_SMC_STATUS_OK, INTEL_SIP_SMC_FPGA_CONFIG_STATUS_BUSY or 137 - * INTEL_SIP_SMC_FPGA_CONFIG_STATUS_ERROR. 143 + * a0: INTEL_SIP_SMC_STATUS_OK, INTEL_SIP_SMC_FPGA_BUSY or 144 + * INTEL_SIP_SMC_STATUS_ERROR. 138 145 * a1: 64bit physical address of 1st completed memory block. 139 146 * a2: 64bit physical address of 2nd completed memory block if 140 147 * any completed block, otherwise zero value. ··· 157 164 * a1-7: not used. 158 165 * 159 166 * Return status: 160 - * a0: INTEL_SIP_SMC_STATUS_OK, INTEL_SIP_SMC_FPGA_CONFIG_STATUS_BUSY or 161 - * INTEL_SIP_SMC_FPGA_CONFIG_STATUS_ERROR. 167 + * a0: INTEL_SIP_SMC_STATUS_OK, INTEL_SIP_SMC_STATUS_BUSY or 168 + * INTEL_SIP_SMC_STATUS_ERROR. 162 169 * a1-3: not used. 163 170 */ 164 171 #define INTEL_SIP_SMC_FUNCID_FPGA_CONFIG_ISDONE 4 ··· 176 183 * a1-7: not used. 177 184 * 178 185 * Return status: 179 - * a0: INTEL_SIP_SMC_STATUS_OK or INTEL_SIP_SMC_FPGA_CONFIG_STATUS_ERROR. 186 + * a0: INTEL_SIP_SMC_STATUS_OK or INTEL_SIP_SMC_STATUS_ERROR. 180 187 * a1: start of physical address of reserved memory block. 181 188 * a2: size of reserved memory block. 182 189 * a3: not used. ··· 196 203 * a1-7: not used. 197 204 * 198 205 * Return status: 199 - * a0: INTEL_SIP_SMC_STATUS_OK or INTEL_SIP_SMC_FPGA_CONFIG_STATUS_ERROR. 206 + * a0: INTEL_SIP_SMC_STATUS_OK or INTEL_SIP_SMC_STATUS_ERROR. 200 207 * a1-3: not used. 201 208 */ 202 209 #define INTEL_SIP_SMC_FUNCID_FPGA_CONFIG_LOOPBACK 6
+30 -41
include/linux/firmware/intel/stratix10-svc-client.h
··· 18 18 /** 19 19 * Status of the sent command, in bit number 20 20 * 21 - * SVC_COMMAND_STATUS_RECONFIG_REQUEST_OK: 22 - * Secure firmware accepts the request of FPGA reconfiguration. 21 + * SVC_STATUS_OK: 22 + * Secure firmware accepts the request issued by one of service clients. 23 23 * 24 - * SVC_STATUS_RECONFIG_BUFFER_SUBMITTED: 25 - * Service client successfully submits FPGA configuration 26 - * data buffer to secure firmware. 24 + * SVC_STATUS_BUFFER_SUBMITTED: 25 + * Service client successfully submits data buffer to secure firmware. 27 26 * 28 - * SVC_COMMAND_STATUS_RECONFIG_BUFFER_DONE: 27 + * SVC_STATUS_BUFFER_DONE: 29 28 * Secure firmware completes data process, ready to accept the 30 29 * next WRITE transaction. 31 30 * 32 - * SVC_COMMAND_STATUS_RECONFIG_COMPLETED: 33 - * Secure firmware completes FPGA configuration successfully, FPGA should 34 - * be in user mode. 31 + * SVC_STATUS_COMPLETED: 32 + * Secure firmware completes service request successfully. In case of 33 + * FPGA configuration, FPGA should be in user mode. 35 34 * 36 - * SVC_COMMAND_STATUS_RECONFIG_BUSY: 37 - * FPGA configuration is still in process. 35 + * SVC_COMMAND_STATUS_BUSY: 36 + * Service request is still in process. 38 37 * 39 - * SVC_COMMAND_STATUS_RECONFIG_ERROR: 40 - * Error encountered during FPGA configuration. 38 + * SVC_COMMAND_STATUS_ERROR: 39 + * Error encountered during the process of the service request. 41 40 * 42 - * SVC_STATUS_RSU_OK: 43 - * Secure firmware accepts the request of remote status update (RSU). 44 - * 45 - * SVC_STATUS_RSU_ERROR: 46 - * Error encountered during remote system update. 47 - * 48 - * SVC_STATUS_RSU_NO_SUPPORT: 49 - * Secure firmware doesn't support RSU retry or notify feature. 41 + * SVC_STATUS_NO_SUPPORT: 42 + * Secure firmware doesn't support requested features such as RSU retry 43 + * or RSU notify. 50 44 */ 51 - #define SVC_STATUS_RECONFIG_REQUEST_OK 0 52 - #define SVC_STATUS_RECONFIG_BUFFER_SUBMITTED 1 53 - #define SVC_STATUS_RECONFIG_BUFFER_DONE 2 54 - #define SVC_STATUS_RECONFIG_COMPLETED 3 55 - #define SVC_STATUS_RECONFIG_BUSY 4 56 - #define SVC_STATUS_RECONFIG_ERROR 5 57 - #define SVC_STATUS_RSU_OK 6 58 - #define SVC_STATUS_RSU_ERROR 7 59 - #define SVC_STATUS_RSU_NO_SUPPORT 8 45 + #define SVC_STATUS_OK 0 46 + #define SVC_STATUS_BUFFER_SUBMITTED 1 47 + #define SVC_STATUS_BUFFER_DONE 2 48 + #define SVC_STATUS_COMPLETED 3 49 + #define SVC_STATUS_BUSY 4 50 + #define SVC_STATUS_ERROR 5 51 + #define SVC_STATUS_NO_SUPPORT 6 60 52 61 53 /** 62 54 * Flag bit for COMMAND_RECONFIG ··· 76 84 * @COMMAND_NOOP: do 'dummy' request for integration/debug/trouble-shooting 77 85 * 78 86 * @COMMAND_RECONFIG: ask for FPGA configuration preparation, return status 79 - * is SVC_STATUS_RECONFIG_REQUEST_OK 87 + * is SVC_STATUS_OK 80 88 * 81 89 * @COMMAND_RECONFIG_DATA_SUBMIT: submit buffer(s) of bit-stream data for the 82 - * FPGA configuration, return status is SVC_STATUS_RECONFIG_BUFFER_SUBMITTED, 83 - * or SVC_STATUS_RECONFIG_ERROR 90 + * FPGA configuration, return status is SVC_STATUS_SUBMITTED or SVC_STATUS_ERROR 84 91 * 85 92 * @COMMAND_RECONFIG_DATA_CLAIM: check the status of the configuration, return 86 - * status is SVC_STATUS_RECONFIG_COMPLETED, or SVC_STATUS_RECONFIG_BUSY, or 87 - * SVC_STATUS_RECONFIG_ERROR 93 + * status is SVC_STATUS_COMPLETED, or SVC_STATUS_BUSY, or SVC_STATUS_ERROR 88 94 * 89 95 * @COMMAND_RECONFIG_STATUS: check the status of the configuration, return 90 - * status is SVC_STATUS_RECONFIG_COMPLETED, or SVC_STATUS_RECONFIG_BUSY, or 91 - * SVC_STATUS_RECONFIG_ERROR 96 + * status is SVC_STATUS_COMPLETED, or SVC_STATUS_BUSY, or SVC_STATUS_ERROR 92 97 * 93 98 * @COMMAND_RSU_STATUS: request remote system update boot log, return status 94 99 * is log data or SVC_STATUS_RSU_ERROR 95 100 * 96 101 * @COMMAND_RSU_UPDATE: set the offset of the bitstream to boot after reboot, 97 - * return status is SVC_STATUS_RSU_OK or SVC_STATUS_RSU_ERROR 102 + * return status is SVC_STATUS_OK or SVC_STATUS_ERROR 98 103 * 99 104 * @COMMAND_RSU_NOTIFY: report the status of hard processor system 100 - * software to firmware, return status is SVC_STATUS_RSU_OK or 101 - * SVC_STATUS_RSU_ERROR 105 + * software to firmware, return status is SVC_STATUS_OK or 106 + * SVC_STATUS_ERROR 102 107 * 103 108 * @COMMAND_RSU_RETRY: query firmware for the current image's retry counter, 104 - * return status is SVC_STATUS_RSU_OK or SVC_STATUS_RSU_ERROR 109 + * return status is SVC_STATUS_OK or SVC_STATUS_ERROR 105 110 */ 106 111 enum stratix10_svc_command_code { 107 112 COMMAND_NOOP = 0,