NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/50804: Nouveau console doesn't come up on Dell laptop
The following reply was made to PR kern/50804; it has been noted by GNATS.
From: Roy Bixler <rcbixler%nyx.net@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: kern-bug-people%NetBSD.org@localhost, gnats-admin%NetBSD.org@localhost, netbsd-bugs%NetBSD.org@localhost
Subject: Re: kern/50804: Nouveau console doesn't come up on Dell laptop
Date: Sat, 20 Feb 2016 09:30:16 -0700
On Sat, Feb 20, 2016 at 09:07:47AM -0700, Roy Bixler wrote:
> On Sat, Feb 20, 2016 at 03:55:01PM +0000, Taylor R Campbell wrote:
> > The following reply was made to PR kern/50804; it has been noted by GNATS.
> >
> > From: Taylor R Campbell <riastradh%NetBSD.org@localhost>
> > To: Roy Bixler <rcbixler%nyx.net@localhost>
> > Cc: gnats-bugs%NetBSD.org@localhost
> > Subject: Re: kern/50804: Nouveau console doesn't come up on Dell laptop
> > Date: Sat, 20 Feb 2016 15:51:17 +0000
> >
> > Date: Sat, 20 Feb 2016 08:45:45 -0700
> > From: Roy Bixler <rcbixler%nyx.net@localhost>
> >
> > On Mon, Feb 15, 2016 at 08:41:48PM +0000, Taylor R Campbell wrote:
> > > Another change that might be worthwhile to test would be to add
> > >
> > > #include <ddb/ddb.h>
> > >
> > > if (bpa/size covers the nvidia bar)
> > > db_stack_trace_print(
> > > (db_expr_t)(intptr_t)__builtin_frame_address(0),
> > > true, 65535, "", printf);
> > >
> > > to bus_space_map in sys/arch/x86/x86/bus_space.c, so that you can see
> > > who is trying to map this bus space, in case someone else has already
> > > mapped it. (You'll need to fill in what the relevant BAR's address
> > > and size actually are, unless you want to increase MSGBUFSIZE and wade
> > > through a stack trace for every bus space mapping in the system.)
> >
> > The thought occurred to me before, so since you agree, I'll give it a
> > go.
> >
> > Since bus_space_map is apparently failing with EAGAIN, that is
> > definitely worth a try -- EAGAIN means someone else has already mapped
> > some part of the region.
>
> Just one thing here -- I took your latest version and added the debugging
> line back in to replay the bus_space_map parameters. Here's the result:
>
> drm kern info: nouveau [ DEVICE][nouveau0] BOOT0 : 0x042c00a1
> drm kern info: nouveau [ DEVICE][nouveau0] Chipset: NV42 (NV42)
> drm kern info: nouveau [ DEVICE][nouveau0] Family : NV40
> drm kern info: nouveau [ VBIOS][nouveau0] checking PRAMIN for image...
> drm kern info: nouveau [ VBIOS][nouveau0] ... appears to be valid
> drm kern info: nouveau [ VBIOS][nouveau0] using image from PRAMIN
> drm kern info: nouveau [ VBIOS][nouveau0] BIT signature found
> drm kern info: nouveau [ VBIOS][nouveau0] version 05.41.02.29.a3
> drm kern info: nouveau [ PFB][nouveau0] RAM type: DDR1
> drm kern info: nouveau [ PFB][nouveau0] RAM size: 256 MiB
> drm kern info: nouveau [ PFB][nouveau0] ZCOMP: 189440 tags
> drm kern error: nouveau E[ INSTMEM][nouveau0] bar = 2, iomemt=c1136740, iomemsz=0, start=0
> drm kern error: nouveau E[ INSTMEM][nouveau0] unable to map PRAMIN BAR: 35
> drm kern error: nouveau E[ DEVICE][nouveau0] failed to create 0x1000400c, -14
> drm kern error: nouveau E[ DRM] failed to create 0x80000080, -14
> nouveau0: unable to attach drm: 14
>
> So, the size and start of 0 definitely seem wrong. I suppose I'll try
> my experiment with bar = 1.
I added a comparison of bpa == c0000000 to bus_space_map and it didn't
trigger until I set bar = 1 in nouveau_subdev_instmem_nv40.c:
drm kern info: nouveau [ DEVICE][nouveau0] BOOT0 : 0x042c00a1
drm kern info: nouveau [ DEVICE][nouveau0] Chipset: NV42 (NV42)
drm kern info: nouveau [ DEVICE][nouveau0] Family : NV40
drm kern info: nouveau [ VBIOS][nouveau0] checking PRAMIN for image...
drm kern info: nouveau [ VBIOS][nouveau0] ... appears to be valid
drm kern info: nouveau [ VBIOS][nouveau0] using image from PRAMIN
drm kern info: nouveau [ VBIOS][nouveau0] BIT signature found
drm kern info: nouveau [ VBIOS][nouveau0] version 05.41.02.29.a3
drm kern info: nouveau [ PFB][nouveau0] RAM type: DDR1
drm kern info: nouveau [ PFB][nouveau0] RAM size: 256 MiB
drm kern info: nouveau [ PFB][nouveau0] ZCOMP: 189440 tags
?(c287480c,0,c11caa44,0,c,da9fdd6c,c0fad4c8,c29cebec,c,c287495c) at c0b9c737
uvm_fault(0xc12a1560, 0xb0cbf000, 1) -> 0xe
fatal page fault in supervisor mode
trap type 6 code 0 eip c013e358 cs 8 eflags 10246 cr2 b0cbff50 ilevel 0 esp c0b1679a
curlwp 0xc287d2a0 pid 0 lid 47 lowest kstack 0xda9fb2c0
kernel: supervisor trap page fault, code=0
Stopped in pid 0.47 (system) at c013e358: movl 0(%ecx),%eax
db{0}>
--
Roy Bixler <rcbixler%nyx.net@localhost>
"The fundamental principle of science, the definition almost, is this: the
sole test of the validity of any idea is experiment."
-- Richard P. Feynman
Home |
Main Index |
Thread Index |
Old Index