drm/i915: Convert intel_tv connector properties to atomic, v5.
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Mon, 10 Apr 2017 09:07:08 +0000 (11:07 +0200)
committerMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Wed, 12 Apr 2017 08:53:22 +0000 (10:53 +0200)
commit0e891b3f447f4d8af3010761fa0c358b057ae2e8
tree42b56d5309d7921fef505d02f7fd8dc37cc33821
parent735a9876cf7f5ddda1027942344f31d3a1a4488a
drm/i915: Convert intel_tv connector properties to atomic, v5.

intel_tv has properties that are handled in the atomic core, but
needs a modeset to update the properties inside the connector.

The detect(), get_mode() and mode_valid() probe callbacks also
depend on the connector state, which made this a good connector
to convert first. It helped find all the issues when converting
connectors to atomic.

Because of these requirements, connector atomic_check() was added
and connection_mutex is held during probing. The diffstat looks
more favorable now. :)

Changes since v1:
- Add intel_encoder->swap_state to allow updating connector state.
- Add intel_tv->format for detect_mode and mode_valid, updated on atomic commit.
Changes since v2:
- Fix typo in tv_choose_preferred modes function name.
- Assignment of tv properties is done in core, so intel_tv only needs
  a atomic_check function. Thanks Ville!
Changes since v3:
- connection_mutex is now held in mode_valid() and get_modes(),
  this removes the need for caching parts of the connector_state.
Changes since v4:
- Use the new atomic connector check function.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1491815239-10685-3-git-send-email-maarten.lankhorst@linux.intel.com
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_tv.c