Bug #9680: Remove bogus blank length limiting in xf86SetModeCrtc().
Our modes typically come from EDID or default modes, and when the monitor asks for a specific mode, deciding to tweak it usually results in incorrect display. And if the user is specifying a mode by hand, tweaking it then is still pretty rude. Reviewed by: ajax
This commit is contained in:
parent
1627af5449
commit
31f2d4a57e
|
@ -727,45 +727,6 @@ xf86SetModeCrtc(DisplayModePtr p, int adjustFlags)
|
||||||
}
|
}
|
||||||
p->CrtcHAdjusted = FALSE;
|
p->CrtcHAdjusted = FALSE;
|
||||||
p->CrtcVAdjusted = FALSE;
|
p->CrtcVAdjusted = FALSE;
|
||||||
|
|
||||||
/*
|
|
||||||
* XXX
|
|
||||||
*
|
|
||||||
* The following is taken from VGA, but applies to other cores as well.
|
|
||||||
*/
|
|
||||||
p->CrtcVBlankStart = min(p->CrtcVSyncStart, p->CrtcVDisplay);
|
|
||||||
p->CrtcVBlankEnd = max(p->CrtcVSyncEnd, p->CrtcVTotal);
|
|
||||||
if ((p->CrtcVBlankEnd - p->CrtcVBlankStart) >= 127) {
|
|
||||||
/*
|
|
||||||
* V Blanking size must be < 127.
|
|
||||||
* Moving blank start forward is safer than moving blank end
|
|
||||||
* back, since monitors clamp just AFTER the sync pulse (or in
|
|
||||||
* the sync pulse), but never before.
|
|
||||||
*/
|
|
||||||
p->CrtcVBlankStart = p->CrtcVBlankEnd - 127;
|
|
||||||
/*
|
|
||||||
* If VBlankStart is now > VSyncStart move VBlankStart
|
|
||||||
* to VSyncStart using the maximum width that fits into
|
|
||||||
* VTotal.
|
|
||||||
*/
|
|
||||||
if (p->CrtcVBlankStart > p->CrtcVSyncStart) {
|
|
||||||
p->CrtcVBlankStart = p->CrtcVSyncStart;
|
|
||||||
p->CrtcVBlankEnd = min(p->CrtcHBlankStart + 127, p->CrtcVTotal);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
p->CrtcHBlankStart = min(p->CrtcHSyncStart, p->CrtcHDisplay);
|
|
||||||
p->CrtcHBlankEnd = max(p->CrtcHSyncEnd, p->CrtcHTotal);
|
|
||||||
|
|
||||||
if ((p->CrtcHBlankEnd - p->CrtcHBlankStart) >= 63 * 8) {
|
|
||||||
/*
|
|
||||||
* H Blanking size must be < 63*8. Same remark as above.
|
|
||||||
*/
|
|
||||||
p->CrtcHBlankStart = p->CrtcHBlankEnd - 63 * 8;
|
|
||||||
if (p->CrtcHBlankStart > p->CrtcHSyncStart) {
|
|
||||||
p->CrtcHBlankStart = p->CrtcHSyncStart;
|
|
||||||
p->CrtcHBlankEnd = min(p->CrtcHBlankStart + 63 * 8, p->CrtcHTotal);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue
Block a user