Enabling/Disabling A Sata Port From An Operating System Driver; Enabling/Disabling A Sata Port From Acpi - Intel 82801EB Programmer's Reference Manual

Serial ata controller
Table of Contents

Advertisement

R
4.3.1.1.2

Enabling/Disabling a SATA Port from an Operating System Driver

To disable or enable a SATA port, system software need only program the PCS.PxE (where x is 0
for Port 0 or 1 for Port 1) bit(s) with a 0 or a 1. Note that the SATA host controller hardware
allows the PCS.PxE bits to be written to individually or simultaneously. A WDM driver may
program the PCS.PxE bits directly (through the PCI driver) or indirectly (through an ACPI control
method – see A.4 Device Presence Check – Using ACPI for an example of how to call an ACPI
control method from a WDM driver).
A.1 Enabling/Disabling SATA Ports from a WDM Driver illustrates how a WDM driver could
read/write the PCS.PxE bits for enabling or disabling the SATA port(s).
Note: Because the SATA host controller is designed with backward compatibility in mind, it is not
expected that existing operating system software designed for P-ATA host controllers should ever
have to modify the PCS.PxE bits directly; this shall be done by the system BIOS and/or ACPI
control methods (see Section: 4.3.1.1.3 Enabling/Disabling a SATA Port from ACPI).
4.3.1.1.3

Enabling/Disabling a SATA Port from ACPI

Enabling and disabling of the SATA ports is also a function of the standard PSx (_PS0 or _PS3 –
these control methods can be used to supplement the device power management and are executed
whenever the operating system wishes to place the SATA into the D0 and D3 power states,
respectively) control methods found in the ACPI namespace for the SATA controller.
By enabling the SATA ports when the host controller transitions to the D0 power state (via _PS0)
and disabling the SATA ports prior to the host controller transitioning to the D3 power state (via
_PS3), backward compatibility with system software designed for non-ICH5 SATA aware ACPI
operating systems will be maintained.
Using ACPI can also be beneficial to device drivers that comprehend the ICH5 SATA in that the
ACPI implementation abstracts the actual hardware implementation and location of the PCS
register. This is especially useful if hardware designers require a change in the location in PCI
configuration space of the PCS register due to silicon stepping requirements. Using ACPI could
prevent a re-spin of the device driver and any subsequent re-validation.
A.2 Enabling/Disabling SATA Ports in the _PSx Control Method provides an example of how the
SATA ports are enabled and disabled via the _PS0 and PS3 control methods.
Note: For those platforms that support hot insertion/removal of SATA devices through specialized
hardware, the associated ACPI control methods (e.g., _EJx) shall also implement ASL (ACPI
Script Language) code that disables a SATA port (for device removal events) and enables a SATA
port (for device insertion events).
SATA Programmer's Reference Manual
Theory of Operation
25

Advertisement

Table of Contents
loading

This manual is also suitable for:

82801erIch5Ich5r

Table of Contents