All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nick Bowler <nbowler@elliptictech.com>
To: Maarten Maathuis <madman2003@gmail.com>
Cc: Martin Peres <martin.peres@labri.fr>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	dri-devel@lists.freedesktop.org, Ben Skeggs <bskeggs@redhat.com>,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: Linux 3.4-rc4
Date: Tue, 1 May 2012 21:20:29 -0400	[thread overview]
Message-ID: <20120502012029.GA24097@elliptictech.com> (raw)
In-Reply-To: <20120501132352.GA28696@elliptictech.com>

(re-adding Ben to the Cc because he was apparently dropped somewhere in
this thread)

On 2012-05-01 09:23 -0400, Nick Bowler wrote:
> On 2012-04-30 11:07 +0200, Maarten Maathuis wrote:
> > On Mon, Apr 30, 2012 at 12:37 AM, Dmitry Torokhov
> > <dmitry.torokhov@gmail.com> wrote:
> > > 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 <nbowler@elliptictech.com> wrote:
> > >> > > 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 that
> > >> > > something's going wrong with reading the EDID, because the available
> > >> > > modes are all screwed up (both console and X decide they want to drive
> > >> > > the display at 1024x768).
> [...]
> > >> > > Also, 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.  Things seem
> > >> > > to work OK when the KVM is not involved.
> > >> >
> > >> > Were you ever able to fetch a EDID with the KVM involved?  KVMs are
> > >> > notorious for not connecting the ddc pins.
> > >>
> > >> 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_valid] *ERROR* EDID checksum is invalid, remainder is 208
> [...]
> > > Earlier kernels were able to retrieve EDEDs reliably.
> 
> FWIW, for me EDID failure on new kernels is 100% reproducible, and there
> are no such checksum errors in the log.  It's just missing.
> 
> > Just a crazy thought, but didn't we change some timings related to
> > EDID retrieval? To make it faster.
> 
> OK, this time bisecting started off relatively smoothly (doing the same
> "backwards" bisect on the branch-o-reverts as last time), but then my
> disk died halfway through...
[...]

OK, system is back online and I finished the bisection.  The commit that
broke it for me is the following, and reverting it on top of 3.3.4 + the
"make VGA work at all" patch fixes this particular issue for me.

commit f553b79c03f0dbd52f6f03abe8233a2bef8cbd0d
Author: Ben Skeggs <bskeggs@redhat.com>
Date:   Wed Dec 21 18:09:12 2011 +1000

    drm/nouveau/i2c: handle bit-banging ourselves
    
    i2c-algo-bit doesn't actually work very well on one card I have access to
    (NVS 300), random single-bit errors occur most of the time - what we're
    doing now is closer to what xf86i2c.c does.
    
    The original plan was to figure out why i2c-algo-bit fails on the NVS 300,
    and fix it.  However, while investigating I discovered i2c-algo-bit calls
    cond_resched(), which makes it a bad idea for us to be using as we execute
    VBIOS scripts from a tasklet, and there may very well be i2c transfers as
    a result.
    
    So, since I already wrote this code in userspace to track down the NVS 300
    bug, and it's not really much code - lets use it.
    
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>

Cheers,
-- 
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)

WARNING: multiple messages have this Message-ID (diff)
From: Nick Bowler <nbowler@elliptictech.com>
To: Maarten Maathuis <madman2003@gmail.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Martin Peres <martin.peres@labri.fr>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	dri-devel@lists.freedesktop.org,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Ben Skeggs <bskeggs@redhat.com>
Subject: Re: Linux 3.4-rc4
Date: Tue, 1 May 2012 21:20:29 -0400	[thread overview]
Message-ID: <20120502012029.GA24097@elliptictech.com> (raw)
In-Reply-To: <20120501132352.GA28696@elliptictech.com>

(re-adding Ben to the Cc because he was apparently dropped somewhere in
this thread)

On 2012-05-01 09:23 -0400, Nick Bowler wrote:
> On 2012-04-30 11:07 +0200, Maarten Maathuis wrote:
> > On Mon, Apr 30, 2012 at 12:37 AM, Dmitry Torokhov
> > <dmitry.torokhov@gmail.com> wrote:
> > > 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 <nbowler@elliptictech.com> wrote:
> > >> > > 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 that
> > >> > > something's going wrong with reading the EDID, because the available
> > >> > > modes are all screwed up (both console and X decide they want to drive
> > >> > > the display at 1024x768).
> [...]
> > >> > > Also, 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.  Things seem
> > >> > > to work OK when the KVM is not involved.
> > >> >
> > >> > Were you ever able to fetch a EDID with the KVM involved?  KVMs are
> > >> > notorious for not connecting the ddc pins.
> > >>
> > >> 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_valid] *ERROR* EDID checksum is invalid, remainder is 208
> [...]
> > > Earlier kernels were able to retrieve EDEDs reliably.
> 
> FWIW, for me EDID failure on new kernels is 100% reproducible, and there
> are no such checksum errors in the log.  It's just missing.
> 
> > Just a crazy thought, but didn't we change some timings related to
> > EDID retrieval? To make it faster.
> 
> OK, this time bisecting started off relatively smoothly (doing the same
> "backwards" bisect on the branch-o-reverts as last time), but then my
> disk died halfway through...
[...]

OK, system is back online and I finished the bisection.  The commit that
broke it for me is the following, and reverting it on top of 3.3.4 + the
"make VGA work at all" patch fixes this particular issue for me.

commit f553b79c03f0dbd52f6f03abe8233a2bef8cbd0d
Author: Ben Skeggs <bskeggs@redhat.com>
Date:   Wed Dec 21 18:09:12 2011 +1000

    drm/nouveau/i2c: handle bit-banging ourselves
    
    i2c-algo-bit doesn't actually work very well on one card I have access to
    (NVS 300), random single-bit errors occur most of the time - what we're
    doing now is closer to what xf86i2c.c does.
    
    The original plan was to figure out why i2c-algo-bit fails on the NVS 300,
    and fix it.  However, while investigating I discovered i2c-algo-bit calls
    cond_resched(), which makes it a bad idea for us to be using as we execute
    VBIOS scripts from a tasklet, and there may very well be i2c transfers as
    a result.
    
    So, since I already wrote this code in userspace to track down the NVS 300
    bug, and it's not really much code - lets use it.
    
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>

Cheers,
-- 
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)


  parent reply	other threads:[~2012-05-02  1:20 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-21 22:43 Linux 3.4-rc4 Linus Torvalds
2012-04-22  4:07 ` Nick Bowler
2012-04-22  4:51   ` Linus Torvalds
2012-04-22  4:51     ` Linus Torvalds
2012-04-22  7:26     ` Dave Airlie
2012-04-22  7:26       ` Dave Airlie
2012-04-22 16:42       ` Nick Bowler
2012-04-23  3:16       ` Ben Skeggs
2012-04-22 16:40     ` Nick Bowler
2012-04-22 18:20       ` Geert Uytterhoeven
2012-04-23  0:05       ` Nick Bowler
2012-04-23  2:45         ` Konrad Rzeszutek Wilk
2012-04-23  2:45           ` Konrad Rzeszutek Wilk
2012-04-24  1:03           ` Nick Bowler
2012-04-24 15:11             ` Konrad Rzeszutek Wilk
2012-04-25  1:35             ` Nick Bowler
2012-04-25  2:56               ` Ben Skeggs
2012-04-25  2:56                 ` Ben Skeggs
2012-04-27  5:20                 ` Ben Skeggs
2012-04-28  0:39                   ` Nick Bowler
2012-04-28  6:19                     ` Alex Deucher
2012-04-28 15:33                       ` Nick Bowler
2012-04-28 15:33                         ` Nick Bowler
2012-04-29 22:37                         ` Dmitry Torokhov
2012-04-30  9:07                           ` Maarten Maathuis
2012-04-30 11:01                             ` Luca Tettamanti
2012-04-30 11:01                               ` Luca Tettamanti
2012-05-02  7:54                               ` Jean Delvare
2012-05-02 11:31                                 ` Ben Skeggs
2012-05-04  5:08                                   ` Ben Skeggs
2012-05-04  5:08                                     ` Ben Skeggs
2012-05-04 14:12                                     ` Jean Delvare
2012-05-01 13:23                             ` Nick Bowler
2012-05-01 15:09                               ` Alan Cox
2012-05-01 15:09                                 ` Alan Cox
2012-05-01 15:31                                 ` Nick Bowler
2012-05-01 15:31                                   ` Nick Bowler
2012-05-01 15:45                                   ` Alan Cox
2012-05-02  1:20                               ` Nick Bowler [this message]
2012-05-02  1:20                                 ` Nick Bowler
2012-05-04  9:20                                 ` Dave Airlie
2012-05-04  9:20                                   ` Dave Airlie
2012-05-05 15:39                                   ` Nick Bowler
2012-04-22  8:38 ` Bjarke Istrup Pedersen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120502012029.GA24097@elliptictech.com \
    --to=nbowler@elliptictech.com \
    --cc=bskeggs@redhat.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=madman2003@gmail.com \
    --cc=martin.peres@labri.fr \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.