aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2025-01-31 14:50:00 +0200
committerJani Nikula <jani.nikula@intel.com>2025-02-03 16:31:29 +0200
commit206914ca6529ea08b2ccb060948959fa837f3f19 (patch)
tree370974a50364a7cde51a37adafed4dfb164b367c
parentdrm/i915/dp: Change icl_dsc_compute_link_config() DSC BPP iteration (diff)
downloadwireguard-linux-206914ca6529ea08b2ccb060948959fa837f3f19.tar.xz
wireguard-linux-206914ca6529ea08b2ccb060948959fa837f3f19.zip
drm/i915/dp: Move force_dsc_fractional_bpp_en check to intel_dp_dsc_valid_bpp()
Add the fractional DSC BPP force check to intel_dp_dsc_valid_bpp(), and use that in xelpd_dsc_compute_link_config(). This is another step closer towards unifying the platform specific functions. Reviewed-by: Imre Deak <imre.deak@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/2d8cdfef422dc2229d3ead2201bff4a321cbbdd3.1738327620.git.jani.nikula@intel.com
-rw-r--r--drivers/gpu/drm/i915/display/intel_dp.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index a299b69309dc..2feb686f6419 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -2075,8 +2075,12 @@ static bool intel_dp_dsc_valid_bpp(struct intel_dp *intel_dp, int bpp_x16)
struct intel_display *display = to_intel_display(intel_dp);
int i;
- if (DISPLAY_VER(display) >= 13)
+ if (DISPLAY_VER(display) >= 13) {
+ if (intel_dp->force_dsc_fractional_bpp_en && !fxp_q4_to_frac(bpp_x16))
+ return false;
+
return true;
+ }
if (fxp_q4_to_frac(bpp_x16))
return false;
@@ -2143,9 +2147,9 @@ xelpd_dsc_compute_link_config(struct intel_dp *intel_dp,
int ret;
for (bpp_x16 = max_bpp_x16; bpp_x16 >= min_bpp_x16; bpp_x16 -= bpp_step_x16) {
- if (intel_dp->force_dsc_fractional_bpp_en &&
- !fxp_q4_to_frac(bpp_x16))
+ if (!intel_dp_dsc_valid_bpp(intel_dp, bpp_x16))
continue;
+
ret = dsc_compute_link_config(intel_dp,
pipe_config,
limits,