Lines Matching refs:tf
368 const struct ata_taskfile *tf) in ata_scsi_set_sense_information() argument
375 information = ata_tf_read_block(tf, dev); in ata_scsi_set_sense_information()
901 static void ata_dump_status(unsigned id, struct ata_taskfile *tf) in ata_dump_status() argument
903 u8 stat = tf->command, err = tf->feature; in ata_dump_status()
1086 struct ata_taskfile *tf = &qc->result_tf; in ata_gen_passthru_sense() local
1101 tf->command & (ATA_BUSY | ATA_DF | ATA_ERR | ATA_DRQ)) { in ata_gen_passthru_sense()
1102 ata_to_sense_error(qc->ap->print_id, tf->command, tf->feature, in ata_gen_passthru_sense()
1132 desc[3] = tf->feature; /* == error reg */ in ata_gen_passthru_sense()
1133 desc[5] = tf->nsect; in ata_gen_passthru_sense()
1134 desc[7] = tf->lbal; in ata_gen_passthru_sense()
1135 desc[9] = tf->lbam; in ata_gen_passthru_sense()
1136 desc[11] = tf->lbah; in ata_gen_passthru_sense()
1137 desc[12] = tf->device; in ata_gen_passthru_sense()
1138 desc[13] = tf->command; /* == status reg */ in ata_gen_passthru_sense()
1144 if (tf->flags & ATA_TFLAG_LBA48) { in ata_gen_passthru_sense()
1146 desc[4] = tf->hob_nsect; in ata_gen_passthru_sense()
1147 desc[6] = tf->hob_lbal; in ata_gen_passthru_sense()
1148 desc[8] = tf->hob_lbam; in ata_gen_passthru_sense()
1149 desc[10] = tf->hob_lbah; in ata_gen_passthru_sense()
1153 desc[0] = tf->feature; in ata_gen_passthru_sense()
1154 desc[1] = tf->command; /* status */ in ata_gen_passthru_sense()
1155 desc[2] = tf->device; in ata_gen_passthru_sense()
1156 desc[3] = tf->nsect; in ata_gen_passthru_sense()
1158 if (tf->flags & ATA_TFLAG_LBA48) { in ata_gen_passthru_sense()
1160 if (tf->hob_nsect) in ata_gen_passthru_sense()
1162 if (tf->hob_lbal || tf->hob_lbam || tf->hob_lbah) in ata_gen_passthru_sense()
1165 desc[9] = tf->lbal; in ata_gen_passthru_sense()
1166 desc[10] = tf->lbam; in ata_gen_passthru_sense()
1167 desc[11] = tf->lbah; in ata_gen_passthru_sense()
1185 struct ata_taskfile *tf = &qc->result_tf; in ata_gen_ata_sense() local
1205 tf->command & (ATA_BUSY | ATA_DF | ATA_ERR | ATA_DRQ)) { in ata_gen_ata_sense()
1206 ata_to_sense_error(qc->ap->print_id, tf->command, tf->feature, in ata_gen_ata_sense()
1212 tf->command, qc->err_mask); in ata_gen_ata_sense()
1478 struct ata_taskfile *tf = &qc->tf; in ata_scsi_start_stop_xlat() local
1488 tf->flags |= ATA_TFLAG_DEVICE | ATA_TFLAG_ISADDR; in ata_scsi_start_stop_xlat()
1489 tf->protocol = ATA_PROT_NODATA; in ata_scsi_start_stop_xlat()
1505 tf->nsect = 1; /* 1 sector, lba=0 */ in ata_scsi_start_stop_xlat()
1508 tf->flags |= ATA_TFLAG_LBA; in ata_scsi_start_stop_xlat()
1510 tf->lbah = 0x0; in ata_scsi_start_stop_xlat()
1511 tf->lbam = 0x0; in ata_scsi_start_stop_xlat()
1512 tf->lbal = 0x0; in ata_scsi_start_stop_xlat()
1513 tf->device |= ATA_LBA; in ata_scsi_start_stop_xlat()
1516 tf->lbal = 0x1; /* sect */ in ata_scsi_start_stop_xlat()
1517 tf->lbam = 0x0; /* cyl low */ in ata_scsi_start_stop_xlat()
1518 tf->lbah = 0x0; /* cyl high */ in ata_scsi_start_stop_xlat()
1521 tf->command = ATA_CMD_VERIFY; /* READ VERIFY */ in ata_scsi_start_stop_xlat()
1535 tf->command = ATA_CMD_STANDBYNOW1; in ata_scsi_start_stop_xlat()
1571 struct ata_taskfile *tf = &qc->tf; in ata_scsi_flush_xlat() local
1573 tf->flags |= ATA_TFLAG_DEVICE; in ata_scsi_flush_xlat()
1574 tf->protocol = ATA_PROT_NODATA; in ata_scsi_flush_xlat()
1577 tf->command = ATA_CMD_FLUSH_EXT; in ata_scsi_flush_xlat()
1579 tf->command = ATA_CMD_FLUSH; in ata_scsi_flush_xlat()
1693 struct ata_taskfile *tf = &qc->tf; in ata_scsi_verify_xlat() local
1701 tf->flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; in ata_scsi_verify_xlat()
1702 tf->protocol = ATA_PROT_NODATA; in ata_scsi_verify_xlat()
1729 tf->flags |= ATA_TFLAG_LBA; in ata_scsi_verify_xlat()
1733 tf->command = ATA_CMD_VERIFY; in ata_scsi_verify_xlat()
1734 tf->device |= (block >> 24) & 0xf; in ata_scsi_verify_xlat()
1740 tf->flags |= ATA_TFLAG_LBA48; in ata_scsi_verify_xlat()
1741 tf->command = ATA_CMD_VERIFY_EXT; in ata_scsi_verify_xlat()
1743 tf->hob_nsect = (n_block >> 8) & 0xff; in ata_scsi_verify_xlat()
1745 tf->hob_lbah = (block >> 40) & 0xff; in ata_scsi_verify_xlat()
1746 tf->hob_lbam = (block >> 32) & 0xff; in ata_scsi_verify_xlat()
1747 tf->hob_lbal = (block >> 24) & 0xff; in ata_scsi_verify_xlat()
1752 tf->nsect = n_block & 0xff; in ata_scsi_verify_xlat()
1754 tf->lbah = (block >> 16) & 0xff; in ata_scsi_verify_xlat()
1755 tf->lbam = (block >> 8) & 0xff; in ata_scsi_verify_xlat()
1756 tf->lbal = block & 0xff; in ata_scsi_verify_xlat()
1758 tf->device |= ATA_LBA; in ata_scsi_verify_xlat()
1782 tf->command = ATA_CMD_VERIFY; in ata_scsi_verify_xlat()
1783 tf->nsect = n_block & 0xff; /* Sector count 0 means 256 sectors */ in ata_scsi_verify_xlat()
1784 tf->lbal = sect; in ata_scsi_verify_xlat()
1785 tf->lbam = cyl; in ata_scsi_verify_xlat()
1786 tf->lbah = cyl >> 8; in ata_scsi_verify_xlat()
1787 tf->device |= head; in ata_scsi_verify_xlat()
1895 rc = ata_build_rw_tf(&qc->tf, qc->dev, block, n_block, tf_flags, in ata_scsi_rw_xlat()
2344 struct ata_taskfile tf; in ata_scsiop_inq_89() local
2346 memset(&tf, 0, sizeof(tf)); in ata_scsiop_inq_89()
2358 tf.command = ATA_DRDY; /* really, this is Status reg */ in ata_scsiop_inq_89()
2359 tf.lbal = 0x1; in ata_scsiop_inq_89()
2360 tf.nsect = 0x1; in ata_scsiop_inq_89()
2362 ata_tf_to_fis(&tf, 0, 1, &rbuf[36]); /* TODO: PMP? */ in ata_scsiop_inq_89()
2816 ap->ops->sff_tf_read(ap, &qc->tf); in atapi_request_sense()
2821 cmd->sense_buffer[2] = qc->tf.feature >> 4; in atapi_request_sense()
2834 qc->tf.flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; in atapi_request_sense()
2835 qc->tf.command = ATA_CMD_PACKET; in atapi_request_sense()
2838 qc->tf.protocol = ATAPI_PROT_DMA; in atapi_request_sense()
2839 qc->tf.feature |= ATAPI_PKT_DMA; in atapi_request_sense()
2841 qc->tf.protocol = ATAPI_PROT_PIO; in atapi_request_sense()
2842 qc->tf.lbam = SCSI_SENSE_BUFFERSIZE; in atapi_request_sense()
2843 qc->tf.lbah = 0; in atapi_request_sense()
2958 qc->tf.flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; in atapi_xlat()
2960 qc->tf.flags |= ATA_TFLAG_WRITE; in atapi_xlat()
2964 qc->tf.command = ATA_CMD_PACKET; in atapi_xlat()
3005 qc->tf.lbam = (nbytes & 0xFF); in atapi_xlat()
3006 qc->tf.lbah = (nbytes >> 8); in atapi_xlat()
3009 qc->tf.protocol = ATAPI_PROT_NODATA; in atapi_xlat()
3011 qc->tf.protocol = ATAPI_PROT_PIO; in atapi_xlat()
3014 qc->tf.protocol = ATAPI_PROT_DMA; in atapi_xlat()
3015 qc->tf.feature |= ATAPI_PKT_DMA; in atapi_xlat()
3020 qc->tf.feature |= ATAPI_DMADIR; in atapi_xlat()
3140 struct ata_taskfile *tf = &(qc->tf); in ata_scsi_pass_thru() local
3151 tf->protocol = ata_scsi_map_proto(cdb[1 + cdb_offset]); in ata_scsi_pass_thru()
3152 if (tf->protocol == ATA_PROT_UNKNOWN) { in ata_scsi_pass_thru()
3157 if (ata_is_ncq(tf->protocol) && (cdb[2 + cdb_offset] & 0x3) == 0) in ata_scsi_pass_thru()
3158 tf->protocol = ATA_PROT_NCQ_NODATA; in ata_scsi_pass_thru()
3161 tf->flags |= ATA_TFLAG_LBA; in ata_scsi_pass_thru()
3174 tf->hob_feature = cdb[3]; in ata_scsi_pass_thru()
3175 tf->hob_nsect = cdb[5]; in ata_scsi_pass_thru()
3176 tf->hob_lbal = cdb[7]; in ata_scsi_pass_thru()
3177 tf->hob_lbam = cdb[9]; in ata_scsi_pass_thru()
3178 tf->hob_lbah = cdb[11]; in ata_scsi_pass_thru()
3179 tf->flags |= ATA_TFLAG_LBA48; in ata_scsi_pass_thru()
3181 tf->flags &= ~ATA_TFLAG_LBA48; in ata_scsi_pass_thru()
3186 tf->feature = cdb[4]; in ata_scsi_pass_thru()
3187 tf->nsect = cdb[6]; in ata_scsi_pass_thru()
3188 tf->lbal = cdb[8]; in ata_scsi_pass_thru()
3189 tf->lbam = cdb[10]; in ata_scsi_pass_thru()
3190 tf->lbah = cdb[12]; in ata_scsi_pass_thru()
3191 tf->device = cdb[13]; in ata_scsi_pass_thru()
3192 tf->command = cdb[14]; in ata_scsi_pass_thru()
3197 tf->flags &= ~ATA_TFLAG_LBA48; in ata_scsi_pass_thru()
3199 tf->feature = cdb[3]; in ata_scsi_pass_thru()
3200 tf->nsect = cdb[4]; in ata_scsi_pass_thru()
3201 tf->lbal = cdb[5]; in ata_scsi_pass_thru()
3202 tf->lbam = cdb[6]; in ata_scsi_pass_thru()
3203 tf->lbah = cdb[7]; in ata_scsi_pass_thru()
3204 tf->device = cdb[8]; in ata_scsi_pass_thru()
3205 tf->command = cdb[9]; in ata_scsi_pass_thru()
3213 tf->hob_feature = cdb[20]; in ata_scsi_pass_thru()
3214 tf->hob_nsect = cdb[22]; in ata_scsi_pass_thru()
3215 tf->hob_lbal = cdb[16]; in ata_scsi_pass_thru()
3216 tf->hob_lbam = cdb[15]; in ata_scsi_pass_thru()
3217 tf->hob_lbah = cdb[14]; in ata_scsi_pass_thru()
3218 tf->flags |= ATA_TFLAG_LBA48; in ata_scsi_pass_thru()
3220 tf->flags &= ~ATA_TFLAG_LBA48; in ata_scsi_pass_thru()
3222 tf->feature = cdb[21]; in ata_scsi_pass_thru()
3223 tf->nsect = cdb[23]; in ata_scsi_pass_thru()
3224 tf->lbal = cdb[19]; in ata_scsi_pass_thru()
3225 tf->lbam = cdb[18]; in ata_scsi_pass_thru()
3226 tf->lbah = cdb[17]; in ata_scsi_pass_thru()
3227 tf->device = cdb[24]; in ata_scsi_pass_thru()
3228 tf->command = cdb[25]; in ata_scsi_pass_thru()
3229 tf->auxiliary = get_unaligned_be32(&cdb[28]); in ata_scsi_pass_thru()
3233 if (ata_is_ncq(tf->protocol)) in ata_scsi_pass_thru()
3234 tf->nsect = qc->hw_tag << 3; in ata_scsi_pass_thru()
3237 tf->device = dev->devno ? in ata_scsi_pass_thru()
3238 tf->device | ATA_DEV1 : tf->device & ~ATA_DEV1; in ata_scsi_pass_thru()
3240 switch (tf->command) { in ata_scsi_pass_thru()
3246 if (tf->protocol != ATA_PROT_PIO || tf->nsect != 1) { in ata_scsi_pass_thru()
3297 tf->flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; in ata_scsi_pass_thru()
3299 tf->flags |= ATA_TFLAG_WRITE; in ata_scsi_pass_thru()
3312 if (tf->protocol == ATA_PROT_DMA && dev->dma_mode == 0) { in ata_scsi_pass_thru()
3318 if (ata_is_ncq(tf->protocol) && !ata_ncq_enabled(dev)) { in ata_scsi_pass_thru()
3324 if ((cdb[1] & 0xe0) && !is_multi_taskfile(tf)) { in ata_scsi_pass_thru()
3329 if (is_multi_taskfile(tf)) { in ata_scsi_pass_thru()
3347 if (tf->command == ATA_CMD_SET_FEATURES && in ata_scsi_pass_thru()
3348 tf->feature == SETFEATURES_XFER) { in ata_scsi_pass_thru()
3368 if (tf->command >= 0x5C && tf->command <= 0x5F && !libata_allow_tpm) { in ata_scsi_pass_thru()
3447 struct ata_taskfile *tf = &qc->tf; in ata_scsi_write_same_xlat() local
3511 tf->protocol = ATA_PROT_NCQ; in ata_scsi_write_same_xlat()
3512 tf->command = ATA_CMD_FPDMA_SEND; in ata_scsi_write_same_xlat()
3513 tf->hob_nsect = ATA_SUBCMD_FPDMA_SEND_DSM & 0x1f; in ata_scsi_write_same_xlat()
3514 tf->nsect = qc->hw_tag << 3; in ata_scsi_write_same_xlat()
3515 tf->hob_feature = (size / 512) >> 8; in ata_scsi_write_same_xlat()
3516 tf->feature = size / 512; in ata_scsi_write_same_xlat()
3518 tf->auxiliary = 1; in ata_scsi_write_same_xlat()
3520 tf->protocol = ATA_PROT_DMA; in ata_scsi_write_same_xlat()
3521 tf->hob_feature = 0; in ata_scsi_write_same_xlat()
3522 tf->feature = ATA_DSM_TRIM; in ata_scsi_write_same_xlat()
3523 tf->hob_nsect = (size / 512) >> 8; in ata_scsi_write_same_xlat()
3524 tf->nsect = size / 512; in ata_scsi_write_same_xlat()
3525 tf->command = ATA_CMD_DSM; in ata_scsi_write_same_xlat()
3528 tf->flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE | ATA_TFLAG_LBA48 | in ata_scsi_write_same_xlat()
3692 struct ata_taskfile *tf = &qc->tf; in ata_scsi_zbc_in_xlat() local
3731 tf->protocol = ATA_PROT_NCQ; in ata_scsi_zbc_in_xlat()
3732 tf->command = ATA_CMD_FPDMA_RECV; in ata_scsi_zbc_in_xlat()
3733 tf->hob_nsect = ATA_SUBCMD_FPDMA_RECV_ZAC_MGMT_IN & 0x1f; in ata_scsi_zbc_in_xlat()
3734 tf->nsect = qc->hw_tag << 3; in ata_scsi_zbc_in_xlat()
3735 tf->feature = sect & 0xff; in ata_scsi_zbc_in_xlat()
3736 tf->hob_feature = (sect >> 8) & 0xff; in ata_scsi_zbc_in_xlat()
3737 tf->auxiliary = ATA_SUBCMD_ZAC_MGMT_IN_REPORT_ZONES | (options << 8); in ata_scsi_zbc_in_xlat()
3739 tf->command = ATA_CMD_ZAC_MGMT_IN; in ata_scsi_zbc_in_xlat()
3740 tf->feature = ATA_SUBCMD_ZAC_MGMT_IN_REPORT_ZONES; in ata_scsi_zbc_in_xlat()
3741 tf->protocol = ATA_PROT_DMA; in ata_scsi_zbc_in_xlat()
3742 tf->hob_feature = options; in ata_scsi_zbc_in_xlat()
3743 tf->hob_nsect = (sect >> 8) & 0xff; in ata_scsi_zbc_in_xlat()
3744 tf->nsect = sect & 0xff; in ata_scsi_zbc_in_xlat()
3746 tf->device = ATA_LBA; in ata_scsi_zbc_in_xlat()
3747 tf->lbah = (block >> 16) & 0xff; in ata_scsi_zbc_in_xlat()
3748 tf->lbam = (block >> 8) & 0xff; in ata_scsi_zbc_in_xlat()
3749 tf->lbal = block & 0xff; in ata_scsi_zbc_in_xlat()
3750 tf->hob_lbah = (block >> 40) & 0xff; in ata_scsi_zbc_in_xlat()
3751 tf->hob_lbam = (block >> 32) & 0xff; in ata_scsi_zbc_in_xlat()
3752 tf->hob_lbal = (block >> 24) & 0xff; in ata_scsi_zbc_in_xlat()
3754 tf->flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE | ATA_TFLAG_LBA48; in ata_scsi_zbc_in_xlat()
3775 struct ata_taskfile *tf = &qc->tf; in ata_scsi_zbc_out_xlat() local
3820 tf->protocol = ATA_PROT_NCQ_NODATA; in ata_scsi_zbc_out_xlat()
3821 tf->command = ATA_CMD_NCQ_NON_DATA; in ata_scsi_zbc_out_xlat()
3822 tf->feature = ATA_SUBCMD_NCQ_NON_DATA_ZAC_MGMT_OUT; in ata_scsi_zbc_out_xlat()
3823 tf->nsect = qc->hw_tag << 3; in ata_scsi_zbc_out_xlat()
3824 tf->auxiliary = sa | ((u16)all << 8); in ata_scsi_zbc_out_xlat()
3826 tf->protocol = ATA_PROT_NODATA; in ata_scsi_zbc_out_xlat()
3827 tf->command = ATA_CMD_ZAC_MGMT_OUT; in ata_scsi_zbc_out_xlat()
3828 tf->feature = sa; in ata_scsi_zbc_out_xlat()
3829 tf->hob_feature = all; in ata_scsi_zbc_out_xlat()
3831 tf->lbah = (block >> 16) & 0xff; in ata_scsi_zbc_out_xlat()
3832 tf->lbam = (block >> 8) & 0xff; in ata_scsi_zbc_out_xlat()
3833 tf->lbal = block & 0xff; in ata_scsi_zbc_out_xlat()
3834 tf->hob_lbah = (block >> 40) & 0xff; in ata_scsi_zbc_out_xlat()
3835 tf->hob_lbam = (block >> 32) & 0xff; in ata_scsi_zbc_out_xlat()
3836 tf->hob_lbal = (block >> 24) & 0xff; in ata_scsi_zbc_out_xlat()
3837 tf->device = ATA_LBA; in ata_scsi_zbc_out_xlat()
3838 tf->flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE | ATA_TFLAG_LBA48; in ata_scsi_zbc_out_xlat()
3866 struct ata_taskfile *tf = &qc->tf; in ata_mselect_caching() local
3900 tf->flags |= ATA_TFLAG_DEVICE | ATA_TFLAG_ISADDR; in ata_mselect_caching()
3901 tf->protocol = ATA_PROT_NODATA; in ata_mselect_caching()
3902 tf->nsect = 0; in ata_mselect_caching()
3903 tf->command = ATA_CMD_SET_FEATURES; in ata_mselect_caching()
3904 tf->feature = wce ? SETFEATURES_WC_ON : SETFEATURES_WC_OFF; in ata_mselect_caching()
4135 struct ata_taskfile *tf = &qc->tf; in ata_scsi_security_inout_xlat() local
4165 tf->protocol = dma ? ATA_PROT_DMA : ATA_PROT_PIO; in ata_scsi_security_inout_xlat()
4166 tf->flags |= ATA_TFLAG_DEVICE | ATA_TFLAG_ISADDR | ATA_TFLAG_LBA; in ata_scsi_security_inout_xlat()
4168 tf->flags |= ATA_TFLAG_WRITE; in ata_scsi_security_inout_xlat()
4169 tf->command = ata_scsi_trusted_op(len, send, dma); in ata_scsi_security_inout_xlat()
4170 tf->feature = secp; in ata_scsi_security_inout_xlat()
4171 tf->lbam = spsp & 0xff; in ata_scsi_security_inout_xlat()
4172 tf->lbah = spsp >> 8; in ata_scsi_security_inout_xlat()
4175 tf->nsect = len & 0xff; in ata_scsi_security_inout_xlat()
4176 tf->lbal = len >> 8; in ata_scsi_security_inout_xlat()
4179 tf->lbah = (1 << 7); in ata_scsi_security_inout_xlat()