zhao, forrest wrote:
On Sat, 2006-05-27 at 17:21 -0400, Jeff Garzik wrote:
o_simple_cmd: ata command failed: 4
0xE1 is IDLE IMMEDIATE, so it looks like it is making progress.
This makes me realize that ata_bus_probe() won't get the job done
alone,
we must do:
* host init
* phy init
* idle immediate
* the rest of bus probe
Good, good data points here...
Jeff,
This observation is very valuable. I'll write the patch for this
together with the AHCI suspend/resume support for 2.6.1[8/9] soon.
Thanks for your continued work on AHCI.
BTW, you/Hannes' AHCI suspend/resume patch needs to be split up into
multiple steps, for easier reviewing and applying. Something like:
* update ahci_{start,stop}_engine, and update all it users
* split out start/stop FIS RX into separate functions, no code flow changes
* use ahci_{start,stop}_fis_rx in appropriate places
* add suspend/resume support
The current AHCI suspend/resume patch does a lot more than just add
suspend/resume... it modifies the current AHCI probe code and
operational code in several areas. We need to be able to evaluate these
changes outside the context of suspend/resume, because the changes
affect more than just suspend/resume.
The analogy I use [stolen from Al Viro] is mathematic, for illustrating
a progression of patches: when working a mathematical proof, you supply
the progression leading to the answer, in addition to the answer itself.
BTW. Have we achieved consensus that the bus resume operation should be
done in [s/p]ata_pci_device_resume() in 2.6.1[8/9]?
Its pretty much a requirement for FIS-based controllers and Port
Multipliers. Since the bus is not an independent object from the device
model perspective, we must manage it as part of the controller (which
indeed it is -- a wire and phy managed by the controller hardware).
Long term, I hope that we will have a device model with proper
dependencies. That means an object for the bus in addition to objects
for controller and device. Once that happens, we can do not only proper
suspend/resume, but also runtime power management.
Jeff
-
: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html