diff options
Diffstat (limited to 'x11-servers/xorg-server-snap/files/patch-r128_accel.c')
-rw-r--r-- | x11-servers/xorg-server-snap/files/patch-r128_accel.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/x11-servers/xorg-server-snap/files/patch-r128_accel.c b/x11-servers/xorg-server-snap/files/patch-r128_accel.c new file mode 100644 index 000000000000..6acfe9834a8e --- /dev/null +++ b/x11-servers/xorg-server-snap/files/patch-r128_accel.c @@ -0,0 +1,33 @@ +Index: programs/Xserver/hw/xfree86/drivers/ati/r128_accel.c +=================================================================== +RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_accel.c,v +retrieving revision 1.3 +retrieving revision 1.3.4.1 +diff -u -u -r1.3 -r1.3.4.1 +--- programs/Xserver/hw/xfree86/drivers/ati/r128_accel.c 16 Jun 2004 09:43:58 -0000 1.3 ++++ programs/Xserver/hw/xfree86/drivers/ati/r128_accel.c 15 Dec 2004 09:22:02 -0000 1.3.4.1 +@@ -237,17 +237,23 @@ + i = 0; + do { + ret = drmCommandNone(info->drmFD, DRM_R128_CCE_IDLE); +- } while ( ret && errno == EBUSY && i++ < R128_IDLE_RETRY ); ++ } while ( ret && errno == EBUSY && i++ < (R128_IDLE_RETRY * R128_IDLE_RETRY) ); + + if (ret && ret != -EBUSY) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "%s: CCE idle %d\n", __FUNCTION__, ret); + } + ++ if (i > R128_IDLE_RETRY) { ++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, ++ "%s: (DEBUG) CCE idle took i = %d\n", __FUNCTION__, i); ++ } ++ + if (ret == 0) return; + + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Idle timed out, resetting engine...\n"); ++ R128CCE_STOP(pScrn, info); + R128EngineReset(pScrn); + + /* Always restart the engine when doing CCE 2D acceleration */ |