ENUM STRATIX10_SVC_COMMAND_CODE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… enum stratix10_svc_command_code(9) β€” the Kernel API Manual, bestie edition πŸŽ€

okay so real talk, this is the page for enum stratix10_svc_command_code from the Kernel API Manual, and it's literally the master list of all the service commands Stratix10 can send. it's giving "menu of things the firmware can do for you" ✨ keep reading, it's not as scary as it looks.


✨ NAME ✨

enum stratix10_svc_command_code β€” supported service commands 🫢


🌸 SYNOPSIS 🌸

enum stratix10_svc_command_code {
    COMMAND_NOOP ,
    COMMAND_RECONFIG ,
    COMMAND_RECONFIG_DATA_SUBMIT ,
    COMMAND_RECONFIG_DATA_CLAIM ,
    COMMAND_RECONFIG_STATUS ,
    COMMAND_RSU_STATUS ,
    COMMAND_RSU_UPDATE ,
    COMMAND_RSU_NOTIFY ,
    COMMAND_RSU_RETRY ,
    COMMAND_RSU_MAX_RETRY ,
    COMMAND_RSU_DCMF_VERSION ,
    COMMAND_RSU_DCMF_STATUS ,
    COMMAND_RSU_GET_DEVICE_INFO ,
    COMMAND_FIRMWARE_VERSION ,
    COMMAND_RSU_GET_SPT_TABLE ,
    COMMAND_FCS_REQUEST_SERVICE ,
    COMMAND_FCS_SEND_CERTIFICATE ,
    COMMAND_FCS_GET_PROVISION_DATA ,
    COMMAND_FCS_DATA_ENCRYPTION ,
    COMMAND_FCS_DATA_DECRYPTION ,
    COMMAND_FCS_RANDOM_NUMBER_GEN ,
    COMMAND_POLL_SERVICE_STATUS ,
    COMMAND_MBOX_SEND_CMD ,
    COMMAND_SMC_SVC_VERSION ,
    COMMAND_HWMON_READTEMP ,
    COMMAND_HWMON_READVOLT ,
    COMMAND_SMC_ATF_BUILD_VER

};

πŸ’– DESCRIPTION πŸ’–

so this enum is basically the group chat of every command the service layer knows about πŸ’¬ each one does a specific little job, and each one tells you what status it hands back. here's every single one, no skips, no "you'll figure it out" energy. 🌈

πŸ‘‘ Constants πŸ‘‘

  • COMMAND_NOOP β€” does a lil 'dummy' request, purely for integration, debug and trouble-shooting. it's the vibe-check command, no real work involved πŸ’…
  • COMMAND_RECONFIG β€” asks for FPGA configuration preparation; the status it returns is SVC_STATUS_OK ⭐
  • COMMAND_RECONFIG_DATA_SUBMIT β€” submits buffer(s) of bit-stream data for the FPGA configuration; the status it returns is SVC_STATUS_SUBMITTED or SVC_STATUS_ERROR πŸ¦‹
  • COMMAND_RECONFIG_DATA_CLAIM β€” checks the status of the configuration; the status it returns is SVC_STATUS_COMPLETED, or SVC_STATUS_BUSY, or SVC_STATUS_ERROR πŸ‘€
  • COMMAND_RECONFIG_STATUS β€” checks the status of the configuration; the status it returns is SVC_STATUS_COMPLETED, or SVC_STATUS_BUSY, or SVC_STATUS_ERROR (yes it's the same status-check energy as the one above, the enum said what it said) πŸ™ˆ
  • COMMAND_RSU_STATUS β€” requests the remote system update boot log; the status it returns is log data or SVC_STATUS_RSU_ERROR πŸ“œ
  • COMMAND_RSU_UPDATE β€” sets the offset of the bitstream to boot after reboot; the status it returns is SVC_STATUS_OK or SVC_STATUS_ERROR πŸ”„
  • COMMAND_RSU_NOTIFY β€” reports the status of the hard processor system software to firmware; the status it returns is SVC_STATUS_OK or SVC_STATUS_ERROR πŸ“£
  • COMMAND_RSU_RETRY β€” queries firmware for the current image's retry counter; the status it returns is SVC_STATUS_OK or SVC_STATUS_ERROR πŸ”
  • COMMAND_RSU_MAX_RETRY β€” queries firmware for the max retry value; the status it returns is SVC_STATUS_OK or SVC_STATUS_ERROR πŸ”’
  • COMMAND_RSU_DCMF_VERSION β€” queries firmware for the DCMF version; the status it returns is SVC_STATUS_OK or SVC_STATUS_ERROR 🏷️
  • COMMAND_RSU_DCMF_STATUS β€” queries firmware for the DCMF status; the status it returns is SVC_STATUS_OK or SVC_STATUS_ERROR πŸ“Š
  • COMMAND_RSU_GET_DEVICE_INFO β€” queries firmware for QSPI device info; the status it returns is SVC_STATUS_OK, SVC_STATUS_ERROR, or SVC_STATUS_NO_SUPPORT (that last one is the unsupported command / firmware compatibility path in the service layer 🫠)
  • COMMAND_FIRMWARE_VERSION β€” queries the running firmware version; the status it returns is SVC_STATUS_OK or SVC_STATUS_ERROR 🧾
  • COMMAND_RSU_GET_SPT_TABLE β€” queries firmware for the SPT table; the status it returns is SVC_STATUS_OK or SVC_STATUS_ERROR πŸ—‚οΈ
  • COMMAND_FCS_REQUEST_SERVICE β€” requests validation of the image from firmware; the status it returns is SVC_STATUS_OK, SVC_STATUS_INVALID_PARAM βœ…
  • COMMAND_FCS_SEND_CERTIFICATE β€” sends a certificate; the status it returns is SVC_STATUS_OK, SVC_STATUS_INVALID_PARAM, SVC_STATUS_ERROR πŸ“¨
  • COMMAND_FCS_GET_PROVISION_DATA β€” reads the provisioning data; the status it returns is SVC_STATUS_OK, SVC_STATUS_INVALID_PARAM, SVC_STATUS_ERROR πŸ“–
  • COMMAND_FCS_DATA_ENCRYPTION β€” encrypts the data; the status it returns is SVC_STATUS_OK, SVC_STATUS_INVALID_PARAM, SVC_STATUS_ERROR πŸ”
  • COMMAND_FCS_DATA_DECRYPTION β€” decrypts the data; the status it returns is SVC_STATUS_OK, SVC_STATUS_INVALID_PARAM, SVC_STATUS_ERROR πŸ”“
  • COMMAND_FCS_RANDOM_NUMBER_GEN β€” generates a random number; the status it returns is SVC_STATUS_OK, SVC_STATUS_ERROR 🎲
  • COMMAND_POLL_SERVICE_STATUS β€” polls whether the service request is complete; the status it returns is SVC_STATUS_OK, SVC_STATUS_ERROR or SVC_STATUS_BUSY (and yeah, the original spells it "statis" β€” we're keeping the lore fr fr πŸ’€)
  • COMMAND_MBOX_SEND_CMD β€” sends a generic mailbox command; the status it returns is SVC_STATUS_OK or SVC_STATUS_ERROR πŸ“¬
  • COMMAND_SMC_SVC_VERSION β€” non-mailbox SMC SVC API Version; the status it returns is SVC_STATUS_OK 🧬
  • COMMAND_HWMON_READTEMP β€” queries the temperature from the hardware monitor; the status it returns is SVC_STATUS_OK or SVC_STATUS_ERROR 🌑️
  • COMMAND_HWMON_READVOLT β€” queries the voltage from the hardware monitor; the status it returns is SVC_STATUS_OK or SVC_STATUS_ERROR ⚑
  • COMMAND_SMC_ATF_BUILD_VER β€” non-mailbox SMC ATF Build Version; the status it returns is SVC_STATUS_OK πŸ—οΈ

πŸ¦‹ SEE ALSO πŸ¦‹

like, go look at the kernel file ./include/linux/firmware/intel/stratix10-svc-client.h first, and then these besties (all (9) pages, mwah 😘):

struct stratix10_svc_client_msg(9), struct stratix10_svc_command_config_type(9), struct stratix10_svc_cb_data(9), struct stratix10_svc_client(9), stratix10_svc_request_channel_byname(9), stratix10_svc_free_channel(9), stratix10_svc_allocate_memory(9), stratix10_svc_free_memory(9), stratix10_svc_send(9), stratix10_svc_done(9), async_callback_t(9), stratix10_svc_add_async_client(9), stratix10_svc_remove_async_client(9), stratix10_svc_async_send(9), stratix10_svc_async_poll(9), stratix10_svc_async_done(9)


anyway that's the whole page, you ate that πŸ’… this came from ./include/linux/firmware/intel, dated October 2026, and that's the tea bestie πŸ“βœ¨πŸ‘‘

πŸ“¦ where this page comes from