NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/55198: When the video card is Intel Mobile965GMExpress,i915drmkmshaserror CPU pipe A FIFO underrun, also X freezes/hangs
The following reply was made to PR kern/55198; it has been noted by GNATS.
From: Izumi Tsutsui <tsutsui%ceres.dti.ne.jp@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: tsutsui%ceres.dti.ne.jp@localhost
Subject: Re: kern/55198: When the video card is Intel Mobile965GMExpress,i915drmkmshaserror
CPU pipe A FIFO underrun, also X freezes/hangs
Date: Sat, 27 Jun 2020 21:41:55 +0900
There is a report (from isaki@) that SNA has some problem also
on ThinkPad X201s (i7-L620), i.e. Gen5 Ironlake.
I've also confirmed Gen7 (IvyBridge i7-3770) works.
Here is an updated summary:
https://github.com/NetBSD/xsrc/blob/trunk/external/mit/xf86-video-intel/dist/src/intel_module.c
https://en.wikipedia.org/wiki/List_of_Intel_graphics_processing_units
---
Gen1
810 OK (SNA is not used)
Gen2
830M OK (tsutsui@, Panasonic CF-R1)
845M OK (jdbaker@)
855GM OK (tsutsui@, CF-R3; xdm has problems, but it also happens on UXA)
865G ??
Gen3
915G (GMA 900) OK (jdbaker@)
945G (GMA 950) NG (jdbaker@)
G33 (GMA 3100) NG? (there is a blog that says SNA failed on FreeBSD 12.1)
N455 (GMA 3150) NG (tsutsui@, MSI U135DX)
Gen4
Q965 (GMA 3000) ??
G965 (GMA X3000) NG (joaopaulo1511@, Acer Aspire 5720Z in this PR)
G41 (GMA X4500) NG (jdbaker@)
Q45 (GMA X4500HD) NG (jdbaker@)
Gen5
Ironlake NG (isaki@, ThinkPad X201s; xdm corruption, UXA works)
Gen6
SandyBridge ??
Gen7
IvyBridge OK (tsutsui@, DELL Optiplex 9010)
---
I'll commit the attached version RSN and send a pullup request.
---
Index: intel_module.c
===================================================================
RCS file: /cvsroot/xsrc/external/mit/xf86-video-intel/dist/src/intel_module.c,v
retrieving revision 1.1.1.4
diff -u -p -d -r1.1.1.4 intel_module.c
--- intel_module.c 20 Mar 2019 06:34:02 -0000 1.1.1.4
+++ intel_module.c 27 Jun 2020 12:15:05 -0000
@@ -567,9 +567,8 @@ _xf86findDriver(const char *ident, XF86C
return NULL;
}
-static enum accel_method { NOACCEL, SNA, UXA } get_accel_method(void)
+static enum accel_method { NOACCEL, SNA, UXA } get_accel_method(enum accel_method accel_method)
{
- enum accel_method accel_method = DEFAULT_ACCEL_METHOD;
XF86ConfDevicePtr dev;
if (hosted())
@@ -641,7 +640,17 @@ intel_scrn_create(DriverPtr driver,
#endif
#if KMS
- switch (get_accel_method()) {
+ enum accel_method default_accel_method = DEFAULT_ACCEL_METHOD;
+ /*
+ * XXX
+ * Use UXA by default for Gen3/4/5 chipsets (except 915) to avoid
+ * screen corruption etc. (PR/54995, PR/55198)
+ */
+ if ((unsigned)((struct intel_device_info *)match_data)->gen > 030 &&
+ (unsigned)((struct intel_device_info *)match_data)->gen < 060)
+ default_accel_method = UXA;
+
+ switch (get_accel_method(default_accel_method)) {
#if USE_SNA
case NOACCEL:
case SNA:
---
Note I think the options "TearFree" should be checked independently.
---
Izumi Tsutsui
Home |
Main Index |
Thread Index |
Old Index