[PATCH 5.0 003/101] drm/i915: Do not enable FEC without DSC

From: Greg Kroah-Hartman
Date: Thu May 02 2019 - 11:30:03 EST

From: Ville SyrjÃlà <ville.syrjala@xxxxxxxxxxxxxxx>

commit 5aae7832d1b4ec614996ea0f4fafc4d9855ec0b0 upstream.

Currently we enable FEC even when DSC is no used. While that is
theoretically valid supposedly there isn't much of a benefit from
this. But more importantly we do not account for the FEC link
bandwidth overhead (2.4%) in the non-DSC link bandwidth computations.
So the code may think we have enough bandwidth when we in fact
do not.

Cc: stable@xxxxxxxxxxxxxxx
Cc: Anusha Srivatsa <anusha.srivatsa@xxxxxxxxx>
Cc: Manasi Navare <manasi.d.navare@xxxxxxxxx>
Fixes: 240999cf339f ("i915/dp/fec: Add fec_enable to the crtc state.")
Signed-off-by: Ville SyrjÃlà <ville.syrjala@xxxxxxxxxxxxxxx>
Link: https://patchwork.freedesktop.org/patch/msgid/20190326144903.6617-1-ville.syrjala@xxxxxxxxxxxxxxx
Reviewed-by: Manasi Navare <manasi.d.navare@xxxxxxxxx>
(cherry picked from commit 6fd3134ae3551d4802a04669c0f39f2f5c56f77d)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

drivers/gpu/drm/i915/intel_dp.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1871,6 +1871,9 @@ static bool intel_dp_dsc_compute_config(
u8 dsc_max_bpc;
int pipe_bpp;

+ pipe_config->fec_enable = !intel_dp_is_edp(intel_dp) &&
+ intel_dp_supports_fec(intel_dp, pipe_config);
if (!intel_dp_supports_dsc(intel_dp, pipe_config))
return false;

@@ -2097,9 +2100,6 @@ intel_dp_compute_config(struct intel_enc
if (adjusted_mode->flags & DRM_MODE_FLAG_DBLCLK)
return false;

- pipe_config->fec_enable = !intel_dp_is_edp(intel_dp) &&
- intel_dp_supports_fec(intel_dp, pipe_config);
if (!intel_dp_compute_link_config(encoder, pipe_config, conn_state))
return false;