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