For LVDS SDVO, mode validation checks the requested mode against the
pipe max dotclock, but does not validate the selected fixed mode clock.
After intel_panel_mode_valid(), get the fixed mode and validate its
clock against the max dotclock.
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Link: https://patch.msgid.link/20260430131220.3891497-2-ankit.k.nautiyal@intel.com
if (IS_LVDS(intel_sdvo_connector)) {
enum drm_mode_status status;
+ const struct drm_display_mode *fixed_mode;
status = intel_panel_mode_valid(&intel_sdvo_connector->base, mode);
if (status != MODE_OK)
return status;
+
+ fixed_mode = intel_panel_fixed_mode(&intel_sdvo_connector->base, mode);
+
+ if (fixed_mode && fixed_mode->clock > max_dotclk)
+ return MODE_CLOCK_HIGH;
}
return MODE_OK;