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 X-Spam-Level: X-Spam-Status: No, score=-10.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E36E8C433DF for ; Tue, 23 Jun 2020 20:28:33 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id B1A11206EB for ; Tue, 23 Jun 2020 20:28:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1592944113; bh=677AxBPT09hWc7b3KKwq6Phe/nxySrd7VCuYixV9WB8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=MAWlHbdne1KUM9Ok4BM9XPbaLU/jcrUozvelTkzb2j778GGMJ8ey2nUiJu5quwr61 tof6z9YUXNYFKJpb3NxdjL7V9EEAOcgreOfNVSAqhl/YK0E6VRDUJV1dm0TIbIEWJq 3K48luhjlJjBG2a2KtCPhm5TFRe0o3fDtgj4Qxq4= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390876AbgFWU2a (ORCPT ); Tue, 23 Jun 2020 16:28:30 -0400 Received: from mail.kernel.org ([198.145.29.99]:48012 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390853AbgFWU2P (ORCPT ); Tue, 23 Jun 2020 16:28:15 -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 ABAEE206C3; Tue, 23 Jun 2020 20:28:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1592944095; bh=677AxBPT09hWc7b3KKwq6Phe/nxySrd7VCuYixV9WB8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=a6HeJRP8hDzG7nVDeZMN8S+FniHp9a4JqM/F9GwhhCSe1Ipeydq6uyxu17Hk5oEGZ 7bNjleE4tpbKHTOTo0Zp4Lr7X8dXnPb2r1rXjBN9Pz/3bJxAsmlzO+ojHqprrkA6DU RhkVhMnNOkejxo9HYBdgXyW3TA8nDGQbfHB/z1BE= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Marc Zyngier , Lorenzo Pieralisi , Jingoo Han , Sasha Levin Subject: [PATCH 5.4 171/314] PCI: dwc: Fix inner MSI IRQ domain registration Date: Tue, 23 Jun 2020 21:56:06 +0200 Message-Id: <20200623195347.040122688@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200623195338.770401005@linuxfoundation.org> References: <20200623195338.770401005@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: Marc Zyngier [ Upstream commit 0414b93e78d87ecc24ae1a7e61fe97deb29fa2f4 ] On a system that uses the internal DWC MSI widget, I get this warning from debugfs when CONFIG_GENERIC_IRQ_DEBUGFS is selected: debugfs: File ':soc:pcie@fc000000' in directory 'domains' already present! This is due to the fact that the DWC MSI code tries to register two IRQ domains for the same firmware node, without telling the low level code how to distinguish them (by setting a bus token). This further confuses debugfs which tries to create corresponding files for each domain. Fix it by tagging the inner domain as DOMAIN_BUS_NEXUS, which is the closest thing we have as to "generic MSI". Link: https://lore.kernel.org/r/20200501113921.366597-1-maz@kernel.org Signed-off-by: Marc Zyngier Signed-off-by: Lorenzo Pieralisi Acked-by: Jingoo Han Signed-off-by: Sasha Levin --- drivers/pci/controller/dwc/pcie-designware-host.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c index 8615f1548882a..fbcb211cceb43 100644 --- a/drivers/pci/controller/dwc/pcie-designware-host.c +++ b/drivers/pci/controller/dwc/pcie-designware-host.c @@ -263,6 +263,8 @@ int dw_pcie_allocate_domains(struct pcie_port *pp) return -ENOMEM; } + irq_domain_update_bus_token(pp->irq_domain, DOMAIN_BUS_NEXUS); + pp->msi_domain = pci_msi_create_irq_domain(fwnode, &dw_pcie_msi_domain_info, pp->irq_domain); -- 2.25.1