From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dmitry Torokhov Subject: Re: Linux 3.4-rc4 Date: Sun, 29 Apr 2012 15:37:44 -0700 Message-ID: <20120429223744.GA19382@core.coreip.homeip.net> References: <20120422164023.GA32342@elliptictech.com> <20120423000554.GA893@elliptictech.com> <20120423024558.GD13840@phenom.dumpdata.com> <20120424010345.GA30674@elliptictech.com> <20120425013537.GA11959@elliptictech.com> <1335322574.1821.8.camel@nisroch> <1335504021.5311.0.camel@nisroch> <20120428003928.GA16805@elliptictech.com> <20120428153350.GA19561@elliptictech.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: Content-Disposition: inline In-Reply-To: <20120428153350.GA19561@elliptictech.com> Sender: linux-kernel-owner@vger.kernel.org To: Nick Bowler Cc: Alex Deucher , Ben Skeggs , Martin Peres , Linus Torvalds , Linux Kernel Mailing List , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org On Sat, Apr 28, 2012 at 11:33:50AM -0400, Nick Bowler wrote: > On 2012-04-28 02:19 -0400, Alex Deucher wrote: > > On Fri, Apr 27, 2012 at 8:39 PM, Nick Bowler wrote: > > > Hi Ben, > > > > > > On 2012-04-27 15:20 +1000, Ben Skeggs wrote: > > >> Does this patch help you at all? > > >> > > >> http://cgit.freedesktop.org/nouveau/linux-2.6/commit/?id=3Da3a28= 5f17867f0018de798b5ee85731ec1268305 > > > > > > Yes. =A0I cherry-picked this patch on top of Linus' master (3.4-r= c4+) and > > > this appears to solve the "black screen on VGA" problem described= in the > > > original report. =A0Thanks! > > > > > > Unfortunately, that's not the end of my VGA-related regressions. = :( > > > > > > While tracking down the black screen issue, I've been having the = monitor > > > directly connected to the video card the whole time, but now when= I'm > > > connected through my KVM switch (an IOGear GCS1804), it appears t= hat > > > something's going wrong with reading the EDID, because the availa= ble > > > modes are all screwed up (both console and X decide they want to = drive > > > the display at 1024x768). =A0Here's the output of xrandr on 3.2.1= 5: > > > > > > =A0% xrandr > > > =A0Screen 1: minimum 320 x 200, current 1600 x 1200, maximum 4096= x 4096 > > > =A0VGA-1 connected 1600x1200+0+0 (normal left inverted right x ax= is y axis) 352mm x 264mm > > > =A0 =A0 1600x1200 =A0 =A0 =A075.0*+ =A0 70.0 =A0 =A0 65.0 =A0 =A0= 60.0 > > > =A0 =A0 1280x1024 =A0 =A0 =A085.0 + =A0 75.0 =A0 =A0 60.0 > > > =A0 =A0 1920x1440 =A0 =A0 =A060.0 > > > =A0 =A0 1856x1392 =A0 =A0 =A060.0 > > > =A0 =A0 1792x1344 =A0 =A0 =A060.0 > > > =A0 =A0 1920x1200 =A0 =A0 =A074.9 =A0 =A0 59.9 > > > =A0 =A0 1680x1050 =A0 =A0 =A084.9 =A0 =A0 74.9 =A0 =A0 60.0 > > > =A0 =A0 1400x1050 =A0 =A0 =A085.0 =A0 =A0 74.9 =A0 =A0 60.0 > > > =A0 =A0 1440x900 =A0 =A0 =A0 84.8 =A0 =A0 75.0 =A0 =A0 59.9 > > > =A0 =A0 1280x960 =A0 =A0 =A0 85.0 =A0 =A0 60.0 > > > =A0 =A0 1360x768 =A0 =A0 =A0 60.0 > > > =A0 =A0 1280x800 =A0 =A0 =A0 84.9 =A0 =A0 74.9 =A0 =A0 59.8 > > > =A0 =A0 1152x864 =A0 =A0 =A0 75.0 > > > =A0 =A0 1280x768 =A0 =A0 =A0 84.8 =A0 =A0 74.9 =A0 =A0 59.9 > > > =A0 =A0 1024x768 =A0 =A0 =A0 85.0 =A0 =A0 75.1 =A0 =A0 75.0 =A0 =A0= 70.1 =A0 =A0 60.0 =A0 =A0 43.5 =A0 =A0 43.5 > > > =A0 =A0 832x624 =A0 =A0 =A0 =A074.6 > > > =A0 =A0 800x600 =A0 =A0 =A0 =A085.1 =A0 =A0 72.2 =A0 =A0 75.0 =A0= =A0 60.3 =A0 =A0 56.2 > > > =A0 =A0 848x480 =A0 =A0 =A0 =A060.0 > > > =A0 =A0 640x480 =A0 =A0 =A0 =A085.0 =A0 =A0 75.0 =A0 =A0 72.8 =A0= =A0 72.8 =A0 =A0 66.7 =A0 =A0 60.0 =A0 =A0 59.9 > > > =A0 =A0 720x400 =A0 =A0 =A0 =A085.0 =A0 =A0 87.8 =A0 =A0 70.1 > > > =A0 =A0 640x400 =A0 =A0 =A0 =A085.1 > > > =A0 =A0 640x350 =A0 =A0 =A0 =A085.1 > > > =A0 =A0 320x200 =A0 =A0 =A0 165.1 > > > > > > And on 3.4-rc4+ (with your patch cherry-picked): > > > > > > =A0% xrandr > > > =A0Screen 1: minimum 320 x 200, current 1024 x 768, maximum 4096 = x 4096 > > > =A0VGA-1 connected 1024x768+0+0 (normal left inverted right x axi= s y axis) 0mm x 0mm > > > =A0 =A0 1024x768 =A0 =A0 =A0 60.0* > > > =A0 =A0 800x600 =A0 =A0 =A0 =A060.3 =A0 =A0 56.2 > > > =A0 =A0 848x480 =A0 =A0 =A0 =A060.0 > > > =A0 =A0 640x480 =A0 =A0 =A0 =A059.9 > > > =A0 =A0 320x200 =A0 =A0 =A0 165.1 > > > > > > Running xrandr on 3.4-rc4+ also causes the screen to go black for= a > > > second when it does not on 3.2.15. =A0It also causes several mess= ages of > > > the form > > > > > > =A0[drm] nouveau 0000:01:00.0: Load detected on output B > > > > > > to be logged. =A0Also, looking at /sys/class/drm/card0-VGA-1/edid= I see > > > that it is empty on 3.4-rc4+ and it is correct on 3.2.15. =A0Thin= gs seem > > > to work OK when the KVM is not involved. > >=20 > > Were you ever able to fetch a EDID with the KVM involved? KVMs are > > notorious for not connecting the ddc pins. >=20 > Yes, it works on 3.2.15 as described above. I have the same (or similar) KVM (not in the office at the moment) and = I can confirm that with newer kernels EDID fecthing in flaky. It's 50/50 if EDED retrieval succeeds or if it fails with: Apr 26 13:06:57 dtor-d630 kernel: [13464.936336] [drm:drm_edid_block_va= lid] *ERROR* EDID checksum is invalid, remainder is 208 Apr 26 13:06:57 dtor-d630 kernel: [13464.955317] [drm:drm_edid_block_va= lid] *ERROR* EDID checksum is invalid, remainder is 208 Apr 26 13:06:57 dtor-d630 kernel: [13464.973879] [drm:drm_edid_block_va= lid] *ERROR* EDID checksum is invalid, remainder is 208 Apr 27 09:13:03 dtor-d630 kernel: [44602.087659] [drm:drm_edid_block_va= lid] *ERROR* EDID checksum is invalid, remainder is 208 Apr 27 09:13:03 dtor-d630 kernel: [44602.107147] [drm:drm_edid_block_va= lid] *ERROR* EDID checksum is invalid, remainder is 208 Apr 27 09:13:03 dtor-d630 kernel: [44602.126908] [drm:drm_edid_block_va= lid] *ERROR* EDID checksum is invalid, remainder is 208 Apr 27 09:13:03 dtor-d630 kernel: [44602.146277] [drm:drm_edid_block_va= lid] *ERROR* EDID checksum is invalid, remainder is 208 Apr 27 09:13:03 dtor-d630 kernel: [44602.297659] [drm:drm_edid_block_va= lid] *ERROR* EDID checksum is invalid, remainder is 208 Apr 27 09:13:03 dtor-d630 kernel: [44602.317063] [drm:drm_edid_block_va= lid] *ERROR* EDID checksum is invalid, remainder is 208 Earlier kernels were able to retrieve EDEDs reliably. This is with: [ 1.678392] [drm] nouveau 0000:01:00.0: Detected an NV50 generation = card (0x086b00a2) Thanks. --=20 Dmitry