Messages in this thread | | | From | Pasi Savolainen <> | Subject | How to detect ongoing activity on PCI/AGP? | Date | Mon, 17 Jan 2005 22:23:35 +0000 (UTC) |
| |
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>
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |