The commit in question (8f4b1068e7fc3df1a77ac8151767e56b208cc87f) introduces the following logic in intel_mode_valid function (drivers/gpu/drm/i915/display/intel_display.c):
+ if (DISPLAY_VER(dev_priv) >= 5) { + if (mode->hdisplay < 64 || + mode->htotal - mode->hdisplay < 32) + return MODE_H_ILLEGAL; + + if (mode->vtotal - mode->vdisplay < 5) + return MODE_V_ILLEGAL; + } else { + if (mode->htotal - mode->hdisplay < 32) + return MODE_H_ILLEGAL; + + if (mode->vtotal - mode->vdisplay < 3) + return MODE_V_ILLEGAL; + }
In case of this particular hardware the following condition is met: if (mode->htotal - mode->hdisplay < 32) return MODE_H_ILLEGAL;
with values: htotal==830 and hdisplay=800 resulting in returning MODE_H_ILLEGAL.
I am looking into where does the htotal value come from.
The commit in question (8f4b1068e7fc3d f1a77ac8151767e 56b208cc87f) introduces the following logic in intel_mode_valid function (drivers/ gpu/drm/ i915/display/ intel_display. c):
+ if (DISPLAY_ VER(dev_ priv) >= 5) {
+ if (mode->hdisplay < 64 ||
+ mode->htotal - mode->hdisplay < 32)
+ return MODE_H_ILLEGAL;
+
+ if (mode->vtotal - mode->vdisplay < 5)
+ return MODE_V_ILLEGAL;
+ } else {
+ if (mode->htotal - mode->hdisplay < 32)
+ return MODE_H_ILLEGAL;
+
+ if (mode->vtotal - mode->vdisplay < 3)
+ return MODE_V_ILLEGAL;
+ }
In case of this particular hardware the following condition is met:
if (mode->htotal - mode->hdisplay < 32)
return MODE_H_ILLEGAL;
with values: htotal==830 and hdisplay=800 resulting in returning MODE_H_ILLEGAL.
I am looking into where does the htotal value come from.