Lines Matching full:command
103 #define USBAT_ATA_CMD 0x17 /* device command (W) */
196 * Convenience function to produce an ATA read/write sectors command
287 * Some USBAT-specific commands can only be executed over a command transport
347 unsigned char *command = us->iobuf; in usbat_set_shuttle_features() local
349 command[0] = 0x40; in usbat_set_shuttle_features()
350 command[1] = USBAT_CMD_SET_FEAT; in usbat_set_shuttle_features()
356 command[2] = epp_control; in usbat_set_shuttle_features()
364 command[3] = external_trigger; in usbat_set_shuttle_features()
371 command[4] = test_pattern; in usbat_set_shuttle_features()
375 * in the read/write command. in usbat_set_shuttle_features()
377 command[5] = mask_byte; in usbat_set_shuttle_features()
385 command[6] = subcountL; in usbat_set_shuttle_features()
386 command[7] = subcountH; in usbat_set_shuttle_features()
388 return usbat_execute_command(us, command, 8); in usbat_set_shuttle_features()
450 unsigned char *command = us->iobuf; in usbat_read_block() local
455 command[0] = 0xC0; in usbat_read_block()
456 command[1] = USBAT_ATA | USBAT_CMD_READ_BLOCK; in usbat_read_block()
457 command[2] = USBAT_ATA_DATA; in usbat_read_block()
458 command[3] = 0; in usbat_read_block()
459 command[4] = 0; in usbat_read_block()
460 command[5] = 0; in usbat_read_block()
461 command[6] = LSB_of(len); in usbat_read_block()
462 command[7] = MSB_of(len); in usbat_read_block()
464 result = usbat_execute_command(us, command, 8); in usbat_read_block()
484 unsigned char *command = us->iobuf; in usbat_write_block() local
489 command[0] = 0x40; in usbat_write_block()
490 command[1] = access | USBAT_CMD_WRITE_BLOCK; in usbat_write_block()
491 command[2] = USBAT_ATA_DATA; in usbat_write_block()
492 command[3] = 0; in usbat_write_block()
493 command[4] = 0; in usbat_write_block()
494 command[5] = 0; in usbat_write_block()
495 command[6] = LSB_of(len); in usbat_write_block()
496 command[7] = MSB_of(len); in usbat_write_block()
498 result = usbat_execute_command(us, command, 8); in usbat_write_block()
532 unsigned char *command = us->iobuf; in usbat_hp8200e_rw_block_test() local
543 * The first time we send the full command, which consists in usbat_hp8200e_rw_block_test()
544 * of downloading the SCSI command followed by downloading in usbat_hp8200e_rw_block_test()
546 * send the command to download the data -- the SCSI command in usbat_hp8200e_rw_block_test()
561 command[0] = 0x40; in usbat_hp8200e_rw_block_test()
562 command[1] = access | USBAT_CMD_WRITE_REGS; in usbat_hp8200e_rw_block_test()
563 command[2] = 0x07; in usbat_hp8200e_rw_block_test()
564 command[3] = 0x17; in usbat_hp8200e_rw_block_test()
565 command[4] = 0xFC; in usbat_hp8200e_rw_block_test()
566 command[5] = 0xE7; in usbat_hp8200e_rw_block_test()
567 command[6] = LSB_of(num_registers*2); in usbat_hp8200e_rw_block_test()
568 command[7] = MSB_of(num_registers*2); in usbat_hp8200e_rw_block_test()
573 command[cmdlen-8] = (direction==DMA_TO_DEVICE ? 0x40 : 0xC0); in usbat_hp8200e_rw_block_test()
574 command[cmdlen-7] = access | in usbat_hp8200e_rw_block_test()
577 command[cmdlen-6] = data_reg; in usbat_hp8200e_rw_block_test()
578 command[cmdlen-5] = status_reg; in usbat_hp8200e_rw_block_test()
579 command[cmdlen-4] = timeout; in usbat_hp8200e_rw_block_test()
580 command[cmdlen-3] = qualifier; in usbat_hp8200e_rw_block_test()
581 command[cmdlen-2] = LSB_of(len); in usbat_hp8200e_rw_block_test()
582 command[cmdlen-1] = MSB_of(len); in usbat_hp8200e_rw_block_test()
584 result = usbat_execute_command(us, command, cmdlen); in usbat_hp8200e_rw_block_test()
607 * the bulk download -- but not the SCSI command because in usbat_hp8200e_rw_block_test()
608 * in some sense the SCSI command is still 'active' and in usbat_hp8200e_rw_block_test()
612 * Note that a stall for the test-and-read/write command means in usbat_hp8200e_rw_block_test()
684 unsigned char *command = us->iobuf; in usbat_multiple_write() local
689 command[0] = 0x40; in usbat_multiple_write()
690 command[1] = USBAT_ATA | USBAT_CMD_WRITE_REGS; in usbat_multiple_write()
693 command[2] = 0; in usbat_multiple_write()
694 command[3] = 0; in usbat_multiple_write()
695 command[4] = 0; in usbat_multiple_write()
696 command[5] = 0; in usbat_multiple_write()
699 command[6] = LSB_of(num_registers*2); in usbat_multiple_write()
700 command[7] = MSB_of(num_registers*2); in usbat_multiple_write()
702 /* The setup command */ in usbat_multiple_write()
703 result = usbat_execute_command(us, command, 8); in usbat_multiple_write()
730 * The read will start when the condition is met, otherwise the command aborts.
742 unsigned char *command = us->iobuf; in usbat_read_blocks() local
744 command[0] = 0xC0; in usbat_read_blocks()
745 command[1] = USBAT_ATA | USBAT_CMD_COND_READ_BLOCK; in usbat_read_blocks()
746 command[2] = USBAT_ATA_DATA; in usbat_read_blocks()
747 command[3] = USBAT_ATA_STATUS; in usbat_read_blocks()
748 command[4] = 0xFD; /* Timeout (ms); */ in usbat_read_blocks()
749 command[5] = USBAT_QUAL_FCQ; in usbat_read_blocks()
750 command[6] = LSB_of(len); in usbat_read_blocks()
751 command[7] = MSB_of(len); in usbat_read_blocks()
753 /* Multiple block read setup command */ in usbat_read_blocks()
754 result = usbat_execute_command(us, command, 8); in usbat_read_blocks()
772 * The read will start when the condition is met, otherwise the command aborts.
784 unsigned char *command = us->iobuf; in usbat_write_blocks() local
786 command[0] = 0x40; in usbat_write_blocks()
787 command[1] = USBAT_ATA | USBAT_CMD_COND_WRITE_BLOCK; in usbat_write_blocks()
788 command[2] = USBAT_ATA_DATA; in usbat_write_blocks()
789 command[3] = USBAT_ATA_STATUS; in usbat_write_blocks()
790 command[4] = 0xFD; /* Timeout (ms) */ in usbat_write_blocks()
791 command[5] = USBAT_QUAL_FCQ; in usbat_write_blocks()
792 command[6] = LSB_of(len); in usbat_write_blocks()
793 command[7] = MSB_of(len); in usbat_write_blocks()
795 /* Multiple block write setup command */ in usbat_write_blocks()
796 result = usbat_execute_command(us, command, 8); in usbat_write_blocks()
992 * execute the IDENTIFY PACKET DEVICE command. On ATA devices (i.e. flash in usbat_identify_device()
993 * readers), this command should fail with error. On ATAPI devices (i.e. in usbat_identify_device()
1004 /* Check for error bit, or if the command 'fell through' */ in usbat_identify_device()
1059 unsigned char command[3] = { 0x01, 0xA0, 0xEC }; in usbat_flash_get_sector_count() local
1071 /* ATA command : IDENTIFY DEVICE */ in usbat_flash_get_sector_count()
1072 rc = usbat_multiple_write(us, registers, command, 3); in usbat_flash_get_sector_count()
1121 unsigned char command[7]; in usbat_flash_read_data() local
1164 /* ATA command 0x20 (READ SECTORS) */ in usbat_flash_read_data()
1165 usbat_pack_ata_sector_cmd(command, thistime, sector, 0x20); in usbat_flash_read_data()
1167 /* Write/execute ATA read command */ in usbat_flash_read_data()
1168 result = usbat_multiple_write(us, registers, command, 7); in usbat_flash_read_data()
1212 unsigned char command[7]; in usbat_flash_write_data() local
1259 /* ATA command 0x30 (WRITE SECTORS) */ in usbat_flash_write_data()
1260 usbat_pack_ata_sector_cmd(command, thistime, sector, 0x30); in usbat_flash_write_data()
1262 /* Write/execute ATA write command */ in usbat_flash_write_data()
1263 result = usbat_multiple_write(us, registers, command, 7); in usbat_flash_write_data()
1285 * Squeeze a potentially huge (> 65535 byte) read10 command into
1317 * a single read command (max is 64k-1), we will perform in usbat_hp8200e_handle_read10()
1362 /* Fix up the SCSI command sector and num sectors */ in usbat_hp8200e_handle_read10()
1364 data[7+2] = MSB_of(sector>>16); /* SCSI command sector */ in usbat_hp8200e_handle_read10()
1370 data[7+7] = MSB_of(len / srb->transfersize); /* SCSI command */ in usbat_hp8200e_handle_read10()
1564 * Send A0 (ATA PACKET COMMAND). in usbat_hp8200e_transport()
1582 data[6] = 0xA0; /* (command) = ATA PACKET COMMAND */ in usbat_hp8200e_transport()
1632 * Write the 12-byte command header. in usbat_hp8200e_transport()
1634 * If the command is BLANK then set the timer for 75 minutes. in usbat_hp8200e_transport()
1813 usb_stor_dbg(us, "Gah! Unknown command: %d (0x%x)\n", in usbat_flash_transport()