[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