linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* How to detect ongoing activity on PCI/AGP?
@ 2005-01-17 22:23 Pasi Savolainen
  0 siblings, 0 replies; only message in thread
From: Pasi Savolainen @ 2005-01-17 22:23 UTC (permalink / raw)
  To: linux-kernel

Hi,
After upgrading my graphics, matrox g400 AGP to radeon rv280 AGP, I
noticed severe horizontal distortions in outputted image (parts move
randomly a pixel-or-two right or left).
I tracked it down to my use of amd76x_pm module, which supposedly
disconnects CPU's (this is 2xK7 SMP) from PCI bus. If I unload the
module or simply make it less aggressive (== effective), horizontal
distortions disappear.
Needless to say, matrox g400 hadn't these.

Similar distortions, although more visible and permanent, can be seen in
this grab from a bt878 card. These are not something new, I always
needed to remove amd76x_pm prior using the TV card.
<http://varg.dyndns.org/psi/random/tvtime-output.jpg.html>
Note that these distorted lines stay that way for a long time, sometimes
over a second, so there's clearly something getting broken while
transferring data via PCI.

So I've been thinking along the lines if there was a way to detect
active transfer on PCI and not do idling thing in amd76x_pm idle(). I
took a look at various places in the kernel, but didn't find anything
that matched.

Closest thing I found was this piece from drivers/pci/pci.c:pci_disable_device
- -
        pci_read_config_word(dev, PCI_COMMAND, &pci_command);
        if (pci_command & PCI_COMMAND_MASTER) {
- -

dev would likely to be northbridge, but would this work? Is there some
other Right(tm) way to do this?

Thanks,
-- 
   Psi -- <http://www.iki.fi/pasi.savolainen>


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-01-17 22:46 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-01-17 22:23 How to detect ongoing activity on PCI/AGP? Pasi Savolainen

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