Bug 6206 - nforce3 agp does not initialized properly after resume
Summary: nforce3 agp does not initialized properly after resume
Status: CLOSED CODE_FIX
Alias: None
Product: ACPI
Classification: Unclassified
Component: Power-Video (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: Dave Jones
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-03-10 00:57 UTC by Serge Belyshev
Modified: 2006-08-01 06:38 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.16-rc5
Subsystem:
Regression: ---
Bisected commit-id:


Attachments

Description Serge Belyshev 2006-03-10 00:57:32 UTC
Most recent kernel where this bug did not occur: N/A
Distribution: any
Hardware Environment: amd64 laptop nforce3 chipset ati radeon m9 videocard
Software Environment: N/A
Problem Description: after resume from acpi S3 suspend-to-ram text console works
but system hangs when starting X (or switching to virtual console where X is
running). No useful messages was captured via network console. I was able to
produce workaround for this bug, here it is (this patch is for 2.6.16-rc5 kernel):

 drivers/char/agp/amd64-agp.c |    1 +
 1 file changed, 1 insertion(+)

Index: linux/drivers/char/agp/amd64-agp.c
===================================================================
--- linux.orig/drivers/char/agp/amd64-agp.c
+++ linux/drivers/char/agp/amd64-agp.c
@@ -615,6 +615,7 @@ static int agp_amd64_resume(struct pci_d
 	pci_set_power_state(pdev, PCI_D0);
 	pci_restore_state(pdev);
 
+	nforce3_agp_init(pdev);
 	return amd_8151_configure();
 }
 

with this patch, everything works just fine.

Steps to reproduce:
(1). compile 2.6.16-rc5 kernel, applying hack mentioned here:
http://bugzilla.kernel.org/show_bug.cgi?id=5866#c1 to make hdd work after resume.

(2). suspend system, saving video state with vbetool version 0.4 or later
(previous versions of vbetool did not work on amd64)
http://www.srcf.ucam.org/~mjg59/vbetool/ as prescribed in
Documentation/power/video.txt

(3). after resume, start X. use power switch to shut down hung system =).

Note: this failure can be reproduced with earlier kernels, 2.6.15 and 2.6.14
(not tried 2.6.13) but the workaround for this is slightly different. (at
resume, you need to call also amd_8151_configure() in amd64-agp.c and
ati_configure() in ati-agp.c).
Comment 1 Adrian Bunk 2006-03-25 09:48:02 UTC
Dave, can you comment on this issue?
Comment 2 Dave Jones 2006-03-27 10:50:48 UTC
patch is only right on nforce machines. we don't want to be unconditionally
calling that function.   I'll fix it up.
Comment 3 Adrian Bunk 2006-08-01 06:38:33 UTC
This issue is already fixed in kernel 2.6.17.

Note You need to log in before you can comment on or make changes to this bug.