Discussion:
Supporting ACPI drive hotswap
Matthew Garrett
2005-09-24 16:48:23 UTC
Permalink
ACPI provides a mechanism for noting which devices can be hotswapped and
notifying the system that this has happened. Hotswappable devices are
tagged with a _RMV token. What effectively needs to be done is this:

1) Find every device with an _RMV token, and install a notify handler
for it. This is fairly easy.

2) On notification, check whether the device is present or absent. This
can be done by calling the _STA method - alternatively it could
presumably be done through the appropriate IDE or SCSI layer. I believe
that we now have code that allows binding of ACPI devices to appropriate
busses.

3) If a device has been added, enumerate it and do appropriate messaging
to userspace (for device node creation and so forth). This ought to be
relatively easy?

4) If a device has been removed, we currently have problems. SATA
hotplugging is only supported on a subset of devices. The SATA laptop I
have here is an Intel ICH part, but uses the ata_piix driver (ahci won't
load) which isn't supposed to support hotswap. Unregistering devices in
the IDE layer has been broken for ages.

Is there any point in working on the first three of these points until
point four is more reasonable? What actually needs to be done to improve
this?
--
Matthew Garrett | ***@srcf.ucam.org
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Randy.Dunlap
2005-09-24 19:40:50 UTC
Permalink
Post by Matthew Garrett
ACPI provides a mechanism for noting which devices can be hotswapped and
notifying the system that this has happened. Hotswappable devices are
1) Find every device with an _RMV token, and install a notify handler
for it. This is fairly easy.
2) On notification, check whether the device is present or absent. This
can be done by calling the _STA method - alternatively it could
presumably be done through the appropriate IDE or SCSI layer. I believe
that we now have code that allows binding of ACPI devices to appropriate
busses.
3) If a device has been added, enumerate it and do appropriate messaging
to userspace (for device node creation and so forth). This ought to be
relatively easy?
4) If a device has been removed, we currently have problems. SATA
hotplugging is only supported on a subset of devices. The SATA laptop I
have here is an Intel ICH part, but uses the ata_piix driver (ahci won't
load) which isn't supposed to support hotswap. Unregistering devices in
the IDE layer has been broken for ages.
Do you know why the ahci driver won't load?
Are there any BIOS setup options for enabling AHCI native mode
vs. legacy or compatibility mode?
Post by Matthew Garrett
Is there any point in working on the first three of these points until
point four is more reasonable? What actually needs to be done to improve
this?
---
~Randy
You can't do anything without having to do something else first.
-- Belefant's Law
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Mark Lord
2005-09-24 19:45:45 UTC
Permalink
Post by Randy.Dunlap
Do you know why the ahci driver won't load?
Undoubtedly the chip is being used in "combined mode",
to support a PATA ATAPI device on the second channel.

For that matter, the primary HD is probably actually PATA,
perhaps with a SATA bridge on the notebook M/B.

Very very common arrangement these days -- practically all
Sonoma Centrino chipset notebooks are set up like this.

Cheers
Matthew Garrett
2005-09-24 21:14:15 UTC
Permalink
Post by Mark Lord
Post by Randy.Dunlap
Do you know why the ahci driver won't load?
Undoubtedly the chip is being used in "combined mode",
to support a PATA ATAPI device on the second channel.
For that matter, the primary HD is probably actually PATA,
perhaps with a SATA bridge on the notebook M/B.
Very very common arrangement these days -- practically all
Sonoma Centrino chipset notebooks are set up like this.
Yeah, I'd guess something along those lines. The CD drive presents as
SATA, but looks more like a PATA part. pci_request_regions fails when
trying to load ahci. It's a Sonoma system (Dell Latitude D610)
--
Matthew Garrett | ***@srcf.ucam.org
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Loading...