Comment 304 for bug 1140716

Revision history for this message
In , Mikhail Gavrilov (mikegav) wrote :

Which patch I need applied for fix this issue?

I see that patches from comment 26 and 32 have similar logic...

@@ -596,6 +606,16 @@ gen6_add_request(struct intel_ring_buffer *ring)
  intel_ring_emit(ring, MI_USER_INTERRUPT);
  intel_ring_advance(ring);

+ if (IS_GEN6(ring->dev)) {
+ ret = intel_ring_begin(ring, 6);
+ if (ret)
+ return ret;
+
+ read_mboxes(ring, mbox1_reg, 1024);
+ read_mboxes(ring, mbox2_reg, 1028);
+ intel_ring_advance(ring);
+ }
+
  return 0;
 }

@@ -598,6 +598,19 @@ gen6_add_request(struct intel_ring_buffer *ring)
  intel_ring_emit(ring, MI_USER_INTERRUPT);
  intel_ring_advance(ring);

+ if (IS_GEN6(ring->dev)) {
+ ret = intel_ring_begin(ring, 6);
+ if (ret)
+ return ret;
+
+ mbox1_reg = ring->signal_mbox[0];
+ mbox2_reg = ring->signal_mbox[1];
+
+ update_mboxes(ring, mbox1_reg);
+ update_mboxes(ring, mbox2_reg);
+ intel_ring_advance(ring);
+ }
+
  return 0;
 }