Summary: | Can't use 1920x1080 on VGA with versions newer than 0.4.176 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Max Rus <off_mail> | ||||||||
Component: | Driver/openchrome | Assignee: | Openchrome development list <openchrome-devel> | ||||||||
Status: | RESOLVED FIXED | QA Contact: | |||||||||
Severity: | major | ||||||||||
Priority: | medium | CC: | kevinbrace | ||||||||
Version: | git | ||||||||||
Hardware: | x86 (IA32) | ||||||||||
OS: | Linux (All) | ||||||||||
Whiteboard: | |||||||||||
i915 platform: | i915 features: | ||||||||||
Attachments: |
|
Description
Max Rus
2016-06-12 20:17:52 UTC
Created attachment 124490 [details]
Xorg.0.log for 0.4.171 driver (without problem)
Hi Max, I apologize for the screw up. Also, thanks for catching my obvious mistake. I do not own a monitor capable of 1920 X 1080, and this appears to be causing problems with other people. The maximum I have is 1680 X 1050, and I do not have access to it for now. For IGA1, Horizontal total period is 9 bits, not 8 bits as I mistakenly considered. What happens is that pretty much all IGA1 values get shifted to the right by 3 bit positions, hence, a 12 bit wide value is legal. What happens is that the 3 LSBs (Least Significant Bits) get dropped as a result of the right 3 bit position shift. 2200 fits within that 12 bits, hence, it is a legal value as far as IGA1 is concerned. I will upload the patch shortly, and I will include your name in the commit message. Signed-off-by: Max Rus <"your e-mail address"> If you want to opt out, I can do that as well. Created attachment 124492 [details] [review] Proposed IGA1 CrtcHTotal limit test mistake fix There was a bad commit with commit c768c86, and this broke the screen of people who used a monitor capable of 1920 X 1080 screen resolution. Hi Kevin, I applyed provided patch (and fixed missing last parenthesis): + if (mode->CrtcHTotal > (4096 + ((1 << 3) * (5 - 1))) and now system starts normally with patched 0.4.179: [ 14.664] (II) Loading /opt/xorg/lib/xorg/modules/drivers/openchrome_drv.so [ 14.679] (II) Module openchrome: vendor="http://www.freedesktop.org/wiki/Openchrome/" [ 14.679] compiled for 1.18.3, module version = 0.4.179 ... [ 15.080] (II) CHROME(0): Entered viaIGA1SetDisplayRegister. [ 15.080] (II) CHROME(0): IGA1 Requested Screen Mode: 1920x1080 [ 15.080] (II) CHROME(0): IGA1 CrtcHTotal: 2200 [ 15.080] (II) CHROME(0): IGA1 CrtcHDisplay: 1920 [ 15.080] (II) CHROME(0): IGA1 CrtcHBlankStart: 1920 [ 15.080] (II) CHROME(0): IGA1 CrtcHBlankEnd: 2200 [ 15.080] (II) CHROME(0): IGA1 CrtcHSyncStart: 2008 [ 15.080] (II) CHROME(0): IGA1 CrtcHSyncEnd: 2052 [ 15.080] (II) CHROME(0): IGA1 CrtcVTotal: 1125 [ 15.080] (II) CHROME(0): IGA1 CrtcVDisplay: 1080 [ 15.080] (II) CHROME(0): IGA1 CrtcVBlankStart: 1080 [ 15.080] (II) CHROME(0): IGA1 CrtcVBlankEnd: 1125 [ 15.080] (II) CHROME(0): IGA1 CrtcVSyncStart: 1084 [ 15.080] (II) CHROME(0): IGA1 CrtcVSyncEnd: 1089 [ 15.080] (II) CHROME(0): Exiting viaIGA1SetDisplayRegister. (In reply to Max Rus from comment #4) Hi Max, > Hi Kevin, > > I applyed provided patch (and fixed missing last parenthesis): > > + if (mode->CrtcHTotal > (4096 + ((1 << 3) * (5 - 1))) > > and now system starts normally with patched 0.4.179: > > [ 14.664] (II) Loading > /opt/xorg/lib/xorg/modules/drivers/openchrome_drv.so > [ 14.679] (II) Module openchrome: > vendor="http://www.freedesktop.org/wiki/Openchrome/" > [ 14.679] compiled for 1.18.3, module version = 0.4.179 > ... > [ 15.080] (II) CHROME(0): Entered viaIGA1SetDisplayRegister. > [ 15.080] (II) CHROME(0): IGA1 Requested Screen Mode: 1920x1080 > [ 15.080] (II) CHROME(0): IGA1 CrtcHTotal: 2200 > [ 15.080] (II) CHROME(0): IGA1 CrtcHDisplay: 1920 > [ 15.080] (II) CHROME(0): IGA1 CrtcHBlankStart: 1920 > [ 15.080] (II) CHROME(0): IGA1 CrtcHBlankEnd: 2200 > [ 15.080] (II) CHROME(0): IGA1 CrtcHSyncStart: 2008 > [ 15.080] (II) CHROME(0): IGA1 CrtcHSyncEnd: 2052 > [ 15.080] (II) CHROME(0): IGA1 CrtcVTotal: 1125 > [ 15.080] (II) CHROME(0): IGA1 CrtcVDisplay: 1080 > [ 15.080] (II) CHROME(0): IGA1 CrtcVBlankStart: 1080 > [ 15.080] (II) CHROME(0): IGA1 CrtcVBlankEnd: 1125 > [ 15.080] (II) CHROME(0): IGA1 CrtcVSyncStart: 1084 > [ 15.080] (II) CHROME(0): IGA1 CrtcVSyncEnd: 1089 > [ 15.080] (II) CHROME(0): Exiting viaIGA1SetDisplayRegister. Okay, I will commit the change. Sorry about disrupting your life. No real disturbance. I'm glad to see this project is alive, and glad that I was usefull enough to test and help to find mistake. :) |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.