Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a92d8145 authored by Philipp Zabel's avatar Philipp Zabel
Browse files

gpu: ipu-v3: initially clear all interrupts



If we want to stop resetting the IPU in the future, masking all
interrupts before registering the irq handlers will not be enough to
avoid spurious interrupts. We also have to clear them.

Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
Acked-by: default avatarLiu Ying <gnuiyl@gmail.com>
parent eae13c93
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -1286,8 +1286,11 @@ static int ipu_irq_init(struct ipu_soc *ipu)
		return ret;
	}

	for (i = 0; i < IPU_NUM_IRQS; i += 32)
	/* Mask and clear all interrupts */
	for (i = 0; i < IPU_NUM_IRQS; i += 32) {
		ipu_cm_write(ipu, 0, IPU_INT_CTRL(i / 32));
		ipu_cm_write(ipu, ~unused[i / 32], IPU_INT_STAT(i / 32));
	}

	for (i = 0; i < IPU_NUM_IRQS; i += 32) {
		gc = irq_get_domain_generic_chip(ipu->domain, i);