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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D1DFDC3DA62 for ; Mon, 15 Jul 2024 18:16:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Type:MIME-Version: References:In-Reply-To:Message-ID:Date:Subject:CC:To:From:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=mrYMruISrghUxd+LH+/OO+b5GKFMf/UAsE4wqzMTguo=; b=V1TktN+CXKVRFPyF71LvkhWkbe 040HwhI5jDEwykcYZD/o1pw84lh4eiq2WVVOZjz8HeEvgprt553ZF3JNwsDPd0HZQHn6SFNT3oIj5 rzWrbZa1bWqoVv501kx+Pkm26b8D8cZ6ZvLNYAUuQ6PTDKh17rAsW8glwvzfrV2xMTq2rT6YkFS/8 GIb1EsJRdSuJCCGaEWWntYnxeiABs5JA8VpzhTuZOueUmtgOfX5msWss55Kjolm7Q4QCMbvOwdHNF DIonPrCNsIUpyb7ZYfBvTJx9l1uN9eQtTpoWRhaqCj0GNEgsAA/oDZdaqxQLimmpjBKg7KU4kOZJl Pc/1SKPA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sTQEs-00000007zEu-3nLT; Mon, 15 Jul 2024 18:15:54 +0000 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sTQD7-00000007yVE-3GZq for linux-arm-kernel@lists.infradead.org; Mon, 15 Jul 2024 18:14:07 +0000 Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 46FH97g9015665; Mon, 15 Jul 2024 18:13:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h= cc:content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=qcppdkim1; bh=mrYMruISrghUxd+LH+/OO+b5 GKFMf/UAsE4wqzMTguo=; b=f5GKmpER3Hh902/gtYhxjgUDK6nWxQtFVJEOWlTO RgtzY3ovIJLb61FZY12YEiP9WauKMyDoZBANflX4ej/HC/DeyDeWtR0VC0cxAHNd iz/lUnk20Eij11rnGDOCZXt2O31DhFHE6ndEU0Mmrvgi/scHDiyUSK+RVbCAVsmW pFUG1om9jGspb169MGk0PlquiZ05PcV2xN0Z04gIM23Tp+BF/rUVOww5eXfZZxfE frOZ+ikG+jXKqZHVefjxxhxVMMEH40G1i86izQmyg3Wqo+pAYbQTB6lbvlZRdWJl 6DhTAgzb1kir/4tYp3kG+XiRuM4WZiw9bePoJox00eviAQ== Received: from nalasppmta05.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 40bhnun032-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 15 Jul 2024 18:13:54 +0000 (GMT) Received: from nalasex01a.na.qualcomm.com (nalasex01a.na.qualcomm.com [10.47.209.196]) by NALASPPMTA05.qualcomm.com (8.17.1.19/8.17.1.19) with ESMTPS id 46FIDqju001419 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 15 Jul 2024 18:13:53 GMT Received: from hu-mrana-lv.qualcomm.com (10.49.16.6) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.9; Mon, 15 Jul 2024 11:13:52 -0700 From: Mayank Rana To: , , , , , , , , , , , , , , , , , , , , , , , CC: , , , , , Mayank Rana Subject: [PATCH V2 3/7] PCI: dwc: Add pcie-designware-msi driver related Kconfig option Date: Mon, 15 Jul 2024 11:13:31 -0700 Message-ID: <1721067215-5832-4-git-send-email-quic_mrana@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1721067215-5832-1-git-send-email-quic_mrana@quicinc.com> References: <1721067215-5832-1-git-send-email-quic_mrana@quicinc.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.49.16.6] X-ClientProxiedBy: nalasex01c.na.qualcomm.com (10.47.97.35) To nalasex01a.na.qualcomm.com (10.47.209.196) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-ORIG-GUID: OQNNqHbilP3_-ic9EY_h5EF22fVMgCk2 X-Proofpoint-GUID: OQNNqHbilP3_-ic9EY_h5EF22fVMgCk2 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16 definitions=2024-07-15_12,2024-07-11_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 mlxscore=0 lowpriorityscore=0 mlxlogscore=999 suspectscore=0 phishscore=0 clxscore=1015 spamscore=0 malwarescore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2406140001 definitions=main-2407150142 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240715_111406_256113_1635D4F6 X-CRM114-Status: GOOD ( 15.08 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org PCIe designware MSI driver (pcie-designware-msi.c) shall be used without enabling pcie-designware core drivers (e.g. usage with ECAM driver). Hence add Kconfig option to enable pcie-designware-msi driver as separate module. Signed-off-by: Mayank Rana --- drivers/pci/controller/dwc/Kconfig | 8 ++++++++ drivers/pci/controller/dwc/Makefile | 3 ++- drivers/pci/controller/dwc/pcie-designware-msi.h | 14 ++++++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/drivers/pci/controller/dwc/Kconfig b/drivers/pci/controller/dwc/Kconfig index 8afacc9..a4c8920 100644 --- a/drivers/pci/controller/dwc/Kconfig +++ b/drivers/pci/controller/dwc/Kconfig @@ -6,8 +6,16 @@ menu "DesignWare-based PCIe controllers" config PCIE_DW bool +config PCIE_DW_MSI + bool "DWC PCIe based MSI controller" + depends on PCI_MSI + help + Say Y here to enable DWC PCIe based MSI controller to support + MSI functionality. + config PCIE_DW_HOST bool + select PCIE_DW_MSI select PCIE_DW config PCIE_DW_EP diff --git a/drivers/pci/controller/dwc/Makefile b/drivers/pci/controller/dwc/Makefile index 2ecc603..9e8e4515 100644 --- a/drivers/pci/controller/dwc/Makefile +++ b/drivers/pci/controller/dwc/Makefile @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_PCIE_DW) += pcie-designware.o -obj-$(CONFIG_PCIE_DW_HOST) += pcie-designware-host.o pcie-designware-msi.o +obj-$(CONFIG_PCIE_DW_MSI) += pcie-designware-msi.o +obj-$(CONFIG_PCIE_DW_HOST) += pcie-designware-host.o obj-$(CONFIG_PCIE_DW_EP) += pcie-designware-ep.o obj-$(CONFIG_PCIE_DW_PLAT) += pcie-designware-plat.o obj-$(CONFIG_PCIE_BT1) += pcie-bt1.o diff --git a/drivers/pci/controller/dwc/pcie-designware-msi.h b/drivers/pci/controller/dwc/pcie-designware-msi.h index cf5c612..2872775f 100644 --- a/drivers/pci/controller/dwc/pcie-designware-msi.h +++ b/drivers/pci/controller/dwc/pcie-designware-msi.h @@ -40,10 +40,24 @@ struct dw_msi { void *private_data; }; +#if IS_ENABLED(CONFIG_PCIE_DW_MSI) struct dw_msi *dw_pcie_msi_host_init(struct platform_device *pdev, struct dw_msi_ops *ops, u32 num_vectors); int dw_pcie_allocate_domains(struct dw_msi *msi); void dw_pcie_msi_init(struct dw_msi *msi); void dw_pcie_free_msi(struct dw_msi *msi); irqreturn_t dw_handle_msi_irq(struct dw_msi *msi); +#else +static inline struct dw_msi *dw_pcie_msi_host_init(struct platform_device *pdev, + struct dw_msi_ops *ops, u32 num_vectors) +{ return ERR_PTR(-ENODEV); } +static inline int dw_pcie_allocate_domains(struct dw_msi *msi) +{ return -ENODEV; } +static inline void dw_pcie_msi_init(struct dw_msi *msi) +{ } +static inline void dw_pcie_free_msi(struct dw_msi *msi) +{ } +static inline irqreturn_t dw_handle_msi_irq(struct dw_msi *msi) +{ return IRQ_NONE; } +#endif #endif /* _PCIE_DESIGNWARE_MSI_H */ -- 2.7.4