Message ID | 20230824080517.693621-19-imre.deak@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915: Improve BW management on shared display links | expand |
On Thu, Aug 24, 2023 at 11:05:13AM +0300, Imre Deak wrote: > Atm DSC decompression is enabled in the sink only if the first stream is > compressed. This left compressed streams blank if the first stream was > uncompressed. > > Enable decompression whenever FEC is enabled, which will be true for all > streams if any stream is compressed. Enabling FEC correctly in all > streams will be only fixed by an upcoming patch. > > Signed-off-by: Imre Deak <imre.deak@intel.com> Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> > --- > drivers/gpu/drm/i915/display/intel_dp.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c > index 48f005932ad8b..e5b1567d2a9d4 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp.c > @@ -2907,7 +2907,13 @@ void intel_dp_sink_set_decompression_state(struct intel_dp *intel_dp, > struct drm_i915_private *i915 = dp_to_i915(intel_dp); > int ret; > > - if (!crtc_state->dsc.compression_enable) > + /* > + * In case of MST any stream can be compressed not just the first. If > + * any stream is compressed FEC will be enabled in all streams, so toggle > + * decompression whenever FEC is enabled. > + */ > + if (!crtc_state->dsc.compression_enable && > + !crtc_state->fec_enable) > return; > > ret = drm_dp_dpcd_writeb(&intel_dp->aux, DP_DSC_ENABLE, > -- > 2.37.2 >
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index 48f005932ad8b..e5b1567d2a9d4 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -2907,7 +2907,13 @@ void intel_dp_sink_set_decompression_state(struct intel_dp *intel_dp, struct drm_i915_private *i915 = dp_to_i915(intel_dp); int ret; - if (!crtc_state->dsc.compression_enable) + /* + * In case of MST any stream can be compressed not just the first. If + * any stream is compressed FEC will be enabled in all streams, so toggle + * decompression whenever FEC is enabled. + */ + if (!crtc_state->dsc.compression_enable && + !crtc_state->fec_enable) return; ret = drm_dp_dpcd_writeb(&intel_dp->aux, DP_DSC_ENABLE,
Atm DSC decompression is enabled in the sink only if the first stream is compressed. This left compressed streams blank if the first stream was uncompressed. Enable decompression whenever FEC is enabled, which will be true for all streams if any stream is compressed. Enabling FEC correctly in all streams will be only fixed by an upcoming patch. Signed-off-by: Imre Deak <imre.deak@intel.com> --- drivers/gpu/drm/i915/display/intel_dp.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)