linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCHSET #upstram-fixes] libata-acpi: improve ACPI corner case handling, take #2
@ 2007-12-15  6:04 Tejun Heo
  2007-12-15  6:04 ` [PATCH 01/10] libata-acpi: adjust constness in ata_acpi_gtm/stm() parameters Tejun Heo
                   ` (10 more replies)
  0 siblings, 11 replies; 15+ messages in thread
From: Tejun Heo @ 2007-12-15  6:04 UTC (permalink / raw)
  To: jeff, hancockr, linux-ide

Hello,

This is the second take of improve-ACPI-corner-case-handling patchset
and contains the following ten patches.

  0001-libata-acpi-adjust-constness-in-ata_acpi_gtm-stm.patch
  0002-libata-update-ata_-_printk-macros-such-that-level.patch
  0003-libata-add-more-opcodes-to-ata.h.patch
  0004-libata-ata_dev_disable-should-be-called-from-EH-c.patch
  0005-libata-acpi-add-new-hooks-ata_acpi_dissociate-and.patch
  0006-libata-acpi-implement-and-use-ata_acpi_init_gtm.patch
  0007-libata-acpi-implement-dev-gtf_cache-and-evaluate-_.patch
  0008-libata-acpi-improve-ACPI-disabling.patch
  0009-libata-acpi-improve-_GTF-execution-error-handling-a.patch
  0010-libata-acpi-implement-_GTF-command-filtering.patch

Changes from the last take [L] are...

* @stm parameter is constified in 0001.

* 0005 is added.  This patch adds two ATA ACPI hooks for host
  dissociation and device disable.  The former is used to restore
  initial _GTM setting on driver detach.  The latter is used to
  implement _GTF caching in 0007.

* 0006 updated such that init_gtm completely replaces all internal
  _GTM data usage and init_gtm is restored using _STM on driver
  detach.  This change makes ignore-_GTM-failure-during-suspend patch
  unnecesary.

* 0007 is added.  This makes IDE _GTF evaluated right after _STM
  during resume.

* 0008 is updated such that ACPI evaulation failure doesn't trigger
  ACPI disabling unless it causes other failures.

* 0010 now also filters SET FEATURES - SET XFERMODE.  SETXFER from
  _GTF only disrupts device configuration by putting the device in
  possibly inconsistent mode from the controller.

The biggest change is that _GTM is now only performed on driver
attach.  The cached init_gtm value is used during resume.  This,
combined with moving _GTF evaluation right after _STM, solves all
currently known _GTM, _STM and _GTF evaluation failures.  By feeding
the initial values configured by the BIOS, it can avoid problems of
missing table entries or what not.

This makes ACPI mode configuration for both controller and device
meaningless but libata doesn't use them anyway.  In fact, all they do
is disrupting device configuration by feeding inconsistent mode to
devices via _GTF taskfiles, which are filtered by 0010 now.

Note that in many cases, _GTM/_STM implementations are very brittle
and can't be used as generic dynamic configuration method.

This patch fixes all known ATA ACPI related regressions including OSDL
bugs 9320 and 9530.

Thanks.

--
tejun

[L] http://thread.gmane.org/gmane.linux.ide/26334

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2007-12-18  1:54 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-15  6:04 [PATCHSET #upstram-fixes] libata-acpi: improve ACPI corner case handling, take #2 Tejun Heo
2007-12-15  6:04 ` [PATCH 01/10] libata-acpi: adjust constness in ata_acpi_gtm/stm() parameters Tejun Heo
2007-12-18  1:34   ` Jeff Garzik
2007-12-18  1:35   ` Jeff Garzik
2007-12-15  6:04 ` [PATCH 02/10] libata: update ata_*_printk() macros such that level can be a variable Tejun Heo
2007-12-15  6:04 ` [PATCH 03/10] libata: add more opcodes to ata.h Tejun Heo
2007-12-15  6:05 ` [PATCH 04/10] libata: ata_dev_disable() should be called from EH context Tejun Heo
2007-12-15  6:05 ` [PATCH 05/10] libata-acpi: add new hooks ata_acpi_dissociate() and ata_acpi_on_disable() Tejun Heo
2007-12-15  6:05 ` [PATCH 06/10] libata-acpi: implement and use ata_acpi_init_gtm() Tejun Heo
2007-12-15  6:05 ` [PATCH 07/10] libata-acpi: implement dev->gtf_cache and evaluate _GTF right after _STM during resume Tejun Heo
2007-12-15  6:05 ` [PATCH 08/10] libata-acpi: improve ACPI disabling Tejun Heo
2007-12-15  6:05 ` [PATCH 09/10] libata-acpi: improve _GTF execution error handling and reporting Tejun Heo
2007-12-15  6:05 ` [PATCH 10/10] libata-acpi: implement _GTF command filtering Tejun Heo
2007-12-15  6:15 ` git repo and #upstream merging Tejun Heo
2007-12-18  1:54   ` Jeff Garzik

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).