drm/i915: Reduce differences with Linux 3.8.13
drm/i915: Partial sync of the ring handling code...

... with Linux 3.8.13

A few parts obtained from OpenBSD
drm/i915: Fix unresponsive X server issues

* In some circumstances, the drm/i915 driver slept on irq_lock with no
  timeout and never woke up, causing the X server to become unresponsive

* It turns the absence of timeout came from the original FreeBSD version
  of this driver; Linux uses a 1 second timeout by default

* Add the same 1-second timeout to the culprit function calls, hopefully
  fixing this issue for good