linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Garzik <jeff@garzik.org>
To: "zhao, forrest" <forrest.zhao@intel.com>
Cc: Mark Lord <liml@rtr.ca>,
	linux-ide@vger.kernel.org, torvalds@osdl.org,
	Jens Axboe <axboe@suse.de>
Subject: Re: [PATCH alt4 v3] libata resume fixes
Date: Mon, 29 May 2006 01:25:25 -0400	[thread overview]
Message-ID: <447A85C5.90202@garzik.org> (raw)
In-Reply-To: <1148874794.2310.21.camel@forrest26.sh.intel.com>

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



      reply	other threads:[~2006-05-29  5:25 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-27 19:58 [PATCH alt4] libata resume fixes Jeff Garzik
2006-05-27 20:10 ` [PATCH alt4 v2] " Jeff Garzik
2006-05-27 20:14   ` Jeff Garzik
2006-05-27 20:30     ` Mark Lord
     [not found]     ` <4478B611.2030201@rtr.ca>
2006-05-27 20:32       ` Jeff Garzik
2006-05-27 20:41         ` Mark Lord
2006-05-27 20:56           ` Jeff Garzik
2006-05-27 21:00             ` Mark Lord
2006-05-27 21:06               ` Jeff Garzik
2006-05-27 21:09                 ` Mark Lord
2006-05-27 21:14                   ` Jeff Garzik
2006-05-27 20:13 ` [PATCH alt4] " Mark Lord
2006-05-27 20:52 ` [PATCH alt4 v3] " Jeff Garzik
2006-05-27 20:56   ` Mark Lord
2006-05-27 21:11     ` Jeff Garzik
2006-05-27 21:15       ` Mark Lord
2006-05-27 21:25         ` Jeff Garzik
2006-05-27 21:12     ` Mark Lord
2006-05-27 21:21       ` Jeff Garzik
2006-05-29  3:53         ` zhao, forrest
2006-05-29  5:25           ` Jeff Garzik [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=447A85C5.90202@garzik.org \
    --to=jeff@garzik.org \
    --cc=axboe@suse.de \
    --cc=forrest.zhao@intel.com \
    --cc=liml@rtr.ca \
    --cc=linux-ide@vger.kernel.org \
    --cc=torvalds@osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).