Linux 3.4-rc4

Ben Skeggs bskeggs at redhat.com
Tue Apr 24 19:56:14 PDT 2012


On Tue, 2012-04-24 at 21:35 -0400, Nick Bowler wrote:
> On 2012-04-23 21:03 -0400, Nick Bowler wrote:
> > On 2012-04-22 22:45 -0400, Konrad Rzeszutek Wilk wrote:
> > > On Sun, Apr 22, 2012 at 08:05:54PM -0400, Nick Bowler wrote:
> > > > Following up on the above, the commit which introduces the panics during
> > > > boot is this one:
> > > >
> > > > commit 8e7e70522d760c4ccd4cd370ebfa0ba69e006c6e
> > > > Author: Jerome Glisse <jglisse at redhat.com>
> > > > Date:   Wed Nov 9 17:15:26 2011 -0500
> > > > 
> > > >     drm/ttm: isolate dma data from ttm_tt V4
> [...]
> > > dea7e0a ttm: fix agp since ttm tt rework
> > > 
> > > fixed that.
> > 
> > Yes, I just tested this commit and the one immediately before it.  The
> > one before crashes in the usual way, and dea7e0a boots (with the VGA
> > output black as in the original report).  So this fixed the crash.
> 
> OK, here's what I did:
> 
>  - Since dea7e0a is the first commit that both (a) boots and (b) has
>    broken VGA, I checked it out on a new branch:
> 
>      git checkout -b crazy dea7e0a
> 
>  - Next, I reverted *all* (well, I missed one by accident) the remaining
>    nouveau-specific commits between 3230cfc34 ("drm/nouveau: enable the
>    ttm dma pool when swiotlb is active V3") (i.e., the last commit that
>    (a) boots and (b) has non-broken VGA) and dea7e0a:
> 
>      git revert --no-edit 0c101461e267..f7b24c42da1a
> 
>  - Amazingly, the resulting kernel booted and had working VGA, so I did
>    a "backwards" bisect on this branch of reverts.  In a strange twist
>    of fate, this actually managed to produce bootable kernels the entire
>    time.  The bisection pinpointed the following commit as the culprit:
> 
> commit a0b25635515ef5049f93b032a1e37f18b16e0f6f
> Author: Ben Skeggs <bskeggs at redhat.com>
> Date:   Mon Nov 21 16:41:48 2011 +1000
> 
>     drm/nouveau/gpio: reimplement as nouveau_gpio.c, fixing a number of issues
>     
>     - moves out of nouveau_bios.c and demagics the logical state definitions
>     - simplifies chipset-specific driver interface
>     - makes most of gpio irq handling common, will use for nv4x hpd later
>     - api extended to allow both direct gpio access, and access using the
>       logical function states
>     - api extended to allow for future use of gpio extender chips
>     - pre-nv50 was handled very badly, the main issue being that all GPIOs
>       were being treated as output-only.
>     - fixes nvd0 so gpio changes actually stick, magic reg needs bashing
>     
>     Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Excellent!  That makes things possible.

Are you able to mount debugfs, and email /debugfs/dri/0/vbios.rom for me
(privately if you wish) and I'll attempt to track down what broke for
you.

Thanks!
Ben.

> 
> Unfortunately, there are a number of seemingly non-trivial conflicts
> trying to revert just this one gigantic commit.  So to avoid any
> conflicts, I reverted all of the following (in this order) on top of
> 3.3.3 (there are even more conflicts trying to revert on top of Linus'
> master):
> 
>   7df898b1a70b ("drm/nouveau/disp: check that panel power gpio is enabled at init time")
>   52c4d767437b ("drm/nouveau: move hpd enable/disable to common code")
>   47e5d5cb83d4 ("drm/nv40/disp: implement support for hotplug irq")
>   a0b25635515e ("drm/nouveau/gpio: reimplement as nouveau_gpio.c, fixing a number of issues")
> 
> and my VGA is working again!
> 
> Cheers,




More information about the dri-devel mailing list