Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1325614ybz; Thu, 16 Apr 2020 07:15:30 -0700 (PDT) X-Google-Smtp-Source: APiQypIeI+QU+E/cqE/YnAJo4cxh06uMz+V7jdGOqQeoveog9DdEvnr/kDAbkIidegIkPJrmAZm7 X-Received: by 2002:a50:f61b:: with SMTP id c27mr13839753edn.256.1587046530071; Thu, 16 Apr 2020 07:15:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587046530; cv=none; d=google.com; s=arc-20160816; b=FOTfRn2SnSqu45pdRDgoskN64I6qpSTBuMSQYizCVc+Nj2MRZ7cz5xqZqcnKUuCE9D eZCSL6HgOvkKTMdSbpNOLd0Mp1OJkczG6qEu2UsZp1MDq0qLik1vY9e5IdvnMtO/ypTK 32eXYu/Bcsetjj1wB5QwmZNa1U5UyA7pJD9S7kSu6+asX4m5/Y/OfHaaQ6bXgdLDlsVX mZpIP2KmPxrzgAnzwB+8A7BUQ60G8Ve/wVrh4OPBMFBFp3dGhuBBWbox2BIlyiDNKKKs PFxZrE8AMTRlTJs41b9G9knUPUXWQmuLeP+fE4DspUwwMWu8cBlrz19Yw9kgNiCBbQPf RFmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=U1FYYwYCt3Lp/TzgQR2nXudHLNxBN+mZIlXu+NTLqlg=; b=z5SyR16B0v8Yh5XY6iYdKJL9fQLI3d0b8q89Vd4sgl2sTksqswO7t/ZnAQEFTHrOsQ QiC9h9HwbfyoPnMBQf89oKE9fht50jYys65EjT3CSuoJ/ExOzX0jpVSkJrfhhBgCFVZV u0CYdwbpn47yLWtcN+3fngySCmqu+PjC/PV4rmUdorxtAH2OdVInGlKR7vE4vtNbVVnt dh35RK21/0BQ1mLcB6UnqR/G8nAMXKPR7tx3RegJxAiwnzNy7iLIRdP+Jtio8JGbayuF 1z3ZtMLug3O2dMV10meUv20Ti1snjru2VYQoY/ObJICmEdpCJo8SQX9sz1em1L6T+9ry zvAg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=f2JUJ0VF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b4si6765674ejj.77.2020.04.16.07.15.05; Thu, 16 Apr 2020 07:15:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=f2JUJ0VF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2393400AbgDPOK5 (ORCPT + 99 others); Thu, 16 Apr 2020 10:10:57 -0400 Received: from mail.kernel.org ([198.145.29.99]:32822 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2898629AbgDPNqw (ORCPT ); Thu, 16 Apr 2020 09:46:52 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id F3F9121734; Thu, 16 Apr 2020 13:46:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1587044811; bh=EK/Cuxjn3w46ZMpO2v2XOHxAZrlG7GWtQElkScPysAM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=f2JUJ0VF0GUC8YNTl63elFnsOVMxm9rPv79FGlx7zVYUwAvf9z9vmA5muTqlhCD6r YkdGQm27OLIb/YNrOw2QfP71jZbk/w6B0GeTr+zEIhJjRjuJ+UckGweoNzkcLtc1ku 9AdDYeWgnVj71XRrtLmVJCCYON8Lk6POfJk/py9g= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Sungbo Eo , Marc Zyngier , Linus Walleij Subject: [PATCH 5.4 111/232] irqchip/versatile-fpga: Apply clear-mask earlier Date: Thu, 16 Apr 2020 15:23:25 +0200 Message-Id: <20200416131329.017834513@linuxfoundation.org> X-Mailer: git-send-email 2.26.1 In-Reply-To: <20200416131316.640996080@linuxfoundation.org> References: <20200416131316.640996080@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sungbo Eo commit 6a214a28132f19ace3d835a6d8f6422ec80ad200 upstream. Clear its own IRQs before the parent IRQ get enabled, so that the remaining IRQs do not accidentally interrupt the parent IRQ controller. This patch also fixes a reboot bug on OX820 SoC, where the remaining rps-timer IRQ raises a GIC interrupt that is left pending. After that, the rps-timer IRQ is cleared during driver initialization, and there's no IRQ left in rps-irq when local_irq_enable() is called, which evokes an error message "unexpected IRQ trap". Fixes: bdd272cbb97a ("irqchip: versatile FPGA: support cascaded interrupts from DT") Signed-off-by: Sungbo Eo Signed-off-by: Marc Zyngier Reviewed-by: Linus Walleij Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20200321133842.2408823-1-mans0n@gorani.run Signed-off-by: Greg Kroah-Hartman --- drivers/irqchip/irq-versatile-fpga.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) --- a/drivers/irqchip/irq-versatile-fpga.c +++ b/drivers/irqchip/irq-versatile-fpga.c @@ -212,6 +212,9 @@ int __init fpga_irq_of_init(struct devic if (of_property_read_u32(node, "valid-mask", &valid_mask)) valid_mask = 0; + writel(clear_mask, base + IRQ_ENABLE_CLEAR); + writel(clear_mask, base + FIQ_ENABLE_CLEAR); + /* Some chips are cascaded from a parent IRQ */ parent_irq = irq_of_parse_and_map(node, 0); if (!parent_irq) { @@ -221,9 +224,6 @@ int __init fpga_irq_of_init(struct devic fpga_irq_init(base, node->name, 0, parent_irq, valid_mask, node); - writel(clear_mask, base + IRQ_ENABLE_CLEAR); - writel(clear_mask, base + FIQ_ENABLE_CLEAR); - /* * On Versatile AB/PB, some secondary interrupts have a direct * pass-thru to the primary controller for IRQs 20 and 22-31 which need