Device Detection - Software Examples; Ata Swap Bay Support - Intel 82801EB Programmer's Reference Manual

Serial ata controller
Table of Contents

Advertisement

Theory of Operation
The accuracy of the PxP bits cannot be guaranteed if the SATA PHY and associated device is in a
slumber state. System software shall first disable the port and then re-enable it. This will cause the
SATA PHY and associated device to wake, thus allowing the SATA hardware to properly detect
and report the port connect status.
Note: In the above figure (Figure 9), because the cumulative amount of time 'y' is not bound to any spec-
ed value and can vary from device manufacturer to manufacturer. Because this time can very short
(e.g., within 10 ms) or very long (10+ ms), system software may choose to exclusively use device
"readiness" as an indicator of device presence instead of relying on the setting of PxP. Selecting a
mechanism for use by system software is beyond the scope of this paper.
4.4.2
Device Detection – Software Examples
System software may examine the port presence bits using two different methods:
1.
Direct reads to the SATA host controller I/O space.
2.
ACPI control methods.
The sample code in A.3 Device Presence Check – Using I/O illustrates how system software could
directly read the port presence bits to determine the connect status of the SATA ports.
The sample code (for Windows WDM drivers) in A.4 Device Presence Check – Using ACPI
illustrates how to execute an ACPI control method that returns the connection status for the SATA
port(s) associated with a logical SATA channel. This code assumes that a PDO (Physical Device
Object) exists for both the logical primary and secondary channels. WDM device drivers can only
execute control methods associated with their corresponding _ADR object in ACPI namespace (of
which there is a direct relationship between the _ADR object and the PDO).
Note that in these two examples, the ACPI control method handles the complexities of determining
whether the SATA host controller is configured for Compatible mode and which SATA ports are
the logical master and logical slave (if applicable). This sample driver code uses the ACPI sample
code illustrated in A.5 ACPI Control Method (GSPS).
4.5

ATA Swap Bay Support

While the ICH5 SATA host controller does not support surprise (removal of a SATA device while
transactions are active on the SATA bus) device removals, it does provide basic ATA Swap Bay
Support. Using the PCS register configuration bits (PxE and PxP) and power management flows,
a device can be powered down by system software, and the port can then be powered off, allowing
removal and insertion of a new device.
How system software handles device swapping is very dependent on the target platform. For
example, mobile platforms may continue to use a combination of specialized hardware, interrupts
and ACPI control methods (especially useful for swap bays that could support traditional P-ATA
devices in addition to SATA devices) for communicating device insertions and removals to the
operating system. Other platform types (e.g., desktop, workstations) traditionally do not implement
additional hardware (interrupts) and ACPI control methods and may require that the operating
system (device drivers) implement specific software based device detection algorithms. How this
is implemented is beyond the scope of this document.
28
SATA Programmer's Reference Manual
R

Advertisement

Table of Contents
loading

This manual is also suitable for:

82801erIch5Ich5r

Table of Contents