Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp3423792pxj; Mon, 24 May 2021 06:30:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzGHanSB7p2FKPlZ/xB87KFedyravfzbxMUohBF02EiBIPeChmX0EqQjqrDeUgPyJaFhf8a X-Received: by 2002:a50:ef15:: with SMTP id m21mr25304298eds.226.1621863051593; Mon, 24 May 2021 06:30:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621863051; cv=none; d=google.com; s=arc-20160816; b=wG55CL815rTWSUn1Pcn+JmDNfrFL49MUQpHXJQRz9sBEIEdGSe32e47rx6VSDw4BPZ i2HHERETMcnn2K7o1XHy2n9v456E53OiPBnySqvDvU6KDOdcTUWhHZwovgItaUN5qJv5 Mh5pagSEmvyPg46DAR/bRCmaP9MPlSXu4k0c7xQjr9NYXYHu4f/IGCc6o+WH9lwTaKTe TABYgYPfoOjgQbeck/upgKr5iF7t4m2mf9Y77lJMkZqczPJ+pGEkeQP/szBA8EmCkuQE ApMlYhhb4LAz+q6z75Ef7ziS/A0rwG8g1TodRndDsuQH83iUAbbJyoLmZCbzy5YNNIpC vHEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=LExptnmOkmttxwpxFtbJIegi5xcgvpFevZlhbxq4A3A=; b=rSL1TytnGhQAUfknYM6SlALH32iUypG9VFyz1rPe5ED/vhuNzO7gqAnt5oZ/R3+hON wE1XA9ABIGeSt+fBdnEYSFCbSr2DW3TxaqVs36pV0JRbxMUcw1A6QTV5xFu5ormM0mQ8 oCV+DKE0x7fV41phsoSfTDWzdElh4w6Due1cy6TdIDv8l1HQo+/mzIukYNPGDb+EutMO 8NcRxHQ3umfQecyeoGPQXSsLn466dymU4IwODgbAHGVMTKmnTUXpu37J4FZ+eId9fqxJ OkIsUTvH/CIjIZfjDa6a/dS/61ZxPZc7LS5Q0pdk2KO4WJ3x/5xZ7vVXtue7m2TxhqDM 3r4g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=NQ3WzbkR; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a15si13518884edr.562.2021.05.24.06.30.28; Mon, 24 May 2021 06:30:51 -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=k20201202 header.b=NQ3WzbkR; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232858AbhEXNah (ORCPT + 99 others); Mon, 24 May 2021 09:30:37 -0400 Received: from mail.kernel.org ([198.145.29.99]:37464 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232885AbhEXNaY (ORCPT ); Mon, 24 May 2021 09:30:24 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id EE242613D8 for ; Mon, 24 May 2021 13:28:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1621862936; bh=kE3gL04mJXooRokA4ix7dxU3jLeoiVUafEG0fZx7vHs=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=NQ3WzbkRAn9UuCZKhROWIQPfT1nwpD9Cu88enoHNBH3hb8UUehCYTe8SEtFV9uPhs 6k57XqyXFre7flPO6y3zEkurge0irsOibCOCZFBP7JfNDT7GQtXQPU2EcE3XZvVgtv W+cFPhMveM9FVyeV+qO160rXvdoowOD5Mtobgox7yuv2An69bxdac001On5B1XdsGx TrlqZuzhLiMcbsBahi0KIP7xDOGOLAaWOfyIy4Fl7pg3Q5BtputE/5wD0CykdY5UoY iGWB7eXuEmImgLkrVyO5hyDDoVV644HHiM6qfpZeGBF953JrcEeBFY5h7P8XUWDPiC UhZMLAgNyU7CQ== Received: by mail-ed1-f52.google.com with SMTP id b17so31990348ede.0 for ; Mon, 24 May 2021 06:28:55 -0700 (PDT) X-Gm-Message-State: AOAM530qFHTLCvD4f/IQWl2PpxECPCE506+x7mlsPVlZfUGgMH1ruakT L2On/UJkO0WazHt7dGDbAfWR593nW7TB/rHTbw== X-Received: by 2002:a05:6402:100c:: with SMTP id c12mr25590910edu.165.1621862934229; Mon, 24 May 2021 06:28:54 -0700 (PDT) MIME-Version: 1.0 References: <20210520163751.27325-1-maz@kernel.org> <20210520163751.27325-31-maz@kernel.org> <87tumswmqc.wl-maz@kernel.org> In-Reply-To: <87tumswmqc.wl-maz@kernel.org> From: Rob Herring Date: Mon, 24 May 2021 08:28:42 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 30/39] PCI: Bulk conversion to generic_handle_domain_irq() To: Marc Zyngier Cc: "linux-kernel@vger.kernel.org" , Thomas Gleixner , Michael Ellerman , Benjamin Herrenschmidt , Paul Mackerras , Ley Foon Tan , Chris Zankel , Max Filippov , Vineet Gupta , Thomas Bogendoerfer , Robert Jarzmik , Russell King , Krzysztof Kozlowski , Yoshinori Sato , Rich Felker , Geert Uytterhoeven , Alex Deucher , =?UTF-8?Q?Christian_K=C3=B6nig?= , David Airlie , Daniel Vetter , Rob Clark , Linus Walleij , Lee Jones , Lorenzo Pieralisi , Bjorn Helgaas , Bartosz Golaszewski , Android Kernel Team Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, May 24, 2021 at 3:38 AM Marc Zyngier wrote: > > On Thu, 20 May 2021 18:47:06 +0100, > Rob Herring wrote: > > > > On Thu, May 20, 2021 at 11:57 AM Marc Zyngier wrote: > > > > > > Wherever possible, replace constructs that match either > > > generic_handle_irq(irq_find_mapping()) or > > > generic_handle_irq(irq_linear_revmap()) to a single call to > > > generic_handle_domain_irq(). > > > > > > Signed-off-by: Marc Zyngier > > > --- > > > drivers/pci/controller/dwc/pci-dra7xx.c | 14 +++++--------- > > > drivers/pci/controller/dwc/pci-keystone.c | 5 ++--- > > > .../pci/controller/dwc/pcie-designware-host.c | 9 ++++----- > > > drivers/pci/controller/dwc/pcie-uniphier.c | 6 ++---- > > > .../controller/mobiveil/pcie-mobiveil-host.c | 15 ++++++--------- > > > drivers/pci/controller/pci-aardvark.c | 5 ++--- > > > drivers/pci/controller/pci-ftpci100.c | 2 +- > > > drivers/pci/controller/pci-tegra.c | 8 +++----- > > > drivers/pci/controller/pci-xgene-msi.c | 9 +++------ > > > drivers/pci/controller/pcie-altera-msi.c | 10 ++++------ > > > drivers/pci/controller/pcie-altera.c | 10 ++++------ > > > drivers/pci/controller/pcie-brcmstb.c | 9 ++++----- > > > drivers/pci/controller/pcie-iproc-msi.c | 4 +--- > > > drivers/pci/controller/pcie-mediatek-gen3.c | 13 ++++--------- > > > drivers/pci/controller/pcie-mediatek.c | 12 ++++-------- > > > drivers/pci/controller/pcie-microchip-host.c | 18 +++++++----------- > > > drivers/pci/controller/pcie-rcar-host.c | 8 +++----- > > > drivers/pci/controller/pcie-rockchip-host.c | 8 +++----- > > > drivers/pci/controller/pcie-xilinx-cpm.c | 4 ++-- > > > drivers/pci/controller/pcie-xilinx-nwl.c | 13 +++---------- > > > drivers/pci/controller/pcie-xilinx.c | 9 ++++----- > > > 21 files changed, 71 insertions(+), 120 deletions(-) > > > > > > > diff --git a/drivers/pci/controller/pci-xgene-msi.c b/drivers/pci/controller/pci-xgene-msi.c > > > index 1c34c897a7e2..cf3832b905e8 100644 > > > --- a/drivers/pci/controller/pci-xgene-msi.c > > > +++ b/drivers/pci/controller/pci-xgene-msi.c > > > @@ -291,8 +291,7 @@ static void xgene_msi_isr(struct irq_desc *desc) > > > struct irq_chip *chip = irq_desc_get_chip(desc); > > > struct xgene_msi_group *msi_groups; > > > struct xgene_msi *xgene_msi; > > > - unsigned int virq; > > > - int msir_index, msir_val, hw_irq; > > > + int msir_index, msir_val, hw_irq, ret; > > > u32 intr_index, grp_select, msi_grp; > > > > > > chained_irq_enter(chip, desc); > > > @@ -330,10 +329,8 @@ static void xgene_msi_isr(struct irq_desc *desc) > > > * CPU0 > > > */ > > > hw_irq = hwirq_to_canonical_hwirq(hw_irq); > > > - virq = irq_find_mapping(xgene_msi->inner_domain, hw_irq); > > > - WARN_ON(!virq); > > > - if (virq != 0) > > > - generic_handle_irq(virq); > > > + ret = generic_handle_domain_irq(xgene_msi->inner_domain, hw_irq); > > > + WARN_ON(ret); > > > > There's various error prints in some of the handlers. I think they > > should be moved to the core. I can't imagine handling the irq is ever > > optional. > > Printing stuff like this is a sure recipe for disaster, and there is > no way I'm moving such crap into core code. Then why maintain such crap code? I'm fine with just removing. I just think we should have some consistency. > If the interrupt handling > fails (most likely because there is no mapping for this interrupt), it > is the driver's responsibility to handle the error (either disabling > the input or the output of the secondary irqchip). There isn't much > the core code can do about it. I would imagine the errors here would be the 'this should never happen' kind. Maybe a race with tearing down the domain. Seems to me the core code should be warning when the calling code has made mistakes. Rob