public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [Proposal]Another way to save/restore PCI config space for suspend/resume
@ 2004-10-26  4:50 Li Shaohua
  2004-10-26  5:11 ` [ACPI] " Andi Kleen
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Li Shaohua @ 2004-10-26  4:50 UTC (permalink / raw)
  To: ACPI-DEV, lkml; +Cc: Len Brown, greg, Pavel Machek

Hi,
We suffer from PCI config space issue for a long time, which causes many
system can't correctly resume. Current Linux mechanism isn't sufficient.
Here is a another idea: 
Record all PCI writes in Linux kernel, and redo all the write after
resume in order. The idea assumes Firmware will restore all PCI config
space to the boot time state, which is true at least for IA32.

Reason:
1. Current PCI save/restore routines only cover first 64 bytes
2. No PCI bridge driver currently.
3. Some special devices can't or are difficult to save/restore config
space with current model. Such as PCI link device, it's a sysdev, but
its resume code can't be invoked with irq disabled.
4. ACPI possibly changes special devices' config space, such as host
bridge or LPC bridge. The special devices generally are vender specific,
and possibly will not have a driver forever.

Possibly we must consider other factors:
1.tracking writes alone will not be enough. Some PCI devices may have
restrictions such as something has to be written after it is read and
the like. Still we should be able to do this if we can trace all pci
reads and writes and repeat it at restore.
2. For support hotplug, add a callback for hotplug PCI remove. When a
device is removed, all records about it are removed.
What's your opinions?

Thanks,
Shaohua


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

end of thread, other threads:[~2004-10-27 20:24 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-10-26  4:50 [Proposal]Another way to save/restore PCI config space for suspend/resume Li Shaohua
2004-10-26  5:11 ` [ACPI] " Andi Kleen
2004-10-26  6:11   ` Len Brown
2004-10-26  8:42     ` Arjan van de Ven
2004-10-26  9:06       ` Karol Kozimor
2004-10-26  9:57       ` Matthew Garrett
2004-10-26  9:09   ` Li Shaohua
2004-10-26  9:21 ` Pavel Machek
2004-10-27  0:50   ` [ACPI] " Li Shaohua
2004-10-27  1:32 ` [ACPI] " Hiroshi 2 Itoh
2004-10-27  1:55   ` Li Shaohua
2004-10-27  2:26     ` Hiroshi 2 Itoh
2004-10-27 20:14 ` Rajesh Shah

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox