drm/i915/mst: Use MST sideband message transactions for dpms control
authorDhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Tue, 3 Oct 2017 14:22:11 +0000 (17:22 +0300)
committerJani Nikula <jani.nikula@intel.com>
Thu, 5 Oct 2017 05:38:17 +0000 (08:38 +0300)
commit5ea2355a100a3c6304901d058aee06d3a6be69bc
treee85c57fc1d8e15cbdd7f170b0b3612b9520e5ea5
parentac14fbd460d0ec16e7750e40dcd8199b0ff83d0a
drm/i915/mst: Use MST sideband message transactions for dpms control

Use the POWER_DOWN_PHY and POWER_UP_PHY sideband message transactions to
set power states for downstream sinks. Apart from giving us the ability
to set power state for individual sinks, this fixes the below test for
me.

$ xrandr --display :0 --output DP-2-2-8 --off
$ xrandr --display :0 --output DP-2-2-1 --off
$ xrandr --display :0 --output DP-2-2-8 --auto #Black screen
$ xrandr --display :0 --output DP-2-2-1 --auto

v2: Modify and document the dpms and port disable order (Ville)
    Add comment explaining is_mst = !crtc_state equivalence(Ville, Maarten)

v3 by Jani: rebase

References: https://bugs.freedesktop.org/show_bug.cgi?id=90963
References: https://bugs.freedesktop.org/show_bug.cgi?id=88124
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Lyude <lyude@redhat.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171003142211.860-1-jani.nikula@intel.com
drivers/gpu/drm/i915/intel_ddi.c
drivers/gpu/drm/i915/intel_dp_mst.c