Commit 5021ccb4 authored by Ville Syrjälä's avatar Ville Syrjälä
Browse files

drm/i915: Reject modes with linetime > 64 usec



Reject modes whose linetime exceeds 64 usec.

First reason being that WM_LINETIME is limited to (nearly) 64 usec.

Additionally knowing the linetime is bounded will help with
determining whether overflows may be a concern during various
calculations.

I decided to round up, and accept the linetime==64 case. We use
various rounding directions for this in other parts of the code,
so I feel this provides the most consistent result all around.

Reviewed-by: default avatarUma Shankar <uma.shankar@intel.com>
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20251014191808.12326-3-ville.syrjala@linux.intel.com
parent 755e430b
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -7978,6 +7978,14 @@ enum drm_mode_status intel_mode_valid(struct drm_device *dev,
	    mode->vtotal > vtotal_max)
		return MODE_V_ILLEGAL;

	/*
	 * WM_LINETIME only goes up to (almost) 64 usec, and also
	 * knowing that the linetime is always bounded will ease the
	 * mind during various calculations.
	 */
	if (DIV_ROUND_UP(mode->htotal * 1000, mode->clock) > 64)
		return MODE_H_ILLEGAL;

	return MODE_OK;
}