drm: Rename drm_debug_flag to drm_debug
idr: Fix an infinite loop issue

* idr routines were doing an infinite loop when the array was full but element
  #0 was still free

* Because allocations start at 1, the low bound was not being taken account of
  in idr_find_free(), causing an infinite loop

* idr_get_new_above() couldn't allocate an id >= 1 and idr_pre_get() thought it
  didn't have to expand because id #0 was available
bge: Reorder reset sequence a little bit

Obtained-from: FreeBSD 241436
bge: Correct setting TX random backoff register.

Obtained-from: FreeBSD 251482
bge: Don't blindly clear GPIOs configuration.

Just use firmware configured one.  This change also fixes non-working
traffic LED on BCM57780.

Obtained-from: FreeBSD 252227
drm: Add linux/i2c.h
drm: Reduce differences with Linux 3.8

Rename mode_config.lock to mode_config.mutex
drm: Convert idr spinlocks to lockmgr locks

* Since the idr code uses blocking calls in some code paths we can't
  hold spin locks accross idr calls

* This commit and the idr infinite loop one fix system freeze issues
  with some Xorg operations involving a huge number of pixmaps