Re: Linux 3.4-rc4

From: Nick Bowler
Date: Tue Apr 24 2012 - 21:35:38 EST


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@xxxxxxxxxx>
> > > 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@xxxxxxxxxx>
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@xxxxxxxxxx>

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,
--
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/