[Linux-fbdev-devel] Re: Who is stomping PCI config space?

Egbert Eich eich at suse.de
Mon Mar 7 03:05:10 PST 2005


Benjamin Herrenschmidt writes:
 > 
 > Yes, you can assume the worst case at first, and later on have the
 > driver disable decoding of legacy stuff and inform your arbiter to stop
 > caring about that specific card, no ?

Right. Actually we had different mechanisms implemented and I also
had the concept of 'background' driver which would just do this
without driving any card.
Unfortunately this has never really been employed much and I would
have to look how this was designed in detail.

 > > 
 > > On a lot of cards there may be situations where VGA registers need to
 > > be accessed for specific purposes.
 > 
 > Yup, though "modern" cards usually don't. A radeon operates 100% without
 > access to any legacy resource lately (except the console restore on
 > console switch, but that's fairly isolated and I even removed it on ppc
 > as it breaks things on setups where the card was boostrapped in "no VGA"
 > mode. I personally think it should be done by the kernel). I think
 > nvidia's "remap" the VGA registes somewhere in normal MMIO space, at
 > least I think I remember seeing something like that.

How about POSTing? Doesn't the Radeon card have to be POSTed?

 > 
 > > Furthermore it must not be expected that nobody uses older cards which
 > > still require VGA registers.
 > 
 > Agreed.
 > 
 > > Is there a way to halt a process that is using VGA registers for the
 > > time the interrupt gets serviced? For example sending a signal to 
 > > this process so that it suspends norml execution waits in a signal 
 > > handler?
 > 
 > Not really. Well, something could be hacked, that is, the current CPU is
 > obviously handling the IRQ, so the process "below" has been halted, but
 > it would require some kind of IPI tricks to also halt other CPUs, quite
 > heavy handed I think.

Yes, that's what I was asking. Would there be a way to avoid too
much overhead in the kernel?
But maybe your suggestion how to handle the situation where interrupt
handling that required VGA resources could be dealt with outside the 
interrupt handler would be sufficient for all cases where this may
matter.

 > 
 > > All this would only matter for systems with more than one CPU.
 > 
 > Yes, but those are becoming quite common. Also multicore is coming ;)
 > 

I agree.

Cheers,
	Egbert.



More information about the xorg mailing list