[PATCH 1/1] ppc64: Block config accesses during BIST

Brian King brking at us.ibm.com
Wed Sep 15 02:19:18 EST 2004


Nathan Lynch wrote:
> Is there a way to make an attempted config space read sleep until the
> BIST is done?  E.g. the device's config space is protected by a
> semaphore which must be held during accesses or during BIST.  Or is it
> legal for the driver to access config space in interrupt context?

It is legal for the driver to access config space in interrupt context. 
Additionally, the arch specific config space access routines get called 
with a global spinlock held irqsave in the core pci code.

> Adding a spinlock to the (pSeries-only) device_node structure makes me
> concerned about the potential for deadlock, since it's not clear to me
> what the lock ordering rules should be with respect to the per-device
> node config_lock and the global device tree lock.

I don't see a problem. I would argue that the global device tree lock 
would need to be acquired before the per-device node lock. I don't see 
any code paths where the per-device node config_lock is held where it 
would try to acquire the global device tree lock.

-- 
Brian King
eServer Storage I/O
IBM Linux Technology Center




More information about the Linuxppc64-dev mailing list