ATA_SCSI_TRANSLATE(9) libata SCSI translation/emulat ATA_SCSI_TRANSLATE(9)NAME
ata_scsi_translate - Translate then issue SCSI command to ATA device
SYNOPSIS
int ata_scsi_translate(struct ata_device * dev, struct scsi_cmnd * cmd, ata_xlat_func_t xlat_func);
ARGUMENTS
dev
ATA device to which the command is addressed
cmd
SCSI command to execute
xlat_func
Actor which translates cmd to an ATA taskfile
DESCRIPTION
Our ->queuecommand function has decided that the SCSI command issued can be directly translated into an ATA command, rather than handled
internally.
This function sets up an ata_queued_cmd structure for the SCSI command, and sends that ata_queued_cmd to the hardware.
The xlat_func argument (actor) returns 0 if ready to execute ATA command, else 1 to finish translation. If 1 is returned then cmd->result
(and possibly cmd->sense_buffer) are assumed to be set reflecting an error condition or clean (early) termination.
LOCKING
spin_lock_irqsave(host lock)
RETURNS
0 on success, SCSI_ML_QUEUE_DEVICE_BUSY if the command needs to be deferred.
AUTHOR
Jeff Garzik
Author.
COPYRIGHT Kernel Hackers Manual 3.10 June 2014 ATA_SCSI_TRANSLATE(9)
Check Out this Related Man Page
atapi_ide(7) Miscellaneous Information Manual atapi_ide(7)NAME
atapi_ide - Interface for ATAPI or IDE (PC) devices
SYNOPSIS
PCI bus CMD/Acer ATAPI/IDE adapter:
bus pci0 at *
bus ata0 at *
controller scsi0 at ata0 slot 0
controller scsi1 at ata0 slot 1
PCI bus Cypress ATAPI/IDE adapter:
bus pci0 at *
bus ata0 at *
bus ata1 at *
controller scsi0 at ata0 slot 0
controller scsi1 at ata1 slot 0
PCMCIA bus ATA/IDE disk card:
bus pcmcia0 at *
bus ata0 at pcmcia?
controller scsi0 at ata0
DESCRIPTION
Devices commonly known for their use on PC devices as ATA or IDE devices are supported using the SCSI CAM device driver. The ATA standard
has also been expanded to include what are known as ATAPI devices. The SCSI CAM device driver is also used for those disks and CD-ROM
devices. These devices may also be known under the names EIDE, ATA-2, Fast-ATA, or Ultra-ATA.
Beacuse the ATA/IDE standard was not developed until after many of the devices that used this standard were produced, there are many
devices which do not strictly comply with the standard. While it is possible some industry standard devices may appear to work, it is also
possible they will cause hang or data corruption cases when used under more stressful situations. For this reason, it is recommended that
only the supported devices be used. These devices have been tested and are certified for correct operation.
ATAPI/IDE controllers allow the connection of two devices. These two devices are known as the master device and the slave device. If only
one device is connected, that device must be the master (slave-only configurations are not supported). When used by the SCSI CAM device
driver, the IDE master device is assigned SCSI id 0 for that controller. The slave device is assigned SCSI id 1 for that controller. No
other SCSI ids are assigned on that controller. Most ATAPI/IDE adapters contain two channels (known as the primary and secondary). Each
of these channels may contain their own master and slave devices. Therefore, a dual channel ATAPI/IDE controller may contain up to 4
devices (a master and slave pair on each channel). These 4 devices are then accessed as SCSI id 0 and 1 on each channel.
Many SCSI operations translate perfectly for use on IDE. For example, read and write operations are the same. However, many SCSI disk
mode pages are emulated by the IDE device driver. For example, you can display the SCSI inquiry mode pages using the following command: %
scu show inq pages pages are created by the device driver to contain the long (full IDE) form of the device name, serial number, revision,
and the operational modes of the device. Only a shortened version of this information is available with the standard SCSI inquiry command.
Note also that the following command: % scu show pages Shows that the SCSI mode pages contain only partial information. Only that informa-
tion (such as geometry) that the drive reports to the system is able to be reformatted into these emulated SCSI mode pages. Much of the
information (such as RPM) is simply not available from the drive, and therefore not accurately reported.
ATAPI devices are much more closely related to SCSI devices, and as such contain their own mode pages. Therefore, for these devices, the
mode page values reported are those from the device, and no emulation is involved.
ATAPI tape devices are not supported at this time.
FILES
/dev/disk/dsk??? /dev/disk/dsk???
RELATED INFORMATION SCSI(7), rz(7), and disklabel(8) delim off
atapi_ide(7)