drm/linux: Avoid contention in spinlock_irq routines
* Call crit_enter() first and lockmgr() later
* This helps to avoid unnecessary contention on the same cpu if a
regular kernel thread holding the lockmgr lock is preempted by
an interrupt thread which would like to acquire the same lock
* By putting the lockmgr() call in the critical section, we avoid the
situation where the preempting interrupt routine tries to lock,
races the main thread lock, and forces an extra two thread switches
Suggested-by: sephe@
Reviewed-by: dillon@ and sephe@