[PATCH 9/9] gpu: ipu-v3: initially clear all interrupts
Ying Liu
gnuiyl at gmail.com
Wed Oct 19 07:50:03 UTC 2016
On Wed, Oct 19, 2016 at 12:07 AM, Philipp Zabel <p.zabel at pengutronix.de> wrote:
> 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: Philipp Zabel <p.zabel at pengutronix.de>
Acked-by: Liu Ying <gnuiyl at gmail.com>
> ---
> drivers/gpu/ipu-v3/ipu-common.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/ipu-v3/ipu-common.c b/drivers/gpu/ipu-v3/ipu-common.c
> index b7d7bd6..97218af 100644
> --- a/drivers/gpu/ipu-v3/ipu-common.c
> +++ b/drivers/gpu/ipu-v3/ipu-common.c
> @@ -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);
> --
> 2.9.3
>
More information about the dri-devel
mailing list