drm/i915: Shuffle modeset reset handling around 12/22212/3
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 16 Jan 2014 21:28:44 +0000 (22:28 +0100)
committerJin Song <jin.kyu.song@linux.intel.com>
Fri, 30 May 2014 03:15:44 +0000 (20:15 -0700)
commit5f8ee93160d759522fa0a88b1687030e5dcb6d4e
tree5bcd06d4f0e6ca6b728ac2305cb3ec44eebe8d32
parent1108d2686713edf15ca667480138a834703b0f2d
drm/i915: Shuffle modeset reset handling around

Currently we're doing the reset handling a bit late, and we're doing
it both in the driver load code and on resume. This makes it unusable
for e.g. resetting the panel power sequence state like Paulo wants to.

Instead of adding yet another single-use callback shuffle things
around:
- Output handling code is responsible to reset/init all state on its
  own at driver load time.
- We call the reset functions much earlier, before we start using any
  of the modeset code.

Compared to Paulo's new ->resume callback the only difference in
placement is that ->reset is still called without dev->struct_mutex
held. Which is imo a feature.

v2: Rebase on top of the now merge dinq.

Cc: Paulo Zanoni <przanoni@gmail.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Change-Id: Ie0812bdc232f20b533225fd1b190e5e97b1f3aa1
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/intel_crt.c
drivers/gpu/drm/i915/intel_display.c