|
@@ -295,7 +295,7 @@ v2: fix kernel panic with debug-fs interface to list registers
|
|
|
|
|
|
|
|
static irqreturn_t
|
|
static irqreturn_t
|
|
|
v3d_hub_irq(int irq, void *arg);
|
|
v3d_hub_irq(int irq, void *arg);
|
|
|
-@@ -118,7 +119,8 @@ v3d_irq(int irq, void *arg)
|
|
|
|
|
|
|
+@@ -120,7 +121,8 @@ v3d_irq(int irq, void *arg)
|
|
|
status = IRQ_HANDLED;
|
|
status = IRQ_HANDLED;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -305,7 +305,7 @@ v2: fix kernel panic with debug-fs interface to list registers
|
|
|
struct v3d_fence *fence =
|
|
struct v3d_fence *fence =
|
|
|
to_v3d_fence(v3d->csd_job->base.irq_fence);
|
|
to_v3d_fence(v3d->csd_job->base.irq_fence);
|
|
|
v3d->gpu_queue_stats[V3D_CSD].last_exec_end = local_clock();
|
|
v3d->gpu_queue_stats[V3D_CSD].last_exec_end = local_clock();
|
|
|
-@@ -131,7 +133,7 @@ v3d_irq(int irq, void *arg)
|
|
|
|
|
|
|
+@@ -134,7 +136,7 @@ v3d_irq(int irq, void *arg)
|
|
|
/* We shouldn't be triggering these if we have GMP in
|
|
/* We shouldn't be triggering these if we have GMP in
|
|
|
* always-allowed mode.
|
|
* always-allowed mode.
|
|
|
*/
|
|
*/
|
|
@@ -314,7 +314,7 @@ v2: fix kernel panic with debug-fs interface to list registers
|
|
|
dev_err(v3d->drm.dev, "GMP violation\n");
|
|
dev_err(v3d->drm.dev, "GMP violation\n");
|
|
|
|
|
|
|
|
/* V3D 4.2 wires the hub and core IRQs together, so if we &
|
|
/* V3D 4.2 wires the hub and core IRQs together, so if we &
|
|
|
-@@ -205,6 +207,11 @@ v3d_hub_irq(int irq, void *arg)
|
|
|
|
|
|
|
+@@ -209,6 +211,11 @@ v3d_hub_irq(int irq, void *arg)
|
|
|
status = IRQ_HANDLED;
|
|
status = IRQ_HANDLED;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -326,7 +326,7 @@ v2: fix kernel panic with debug-fs interface to list registers
|
|
|
return status;
|
|
return status;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-@@ -219,8 +226,8 @@ v3d_irq_init(struct v3d_dev *v3d)
|
|
|
|
|
|
|
+@@ -223,8 +230,8 @@ v3d_irq_init(struct v3d_dev *v3d)
|
|
|
* for us.
|
|
* for us.
|
|
|
*/
|
|
*/
|
|
|
for (core = 0; core < v3d->cores; core++)
|
|
for (core = 0; core < v3d->cores; core++)
|
|
@@ -337,7 +337,7 @@ v2: fix kernel panic with debug-fs interface to list registers
|
|
|
|
|
|
|
|
irq1 = platform_get_irq_optional(v3d_to_pdev(v3d), 1);
|
|
irq1 = platform_get_irq_optional(v3d_to_pdev(v3d), 1);
|
|
|
if (irq1 == -EPROBE_DEFER)
|
|
if (irq1 == -EPROBE_DEFER)
|
|
|
-@@ -264,12 +271,12 @@ v3d_irq_enable(struct v3d_dev *v3d)
|
|
|
|
|
|
|
+@@ -268,12 +275,12 @@ v3d_irq_enable(struct v3d_dev *v3d)
|
|
|
|
|
|
|
|
/* Enable our set of interrupts, masking out any others. */
|
|
/* Enable our set of interrupts, masking out any others. */
|
|
|
for (core = 0; core < v3d->cores; core++) {
|
|
for (core = 0; core < v3d->cores; core++) {
|
|
@@ -354,7 +354,7 @@ v2: fix kernel panic with debug-fs interface to list registers
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void
|
|
void
|
|
|
-@@ -284,8 +291,8 @@ v3d_irq_disable(struct v3d_dev *v3d)
|
|
|
|
|
|
|
+@@ -288,8 +295,8 @@ v3d_irq_disable(struct v3d_dev *v3d)
|
|
|
|
|
|
|
|
/* Clear any pending interrupts we might have left. */
|
|
/* Clear any pending interrupts we might have left. */
|
|
|
for (core = 0; core < v3d->cores; core++)
|
|
for (core = 0; core < v3d->cores; core++)
|