@@ -102,8 +102,10 @@ v3d_irq(int irq, void *arg)
102
102
to_v3d_fence (v3d -> bin_job -> base .irq_fence );
103
103
104
104
trace_v3d_bcl_irq (& v3d -> drm , fence -> seqno );
105
- dma_fence_signal ( & fence -> base );
105
+
106
106
v3d -> bin_job = NULL ;
107
+ dma_fence_signal (& fence -> base );
108
+
107
109
status = IRQ_HANDLED ;
108
110
}
109
111
@@ -112,8 +114,10 @@ v3d_irq(int irq, void *arg)
112
114
to_v3d_fence (v3d -> render_job -> base .irq_fence );
113
115
114
116
trace_v3d_rcl_irq (& v3d -> drm , fence -> seqno );
115
- dma_fence_signal ( & fence -> base );
117
+
116
118
v3d -> render_job = NULL ;
119
+ dma_fence_signal (& fence -> base );
120
+
117
121
status = IRQ_HANDLED ;
118
122
}
119
123
@@ -122,8 +126,10 @@ v3d_irq(int irq, void *arg)
122
126
to_v3d_fence (v3d -> csd_job -> base .irq_fence );
123
127
124
128
trace_v3d_csd_irq (& v3d -> drm , fence -> seqno );
125
- dma_fence_signal ( & fence -> base );
129
+
126
130
v3d -> csd_job = NULL ;
131
+ dma_fence_signal (& fence -> base );
132
+
127
133
status = IRQ_HANDLED ;
128
134
}
129
135
@@ -159,8 +165,10 @@ v3d_hub_irq(int irq, void *arg)
159
165
to_v3d_fence (v3d -> tfu_job -> base .irq_fence );
160
166
161
167
trace_v3d_tfu_irq (& v3d -> drm , fence -> seqno );
162
- dma_fence_signal ( & fence -> base );
168
+
163
169
v3d -> tfu_job = NULL ;
170
+ dma_fence_signal (& fence -> base );
171
+
164
172
status = IRQ_HANDLED ;
165
173
}
166
174
0 commit comments