Re: pci config cycles on VRC-5477

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

 



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.

Jun


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

  Powered by Linux