Lines Matching full:command

110 #define USBAT_ATA_CMD       0x17  /* device command (W) */
203 * Convenience function to produce an ATA read/write sectors command
294 * Some USBAT-specific commands can only be executed over a command transport
354 unsigned char *command = us->iobuf; in usbat_set_shuttle_features() local
356 command[0] = 0x40; in usbat_set_shuttle_features()
357 command[1] = USBAT_CMD_SET_FEAT; in usbat_set_shuttle_features()
363 command[2] = epp_control; in usbat_set_shuttle_features()
371 command[3] = external_trigger; in usbat_set_shuttle_features()
378 command[4] = test_pattern; in usbat_set_shuttle_features()
382 * in the read/write command. in usbat_set_shuttle_features()
384 command[5] = mask_byte; in usbat_set_shuttle_features()
392 command[6] = subcountL; in usbat_set_shuttle_features()
393 command[7] = subcountH; in usbat_set_shuttle_features()
395 return usbat_execute_command(us, command, 8); in usbat_set_shuttle_features()
456 unsigned char *command = us->iobuf; in usbat_read_block() local
461 command[0] = 0xC0; in usbat_read_block()
462 command[1] = USBAT_ATA | USBAT_CMD_READ_BLOCK; in usbat_read_block()
463 command[2] = USBAT_ATA_DATA; in usbat_read_block()
464 command[3] = 0; in usbat_read_block()
465 command[4] = 0; in usbat_read_block()
466 command[5] = 0; in usbat_read_block()
467 command[6] = LSB_of(len); in usbat_read_block()
468 command[7] = MSB_of(len); in usbat_read_block()
470 result = usbat_execute_command(us, command, 8); in usbat_read_block()
490 unsigned char *command = us->iobuf; in usbat_write_block() local
495 command[0] = 0x40; in usbat_write_block()
496 command[1] = access | USBAT_CMD_WRITE_BLOCK; in usbat_write_block()
497 command[2] = USBAT_ATA_DATA; in usbat_write_block()
498 command[3] = 0; in usbat_write_block()
499 command[4] = 0; in usbat_write_block()
500 command[5] = 0; in usbat_write_block()
501 command[6] = LSB_of(len); in usbat_write_block()
502 command[7] = MSB_of(len); in usbat_write_block()
504 result = usbat_execute_command(us, command, 8); in usbat_write_block()
538 unsigned char *command = us->iobuf; in usbat_hp8200e_rw_block_test() local
549 * The first time we send the full command, which consists in usbat_hp8200e_rw_block_test()
550 * of downloading the SCSI command followed by downloading in usbat_hp8200e_rw_block_test()
552 * send the command to download the data -- the SCSI command in usbat_hp8200e_rw_block_test()
567 command[0] = 0x40; in usbat_hp8200e_rw_block_test()
568 command[1] = access | USBAT_CMD_WRITE_REGS; in usbat_hp8200e_rw_block_test()
569 command[2] = 0x07; in usbat_hp8200e_rw_block_test()
570 command[3] = 0x17; in usbat_hp8200e_rw_block_test()
571 command[4] = 0xFC; in usbat_hp8200e_rw_block_test()
572 command[5] = 0xE7; in usbat_hp8200e_rw_block_test()
573 command[6] = LSB_of(num_registers*2); in usbat_hp8200e_rw_block_test()
574 command[7] = MSB_of(num_registers*2); in usbat_hp8200e_rw_block_test()
579 command[cmdlen-8] = (direction==DMA_TO_DEVICE ? 0x40 : 0xC0); in usbat_hp8200e_rw_block_test()
580 command[cmdlen-7] = access | in usbat_hp8200e_rw_block_test()
583 command[cmdlen-6] = data_reg; in usbat_hp8200e_rw_block_test()
584 command[cmdlen-5] = status_reg; in usbat_hp8200e_rw_block_test()
585 command[cmdlen-4] = timeout; in usbat_hp8200e_rw_block_test()
586 command[cmdlen-3] = qualifier; in usbat_hp8200e_rw_block_test()
587 command[cmdlen-2] = LSB_of(len); in usbat_hp8200e_rw_block_test()
588 command[cmdlen-1] = MSB_of(len); in usbat_hp8200e_rw_block_test()
590 result = usbat_execute_command(us, command, cmdlen); in usbat_hp8200e_rw_block_test()
613 * the bulk download -- but not the SCSI command because in usbat_hp8200e_rw_block_test()
614 * in some sense the SCSI command is still 'active' and in usbat_hp8200e_rw_block_test()
618 * Note that a stall for the test-and-read/write command means in usbat_hp8200e_rw_block_test()
690 unsigned char *command = us->iobuf; in usbat_multiple_write() local
695 command[0] = 0x40; in usbat_multiple_write()
696 command[1] = USBAT_ATA | USBAT_CMD_WRITE_REGS; in usbat_multiple_write()
699 command[2] = 0; in usbat_multiple_write()
700 command[3] = 0; in usbat_multiple_write()
701 command[4] = 0; in usbat_multiple_write()
702 command[5] = 0; in usbat_multiple_write()
705 command[6] = LSB_of(num_registers*2); in usbat_multiple_write()
706 command[7] = MSB_of(num_registers*2); in usbat_multiple_write()
708 /* The setup command */ in usbat_multiple_write()
709 result = usbat_execute_command(us, command, 8); in usbat_multiple_write()
736 * The read will start when the condition is met, otherwise the command aborts.
748 unsigned char *command = us->iobuf; in usbat_read_blocks() local
750 command[0] = 0xC0; in usbat_read_blocks()
751 command[1] = USBAT_ATA | USBAT_CMD_COND_READ_BLOCK; in usbat_read_blocks()
752 command[2] = USBAT_ATA_DATA; in usbat_read_blocks()
753 command[3] = USBAT_ATA_STATUS; in usbat_read_blocks()
754 command[4] = 0xFD; /* Timeout (ms); */ in usbat_read_blocks()
755 command[5] = USBAT_QUAL_FCQ; in usbat_read_blocks()
756 command[6] = LSB_of(len); in usbat_read_blocks()
757 command[7] = MSB_of(len); in usbat_read_blocks()
759 /* Multiple block read setup command */ in usbat_read_blocks()
760 result = usbat_execute_command(us, command, 8); in usbat_read_blocks()
778 * The read will start when the condition is met, otherwise the command aborts.
790 unsigned char *command = us->iobuf; in usbat_write_blocks() local
792 command[0] = 0x40; in usbat_write_blocks()
793 command[1] = USBAT_ATA | USBAT_CMD_COND_WRITE_BLOCK; in usbat_write_blocks()
794 command[2] = USBAT_ATA_DATA; in usbat_write_blocks()
795 command[3] = USBAT_ATA_STATUS; in usbat_write_blocks()
796 command[4] = 0xFD; /* Timeout (ms) */ in usbat_write_blocks()
797 command[5] = USBAT_QUAL_FCQ; in usbat_write_blocks()
798 command[6] = LSB_of(len); in usbat_write_blocks()
799 command[7] = MSB_of(len); in usbat_write_blocks()
801 /* Multiple block write setup command */ in usbat_write_blocks()
802 result = usbat_execute_command(us, command, 8); in usbat_write_blocks()
996 * execute the IDENTIFY PACKET DEVICE command. On ATA devices (i.e. flash in usbat_identify_device()
997 * readers), this command should fail with error. On ATAPI devices (i.e. in usbat_identify_device()
1008 /* Check for error bit, or if the command 'fell through' */ in usbat_identify_device()
1063 unsigned char command[3] = { 0x01, 0xA0, 0xEC }; in usbat_flash_get_sector_count() local
1075 /* ATA command : IDENTIFY DEVICE */ in usbat_flash_get_sector_count()
1076 rc = usbat_multiple_write(us, registers, command, 3); in usbat_flash_get_sector_count()
1125 unsigned char command[7]; in usbat_flash_read_data() local
1168 /* ATA command 0x20 (READ SECTORS) */ in usbat_flash_read_data()
1169 usbat_pack_ata_sector_cmd(command, thistime, sector, 0x20); in usbat_flash_read_data()
1171 /* Write/execute ATA read command */ in usbat_flash_read_data()
1172 result = usbat_multiple_write(us, registers, command, 7); in usbat_flash_read_data()
1216 unsigned char command[7]; in usbat_flash_write_data() local
1263 /* ATA command 0x30 (WRITE SECTORS) */ in usbat_flash_write_data()
1264 usbat_pack_ata_sector_cmd(command, thistime, sector, 0x30); in usbat_flash_write_data()
1266 /* Write/execute ATA write command */ in usbat_flash_write_data()
1267 result = usbat_multiple_write(us, registers, command, 7); in usbat_flash_write_data()
1289 * Squeeze a potentially huge (> 65535 byte) read10 command into
1322 * a single read command (max is 64k-1), we will perform in usbat_hp8200e_handle_read10()
1367 /* Fix up the SCSI command sector and num sectors */ in usbat_hp8200e_handle_read10()
1369 data[7+2] = MSB_of(sector>>16); /* SCSI command sector */ in usbat_hp8200e_handle_read10()
1375 data[7+7] = MSB_of(len / srb->transfersize); /* SCSI command */ in usbat_hp8200e_handle_read10()
1569 /* Send A0 (ATA PACKET COMMAND). in usbat_hp8200e_transport()
1587 data[6] = 0xA0; /* (command) = ATA PACKET COMMAND */ in usbat_hp8200e_transport()
1637 * Write the 12-byte command header. in usbat_hp8200e_transport()
1639 * If the command is BLANK then set the timer for 75 minutes. in usbat_hp8200e_transport()
1814 US_DEBUGP("usbat_flash_transport: Gah! Unknown command: %d (0x%x)\n", in usbat_flash_transport()