STRUCT STRATIX10_RSU_PRIV(9)
π NAME
struct stratix10_rsu_priv β rsu data structure. This is the struct stratix10_rsu_priv(9) page from the Kernel API Manual, and bestie, we are going member by member, no skips, no cap. π«Ά
π SYNOPSIS
Okay so here's the whole struct, exactly as it is, because we do not mess with code:
struct stratix10_rsu_priv {
struct stratix10_svc_chan *chan;
struct stratix10_svc_client client;
struct completion completion;
struct mutex lock;
bool async;
struct {
unsigned long current_image;
unsigned long fail_image;
unsigned int version;
unsigned int state;
unsigned int error_details;
unsigned int error_location;
} status;
struct {
unsigned int dcmf0;
unsigned int dcmf1;
unsigned int dcmf2;
unsigned int dcmf3;
} dcmf_version;
struct {
unsigned int dcmf0;
unsigned int dcmf1;
unsigned int dcmf2;
unsigned int dcmf3;
} dcmf_status;
struct flash_device_info device_info[4];
unsigned int retry_counter;
unsigned int max_retry;
unsigned long spt0_address;
unsigned long spt1_address;
unsigned int *get_spt_response_buf;
};
π Members
chanβ pointer to the allocated service channel. it's giving allocated channel energy β¨clientβ the active service client. main character client, honestly πcompletionβ state for callback completion.lockβ a mutex to protect callback completion state. do not skip the lock, bestie πasyncβ supports async operations.status.current_imageβ address of image currently running in flash.status.fail_imageβ address of failed image in flash.status.versionβ the interface version number of RSU firmware.status.stateβ the state of RSU system.status.error_detailsβ error code.status.error_locationβ the error offset inside the image that failed.dcmf_version.dcmf0β Quartus dcmf0 version.dcmf_version.dcmf1β Quartus dcmf1 version.dcmf_version.dcmf2β Quartus dcmf2 version.dcmf_version.dcmf3β Quartus dcmf3 version.dcmf_status.dcmf0β dcmf0 status.dcmf_status.dcmf1β dcmf1 status.dcmf_status.dcmf2β dcmf2 status.dcmf_status.dcmf3β dcmf3 status.device_infoβ per-device flash information array; each entry contains size and erase size for one flash device. and yes, the struct declares it asdevice_info[4]πΈretry_counterβ the current image's retry counter.max_retryβ the preset max retry value.spt0_addressβ address of spt0.spt1_addressβ address of spt1.get_spt_response_bufβ response from sdm for get_spt command.
π¦ SEE ALSO
- Kernel file
./drivers/firmware/stratix10-rsu.c rsu_device_info_set_from_packed(9)rsu_device_info_invalidate(9)rsu_status_callback(9)rsu_async_status_callback(9)rsu_command_callback(9)rsu_retry_callback(9)rsu_max_retry_callback(9)rsu_dcmf_version_callback(9)rsu_dcmf_status_callback(9)rsu_get_device_info_callback(9)rsu_async_get_spt_table_callback(9)__rsu_send_msg_locked(9)rsu_send_msg(9)rsu_try_send_msg(9)soc64_async_callback(9)rsu_send_async_msg(9)
mwah π footer vibes: source ./drivers/firmware, dated October 2026, and it's still struct stratix10_rsu_priv(9) β byeee bestie, you ate this whole struct and left no crumbs π«Άβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms