NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-amd64/58657: i915drmkms blank screen



The following reply was made to PR port-amd64/58657; it has been noted by GNATS.

From: hoshinomori <hoshinomori%owarisekai.moe@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: Re: port-amd64/58657: i915drmkms blank screen
Date: Thu, 29 Oct 2026 03:49:38 +0800

 >Environment:
 NetBSD xps13-7390-2in1.owarisekai.moe 11.0_STABLE NetBSD 11.0_STABLE (GENERIC) #2: Wed Oct 28 21:32:12 CST 2026  root%xps13-7390-2in1.owarisekai.moe@localhost:/usr/obj/sys/arch/amd64/compile/GENERIC amd64
 >Description:
 I'm facing a similar problem on my Dell XPS 13 7390 2-in-1 with i7-1065g7.
 000:02:0: Intel product 8a52 (VGA display, revision 0x07)
 
 I investigated an earlier crash dump. After GT initialization failed,
 the cleanup path destroyed rps->power.mutex.
 Then framebuffer initialization attempted to lock that mutex in
 intel_rps_mark_interactive(), resulting in fatal page fault.
 
 After applying the patch below, I can start ctwm and glxgears can utilize my gpu.
 output of `glxinfo -B`
 
 name of display: :0
 display: :0  screen: 0
 direct rendering: Yes
 Extended renderer info (GLX_MESA_query_renderer):
     Vendor: Intel Open Source Technology Center (0x8086)
     Device: Mesa DRI Intel(R) Iris(R) Plus Graphics (ICL GT2) (0x8a52)
     Version: 21.3.7
     Accelerated: yes
     Video memory: 3072MB
     Unified memory: yes
     Preferred profile: core (0x1)
     Max core profile version: 4.6
     Max compat profile version: 3.0
     Max GLES1 profile version: 1.1
     Max GLES[23] profile version: 3.2
 OpenGL vendor string: Intel Open Source Technology Center
 OpenGL renderer string: Mesa DRI Intel(R) Iris(R) Plus Graphics (ICL GT2)
 OpenGL core profile version string: 4.6 (Core Profile) Mesa 21.3.7
 OpenGL core profile shading language version string: 4.60
 OpenGL core profile context flags: (none)
 OpenGL core profile profile mask: core profile
 
 OpenGL version string: 3.0 Mesa 21.3.7
 OpenGL shading language version string: 1.30
 OpenGL context flags: (none)
 
 OpenGL ES profile version string: OpenGL ES 3.2 Mesa 21.3.7
 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
 
 >Fix:
 linux's submit_reg is u32 pointer
 	u32 __iomem *submit_reg;
 while in netbsd it is byte offset
 	bus_size_t submit_reg;
 apply the patch to intel_lrc.c
 
 Index: intel_lrc.c
 ===================================================================
 RCS file: /cvsroot/src/sys/external/bsd/drm2/dist/drm/i915/gt/intel_lrc.c,v
 retrieving revision 1.8
 diff -u -r1.8 intel_lrc.c
 --- intel_lrc.c	19 Dec 2021 12:32:15 -0000	1.8
 +++ intel_lrc.c	28 Oct 2026 16:00:33 -0000
 @@ -1415,8 +1415,8 @@
  {
  #ifdef __NetBSD__
  	if (execlists->ctrl_reg) {
 -		bus_space_write_4(execlists->bst, execlists->bsh, execlists->submit_reg + port * 2, lower_32_bits(desc));
 -		bus_space_write_4(execlists->bst, execlists->bsh, execlists->submit_reg + port * 2 + 1, upper_32_bits(desc));
 +		bus_space_write_4(execlists->bst, execlists->bsh, execlists->submit_reg + sizeof(u32) * (port * 2), lower_32_bits(desc));
 +		bus_space_write_4(execlists->bst, execlists->bsh, execlists->submit_reg + sizeof(u32) * (port * 2 + 1), upper_32_bits(desc));
  	} else {
  		bus_space_write_4(execlists->bst, execlists->bsh, execlists->submit_reg, upper_32_bits(desc));
  		bus_space_write_4(execlists->bst, execlists->bsh, execlists->submit_reg, lower_32_bits(desc));
 



Home | Main Index | Thread Index | Old Index