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