Lines Matching refs:tf
204 const struct ata_taskfile *tf) in ata_scsi_set_sense_information() argument
211 information = ata_tf_read_block(tf, dev); in ata_scsi_set_sense_information()
672 static void ata_dump_status(unsigned id, struct ata_taskfile *tf) in ata_dump_status() argument
674 u8 stat = tf->command, err = tf->feature; in ata_dump_status()
857 struct ata_taskfile *tf = &qc->result_tf; in ata_gen_passthru_sense() local
870 tf->command & (ATA_BUSY | ATA_DF | ATA_ERR | ATA_DRQ)) { in ata_gen_passthru_sense()
871 ata_to_sense_error(qc->ap->print_id, tf->command, tf->feature, in ata_gen_passthru_sense()
900 desc[3] = tf->feature; /* == error reg */ in ata_gen_passthru_sense()
901 desc[5] = tf->nsect; in ata_gen_passthru_sense()
902 desc[7] = tf->lbal; in ata_gen_passthru_sense()
903 desc[9] = tf->lbam; in ata_gen_passthru_sense()
904 desc[11] = tf->lbah; in ata_gen_passthru_sense()
905 desc[12] = tf->device; in ata_gen_passthru_sense()
906 desc[13] = tf->command; /* == status reg */ in ata_gen_passthru_sense()
912 if (tf->flags & ATA_TFLAG_LBA48) { in ata_gen_passthru_sense()
914 desc[4] = tf->hob_nsect; in ata_gen_passthru_sense()
915 desc[6] = tf->hob_lbal; in ata_gen_passthru_sense()
916 desc[8] = tf->hob_lbam; in ata_gen_passthru_sense()
917 desc[10] = tf->hob_lbah; in ata_gen_passthru_sense()
921 desc[0] = tf->feature; in ata_gen_passthru_sense()
922 desc[1] = tf->command; /* status */ in ata_gen_passthru_sense()
923 desc[2] = tf->device; in ata_gen_passthru_sense()
924 desc[3] = tf->nsect; in ata_gen_passthru_sense()
926 if (tf->flags & ATA_TFLAG_LBA48) { in ata_gen_passthru_sense()
928 if (tf->hob_nsect) in ata_gen_passthru_sense()
930 if (tf->hob_lbal || tf->hob_lbam || tf->hob_lbah) in ata_gen_passthru_sense()
933 desc[9] = tf->lbal; in ata_gen_passthru_sense()
934 desc[10] = tf->lbam; in ata_gen_passthru_sense()
935 desc[11] = tf->lbah; in ata_gen_passthru_sense()
953 struct ata_taskfile *tf = &qc->result_tf; in ata_gen_ata_sense() local
971 tf->command & (ATA_BUSY | ATA_DF | ATA_ERR | ATA_DRQ)) { in ata_gen_ata_sense()
972 ata_to_sense_error(qc->ap->print_id, tf->command, tf->feature, in ata_gen_ata_sense()
978 tf->command, qc->err_mask); in ata_gen_ata_sense()
1169 struct ata_taskfile *tf = &qc->tf; in ata_scsi_start_stop_xlat() local
1179 tf->flags |= ATA_TFLAG_DEVICE | ATA_TFLAG_ISADDR; in ata_scsi_start_stop_xlat()
1180 tf->protocol = ATA_PROT_NODATA; in ata_scsi_start_stop_xlat()
1196 tf->nsect = 1; /* 1 sector, lba=0 */ in ata_scsi_start_stop_xlat()
1199 tf->flags |= ATA_TFLAG_LBA; in ata_scsi_start_stop_xlat()
1201 tf->lbah = 0x0; in ata_scsi_start_stop_xlat()
1202 tf->lbam = 0x0; in ata_scsi_start_stop_xlat()
1203 tf->lbal = 0x0; in ata_scsi_start_stop_xlat()
1204 tf->device |= ATA_LBA; in ata_scsi_start_stop_xlat()
1207 tf->lbal = 0x1; /* sect */ in ata_scsi_start_stop_xlat()
1208 tf->lbam = 0x0; /* cyl low */ in ata_scsi_start_stop_xlat()
1209 tf->lbah = 0x0; /* cyl high */ in ata_scsi_start_stop_xlat()
1212 tf->command = ATA_CMD_VERIFY; /* READ VERIFY */ in ata_scsi_start_stop_xlat()
1226 tf->command = ATA_CMD_STANDBYNOW1; in ata_scsi_start_stop_xlat()
1262 struct ata_taskfile *tf = &qc->tf; in ata_scsi_flush_xlat() local
1264 tf->flags |= ATA_TFLAG_DEVICE; in ata_scsi_flush_xlat()
1265 tf->protocol = ATA_PROT_NODATA; in ata_scsi_flush_xlat()
1268 tf->command = ATA_CMD_FLUSH_EXT; in ata_scsi_flush_xlat()
1270 tf->command = ATA_CMD_FLUSH; in ata_scsi_flush_xlat()
1384 struct ata_taskfile *tf = &qc->tf; in ata_scsi_verify_xlat() local
1392 tf->flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; in ata_scsi_verify_xlat()
1393 tf->protocol = ATA_PROT_NODATA; in ata_scsi_verify_xlat()
1420 tf->flags |= ATA_TFLAG_LBA; in ata_scsi_verify_xlat()
1424 tf->command = ATA_CMD_VERIFY; in ata_scsi_verify_xlat()
1425 tf->device |= (block >> 24) & 0xf; in ata_scsi_verify_xlat()
1431 tf->flags |= ATA_TFLAG_LBA48; in ata_scsi_verify_xlat()
1432 tf->command = ATA_CMD_VERIFY_EXT; in ata_scsi_verify_xlat()
1434 tf->hob_nsect = (n_block >> 8) & 0xff; in ata_scsi_verify_xlat()
1436 tf->hob_lbah = (block >> 40) & 0xff; in ata_scsi_verify_xlat()
1437 tf->hob_lbam = (block >> 32) & 0xff; in ata_scsi_verify_xlat()
1438 tf->hob_lbal = (block >> 24) & 0xff; in ata_scsi_verify_xlat()
1443 tf->nsect = n_block & 0xff; in ata_scsi_verify_xlat()
1445 tf->lbah = (block >> 16) & 0xff; in ata_scsi_verify_xlat()
1446 tf->lbam = (block >> 8) & 0xff; in ata_scsi_verify_xlat()
1447 tf->lbal = block & 0xff; in ata_scsi_verify_xlat()
1449 tf->device |= ATA_LBA; in ata_scsi_verify_xlat()
1473 tf->command = ATA_CMD_VERIFY; in ata_scsi_verify_xlat()
1474 tf->nsect = n_block & 0xff; /* Sector count 0 means 256 sectors */ in ata_scsi_verify_xlat()
1475 tf->lbal = sect; in ata_scsi_verify_xlat()
1476 tf->lbam = cyl; in ata_scsi_verify_xlat()
1477 tf->lbah = cyl >> 8; in ata_scsi_verify_xlat()
1478 tf->device |= head; in ata_scsi_verify_xlat()
1607 rc = ata_build_rw_tf(&qc->tf, qc->dev, block, n_block, tf_flags, in ata_scsi_rw_xlat()
2488 ap->ops->sff_tf_read(ap, &qc->tf); in atapi_request_sense()
2493 cmd->sense_buffer[2] = qc->tf.feature >> 4; in atapi_request_sense()
2506 qc->tf.flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; in atapi_request_sense()
2507 qc->tf.command = ATA_CMD_PACKET; in atapi_request_sense()
2510 qc->tf.protocol = ATAPI_PROT_DMA; in atapi_request_sense()
2511 qc->tf.feature |= ATAPI_PKT_DMA; in atapi_request_sense()
2513 qc->tf.protocol = ATAPI_PROT_PIO; in atapi_request_sense()
2514 qc->tf.lbam = SCSI_SENSE_BUFFERSIZE; in atapi_request_sense()
2515 qc->tf.lbah = 0; in atapi_request_sense()
2630 qc->tf.flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; in atapi_xlat()
2632 qc->tf.flags |= ATA_TFLAG_WRITE; in atapi_xlat()
2636 qc->tf.command = ATA_CMD_PACKET; in atapi_xlat()
2677 qc->tf.lbam = (nbytes & 0xFF); in atapi_xlat()
2678 qc->tf.lbah = (nbytes >> 8); in atapi_xlat()
2681 qc->tf.protocol = ATAPI_PROT_NODATA; in atapi_xlat()
2683 qc->tf.protocol = ATAPI_PROT_PIO; in atapi_xlat()
2686 qc->tf.protocol = ATAPI_PROT_DMA; in atapi_xlat()
2687 qc->tf.feature |= ATAPI_PKT_DMA; in atapi_xlat()
2692 qc->tf.feature |= ATAPI_DMADIR; in atapi_xlat()
2812 struct ata_taskfile *tf = &(qc->tf); in ata_scsi_pass_thru() local
2823 tf->protocol = ata_scsi_map_proto(cdb[1 + cdb_offset]); in ata_scsi_pass_thru()
2824 if (tf->protocol == ATA_PROT_UNKNOWN) { in ata_scsi_pass_thru()
2829 if (ata_is_ncq(tf->protocol) && (cdb[2 + cdb_offset] & 0x3) == 0) in ata_scsi_pass_thru()
2830 tf->protocol = ATA_PROT_NCQ_NODATA; in ata_scsi_pass_thru()
2833 tf->flags |= ATA_TFLAG_LBA; in ata_scsi_pass_thru()
2846 tf->hob_feature = cdb[3]; in ata_scsi_pass_thru()
2847 tf->hob_nsect = cdb[5]; in ata_scsi_pass_thru()
2848 tf->hob_lbal = cdb[7]; in ata_scsi_pass_thru()
2849 tf->hob_lbam = cdb[9]; in ata_scsi_pass_thru()
2850 tf->hob_lbah = cdb[11]; in ata_scsi_pass_thru()
2851 tf->flags |= ATA_TFLAG_LBA48; in ata_scsi_pass_thru()
2853 tf->flags &= ~ATA_TFLAG_LBA48; in ata_scsi_pass_thru()
2858 tf->feature = cdb[4]; in ata_scsi_pass_thru()
2859 tf->nsect = cdb[6]; in ata_scsi_pass_thru()
2860 tf->lbal = cdb[8]; in ata_scsi_pass_thru()
2861 tf->lbam = cdb[10]; in ata_scsi_pass_thru()
2862 tf->lbah = cdb[12]; in ata_scsi_pass_thru()
2863 tf->device = cdb[13]; in ata_scsi_pass_thru()
2864 tf->command = cdb[14]; in ata_scsi_pass_thru()
2869 tf->flags &= ~ATA_TFLAG_LBA48; in ata_scsi_pass_thru()
2871 tf->feature = cdb[3]; in ata_scsi_pass_thru()
2872 tf->nsect = cdb[4]; in ata_scsi_pass_thru()
2873 tf->lbal = cdb[5]; in ata_scsi_pass_thru()
2874 tf->lbam = cdb[6]; in ata_scsi_pass_thru()
2875 tf->lbah = cdb[7]; in ata_scsi_pass_thru()
2876 tf->device = cdb[8]; in ata_scsi_pass_thru()
2877 tf->command = cdb[9]; in ata_scsi_pass_thru()
2885 tf->hob_feature = cdb[20]; in ata_scsi_pass_thru()
2886 tf->hob_nsect = cdb[22]; in ata_scsi_pass_thru()
2887 tf->hob_lbal = cdb[16]; in ata_scsi_pass_thru()
2888 tf->hob_lbam = cdb[15]; in ata_scsi_pass_thru()
2889 tf->hob_lbah = cdb[14]; in ata_scsi_pass_thru()
2890 tf->flags |= ATA_TFLAG_LBA48; in ata_scsi_pass_thru()
2892 tf->flags &= ~ATA_TFLAG_LBA48; in ata_scsi_pass_thru()
2894 tf->feature = cdb[21]; in ata_scsi_pass_thru()
2895 tf->nsect = cdb[23]; in ata_scsi_pass_thru()
2896 tf->lbal = cdb[19]; in ata_scsi_pass_thru()
2897 tf->lbam = cdb[18]; in ata_scsi_pass_thru()
2898 tf->lbah = cdb[17]; in ata_scsi_pass_thru()
2899 tf->device = cdb[24]; in ata_scsi_pass_thru()
2900 tf->command = cdb[25]; in ata_scsi_pass_thru()
2901 tf->auxiliary = get_unaligned_be32(&cdb[28]); in ata_scsi_pass_thru()
2905 if (ata_is_ncq(tf->protocol)) in ata_scsi_pass_thru()
2906 tf->nsect = qc->hw_tag << 3; in ata_scsi_pass_thru()
2909 tf->device = dev->devno ? in ata_scsi_pass_thru()
2910 tf->device | ATA_DEV1 : tf->device & ~ATA_DEV1; in ata_scsi_pass_thru()
2912 switch (tf->command) { in ata_scsi_pass_thru()
2918 if (tf->protocol != ATA_PROT_PIO || tf->nsect != 1) { in ata_scsi_pass_thru()
2969 tf->flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; in ata_scsi_pass_thru()
2971 tf->flags |= ATA_TFLAG_WRITE; in ata_scsi_pass_thru()
2984 if (tf->protocol == ATA_PROT_DMA && dev->dma_mode == 0) { in ata_scsi_pass_thru()
2990 if (ata_is_ncq(tf->protocol) && !ata_ncq_enabled(dev)) { in ata_scsi_pass_thru()
2996 if ((cdb[1] & 0xe0) && !is_multi_taskfile(tf)) { in ata_scsi_pass_thru()
3001 if (is_multi_taskfile(tf)) { in ata_scsi_pass_thru()
3019 if (tf->command == ATA_CMD_SET_FEATURES && in ata_scsi_pass_thru()
3020 tf->feature == SETFEATURES_XFER) { in ata_scsi_pass_thru()
3040 if (tf->command >= 0x5C && tf->command <= 0x5F && !libata_allow_tpm) { in ata_scsi_pass_thru()
3119 struct ata_taskfile *tf = &qc->tf; in ata_scsi_write_same_xlat() local
3183 tf->protocol = ATA_PROT_NCQ; in ata_scsi_write_same_xlat()
3184 tf->command = ATA_CMD_FPDMA_SEND; in ata_scsi_write_same_xlat()
3185 tf->hob_nsect = ATA_SUBCMD_FPDMA_SEND_DSM & 0x1f; in ata_scsi_write_same_xlat()
3186 tf->nsect = qc->hw_tag << 3; in ata_scsi_write_same_xlat()
3187 tf->hob_feature = (size / 512) >> 8; in ata_scsi_write_same_xlat()
3188 tf->feature = size / 512; in ata_scsi_write_same_xlat()
3190 tf->auxiliary = 1; in ata_scsi_write_same_xlat()
3192 tf->protocol = ATA_PROT_DMA; in ata_scsi_write_same_xlat()
3193 tf->hob_feature = 0; in ata_scsi_write_same_xlat()
3194 tf->feature = ATA_DSM_TRIM; in ata_scsi_write_same_xlat()
3195 tf->hob_nsect = (size / 512) >> 8; in ata_scsi_write_same_xlat()
3196 tf->nsect = size / 512; in ata_scsi_write_same_xlat()
3197 tf->command = ATA_CMD_DSM; in ata_scsi_write_same_xlat()
3200 tf->flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE | ATA_TFLAG_LBA48 | in ata_scsi_write_same_xlat()
3364 struct ata_taskfile *tf = &qc->tf; in ata_scsi_zbc_in_xlat() local
3403 tf->protocol = ATA_PROT_NCQ; in ata_scsi_zbc_in_xlat()
3404 tf->command = ATA_CMD_FPDMA_RECV; in ata_scsi_zbc_in_xlat()
3405 tf->hob_nsect = ATA_SUBCMD_FPDMA_RECV_ZAC_MGMT_IN & 0x1f; in ata_scsi_zbc_in_xlat()
3406 tf->nsect = qc->hw_tag << 3; in ata_scsi_zbc_in_xlat()
3407 tf->feature = sect & 0xff; in ata_scsi_zbc_in_xlat()
3408 tf->hob_feature = (sect >> 8) & 0xff; in ata_scsi_zbc_in_xlat()
3409 tf->auxiliary = ATA_SUBCMD_ZAC_MGMT_IN_REPORT_ZONES | (options << 8); in ata_scsi_zbc_in_xlat()
3411 tf->command = ATA_CMD_ZAC_MGMT_IN; in ata_scsi_zbc_in_xlat()
3412 tf->feature = ATA_SUBCMD_ZAC_MGMT_IN_REPORT_ZONES; in ata_scsi_zbc_in_xlat()
3413 tf->protocol = ATA_PROT_DMA; in ata_scsi_zbc_in_xlat()
3414 tf->hob_feature = options; in ata_scsi_zbc_in_xlat()
3415 tf->hob_nsect = (sect >> 8) & 0xff; in ata_scsi_zbc_in_xlat()
3416 tf->nsect = sect & 0xff; in ata_scsi_zbc_in_xlat()
3418 tf->device = ATA_LBA; in ata_scsi_zbc_in_xlat()
3419 tf->lbah = (block >> 16) & 0xff; in ata_scsi_zbc_in_xlat()
3420 tf->lbam = (block >> 8) & 0xff; in ata_scsi_zbc_in_xlat()
3421 tf->lbal = block & 0xff; in ata_scsi_zbc_in_xlat()
3422 tf->hob_lbah = (block >> 40) & 0xff; in ata_scsi_zbc_in_xlat()
3423 tf->hob_lbam = (block >> 32) & 0xff; in ata_scsi_zbc_in_xlat()
3424 tf->hob_lbal = (block >> 24) & 0xff; in ata_scsi_zbc_in_xlat()
3426 tf->flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE | ATA_TFLAG_LBA48; in ata_scsi_zbc_in_xlat()
3447 struct ata_taskfile *tf = &qc->tf; in ata_scsi_zbc_out_xlat() local
3492 tf->protocol = ATA_PROT_NCQ_NODATA; in ata_scsi_zbc_out_xlat()
3493 tf->command = ATA_CMD_NCQ_NON_DATA; in ata_scsi_zbc_out_xlat()
3494 tf->feature = ATA_SUBCMD_NCQ_NON_DATA_ZAC_MGMT_OUT; in ata_scsi_zbc_out_xlat()
3495 tf->nsect = qc->hw_tag << 3; in ata_scsi_zbc_out_xlat()
3496 tf->auxiliary = sa | ((u16)all << 8); in ata_scsi_zbc_out_xlat()
3498 tf->protocol = ATA_PROT_NODATA; in ata_scsi_zbc_out_xlat()
3499 tf->command = ATA_CMD_ZAC_MGMT_OUT; in ata_scsi_zbc_out_xlat()
3500 tf->feature = sa; in ata_scsi_zbc_out_xlat()
3501 tf->hob_feature = all; in ata_scsi_zbc_out_xlat()
3503 tf->lbah = (block >> 16) & 0xff; in ata_scsi_zbc_out_xlat()
3504 tf->lbam = (block >> 8) & 0xff; in ata_scsi_zbc_out_xlat()
3505 tf->lbal = block & 0xff; in ata_scsi_zbc_out_xlat()
3506 tf->hob_lbah = (block >> 40) & 0xff; in ata_scsi_zbc_out_xlat()
3507 tf->hob_lbam = (block >> 32) & 0xff; in ata_scsi_zbc_out_xlat()
3508 tf->hob_lbal = (block >> 24) & 0xff; in ata_scsi_zbc_out_xlat()
3509 tf->device = ATA_LBA; in ata_scsi_zbc_out_xlat()
3510 tf->flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE | ATA_TFLAG_LBA48; in ata_scsi_zbc_out_xlat()
3538 struct ata_taskfile *tf = &qc->tf; in ata_mselect_caching() local
3572 tf->flags |= ATA_TFLAG_DEVICE | ATA_TFLAG_ISADDR; in ata_mselect_caching()
3573 tf->protocol = ATA_PROT_NODATA; in ata_mselect_caching()
3574 tf->nsect = 0; in ata_mselect_caching()
3575 tf->command = ATA_CMD_SET_FEATURES; in ata_mselect_caching()
3576 tf->feature = wce ? SETFEATURES_WC_ON : SETFEATURES_WC_OFF; in ata_mselect_caching()
3810 struct ata_taskfile *tf = &qc->tf; in ata_scsi_security_inout_xlat() local
3840 tf->protocol = dma ? ATA_PROT_DMA : ATA_PROT_PIO; in ata_scsi_security_inout_xlat()
3841 tf->flags |= ATA_TFLAG_DEVICE | ATA_TFLAG_ISADDR | ATA_TFLAG_LBA; in ata_scsi_security_inout_xlat()
3843 tf->flags |= ATA_TFLAG_WRITE; in ata_scsi_security_inout_xlat()
3844 tf->command = ata_scsi_trusted_op(len, send, dma); in ata_scsi_security_inout_xlat()
3845 tf->feature = secp; in ata_scsi_security_inout_xlat()
3846 tf->lbam = spsp & 0xff; in ata_scsi_security_inout_xlat()
3847 tf->lbah = spsp >> 8; in ata_scsi_security_inout_xlat()
3850 tf->nsect = len & 0xff; in ata_scsi_security_inout_xlat()
3851 tf->lbal = len >> 8; in ata_scsi_security_inout_xlat()
3854 tf->lbah = (1 << 7); in ata_scsi_security_inout_xlat()