From patchwork Fri Apr 9 16:22:15 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kunihiko Hayashi X-Patchwork-Id: 12194433 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=-16.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,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 2B44AC433ED for ; Fri, 9 Apr 2021 16:24:30 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D272161074 for ; Fri, 9 Apr 2021 16:24:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D272161074 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=socionext.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:MIME-Version:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Message-Id:Date:Subject:Cc:To:From:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=ub+4MDRV8WQG7WSfsNNBRkpRcJhtN6fmObQgE9oCIyA=; b=HgMf2XY9tJLey+RTwCdPvKu35y X89T6+1NNTyTemvv+ek2d2YEVgLWZyLt8O2WthbnmahyPWg15XBPEPZOq0CoHWooubHs4QRepxGDK pvspb2SzEwxeHeSRm4TXbBygjd3oEU/YKvLue+F1YwJO+EibcJaYa7pUP+MpXRupC6jd6SA7oNz/U rSqq7Hy003+jqHcjFqUBhaitOt205D8O1O2gGlVfCfFL2rHGO3+JDSOBba/mZj44d+D/0+i5CDY+b 4hN5MC/Rt/lT2x/FXgosOI/VSxt5MxV10SDSuXf6tT61ajTqc+n8hMuJD0J7E99M3wzVQkkwhuwgP Frrxy/aw==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lUtu1-0015Z3-Ei; Fri, 09 Apr 2021 16:22:37 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lUttz-0015Yl-QX for linux-arm-kernel@desiato.infradead.org; Fri, 09 Apr 2021 16:22:35 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Message-Id:Date:Subject:Cc:To:From: Sender:Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding: Content-ID:Content-Description:In-Reply-To:References; bh=R2H7QgGpo4eTBNVDSDFNbPxUFrtLgVHjXN0mMGjO8Vk=; b=pA+/x1XvMHl3KhGxazTtXp5qt1 7wzAS1dKeXGSjygCiVInxmMDK/FodCKDUvx7S09Gr5SDGaUmyuECelnIkyTpttCJNG/EdmX1lw3bZ NbRpJgpKtuTYhwp7eXrbPtt9fquEK1/7tmtZafyox4ERrO65IdRXvze5NA7ZXlQc/3FTywEheHT1X Gz4GbT9hNsHwYdQ5OScQ66UThV/Tc4+/AzoRTfGyaxZ8puzR5sMrTwcjtft43TIyiP1zCksauK/Fd DoAjjTeXUha5X3bsg12VdoNowCKl7DCPXx6jfhQ8+QGgjMIGCkXZUBsC1DqczsGLgxGlV9IgNpGNP PYhWocyA==; Received: from mx.socionext.com ([202.248.49.38]) by bombadil.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lUttx-004eHU-2I for linux-arm-kernel@lists.infradead.org; Fri, 09 Apr 2021 16:22:34 +0000 Received: from unknown (HELO iyokan2-ex.css.socionext.com) ([172.31.9.54]) by mx.socionext.com with ESMTP; 10 Apr 2021 01:22:27 +0900 Received: from mail.mfilter.local (m-filter-1 [10.213.24.61]) by iyokan2-ex.css.socionext.com (Postfix) with ESMTP id 03E6B2059035; Sat, 10 Apr 2021 01:22:28 +0900 (JST) Received: from 172.31.9.51 (172.31.9.51) by m-FILTER with ESMTP; Sat, 10 Apr 2021 01:22:27 +0900 Received: from plum.e01.socionext.com (unknown [10.213.132.32]) by kinkan2.css.socionext.com (Postfix) with ESMTP id 8D282B1D40; Sat, 10 Apr 2021 01:22:27 +0900 (JST) From: Kunihiko Hayashi To: Bjorn Helgaas , Rob Herring , Lorenzo Pieralisi , Jingoo Han , Gustavo Pimentel , Marc Zyngier Cc: linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Jassi Brar , Masami Hiramatsu , Kunihiko Hayashi Subject: [PATCH v10 0/3] PCI: uniphier: Add PME/AER support for UniPhier PCIe host controller Date: Sat, 10 Apr 2021 01:22:15 +0900 Message-Id: <1617985338-19648-1-git-send-email-hayashi.kunihiko@socionext.com> X-Mailer: git-send-email 2.7.4 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210409_092233_234558_65C5F00E X-CRM114-Status: GOOD ( 13.02 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This adds a new function called by MSI handler in DesignWare PCIe framework, that invokes PME and AER funcions to detect the factor from SoC-dependent registers. Changes since v9: - Fix the description of pcie_prot_service_get_irq() Changes since v8: - Add uniphier_pcie_host_init_complete() that finds PME/AER vIRQ number after calling dw_pcie_host_init() - Add conditions to depend on CONFIG_PCIE_PME and CONFIG_PCIEAER instead of CONFIG_PCIEPORTBUS - Add Acked-by: line to portdrv patch Changes since v7: - Add Reviewed-by: line to 1st and 3rd patches Changes since v6: - Separate patches for iATU and phy error from this series - Add Reviewed-by: line to dwc patch Changes since v5: - Add pcie_port_service_get_irq() function to pcie/portdrv - Call pcie_port_service_get_irq() to get vIRQ interrupt number for PME/AER - Rebase to the latest linux-next branch, and remove devm_platform_ioremap_resource_byname() replacement patch Changes since v4: - Add Acked-by: line to dwc patch Changes since v3: - Move msi_host_isr() call into dw_handle_msi_irq() - Move uniphier_pcie_misc_isr() call into the guard of chained_irq - Use a bool argument is_msi instead of pci_msi_enabled() - Consolidate handler calls for the same interrupt - Fix typos in commit messages Changes since v2: - Avoid printing phy error message in case of EPROBE_DEFER - Fix iATU register mapping method - dt-bindings: Add Acked-by: line - Fix typos in commit messages - Use devm_platform_ioremap_resource_byname() Changes since v1: - Add check if struct resource is NULL - Fix warning in the type of dev_err() argument Kunihiko Hayashi (3): PCI: portdrv: Add pcie_port_service_get_irq() function PCI: dwc: Add msi_host_isr() callback PCI: uniphier: Add misc interrupt handler to invoke PME and AER drivers/pci/controller/dwc/pcie-designware-host.c | 3 + drivers/pci/controller/dwc/pcie-designware.h | 1 + drivers/pci/controller/dwc/pcie-uniphier.c | 101 +++++++++++++++++++--- drivers/pci/pcie/portdrv.h | 1 + drivers/pci/pcie/portdrv_core.c | 16 ++++ 5 files changed, 110 insertions(+), 12 deletions(-)