Lines Matching +full:firmware +full:- +full:specific
1 /* SPDX-License-Identifier: GPL-2.0-only */
44 * Header status codes from firmware
81 * snic_io_hdr : host <--> firmware
83 * for any other message that will be queued to firmware should
92 u8 protocol; /* Protocol specific, may needed for RoCE*/
103 hdr->type = typ; in snic_io_hdr_enc()
104 hdr->status = status; in snic_io_hdr_enc()
105 hdr->protocol = 0; in snic_io_hdr_enc()
106 hdr->hid = cpu_to_le32(hid); in snic_io_hdr_enc()
107 hdr->cmnd_id = cpu_to_le32(id); in snic_io_hdr_enc()
108 hdr->sg_cnt = cpu_to_le16(sg_cnt); in snic_io_hdr_enc()
109 hdr->init_ctx = ctx; in snic_io_hdr_enc()
110 hdr->flags = 0; in snic_io_hdr_enc()
118 *typ = hdr->type; in snic_io_hdr_dec()
119 *stat = hdr->status; in snic_io_hdr_dec()
120 *hid = le32_to_cpu(hdr->hid); in snic_io_hdr_dec()
121 *cmnd_id = le32_to_cpu(hdr->cmnd_id); in snic_io_hdr_dec()
122 *ctx = hdr->init_ctx; in snic_io_hdr_dec()
126 * snic_host_info: host -> firmware
128 * Used for sending host information to firmware, and request fw version
132 __le32 os_type; /* for OS specific features */
137 * Bit 0-7 : OS information
138 * Bit 8-31: Feature/Capability Information
150 * Bit 5-31: Reserved.
157 * snic_exch_ver_rsp : firmware -> host
159 * Used by firmware to send response to version request
175 * snic_report_tgts : host -> firmware request
181 __le16 flags; /* specific flags from fw */
209 * snic_report_tgts_cmpl : firmware -> host response
211 * Used by firmware to send response to Report Targets request
223 * Bit 2: ESGL - sg/esg array contains extended sg
224 * ESGE - is a host buffer contains sg elements
225 * Bit 3-4: Task Attributes
226 * 00b - simple
227 * 01b - head of queue
228 * 10b - ordered
229 * Bit 5-7: Priority - future use
230 * Bit 8-15: Reserved
249 * snic_icmnd : host-> firmware request
251 * used for sending out an initiator SCSI 16/32-byte command
272 * Bit 2-7: Reserved
278 * snic_icmnd_cmpl: firmware -> host response
290 * snic_itmf: host->firmware request
292 * used for requesting the firmware to abort a request and/or send out
320 * snic_itmf_cmpl: firmware -> host resposne
332 * Bit 0 : 1 - Num terminated field valid
333 * Bit 1 - 7 : Reserved
338 * snic_hba_reset: host -> firmware request
340 * used for requesting firmware to reset snic
348 * snic_hba_reset_cmpl: firmware -> host response
350 * Used by firmware to respond to the host's hba reset request
358 * snic_notify_msg: firmware -> host response
360 * Used by firmware to notify host of the last work queue entry received
370 /* snic_async_evnotify: firmware -> host notification
372 * Used by firmware to notify the host about configuration/state changes
400 /* Payload 88 bytes = 128 - 24 - 16 */
401 #define SNIC_HOST_REQ_PAYLOAD ((int)(SNIC_HOST_REQ_LEN - \
402 sizeof(struct snic_io_hdr) - \
403 (2 * sizeof(u64)) - sizeof(ulong)))
406 * snic_host_req: host -> firmware request
409 * firmware. They are 128 bytes in size.
412 u64 ctrl_data[2]; /*16 bytes - Control Data */
416 * Entry specific space, last byte contains color
421 * Exchange firmware version
447 * Entry specific space, last byte contains color
449 u8 buf[SNIC_FW_REQ_LEN - sizeof(struct snic_io_hdr)];
476 * Auxillary macro to verify specific snic req/cmpl structures
490 u8 *c = ((u8 *) req) + sizeof(struct snic_fw_req) - 1; in snic_color_enc()
501 u8 *c = ((u8 *) req) + sizeof(struct snic_fw_req) - 1; in snic_color_dec()