2002-06-29 07:29:22

by Daniel Sheltraw

[permalink] [raw]
Subject: IO and PCI

Hello Kernel List

Is there a way to disable IO read/writes to a PCI device. The bit 0
of command register in PCI configuration space can be used to
disable/enable memory-mapped IO but will it disable direct IO
(what is the proper term?) as well?

I would like to be able to disable direct IO read/writes to one of
two video cards in an x386 while leaving the other alone. Then
I could use the direct IO registers to do palette changing and
enable interrupts on vertical blanking without doing so on both
cards (since they both respond to the same direct IO addresses).

Of course if I knew the addresses/offsets for memory-mapped versions
of the appropriate registers on one card I could solve this problem
but I do not neccesarily have that info.

Thanks for any help!
Daniel Sheltraw


2002-06-29 15:27:19

by Tim Hockin

[permalink] [raw]
Subject: Re: IO and PCIy

> Is there a way to disable IO read/writes to a PCI device. The bit 0
> of command register in PCI configuration space can be used to
> disable/enable memory-mapped IO but will it disable direct IO
> (what is the proper term?) as well?

There are two bits - IO enable and MMIO enable. They are the 0x1 and 0x2
bits in the command register, respectively.

> enable interrupts on vertical blanking without doing so on both
> cards (since they both respond to the same direct IO addresses).

umm, should they be on the same IO? I've never mucked with dual video
cards, but that sounds odd...

> Of course if I knew the addresses/offsets for memory-mapped versions
> of the appropriate registers on one card I could solve this problem
> but I do not neccesarily have that info.

The pci regions are easily readable - you should dig up a copy of the PCI
spec - very good reading....