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 Mobile 965GM Express,i915drmkmshas error 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: netbsd-bugs%netbsd.org@localhost, tsutsui%ceres.dti.ne.jp@localhost
Subject: Re: kern/55198: When the video card is Intel Mobile 965GM Express,i915drmkmshas
	 error CPU pipe A FIFO underrun, also X freezes/hangs
Date: Sat, 9 May 2020 00:14:31 +0900

 >  > So I think the easiest fix would make "uxa" the default acceleration method on old chips as Intel 965GM.
 >  
 >  Mine is N455 GMA 3150.  Maybe all GMA Intel GPUs are affected?
 >   https://en.wikipedia.org/wiki/Intel_GMA#Generation_three_based
 
 The attachend diff makes old (Gen4 and prior) chipsets use UXA
 by default. Is it worth to apply netbsd-9 for workaround?
 
 ---
 Index: external/mit/xf86-video-intel/dist/src/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
 --- external/mit/xf86-video-intel/dist/src/intel_module.c	20 Mar 2019 06:34:02 -0000	1.1.1.4
 +++ external/mit/xf86-video-intel/dist/src/intel_module.c	8 May 2020 15:05:46 -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,12 @@ intel_scrn_create(DriverPtr		driver,
  #endif
  
  #if KMS
 -	switch (get_accel_method()) {
 +	enum accel_method default_accel_method = DEFAULT_ACCEL_METHOD;
 +	/* Force UXA by default for pre-HD chipset to avoid screen corruption */
 +	if ((unsigned)((struct intel_device_info *)match_data)->gen < 050)
 +		default_accel_method = UXA;
 +
 +	switch (get_accel_method(default_accel_method)) {
  #if USE_SNA
  	case NOACCEL:
  	case SNA:
 
 ---
 Izumi Tsutsui
 


Home | Main Index | Thread Index | Old Index