drm/i915: Pass a crtc state to ddi post_disable from MST code
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 27 Oct 2017 19:31:27 +0000 (22:31 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 30 Oct 2017 17:58:55 +0000 (19:58 +0200)
commit1939ba51fd058b869c06aa084c0b9ae75bc721c6
tree7600a6c14fed4ee565b02221358735308a347d3e
parentbb911536f07e5ed9147e3acf55a2cd72dffff70d
drm/i915: Pass a crtc state to ddi post_disable from MST code

Pass an old crtc state to intel_ddi_post_disable() from the MST code.

Note that this crtc state won't necessaitly match the one that was
passed to intel_ddi_pre_enable() if the first stream to be enabled isn't
the last stream to be disabled. But this is fine since the states should
be identical in every important way. This does mean people frobbing
the DDI pre_enable/post_disable hooks have to pay attention in what
parts of the state they consult.

The alternative would be to inline the relevant code into the MST code.
That is actually what we used to do for pre_enable before
commit e081c8463ac9 ("drm/i915: Remove duplicate DDI enabling logic
from MST path"). For post_disable we've always called the DDI hook.

v2: Pimp up the comments explaining the MST issues

Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171027193128.14483-6-ville.syrjala@linux.intel.com
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
drivers/gpu/drm/i915/intel_ddi.c
drivers/gpu/drm/i915/intel_dp_mst.c