public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Karol Kozimor <sziwan@hell.org.pl>
To: linux-kernel@vger.kernel.org
Cc: swsusp-devel@lists.sourceforge.net
Subject: [AGP] intel_845_configure() at resume
Date: Sun, 25 Apr 2004 20:29:49 +0200	[thread overview]
Message-ID: <20040425182949.GA8151@hell.org.pl> (raw)

Hi,
I've been trying to nail down the AGP problems most swsusp[12]/pmdisk users
are experiencing (deadlocks or reboots around the phase of copying the
original kernel back).

I have an i845MP chipset, which has its resume callback present in the
driver (the intel_845_configure()). I did the testing using 2.6.5+swsusp2, 
but the outcome for the other implementations should be the same. The new
radeonfb code is compiled in. MCE is not compiled, as it tends to
interfere.

The video adapter is a Radeon M7, using XFree86-4.4 native drivers and
kernel DRM modules, DRI is on. This configuration is rock solid with 2.4
if suspend / resume is concerned.

The standard behaviour for my system is as follows:
1) Provided intel-agp.ko has not been loaded, it suspends and resumes
   fairly stable.

2) Once the module has been loaded, but no X has been run, the system will
   hang in intel_845_configure(), exactly at
#v+ drivers/char/agp/intel-agp.c +1481
	/* clear any possible error conditions */
	pci_write_config_word(agp_bridge->dev, INTEL_I845_ERRSTS, 0x001c);
#v-
   Commenting the line out leads to a successful resume.

3) If X is started, and suspend is done from another (text) VT, the system 
   hangs a bit earlier, exactly at:
#v+ drivers/char/agp/intel-agp.c +1475
	/* agpctrl */
	pci_write_config_dword(agp_bridge->dev, INTEL_AGPCTRL, 0x0000); 
#v-
   Commenting this (and all the following) line allows the system to
   resume, but switching back to the X VT produces garbled screen (colour
   distorted, etc.) and hangs the system (though SysRq works).

4) Apparently, if X is started and loads the module itself, and no 
   additional VT switching occurs, the first resume attempt succeeds.

Also, I'm curious as to whether the whole mechanism is correct -- it seems
to send bytes back and forth during resume, intead of reading (and saving)
them at suspend and writing back at resume.
Can anyone comment on that?
Best regards,

-- 
Karol 'sziwan' Kozimor
sziwan@hell.org.pl

             reply	other threads:[~2004-04-25 18:29 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-25 18:29 Karol Kozimor [this message]
     [not found] ` <E1BI3rB-0001ej-00@gondolin.me.apana.org.au>
2004-04-26 18:52   ` [AGP] intel_845_configure() at resume Karol Kozimor

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=20040425182949.GA8151@hell.org.pl \
    --to=sziwan@hell.org.pl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=swsusp-devel@lists.sourceforge.net \
    /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