Lines Matching full:ata
3 * libata-scsi.c - helper library for ATA
417 /* If we set cc then ATA pass-through will cause a in ata_cmd_ioctl()
425 /* Send userspace a few ATA registers (same as drivers/ide) */ in ata_cmd_ioctl()
427 desc[0] == 0x09) { /* code is "ATA Descriptor" */ in ata_cmd_ioctl()
501 /* If we set cc then ATA pass-through will cause a in ata_task_ioctl()
509 /* Send userspace ATA registers */ in ata_task_ioctl()
511 desc[0] == 0x09) {/* code is "ATA Descriptor" */ in ata_task_ioctl()
612 * @dev: ATA device to which the new command is attached
613 * @cmd: SCSI command that originated this ATA command
617 * ATA command sent to the hardware.
665 * Decode and dump the ATA error/status registers for the user so
676 pr_warn("ata%u: status=0x%02x { ", id, stat); in ata_dump_status()
690 pr_warn("ata%u: error=0x%02x { ", id, err); in ata_dump_status()
707 * ata_to_sense_error - convert ATA error to SCSI error
708 * @id: ATA device number
709 * @drv_stat: value contained in ATA status register
710 * @drv_err: value contained in ATA error register
716 * Converts an ATA error into a SCSI error. Fill out pointers to
832 pr_err("ata%u: translated ATA stat/err 0x%02x/%02x to SCSI SK/ASC/ASCQ 0x%x/%02x/%02x\n", in ata_to_sense_error()
841 * This function is specific to the ATA descriptor format sense
842 * block specified for the ATA pass through commands. Regardless
845 * block. If there was no error, we get the request from an ATA
848 * asc,ascq = ATA PASS-THROUGH INFORMATION AVAILABLE
876 * ATA PASS-THROUGH INFORMATION AVAILABLE in ata_gen_passthru_sense()
943 * Generate sense block for a failed ATA command @qc. Descriptor
1122 * Clear dev->sdev, schedule the device for ATA detach and invoke
1153 * @qc: Storage for translated ATA taskfile
1155 * Sets up an ATA taskfile to issue STANDBY (to stop) or READ VERIFY
1225 /* Issue ATA STANDBY IMMEDIATE command */ in ata_scsi_start_stop_xlat()
1249 * @qc: Storage for translated ATA taskfile
1251 * Sets up an ATA taskfile to issue FLUSH CACHE or
1370 * ata_scsi_verify_xlat - Translate SCSI VERIFY command into an ATA one
1371 * @qc: Storage for translated ATA taskfile
1373 * Converts SCSI VERIFY command to an ATA READ VERIFY command.
1513 * ata_scsi_rw_xlat - Translate SCSI r/w command into an ATA one
1514 * @qc: Storage for translated ATA taskfile
1517 * ATA counterpart, including starting sector (LBA),
1593 /* Check and compose ATA command */ in ata_scsi_rw_xlat()
1597 * However, for ATA R/W commands, sector count 0 means in ata_scsi_rw_xlat()
1600 * WARNING: one or two older ATA drives treat 0 as 0... in ata_scsi_rw_xlat()
1646 /* For ATA pass thru (SAT) commands, generate a sense block if in ata_scsi_qc_complete()
1649 * condition is generated and the ATA register values are returned in ata_scsi_qc_complete()
1653 * asc,ascq = ATA PASS-THROUGH INFORMATION AVAILABLE in ata_scsi_qc_complete()
1672 * ata_scsi_translate - Translate then issue SCSI command to ATA device
1673 * @dev: ATA device to which the command is addressed
1675 * @xlat_func: Actor which translates @cmd to an ATA taskfile
1678 * command issued can be directly translated into an ATA
1685 * ATA command, else 1 to finish translation. If 1 is returned
1854 /* set scsi removable (RMB) bit per ata bit, or if the in ata_scsiop_inq_std()
1867 memcpy(&rbuf[8], "ATA ", 8); in ata_scsiop_inq_std()
1903 0x89, /* page 0x89, ata info page */ in ata_scsiop_inq_00()
1923 * Returns ATA device serial number.
1949 * - vendor specific ASCII containing the ATA serial number
1951 * name ("ATA "), model and serial numbers.
1978 memcpy(rbuf + num, "ATA ", 8); in ata_scsiop_inq_83()
2003 * ata_scsiop_inq_89 - Simulate INQUIRY VPD page 89, ATA info
2007 * Yields SAT-specified ATA VPD page.
2026 /* we don't store the ATA device signature, so we fake it */ in ata_scsiop_inq_89()
2058 * The ATA spec doesn't even know about a granularity or alignment in ata_scsiop_inq_b0()
2174 * @dev: ATA device of interest
2463 * correct for ATA, not ATAPI in atapi_sense_complete()
2561 * correct for ATA, not ATAPI in atapi_qc_complete()
2596 * correct for ATA, not ATAPI in atapi_qc_complete()
2737 * @ap: ATA port to which the device is attached
2738 * @scsidev: SCSI device from which we derive the ATA device
2741 * map that onto an ATA bus, and using that mapping
2749 * Associated ATA device, or %NULL if not found.
2802 * ata_scsi_pass_thru - convert ATA pass-thru CDB to taskfile
2819 /* 7Fh variable length cmd means a ata pass-thru(32) */ in ata_scsi_pass_thru()
3107 * ata_scsi_write_same_xlat() - SATL Write Same to ATA SCT Write Same
3292 * ata_scsi_report_zones_complete - convert ATA output
3525 * @qc: Storage for translated ATA taskfile
3582 * @qc: Storage for translated ATA taskfile
3636 * @qc: Storage for translated ATA taskfile
3638 * Converts a MODE SELECT command to an ATA SET FEATURES taskfile.
3761 goto skip; /* No ATA command to send */ in ata_scsi_mode_select_xlat()
3818 * We don't support the ATA "security" protocol. in ata_scsi_security_inout_xlat()
3836 /* convert to the sector-based ATA addressing */ in ata_scsi_security_inout_xlat()
3879 * if service action represents a ata pass-thru(32) command, in ata_scsi_var_len_cdb_xlat()
3890 * ata_get_xlat_func - check if SCSI to ATA translation is possible
3891 * @dev: ATA device
3958 * @ap: ATA port to which the command was being sent
4002 /* ATA_16 passthru, treat as an ATA command */ in __ata_scsi_queuecmd()
4031 * ATA taskfiles, and queues the taskfiles to be sent to
4035 * ATA and ATAPI devices appearing as SCSI devices.
4038 * ATA host lock
4073 * ata_scsi_simulate - simulate SCSI command on ATA device
4346 * @dev: ATA device to offline attached SCSI device for
4370 * @dev: ATA device to remove attached SCSI device for
4468 * @work: Pointer to ATA port to perform SCSI hotplug on
4580 * @work: Pointer to ATA port to perform scsi_rescan_device()
4582 * After ATA pass thru (SAT) commands are executed successfully,