From: Tejun Heo <htejun@gmail.com>
To: Jeff Garzik <jgarzik@pobox.com>
Cc: lkml@rtr.ca, axboe@suse.de, forrest.zhao@intel.com,
alan@lxorguk.ukuu.org.uk, linux-ide@vger.kernel.org
Subject: Re: [PATCH 01/10] libata: power down controller only on PMSG_SUSPEND
Date: Tue, 13 Jun 2006 11:20:39 +0900 [thread overview]
Message-ID: <448E20F7.4020604@gmail.com> (raw)
In-Reply-To: <448D9709.30305@pobox.com>
Jeff Garzik wrote:
> Tejun Heo wrote:
>> The controller only needs to be powered down on PMSG_SUSPEND. Skip
>> powering down for all other messages. This makes disk suspend prep
>> cycle more efficient and helps controllers which have problems waking
>> up from D3hot without intervening power removal.
>>
>> Signed-off-by: Tejun Heo <htejun@gmail.com>
>>
>> ---
>>
>> drivers/scsi/libata-core.c | 5 ++++-
>> 1 files changed, 4 insertions(+), 1 deletions(-)
>>
>> 85016ad86323924d10dc99ac9d7e9e5c0b967b8e
>> diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
>> index 9a3bd15..51d3b4b 100644
>> --- a/drivers/scsi/libata-core.c
>> +++ b/drivers/scsi/libata-core.c
>> @@ -5661,7 +5661,10 @@ int ata_pci_device_suspend(struct pci_de
>> {
>> pci_save_state(pdev);
>> pci_disable_device(pdev);
>> - pci_set_power_state(pdev, PCI_D3hot);
>> +
>> + if (state.event == PM_EVENT_SUSPEND)
>> + pci_set_power_state(pdev, PCI_D3hot);
>
> If this change makes sense for the D0->D3 transition, surely it would
> make sense to cover the other operations (save-state, disable) as well?
It probably makes sense for disable but not for save-state. Swsusp
takes snapshot of memory after freezing all devices and resumes again to
write the snapshot. Resume must be able to reinitialize the hardware
from scratch and it depends on PCI config regs saved w/
pci_save_state(). So, state must be saved during freeze.
I'll put pci_disable_device() in the if clause and retest. That should
work.
--
tejun
next prev parent reply other threads:[~2006-06-13 2:20 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-12 15:50 [PATCHSET] new Power Management for libata Tejun Heo
2006-06-12 15:50 ` [PATCH 04/10] libata: update ata_do_simple_cmd() Tejun Heo
2006-06-12 15:50 ` [PATCH 02/10] libata: kill per-device PM Tejun Heo
2006-06-12 15:50 ` [PATCH 03/10] libata: move ata_do_simple_cmd() right below ata_exec_internal() Tejun Heo
2006-06-12 15:50 ` [PATCH 01/10] libata: power down controller only on PMSG_SUSPEND Tejun Heo
2006-06-12 16:32 ` Jeff Garzik
2006-06-13 2:20 ` Tejun Heo [this message]
2006-06-12 15:50 ` [PATCH 05/10] libata: implement new EH action ATA_EH_SPINUP Tejun Heo
2006-06-14 1:18 ` Jeff Garzik
2006-06-14 15:02 ` Tejun Heo
2006-06-14 15:25 ` Alan Cox
2006-06-12 15:50 ` [PATCH 06/10] libata: implement new Power Management framework Tejun Heo
2006-06-12 16:34 ` Alan Cox
2006-06-13 2:08 ` Tejun Heo
2006-06-13 6:25 ` zhao, forrest
2006-06-13 8:56 ` Tejun Heo
2006-06-13 11:59 ` Jeff Garzik
2006-06-13 8:17 ` zhao, forrest
2006-06-13 9:00 ` Tejun Heo
2006-06-13 8:54 ` zhao, forrest
2006-06-13 9:15 ` Tejun Heo
2006-06-13 8:37 ` zhao, forrest
2006-06-14 7:56 ` zhao, forrest
2006-06-14 13:29 ` Tejun Heo
2006-06-15 1:33 ` zhao, forrest
2006-06-15 3:41 ` Tejun Heo
2006-06-12 15:50 ` [PATCH 07/10] sata_sil: separate out sil_init_controller() Tejun Heo
2006-06-12 15:50 ` [PATCH 10/10] sata_sil24: add suspend/sleep support Tejun Heo
2006-06-12 15:50 ` [PATCH 08/10] sata_sil: " Tejun Heo
2006-06-12 15:50 ` [PATCH 09/10] sata_sil24: separate out sil24_init_controller() Tejun Heo
2006-06-12 15:57 ` [PATCHSET] new Power Management for libata Tejun Heo
2006-06-13 6:28 ` zhao, forrest
2006-06-13 9:09 ` rolled up patch for " Tejun Heo
2006-06-13 10:38 ` Jens Axboe
2006-06-19 5:46 ` Jens Axboe
2006-06-14 1:25 ` [PATCHSET] " Jeff Garzik
2006-06-14 13:46 ` Tejun Heo
2006-06-19 5:18 ` zhao, forrest
2006-06-19 8:46 ` Tejun Heo
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=448E20F7.4020604@gmail.com \
--to=htejun@gmail.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=axboe@suse.de \
--cc=forrest.zhao@intel.com \
--cc=jgarzik@pobox.com \
--cc=linux-ide@vger.kernel.org \
--cc=lkml@rtr.ca \
/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).