I agree, the patch is horrid. In fact, now that I really look at it,
it seems that the spinlock is totally bogus. This patch removes it.
Details below.
BenH: thoughts, objections?
The lock is meant to keep writes to the PLL index register followed
with a read/write of the PLL data register together. It is necessay
for OUTPLL/INPLL as long as radeonfb can be re-entered.
I recently fixed a whole bunch of races at the VT & fbdev level that
would cause such re-entering, but we still, I think, have a potential
issue with the cursor code, maybe the blanking code, and with the
timer I setup for the LVDS updates.
Ben.
-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
digital self defense, top technical experts, no vendor pitches,
unmatched networking opportunities. Visit www.blackhat.com