Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915/dp: Correct max compressed bpp bounds by using link bpp
@ 2025-01-16  9:54 Ankit Nautiyal
  2025-01-16 10:11 ` ✓ CI.Patch_applied: success for " Patchwork
                   ` (8 more replies)
  0 siblings, 9 replies; 13+ messages in thread
From: Ankit Nautiyal @ 2025-01-16  9:54 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

While setting the bounds for compressed bpp we ensure that the
compressed bpp is less than the pipe bpp.

This gives an issue with 420 output format where effective link bpp is
half that of the pipe bpp. Therefore instead of pipe bpp use link bpp to
set the bounds for the compressed bpp.

Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 1ad25c37f3c2..47fcfbcb893b 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -2068,9 +2068,12 @@ icl_dsc_compute_link_config(struct intel_dp *intel_dp,
 			    int timeslots)
 {
 	int i, ret;
+	int link_bpp;
+
+	link_bpp = intel_dp_output_bpp(pipe_config->output_format, pipe_bpp);
 
 	/* Compressed BPP should be less than the Input DSC bpp */
-	dsc_max_bpp = min(dsc_max_bpp, pipe_bpp - 1);
+	dsc_max_bpp = min(dsc_max_bpp, link_bpp - 1);
 
 	for (i = 0; i < ARRAY_SIZE(valid_dsc_bpp); i++) {
 		if (valid_dsc_bpp[i] < dsc_min_bpp)
@@ -2113,6 +2116,7 @@ xelpd_dsc_compute_link_config(struct intel_dp *intel_dp,
 	u8 bppx16_incr = drm_dp_dsc_sink_bpp_incr(connector->dp.dsc_dpcd);
 	u16 compressed_bppx16;
 	u8 bppx16_step;
+	int link_bpp;
 	int ret;
 
 	if (DISPLAY_VER(display) < 14 || bppx16_incr <= 1)
@@ -2120,8 +2124,10 @@ xelpd_dsc_compute_link_config(struct intel_dp *intel_dp,
 	else
 		bppx16_step = 16 / bppx16_incr;
 
+	link_bpp = intel_dp_output_bpp(pipe_config->output_format, pipe_bpp);
+
 	/* Compressed BPP should be less than the Input DSC bpp */
-	dsc_max_bpp = min(dsc_max_bpp << 4, (pipe_bpp << 4) - bppx16_step);
+	dsc_max_bpp = min(dsc_max_bpp << 4, (link_bpp << 4) - bppx16_step);
 	dsc_min_bpp = dsc_min_bpp << 4;
 
 	for (compressed_bppx16 = dsc_max_bpp;
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2025-01-17  5:16 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-16  9:54 [PATCH] drm/i915/dp: Correct max compressed bpp bounds by using link bpp Ankit Nautiyal
2025-01-16 10:11 ` ✓ CI.Patch_applied: success for " Patchwork
2025-01-16 10:12 ` ✓ CI.checkpatch: " Patchwork
2025-01-16 10:13 ` ✓ CI.KUnit: " Patchwork
2025-01-16 10:35 ` ✓ CI.Build: " Patchwork
2025-01-16 10:39 ` ✓ CI.Hooks: " Patchwork
2025-01-16 10:41 ` ✓ CI.checksparse: " Patchwork
2025-01-16 14:11 ` ✗ Xe.CI.Full: failure " Patchwork
2025-01-16 15:30 ` [PATCH] " Rodrigo Vivi
2025-01-16 16:24   ` Jani Nikula
2025-01-16 16:41     ` Rodrigo Vivi
2025-01-16 17:43 ` Imre Deak
2025-01-17  5:15   ` Nautiyal, Ankit K

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox