Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/i915/display: Use the recomended min_hblank values

Use recommended values as per wa_14021694213 to compare with the
calculated value and choose minimum of them.

v2: corrected checkpatch warning and retain the restriction for
min_hblank (Jani)
v3: use calculated value to compare with recomended value and choose
minimum of them (Imre)
v4: As driver supported min bpc is 8, omit the condition check for
bpc6 with ycbcr420. Added a note for the same (Imre)
v5: Add a warn for the unexpected case of 6bpc + uhbr + ycbcr420
v6: Reworded the comments and check fo anything < compressed bpp 8(Imre)
v7: Fix checkpatch warning. (Ankit)

Bspec: 74379
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
Reviewed-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Link: https://lore.kernel.org/r/20250730-min_hblank-v7-1-179360220ced@intel.com

authored by

Arun R Murthy and committed by
Ankit Nautiyal
904eef7d f8b99c61

+20 -1
+20 -1
drivers/gpu/drm/i915/display/intel_dp.c
··· 3182 3182 */ 3183 3183 min_hblank = min_hblank - 2; 3184 3184 3185 - min_hblank = min(10, min_hblank); 3185 + /* 3186 + * min_hblank formula is undergoing a change, to avoid underrun use the 3187 + * recomended value in spec to compare with the calculated one and use the 3188 + * minimum value 3189 + */ 3190 + if (intel_dp_is_uhbr(crtc_state)) { 3191 + /* 3192 + * Note: Bspec requires a min_hblank of 2 for YCBCR420 3193 + * with compressed bpp 6, but the minimum compressed bpp 3194 + * supported by the driver is 8. 3195 + */ 3196 + drm_WARN_ON(display->drm, 3197 + (crtc_state->dsc.compression_enable && 3198 + crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR420 && 3199 + crtc_state->dsc.compressed_bpp_x16 < fxp_q4_from_int(8))); 3200 + min_hblank = min(3, min_hblank); 3201 + } else { 3202 + min_hblank = min(10, min_hblank); 3203 + } 3204 + 3186 3205 crtc_state->min_hblank = min_hblank; 3187 3206 3188 3207 return 0;