From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4EE89C04A95 for ; Wed, 28 Sep 2022 14:50:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234576AbiI1Oum (ORCPT ); Wed, 28 Sep 2022 10:50:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44186 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234559AbiI1OuL (ORCPT ); Wed, 28 Sep 2022 10:50:11 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AD00B979E9 for ; Wed, 28 Sep 2022 07:50:04 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 02EBBB820EE for ; Wed, 28 Sep 2022 14:50:03 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B2BDCC433D7; Wed, 28 Sep 2022 14:50:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1664376601; bh=1ApNXRAYpYsFNwE2ZXPPNcYpR2EmXWDzlK6PWb6HTxo=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=MEpBajuCUYk2zsQpE/PI6T8zCVUUahQ5yStyIEuRdaHkEpSP65qo0LH4cemxhsUg+ zumrHPRqV+b6TIkNU0E5NfGR7THJdGICdwUk2Pih1cG0P9NH9v76csl04dMLcFUbDo bsWdUvgf3uj3kByiabdLNtA5OPzeod698Tlo7BdC5696AbY+UA4alBs16So3qSGXTV H5d6Dz8SNnNthhafUHJrxya/pIECWEDYrXGaCURaem23zKkcC+fM1KiKq95xu3+K1D Isy2DkJabfOtg7gs4JHVBf9oqpl/HUWg2rGjs1nqxrwtU+sE7uhym7CV7ZRCbUtHvJ DudNevhM9df6A== Received: from sofa.misterjones.org ([185.219.108.64] helo=goblin-girl.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1odYNr-00DJCa-8U; Wed, 28 Sep 2022 15:49:59 +0100 Date: Wed, 28 Sep 2022 10:49:59 -0400 Message-ID: <86leq37duw.wl-maz@kernel.org> From: Marc Zyngier To: Jianmin Lv Cc: Thomas Gleixner , linux-kernel@vger.kernel.org, loongarch@lists.linux.dev, Jiaxun Yang , Huacai Chen Subject: Re: [PATCH V1 1/2] irqchip/loongson-pch-pic: Support to set irq type for ACPI path In-Reply-To: <1660615291-35409-2-git-send-email-lvjianmin@loongson.cn> References: <1660615291-35409-1-git-send-email-lvjianmin@loongson.cn> <1660615291-35409-2-git-send-email-lvjianmin@loongson.cn> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: lvjianmin@loongson.cn, tglx@linutronix.de, linux-kernel@vger.kernel.org, loongarch@lists.linux.dev, jiaxun.yang@flygoat.com, chenhuacai@loongson.cn X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 15 Aug 2022 22:01:30 -0400, Jianmin Lv wrote: > > For ACPI path, the translate callback used IRQ_TYPE_NONE and ignored > the irq type in fwspec->param[1]. For supporting to set type for > irqs of the irqdomain, fwspec->param[1] should be used to get irq > type. > > On Loongson platform, the irq trigger type of PCI devices is > high level, so high level triggered type is inputed to acpi_register_gsi > when create irq mapping for PCI devices. > > Signed-off-by: Jianmin Lv > --- > drivers/acpi/pci_irq.c | 3 ++- > drivers/irqchip/irq-loongson-pch-pic.c | 10 ++++++---- > 2 files changed, 8 insertions(+), 5 deletions(-) $ ./scripts/get_maintainer.pl drivers/acpi/pci_irq.c Bjorn Helgaas (supporter:PCI SUBSYSTEM) "Rafael J. Wysocki" (supporter:ACPI) Len Brown (reviewer:ACPI) linux-pci@vger.kernel.org (open list:PCI SUBSYSTEM) linux-acpi@vger.kernel.org (open list:ACPI) linux-kernel@vger.kernel.org (open list) How about you start Cc-ing some of the relevant people? > > diff --git a/drivers/acpi/pci_irq.c b/drivers/acpi/pci_irq.c > index 08e1577..34483b3 100644 > --- a/drivers/acpi/pci_irq.c > +++ b/drivers/acpi/pci_irq.c > @@ -393,7 +393,8 @@ int acpi_pci_irq_enable(struct pci_dev *dev) > * controller and must therefore be considered active high > * as default. > */ > - int polarity = acpi_irq_model == ACPI_IRQ_MODEL_GIC ? > + int polarity = acpi_irq_model == ACPI_IRQ_MODEL_GIC || > + acpi_irq_model == ACPI_IRQ_MODEL_LPIC ? > ACPI_ACTIVE_HIGH : ACPI_ACTIVE_LOW; The comment just above this only talks about ARM. Should it be updated? Is this a limitation of the underlying interrupt controller? > char *link = NULL; > char link_desc[16]; > diff --git a/drivers/irqchip/irq-loongson-pch-pic.c b/drivers/irqchip/irq-loongson-pch-pic.c > index b6f1392..5067010 100644 > --- a/drivers/irqchip/irq-loongson-pch-pic.c > +++ b/drivers/irqchip/irq-loongson-pch-pic.c > @@ -177,13 +177,15 @@ static int pch_pic_domain_translate(struct irq_domain *d, > if (fwspec->param_count < 1) > return -EINVAL; > > - if (of_node) { > + if (of_node) > *hwirq = fwspec->param[0] + priv->ht_vec_base; > - *type = fwspec->param[1] & IRQ_TYPE_SENSE_MASK; > - } else { > + else > *hwirq = fwspec->param[0] - priv->gsi_base; > + > + if (fwspec->param_count > 1) > + *type = fwspec->param[1] & IRQ_TYPE_SENSE_MASK; > + else > *type = IRQ_TYPE_NONE; Isn't that a change in behaviour if of_node is non-NULL and param_count==1? > - } > > return 0; > } This irqchip change should probably be a separate patch. M. -- Without deviation from the norm, progress is not possible.