Skip to content

Commit 7824ac5

Browse files
vsyrjalaqzed
authored andcommitted
drm/i915: Limit MST to <= 8bpc once again
commit bb1a71f upstream. My attempt at allowing MST to use the higher color depths has regressed some configurations. Apparently people have setups where all MST streams will fit into the DP link with 8bpc but won't fit with higher color depths. What we really should be doing is reducing the bpc for all the streams on the same link until they start to fit. But that requires a bit more work, so in the meantime let's revert back closer to the old behavior and limit MST to at most 8bpc. Cc: stable@vger.kernel.org Cc: Lyude Paul <lyude@redhat.com> Tested-by: Geoffrey Bennett <gmux22@gmail.com> Fixes: f147721 ("drm/i915: Remove the 8bpc shackles from DP MST") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111505 Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190828102059.2512-1-ville.syrjala@linux.intel.com Reviewed-by: Lyude Paul <lyude@redhat.com> (cherry picked from commit 75427b2) Signed-off-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent ce721a4 commit 7824ac5

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

drivers/gpu/drm/i915_legacy/intel_dp_mst.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,15 @@ static int intel_dp_mst_compute_config(struct intel_encoder *encoder,
125125
limits.max_lane_count = intel_dp_max_lane_count(intel_dp);
126126

127127
limits.min_bpp = intel_dp_min_bpp(pipe_config);
128-
limits.max_bpp = pipe_config->pipe_bpp;
128+
/*
129+
* FIXME: If all the streams can't fit into the link with
130+
* their current pipe_bpp we should reduce pipe_bpp across
131+
* the board until things start to fit. Until then we
132+
* limit to <= 8bpc since that's what was hardcoded for all
133+
* MST streams previously. This hack should be removed once
134+
* we have the proper retry logic in place.
135+
*/
136+
limits.max_bpp = min(pipe_config->pipe_bpp, 24);
129137

130138
intel_dp_adjust_compliance_config(intel_dp, pipe_config, &limits);
131139

0 commit comments

Comments
 (0)