Re: pci config cycles on VRC-5477

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 11 Mar 2002, Jun Sun wrote:
> Gerald Champagne wrote:
> > I'm studying the VRC-5477 code and I'm trying to understand how pci config
> > cycles can work reliably with the current code.  It looks like the pci
> > config code must execute with interrupts disabled, but I can't find code
> > that disables interrupts.  Can someone offer a few pointers?  Here's why
> > I ask...
> > 
> > All pci io, memory, and config accesses on the 5477 are performed through
> > two windows in the cpu address space.  Normally these two windows are 
> > configured
> > to perform pci memory and io accesses, and any driver can access pci io and
> > memory at any time.  In order to perform a pci config access, one of the 
> > two
> > windows must be remapped to perform pci config cycles.  The code in
> > read_config_dword() looks something like this:
> > 
> > - Call ddb_access_config_base() to reconfigure the window into pci 
> > memory space
> >   to access pci config space instead.
> > 
> > - Read from pci config space by reading from an offset into the window.
> > 
> > - Call ddb_close_config_base to restore the registers to the original 
> > values.
> > 
> > It looks like anything can interrupt this an try to perform a pci memory
> > access while the window is programmed to perfom config cycles.
> > 
> > Did I miss something, or is this a bug?
> 
> Your understanding is correct.  I think this is a bug.
> 
> Do you actually see the bug happening?  So far it has never hit me, but maybe 
> due to the drivers that are loaded on my configuration.

(IIRC) When I wrote the Vrc-5074 support, I thought about this as well.
But then I noticed that this was already done by the upper PCI layer. Is this
still true?

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux