> Date: Thu, 20 Jul 2017 15:51:55 +0300
> From: Paul Irofti <[email protected]>
>
> > >Fix:
> > Unknown.
>
> Here is a potential fix.
Can you try this diff instead?
Index: dev/pci/drm/drmP.h
===================================================================
RCS file: /cvs/src/sys/dev/pci/drm/drmP.h,v
retrieving revision 1.214
diff -u -p -r1.214 drmP.h
--- dev/pci/drm/drmP.h 19 Jul 2017 22:05:58 -0000 1.214
+++ dev/pci/drm/drmP.h 20 Jul 2017 14:26:05 -0000
@@ -122,8 +122,6 @@ struct fb_image;
#define DRM_WAKEUP(x) wakeup(x)
-extern int ticks;
-
#define drm_msleep(x) mdelay(x)
extern struct cfdriver drm_cd;
Index: dev/pci/drm/drm_linux.h
===================================================================
RCS file: /cvs/src/sys/dev/pci/drm/drm_linux.h,v
retrieving revision 1.57
diff -u -p -r1.57 drm_linux.h
--- dev/pci/drm/drm_linux.h 17 Jul 2017 17:57:27 -0000 1.57
+++ dev/pci/drm/drm_linux.h 20 Jul 2017 14:26:05 -0000
@@ -840,7 +840,8 @@ timespec_sub(struct timespec t1, struct
#define time_in_range(x, min, max) ((x) >= (min) && (x) <= (max))
extern int ticks;
-#define jiffies ticks
+#define jiffies (*(volatile int *)&ticks)
+
#undef HZ
#define HZ hz
Index: dev/pci/drm/i915/i915_drv.h
===================================================================
RCS file: /cvs/src/sys/dev/pci/drm/i915/i915_drv.h,v
retrieving revision 1.77
diff -u -p -r1.77 i915_drv.h
--- dev/pci/drm/i915/i915_drv.h 19 Jul 2017 22:05:58 -0000 1.77
+++ dev/pci/drm/i915/i915_drv.h 20 Jul 2017 14:26:05 -0000
@@ -642,7 +642,7 @@ struct drm_i915_error_state {
} *ringbuffer, *batchbuffer, *wa_batchbuffer, *ctx, *hws_page;
struct drm_i915_error_request {
- long jiffies;
+ long _jiffies;
u32 seqno;
u32 tail;
} *requests;
Index: dev/pci/drm/i915/i915_gpu_error.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/drm/i915/i915_gpu_error.c,v
retrieving revision 1.2
diff -u -p -r1.2 i915_gpu_error.c
--- dev/pci/drm/i915/i915_gpu_error.c 1 Jul 2017 16:14:10 -0000 1.2
+++ dev/pci/drm/i915/i915_gpu_error.c 20 Jul 2017 14:26:05 -0000
@@ -457,7 +457,7 @@ int i915_error_state_to_str(struct drm_i
for (j = 0; j < error->ring[i].num_requests; j++) {
err_printf(m, " seqno 0x%08x, emitted %ld,
tail 0x%08x\n",
error->ring[i].requests[j].seqno,
- error->ring[i].requests[j].jiffies,
+ error->ring[i].requests[j]._jiffies,
error->ring[i].requests[j].tail);
}
}
@@ -1098,7 +1098,7 @@ static void i915_gem_record_rings(struct
erq = &error->ring[i].requests[count++];
erq->seqno = request->seqno;
- erq->jiffies = request->emitted_jiffies;
+ erq->_jiffies = request->emitted_jiffies;
erq->tail = request->postfix;
}
}