Lines Matching +full:3 +full:- +full:byte

1 /* SPDX-License-Identifier: GPL-2.0 */
8 * Copyright 1998-2001 by Leonard N. Zubkoff <lnz@dandelion.com>
17 #define MYRB_MAX_CHANNELS 3
163 unsigned char ldev_count; /* Byte 0 */
164 unsigned int rsvd1:24; /* Bytes 1-3 */
165 unsigned int ldev_sizes[32]; /* Bytes 4-131 */
166 unsigned short flash_age; /* Bytes 132-133 */
168 unsigned char deferred:1; /* Byte 134 Bit 0 */
169 unsigned char low_bat:1; /* Byte 134 Bit 1 */
170 unsigned char rsvd2:6; /* Byte 134 Bits 2-7 */
172 unsigned char rsvd3:8; /* Byte 135 */
173 unsigned char fw_minor_version; /* Byte 136 */
174 unsigned char fw_major_version; /* Byte 137 */
185 } __packed rbld; /* Byte 138 */
186 unsigned char max_tcq; /* Byte 139 */
187 unsigned char ldev_offline; /* Byte 140 */
188 unsigned char rsvd4:8; /* Byte 141 */
189 unsigned short ev_seq; /* Bytes 142-143 */
190 unsigned char ldev_critical; /* Byte 144 */
191 unsigned int rsvd5:24; /* Bytes 145-147 */
192 unsigned char pdev_dead; /* Byte 148 */
193 unsigned char rsvd6:8; /* Byte 149 */
194 unsigned char rbld_count; /* Byte 150 */
196 unsigned char rsvd7:3; /* Byte 151 Bits 0-2 */
197 unsigned char bbu_present:1; /* Byte 151 Bit 3 */
198 unsigned char rsvd8:4; /* Byte 151 Bits 4-7 */
203 } dead_drives[21]; /* Bytes 152-194 */
204 unsigned char rsvd9[62]; /* Bytes 195-255 */
223 } __packed sub_model; /* Byte 0 */
224 unsigned char actual_channels; /* Byte 1 */
230 } __packed model; /* Byte 2 */
236 } __packed controller; /* Byte 3 */
237 } hw; /* Bytes 0-3 */
238 /* MajorVersion.MinorVersion-FirmwareType-TurnID */
240 unsigned char major_version; /* Byte 4 */
241 unsigned char minor_version; /* Byte 5 */
242 unsigned char turn_id; /* Byte 6 */
243 char firmware_type; /* Byte 7 */
244 } fw; /* Bytes 4-7 */
245 unsigned int rsvd1; /* Byte 8-11 */
246 unsigned char cfg_chan; /* Byte 12 */
247 unsigned char cur_chan; /* Byte 13 */
248 unsigned char max_targets; /* Byte 14 */
249 unsigned char max_tcq; /* Byte 15 */
250 unsigned char max_ldev; /* Byte 16 */
251 unsigned char max_arms; /* Byte 17 */
252 unsigned char max_spans; /* Byte 18 */
253 unsigned char rsvd2; /* Byte 19 */
254 unsigned int rsvd3; /* Bytes 20-23 */
255 unsigned int mem_size; /* Bytes 24-27 */
256 unsigned int cache_size; /* Bytes 28-31 */
257 unsigned int flash_size; /* Bytes 32-35 */
258 unsigned int nvram_size; /* Bytes 36-39 */
265 } __packed ram:3; /* Byte 40 Bits 0-2 */
271 } __packed ec:3; /* Byte 40 Bits 3-5 */
272 unsigned char fast_page:1; /* Byte 40 Bit 6 */
273 unsigned char low_power:1; /* Byte 40 Bit 7 */
276 unsigned short clock_speed; /* Bytes 42-43 */
277 unsigned short mem_speed; /* Bytes 44-45 */
278 unsigned short hw_speed; /* Bytes 46-47 */
279 unsigned char rsvd5[12]; /* Bytes 48-59 */
280 unsigned short max_cmds; /* Bytes 60-61 */
281 unsigned short max_sge; /* Bytes 62-63 */
282 unsigned short max_drv_cmds; /* Bytes 64-65 */
283 unsigned short max_io_desc; /* Bytes 66-67 */
284 unsigned short max_sectors; /* Bytes 68-69 */
285 unsigned char latency; /* Byte 70 */
286 unsigned char rsvd6; /* Byte 71 */
287 unsigned char scsi_tmo; /* Byte 72 */
288 unsigned char rsvd7; /* Byte 73 */
289 unsigned short min_freelines; /* Bytes 74-75 */
290 unsigned char rsvd8[8]; /* Bytes 76-83 */
291 unsigned char rbld_rate_const; /* Byte 84 */
292 unsigned char rsvd9[11]; /* Byte 85-95 */
293 unsigned short pdrv_block_size; /* Bytes 96-97 */
294 unsigned short ldev_block_size; /* Bytes 98-99 */
295 unsigned short max_blocks_per_cmd; /* Bytes 100-101 */
296 unsigned short block_factor; /* Bytes 102-103 */
297 unsigned short cacheline_size; /* Bytes 104-105 */
303 } __packed bus_width:2; /* Byte 106 Bits 0-1 */
308 } __packed bus_speed:2; /* Byte 106 Bits 2-3 */
309 unsigned char differential:1; /* Byte 106 Bit 4 */
310 unsigned char rsvd10:3; /* Byte 106 Bits 5-7 */
312 unsigned char rsvd11[5]; /* Byte 107-111 */
313 unsigned short fw_build; /* Bytes 112-113 */
321 } __packed fault_mgmt; /* Byte 114 */
322 unsigned char rsvd12; /* Byte 115 */
324 unsigned int clustering:1; /* Byte 116 Bit 0 */
325 unsigned int online_RAID_expansion:1; /* Byte 116 Bit 1 */
326 unsigned int readahead:1; /* Byte 116 Bit 2 */
327 unsigned int bgi:1; /* Byte 116 Bit 3 */
328 unsigned int rsvd13:28; /* Bytes 116-119 */
330 unsigned char rsvd14[8]; /* Bytes 120-127 */
351 MYRB_RAID_LEVEL3 = 0x3, /* RAID 3 */
361 unsigned int size; /* Bytes 0-3 */
362 enum myrb_devstate state; /* Byte 4 */
363 unsigned int raid_level:7; /* Byte 5 Bits 0-6 */
364 unsigned int wb_enabled:1; /* Byte 5 Bit 7 */
365 unsigned int rsvd:16; /* Bytes 6-7 */
377 unsigned char msg_type; /* Byte 0 */
378 unsigned char msg_len; /* Byte 1 */
379 unsigned char target:5; /* Byte 2 Bits 0-4 */
380 unsigned char channel:3; /* Byte 2 Bits 5-7 */
381 unsigned char lun:6; /* Byte 3 Bits 0-5 */
382 unsigned char rsvd1:2; /* Byte 3 Bits 6-7 */
383 unsigned short seq_num; /* Bytes 4-5 */
384 unsigned char sense[26]; /* Bytes 6-31 */
393 unsigned int present:1; /* Byte 0 Bit 0 */
394 unsigned int :7; /* Byte 0 Bits 1-7 */
400 } __packed devtype:2; /* Byte 1 Bits 0-1 */
401 unsigned int rsvd1:1; /* Byte 1 Bit 2 */
402 unsigned int fast20:1; /* Byte 1 Bit 3 */
403 unsigned int sync:1; /* Byte 1 Bit 4 */
404 unsigned int fast:1; /* Byte 1 Bit 5 */
405 unsigned int wide:1; /* Byte 1 Bit 6 */
406 unsigned int tcq_supported:1; /* Byte 1 Bit 7 */
407 enum myrb_devstate state; /* Byte 2 */
408 unsigned int rsvd2:8; /* Byte 3 */
409 unsigned int sync_multiplier; /* Byte 4 */
410 unsigned int sync_offset:5; /* Byte 5 Bits 0-4 */
411 unsigned int rsvd3:3; /* Byte 5 Bits 5-7 */
412 unsigned int size; /* Bytes 6-9 */
413 unsigned int rsvd4:16; /* Bytes 10-11 */
420 unsigned int ldev_num; /* Bytes 0-3 */
421 unsigned int ldev_size; /* Bytes 4-7 */
422 unsigned int blocks_left; /* Bytes 8-11 */
429 unsigned int ldev_size; /* Bytes 0-3 */
430 unsigned int blocks_done; /* Bytes 4-7 */
431 unsigned char rsvd1[12]; /* Bytes 8-19 */
432 unsigned int ldev_num; /* Bytes 20-23 */
433 unsigned char raid_level; /* Byte 24 */
440 } __packed status; /* Byte 25 */
441 unsigned char rsvd2[6]; /* Bytes 26-31 */
448 unsigned char parity_err; /* Byte 0 */
449 unsigned char soft_err; /* Byte 1 */
450 unsigned char hard_err; /* Byte 2 */
451 unsigned char misc_err; /* Byte 3 */
458 unsigned rsvd1:1; /* Byte 0 Bit 0 */
459 unsigned active_negation:1; /* Byte 0 Bit 1 */
460 unsigned rsvd2:5; /* Byte 0 Bits 2-6 */
461 unsigned no_rescan_on_reset_during_scan:1; /* Byte 0 Bit 7 */
462 unsigned StorageWorks_support:1; /* Byte 1 Bit 0 */
463 unsigned HewlettPackard_support:1; /* Byte 1 Bit 1 */
464 unsigned no_disconnect_on_first_command:1; /* Byte 1 Bit 2 */
465 unsigned rsvd3:2; /* Byte 1 Bits 3-4 */
466 unsigned AEMI_ARM:1; /* Byte 1 Bit 5 */
467 unsigned AEMI_OFM:1; /* Byte 1 Bit 6 */
468 unsigned rsvd4:1; /* Byte 1 Bit 7 */
476 } __packed OEMID; /* Byte 2 */
477 unsigned char oem_model_number; /* Byte 3 */
478 unsigned char physical_sector; /* Byte 4 */
479 unsigned char logical_sector; /* Byte 5 */
480 unsigned char block_factor; /* Byte 6 */
481 unsigned readahead_enabled:1; /* Byte 7 Bit 0 */
482 unsigned low_BIOS_delay:1; /* Byte 7 Bit 1 */
483 unsigned rsvd5:2; /* Byte 7 Bits 2-3 */
484 unsigned restrict_reassign_to_one_sector:1; /* Byte 7 Bit 4 */
485 unsigned rsvd6:1; /* Byte 7 Bit 5 */
486 unsigned FUA_during_write_recovery:1; /* Byte 7 Bit 6 */
487 unsigned enable_LeftSymmetricRAID5Algorithm:1; /* Byte 7 Bit 7 */
488 unsigned char default_rebuild_rate; /* Byte 8 */
489 unsigned char rsvd7; /* Byte 9 */
490 unsigned char blocks_per_cacheline; /* Byte 10 */
491 unsigned char blocks_per_stripe; /* Byte 11 */
498 } __packed speed:2; /* Byte 11 Bits 0-1 */
499 unsigned force_8bit:1; /* Byte 11 Bit 2 */
500 unsigned disable_fast20:1; /* Byte 11 Bit 3 */
501 unsigned rsvd8:3; /* Byte 11 Bits 4-6 */
502 unsigned enable_tcq:1; /* Byte 11 Bit 7 */
503 } __packed channelparam[6]; /* Bytes 12-17 */
504 unsigned char SCSIInitiatorID; /* Byte 18 */
505 unsigned char rsvd9; /* Byte 19 */
509 } __packed startup; /* Byte 20 */
510 unsigned char simultaneous_device_spinup_count; /* Byte 21 */
511 unsigned char seconds_delay_between_spinups; /* Byte 22 */
512 unsigned char rsvd10[29]; /* Bytes 23-51 */
513 unsigned BIOS_disabled:1; /* Byte 52 Bit 0 */
514 unsigned CDROM_boot_enabled:1; /* Byte 52 Bit 1 */
515 unsigned rsvd11:3; /* Byte 52 Bits 2-4 */
521 } __packed drive_geometry:2; /* Byte 52 Bits 5-6 */
522 unsigned rsvd12:1; /* Byte 52 Bit 7 */
523 unsigned char rsvd13[9]; /* Bytes 53-61 */
524 unsigned short csum; /* Bytes 62-63 */
531 unsigned target:4; /* Byte 0 Bits 0-3 */
532 unsigned channel:4; /* Byte 0 Bits 4-7 */
537 MYRB_DCDB_XFER_ILLEGAL = 3
538 } __packed data_xfer:2; /* Byte 1 Bits 0-1 */
539 unsigned early_status:1; /* Byte 1 Bit 2 */
540 unsigned rsvd1:1; /* Byte 1 Bit 3 */
545 MYRB_DCDB_TMO_10_MINS = 3
546 } __packed timeout:2; /* Byte 1 Bits 4-5 */
547 unsigned no_autosense:1; /* Byte 1 Bit 6 */
548 unsigned allow_disconnect:1; /* Byte 1 Bit 7 */
549 unsigned short xfer_len_lo; /* Bytes 2-3 */
550 u32 dma_addr; /* Bytes 4-7 */
551 unsigned char cdb_len:4; /* Byte 8 Bits 0-3 */
552 unsigned char xfer_len_hi4:4; /* Byte 8 Bits 4-7 */
553 unsigned char sense_len; /* Byte 9 */
554 unsigned char cdb[12]; /* Bytes 10-21 */
555 unsigned char sense[64]; /* Bytes 22-85 */
556 unsigned char status; /* Byte 86 */
557 unsigned char rsvd2; /* Byte 87 */
562 *32 Bit Byte Count structure.
565 u32 sge_addr; /* Bytes 0-3 */
566 u32 sge_count; /* Bytes 4-7 */
570 * 13 Byte DAC960 V1 Firmware Command Mailbox structure.
571 * Bytes 13-15 are not used. The structure is padded to 16 bytes for
575 unsigned int words[4]; /* Words 0-3 */
576 unsigned char bytes[16]; /* Bytes 0-15 */
578 enum myrb_cmd_opcode opcode; /* Byte 0 */
579 unsigned char id; /* Byte 1 */
580 unsigned char rsvd[14]; /* Bytes 2-15 */
583 enum myrb_cmd_opcode opcode; /* Byte 0 */
584 unsigned char id; /* Byte 1 */
585 unsigned char rsvd1[6]; /* Bytes 2-7 */
586 u32 addr; /* Bytes 8-11 */
587 unsigned char rsvd2[4]; /* Bytes 12-15 */
590 enum myrb_cmd_opcode opcode; /* Byte 0 */
591 unsigned char id; /* Byte 1 */
592 unsigned char optype; /* Byte 2 */
593 unsigned char rsvd1[5]; /* Bytes 3-7 */
594 u32 addr; /* Bytes 8-11 */
595 unsigned char rsvd2[4]; /* Bytes 12-15 */
598 enum myrb_cmd_opcode opcode; /* Byte 0 */
599 unsigned char id; /* Byte 1 */
600 unsigned char rsvd1[5]; /* Bytes 2-6 */
601 unsigned char ldev_num:6; /* Byte 7 Bits 0-6 */
602 unsigned char auto_restore:1; /* Byte 7 Bit 7 */
603 unsigned char rsvd2[8]; /* Bytes 8-15 */
606 enum myrb_cmd_opcode opcode; /* Byte 0 */
607 unsigned char id; /* Byte 1 */
608 unsigned char channel; /* Byte 2 */
609 unsigned char target; /* Byte 3 */
610 enum myrb_devstate state; /* Byte 4 */
611 unsigned char rsvd1[3]; /* Bytes 5-7 */
612 u32 addr; /* Bytes 8-11 */
613 unsigned char rsvd2[4]; /* Bytes 12-15 */
616 enum myrb_cmd_opcode opcode; /* Byte 0 */
617 unsigned char id; /* Byte 1 */
618 unsigned char optype; /* Byte 2 */
619 unsigned char opqual; /* Byte 3 */
620 unsigned short ev_seq; /* Bytes 4-5 */
621 unsigned char rsvd1[2]; /* Bytes 6-7 */
622 u32 addr; /* Bytes 8-11 */
623 unsigned char rsvd2[4]; /* Bytes 12-15 */
626 enum myrb_cmd_opcode opcode; /* Byte 0 */
627 unsigned char id; /* Byte 1 */
628 unsigned char rsvd1[2]; /* Bytes 2-3 */
629 unsigned char rbld_rate; /* Byte 4 */
630 unsigned char rsvd2[3]; /* Bytes 5-7 */
631 u32 addr; /* Bytes 8-11 */
632 unsigned char rsvd3[4]; /* Bytes 12-15 */
635 enum myrb_cmd_opcode opcode; /* Byte 0 */
636 unsigned char id; /* Byte 1 */
637 unsigned short xfer_len; /* Bytes 2-3 */
638 unsigned int lba; /* Bytes 4-7 */
639 u32 addr; /* Bytes 8-11 */
640 unsigned char ldev_num; /* Byte 12 */
641 unsigned char rsvd[3]; /* Bytes 13-15 */
644 enum myrb_cmd_opcode opcode; /* Byte 0 */
645 unsigned char id; /* Byte 1 */
647 unsigned short xfer_len:11; /* Bytes 2-3 */
648 unsigned char ldev_num:5; /* Byte 3 Bits 3-7 */
650 unsigned int lba; /* Bytes 4-7 */
651 u32 addr; /* Bytes 8-11 */
652 unsigned char sg_count:6; /* Byte 12 Bits 0-5 */
658 } __packed sg_type:2; /* Byte 12 Bits 6-7 */
659 unsigned char rsvd[3]; /* Bytes 13-15 */
662 enum myrb_cmd_opcode opcode; /* Byte 0 */
663 unsigned char id; /* Byte 1 */
664 unsigned char opcode2; /* Byte 2 */
665 unsigned char rsvd1:8; /* Byte 3 */
666 u32 cmd_mbox_addr; /* Bytes 4-7 */
667 u32 stat_mbox_addr; /* Bytes 8-11 */
668 unsigned char rsvd2[4]; /* Bytes 12-15 */
676 unsigned char id; /* Byte 0 */
677 unsigned char rsvd:7; /* Byte 1 Bits 0-6 */
678 unsigned char valid:1; /* Byte 1 Bit 7 */
679 unsigned short status; /* Bytes 2-3 */