Re: [crash, PATCH] Revert "drm/radeon/kms: move radeon KMS on/offswitch out of staging."

From: Ingo Molnar
Date: Tue Feb 02 2010 - 10:42:44 EST



* Jerome Glisse <glisse@xxxxxxxxxxxxxxx> wrote:

> On Tue, Feb 02, 2010 at 09:17:27AM +0100, Ingo Molnar wrote:
> >
> > * Dave Airlie <airlied@xxxxxxxx> wrote:
> >
> > > > Hi Linus,
> > > >
> > > > Please pull the 'drm-linus' branch from
> > > > ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-linus
> > > >
> > >
> > > I've also added an oops fix I seem to lose off my radar to this tree.
> > >
> > > commit 17aafccab4352b422aa01fa6ebf82daff693a5b3
> > > Author: Michel D??nzer <daenzer@xxxxxxxxxx>
> > > Date: Fri Jan 22 09:20:00 2010 +0100
> > >
> > > drm/radeon/kms: Fix oops after radeon_cs_parser_init() failure.
> >
> > FYI, this drm pull into mainline has triggered quick boot crashes in -tip
> > testing (even with the above fix applied), on an Athlon64 whitebox PC with:
> >
> > 01:00.0 VGA compatible controller: ATI Technologies Inc RV370 5B60 [Radeon X300 (PCIE)]
> > 01:00.1 Display controller: ATI Technologies Inc RV370 [Radeon X300SE]
> >
> > the crash is:
> >
> > [ 7.111003] radeon 0000:01:00.0: Disabling GPU acceleration
> > [ 7.273547] Failed to wait GUI idle while programming pipes. Bad things might happen.
> > [ 7.436296] [drm:r100_cp_fini] *ERROR* Wait for CP idle timeout, shutting down CP.
> > [ 7.598755] Failed to wait GUI idle while programming pipes. Bad things might happen.
> > [ 7.599306] BUG: unable to handle kernel paging request at f8380000
> > [ 7.599999] IP: [<c149f0de>] rv370_pcie_gart_set_page+0x2d/0x3c
> > [ 7.599999] *pde = 36d44067 *pte = 00000000
> > [ 7.599999] Oops: 0002 [#1] SMP DEBUG_PAGEALLOC
> > [ 7.599999] last sysfs file:
> >
> > i have bisected it back to:
> >
> > | 97b94ccb9aa1b82ed7a9a045d0ae5b32c99b84a0 is the first bad commit
> > | commit 97b94ccb9aa1b82ed7a9a045d0ae5b32c99b84a0
> > | Author: Dave Airlie <airlied@xxxxxxxxxx>
> > | Date: Fri Jan 29 15:31:47 2010 +1000
> > |
> > | drm/radeon/kms: fix incorrect logic in DP vs eDP connector checking.
> > |
> > | This makes displayport work again here.
> >
> > Unfortunately even with that patch reverted it still crashes. Config and
> > bootlog attached.
> >
> > It's the moving of radeom KMS out of staging after -rc6 that causes it,
> > because it brought it into the scope of my testing:
> >
> > f71d018: drm/radeon/kms: move radeon KMS on/off switch out of staging.
> >
> > So at least on this box it's clearly not ready for mainline enablement yet.
> > I've attached the revert patch further below.
> >
> > Ingo
> >
>
> Attached is a patch which will fix the oops, still it's strange that CP
> fails to init on your config. [...]

Thanks, that fixes the crash here!

Tested-by: Ingo Molnar <mingo@xxxxxxx>

> [...] Do you have IOMMU enabled ? I haven't played with iommu stuff thus i
> wonder if we are missing somethings in this area.

No IOMMU here - this is a 5 years old box. (beyond GART that is)

Your patch fixes a bona-fide illegal-access bug in the DRM code, that's more
than enough to crash the box ;-)

Btw., there's a new warning in the DRM code

drivers/gpu/drm/ati_pcigart.c: In function ‘drm_ati_pcigart_init’:
drivers/gpu/drm/ati_pcigart.c:115: warning: format ‘%Lx’ expects type ‘long long unsigned int’, but argument 3 has type ‘dma_addr_t’

Please fix that too, the kernel build is noisy enough as-is.

Thanks,

Ingo
--
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/