From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
To: linux-ide@vger.kernel.org
Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>,
linux-kernel@vger.kernel.org
Subject: [PATCH 1/9] ide: fix IDE ACPI for slave device-only configurations
Date: Sun, 17 Aug 2008 19:14:54 +0200 [thread overview]
Message-ID: <20080817171454.27943.37234.sendpatchset@localhost.localdomain> (raw)
ACPI _GTM / _PS0 / _STM were not called if only slave device was present.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
---
drivers/ide/ide.c | 21 ++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)
Index: b/drivers/ide/ide.c
===================================================================
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -365,15 +365,15 @@ __IDE_DEVSET(pio_mode, 0, NULL, set_pio_
static int generic_ide_suspend(struct device *dev, pm_message_t mesg)
{
- ide_drive_t *drive = dev->driver_data;
+ ide_drive_t *drive = dev->driver_data, *pair = ide_get_pair_dev(drive);
ide_hwif_t *hwif = HWIF(drive);
struct request *rq;
struct request_pm_state rqpm;
ide_task_t args;
int ret;
- /* Call ACPI _GTM only once */
- if (!(drive->dn % 2))
+ /* call ACPI _GTM only once */
+ if ((drive->dn & 1) == 0 || pair == NULL)
ide_acpi_get_timing(hwif);
memset(&rqpm, 0, sizeof(rqpm));
@@ -389,26 +389,25 @@ static int generic_ide_suspend(struct de
ret = blk_execute_rq(drive->queue, NULL, rq, 0);
blk_put_request(rq);
- /* only call ACPI _PS3 after both drivers are suspended */
- if (!ret && (((drive->dn % 2) && hwif->drives[0].present
- && hwif->drives[1].present)
- || !hwif->drives[0].present
- || !hwif->drives[1].present))
+
+ /* call ACPI _PS3 only after both devices are suspended */
+ if (ret == 0 && ((drive->dn & 1) || pair == NULL))
ide_acpi_set_state(hwif, 0);
+
return ret;
}
static int generic_ide_resume(struct device *dev)
{
- ide_drive_t *drive = dev->driver_data;
+ ide_drive_t *drive = dev->driver_data, *pair = ide_get_pair_dev(drive);
ide_hwif_t *hwif = HWIF(drive);
struct request *rq;
struct request_pm_state rqpm;
ide_task_t args;
int err;
- /* Call ACPI _STM only once */
- if (!(drive->dn % 2)) {
+ /* call ACPI _PS0 / _STM only once */
+ if ((drive->dn & 1) == 0 || pair == NULL) {
ide_acpi_set_state(hwif, 1);
ide_acpi_push_timing(hwif);
}
next reply other threads:[~2008-08-17 17:17 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-17 17:14 Bartlomiej Zolnierkiewicz [this message]
2008-08-17 17:15 ` [PATCH 2/9] ide-disk: set_addressing() fixes Bartlomiej Zolnierkiewicz
2008-08-23 21:45 ` Sergei Shtylyov
2008-08-25 20:23 ` Bartlomiej Zolnierkiewicz
2008-08-17 17:15 ` [PATCH 3/9] ide-disk: remove stale init_idedisk_capacity() documentation Bartlomiej Zolnierkiewicz
2008-08-20 10:06 ` Sergei Shtylyov
2008-08-17 17:15 ` [PATCH 4/9] ide-disk: add ide_do_setfeature() helper Bartlomiej Zolnierkiewicz
2008-08-20 10:04 ` Sergei Shtylyov
2008-08-17 17:15 ` [PATCH 5/9] ide: add device flags Bartlomiej Zolnierkiewicz
2008-08-17 17:15 ` [PATCH 6/9] ide: DMA_PIO_RETRY -> IDE_DFLAG_DMA_PIO_RETRY Bartlomiej Zolnierkiewicz
2008-08-17 17:15 ` [PATCH 7/9] ide: remove superfluous ->media field from ide_driver_t Bartlomiej Zolnierkiewicz
2008-08-23 21:07 ` Sergei Shtylyov
2008-08-17 17:15 ` [PATCH 8/9] ide: remove superfluous ->dma field from ide_hwif_t Bartlomiej Zolnierkiewicz
2008-08-20 10:15 ` Sergei Shtylyov
2008-08-17 17:15 ` [PATCH 9/9] ide: remove superfluous ->waiting_for_dma checks Bartlomiej Zolnierkiewicz
2008-08-20 10:08 ` Sergei Shtylyov
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=20080817171454.27943.37234.sendpatchset@localhost.localdomain \
--to=bzolnier@gmail.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.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).