[Nouveau] Why do we disable local IRQ around nouveau_fence_update?
Pekka Paalanen
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
> nv04_graph_mthd_set_ref?
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.
my 2c
--
Pekka Paalanen
http://www.iki.fi/pq/
More information about the Nouveau
mailing list