uata(7D)

Name

Synopsis

Description

The uata host bus adapter
driver is a nexus driver that supports the ide interface on SPARC platforms. The driver attempts to set the disk and ATAPI CD-ROM drive to maximum supported speed. The uata driver supports ultra DMA mode-4 (ATA66).

Currently, the uata driver supports the CMD646U, Sil680a and Acer Southbridge M5229 IDE controllers. The uata driver supports two channels concurrently with two devices connected per channel. The devices are logically numbered from 0 to 3:

0

Master disk on primary channel.

1

Slave disk on primary channel.

2

Master disk on secondary channel.

3

Slave disk on secondary channel.

For ATAPI devices, an ATAPI DRIVE RESET command is issued to facilitate recovery from timeouts and errors. The BSY bit of the drive's status register is polled to check for the drive reset completion. If the drive reset fails, a warning message is displayed and the recovery process
continues. This logic is subject to change.

To control the maximum time spent waiting for the ATAPI drive reset to complete, the atapi-device-reset-waittime tunable property is available through the /kernel/drv/uata.conf file. The default and maximum/minimum values are shown below. Please see /kernel/drv/uata.conf for more info.

Files

See Also

Diagnostics

In addition to being logged, the following messages may appear on the system console:

ddi_get_iblock_cookiefailed.

The driver could not obtain the interrupt cookie. The attach may fail.

Drive not ready before set_features.

Indicates a fatal problem. The drives are not ready to be programmed and features cannot be set. (During the driver initialization process, the driver must set the features for the drive, including dma and pio).

Error set after issuing Set Feature command.

Indicates a fatal problem. The driver's error bit was set after the set feature command was issued. (During the driver initialization process, the driver must set the features for the drive, including
dma and pio).

Interrupt not seen after set_features.

Indicates a fatal problem with the drive. Features cannot be set.

ata_controller - set features failed.

Indicates a fatal problem with the drive. Features cannot be set.

?target <number> lun 0.

Displayed at boot up time to indicate that the target <number> was identified, where <number> is a decimal
value.

resid

Residual number of bytes in data transfer and the I/O operation could not be finished completely.

ghd_timer_newstate: HBA reset failed.

Generally indicates a fatal condition. I/O operation cannot be completed following reset of the channel.

timeout:<message>chno=<number> target=<number>.

A timeout occured because of <message> on device (target=<number>) on channel (chno=<number). Where <message> could be either early abort, early timeout, abort request, abort device, reset
target or reset bus.

ata_controller - Drive not ready before command <number>.

The drive did not respond before issuing the command <number> to the controller; command <number> will not be issued to the drive. (<number> is the hexadecimal opcode for the sleep or standby commands, which are issued when the drive transitions between power management states).

An unsupported ata controller was found on the system and prints <ID>, device id and revision of the controller, where <ID> represents the hexidecimal vendor ID.

Changing the mode of targ: <number> to Ultra DMA mode: <number>.

For the timedout command, the driver attempts to recover by changing speed to lower values and retrying
the command. This message indicates to which mode the driver is attempting to re-program the drive, where <number> is a decimal value.

Changing the mode of targ: <number> to Multi DMA mode: <number>.

For the timedout command, the driver attempts to recover by changing speed to lower values and retrying
the command. This message indicates to which mode the driver is attempting to re-program the drive, where <number> is a decimal value.

These messages are informational and indicate that a timeout occured for a I/O request. The uata driver recovers from these states automatically unless there is a fatal error.