> 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;
                }
        }

Reply via email to