[Nouveau] Why do we disable local IRQ around nouveau_fence_update?
pq at iki.fi
Thu May 27 07:55:56 PDT 2010
On Wed, 26 May 2010 23:24:57 +0200
Maarten Maathuis <madman2003 at gmail.com> wrote:
> For NV04 i can understand, since it's irq driven fences, so let's
> split the question.
> NV10+: can we reduce it to just spin_lock?
I don't know the answer, but I know the theory: if there is
any path, that can take the spinlock from an interrupt
service path, then you must use the irq-safe version everywhere.
> NV04: can't we rely on a normal spin lock and add it as well in
So if NV04 fences are driven by irqs, and the ISR needs to
take the lock, then no, you cannot revert to irq-unsafe spinlocks.
I'm not sure how it relates to ISR bottom halves, though.
Note, that also irq-unsafe spinlocks disable preemption, which
might be enough to disturb audio.
More information about the Nouveau