Received: by 2002:a05:7412:b10a:b0:f3:1519:9f41 with SMTP id az10csp319396rdb; Thu, 30 Nov 2023 05:52:07 -0800 (PST) X-Google-Smtp-Source: AGHT+IEvdQ2yrN0B0H7G1rdAIT5S9N0VF3XxKdS9CC3b4Bclhjq6Q8V9La5/bhiSQyajldaI2QDC X-Received: by 2002:a05:6830:1e16:b0:6d6:4e53:c81a with SMTP id s22-20020a0568301e1600b006d64e53c81amr25495032otr.29.1701352327030; Thu, 30 Nov 2023 05:52:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701352326; cv=none; d=google.com; s=arc-20160816; b=pqWqFonATLrw5zbZgOWAALGH1ohBsTfZoNR7NKwAGvvpUHM4+ivGGwrlV0L/ZTeSCu h4By1Z5m6wGKTGOSXV2agYBMsOzg8uBkvlmq5M/vxSq6p6U8PcR7WLw1oZHn4b4HHR5z 39I2jnHia8s52YekG7ko23R8b3qIiXcXgSgII4Qa8Lo+gjeNn1c12Ah62B3FuSsu4+WK Q6uEmw/lR5rhg0Xv3H70bsv8TYP4FoYvSa+7D0cQ+USoBvSWUl+u5BmKPS4tzl6NT3bw iRlsOVKggK6FPJsa+gqn7rBGxRZcZRrqG8pTz17HorI3ydtZKUKhm2I5u/U0OW3PUjQy wMug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:dlp-filter:cms-type:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature:dkim-filter; bh=aP3ywc1rVK9Ng/6mlWNX7XCg5UIfUgmB09BoZ6JOK7s=; fh=lfAA1d+oAQdqJfpKYHiciCj4TZsJOfTYjH3wzsU3Yt8=; b=Y0GX2DvSalAzVnhJqIsO0eDb0RrF8SxBrXn4txthGZU1Yh3EcBTKdExFOXo0MDOzw5 XAnlE/XJLEb8qtHP69/jhuzpu+QXCkU/cNaHJMkOW516d6L1vVxyOMA+PgebUGA4oBdR YH5dnGq/L1oocjStovLY6TUQrQGrfif5QNtnDuDKFLeUkeBLm59yzsbGr0chLArp4Ghs fzB2cMueUZatRUFzXUqpH/o1NTGMHJuWggPH2pRCNmBphuDApXWGVU1qy4mOHFbx7y4+ DOHXYA+deW6yEhu+Md+GHlHDZ36tyU+vl/B9DAe6a4YFV02pmgpAg8Jab2o2QJk1mlG+ PwkQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b="GC9o/zEq"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Return-Path: Received: from morse.vger.email (morse.vger.email. [23.128.96.31]) by mx.google.com with ESMTPS id 5-20020a630005000000b005bd66bfc256si1368160pga.869.2023.11.30.05.52.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 05:52:06 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) client-ip=23.128.96.31; Authentication-Results: mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b="GC9o/zEq"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id E2808809C435; Thu, 30 Nov 2023 05:52:02 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345581AbjK3Nvs (ORCPT + 99 others); Thu, 30 Nov 2023 08:51:48 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53148 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345699AbjK3Nvq (ORCPT ); Thu, 30 Nov 2023 08:51:46 -0500 Received: from mailout2.samsung.com (mailout2.samsung.com [203.254.224.25]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6CC5810F1 for ; Thu, 30 Nov 2023 05:51:52 -0800 (PST) Received: from epcas5p2.samsung.com (unknown [182.195.41.40]) by mailout2.samsung.com (KnoxPortal) with ESMTP id 20231130135150epoutp02b9ca86d2bdb1d5e94d683e9edfc14476~caumlsihE1306313063epoutp027 for ; Thu, 30 Nov 2023 13:51:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.samsung.com 20231130135150epoutp02b9ca86d2bdb1d5e94d683e9edfc14476~caumlsihE1306313063epoutp027 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1701352311; bh=aP3ywc1rVK9Ng/6mlWNX7XCg5UIfUgmB09BoZ6JOK7s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GC9o/zEqCXght619eFKKoeXO5ZOiy74xsL8yY1yd4ZptGs8hP+lQw1dYwuJObTefX LKjEaqBIHuIXfD8XuKXa0IL66/MBrjOsmgiLAgJHgG/0biybTk9nmb/pMtyxQQafFL apIotmD5r9TQeHamce+OQRM3R3EsmJ+xEeLoVQPM= Received: from epsnrtp3.localdomain (unknown [182.195.42.164]) by epcas5p1.samsung.com (KnoxPortal) with ESMTP id 20231130135150epcas5p14470ec61f9e8ab83449f30823863d641~caulsLVX51942519425epcas5p1E; Thu, 30 Nov 2023 13:51:50 +0000 (GMT) Received: from epsmges5p2new.samsung.com (unknown [182.195.38.179]) by epsnrtp3.localdomain (Postfix) with ESMTP id 4SgyKc2F5Vz4x9Pr; Thu, 30 Nov 2023 13:51:48 +0000 (GMT) Received: from epcas5p3.samsung.com ( [182.195.41.41]) by epsmges5p2new.samsung.com (Symantec Messaging Gateway) with SMTP id 5F.F6.10009.47398656; Thu, 30 Nov 2023 22:51:48 +0900 (KST) Received: from epsmtrp2.samsung.com (unknown [182.195.40.14]) by epcas5p1.samsung.com (KnoxPortal) with ESMTPA id 20231130115103epcas5p19a56bf80e3c7cb062dba9e60d7363039~cZFJKsTQa3047730477epcas5p1t; Thu, 30 Nov 2023 11:51:03 +0000 (GMT) Received: from epsmgms1p1new.samsung.com (unknown [182.195.42.41]) by epsmtrp2.samsung.com (KnoxPortal) with ESMTP id 20231130115103epsmtrp280fad264f85e09862a67fa59f2715f6b~cZFJJ17vo1512515125epsmtrp2s; Thu, 30 Nov 2023 11:51:03 +0000 (GMT) X-AuditID: b6c32a4a-261fd70000002719-40-656893742661 Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 79.A6.08755.72778656; Thu, 30 Nov 2023 20:51:03 +0900 (KST) Received: from cheetah.sa.corp.samsungelectronics.net (unknown [107.109.115.53]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20231130115101epsmtip1a2fd41eec6508250484bdcbf17ed971a~cZFHOOs4e1251512515epsmtip1U; Thu, 30 Nov 2023 11:51:01 +0000 (GMT) From: Shradha Todi To: manivannan.sadhasivam@linaro.org, lpieralisi@kernel.org, kw@linux.com, robh@kernel.org, bhelgaas@google.com, jingoohan1@gmail.com, gustavo.pimentel@synopsys.com, josh@joshtriplett.org, lukas.bulwahn@gmail.com, hongxing.zhu@nxp.com, pankaj.dubey@samsung.com Cc: linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, Shradha Todi Subject: [PATCH v2 1/3] PCI: dwc: Add support for vendor specific capability search Date: Thu, 30 Nov 2023 17:20:42 +0530 Message-Id: <20231130115044.53512-2-shradha.t@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20231130115044.53512-1-shradha.t@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprBJsWRmVeSWpSXmKPExsWy7bCmpm7J5IxUg6Ob+CyWNGVY7LrbwW4x a9tcRosVX2ayW/xfkG/R0POb1eLyrjlsFmfnHWezaPnTwmLRcrSdxeJuSyerxaKtX4DK9uxg t+g9XOvA57Fz1l12jwWbSj1uvbb12LSqk83jzrU9bB5Prkxn8tj4bgeTR9+WVYweW/Z/ZvT4 vEkugCsq2yYjNTEltUghNS85PyUzL91WyTs43jne1MzAUNfQ0sJcSSEvMTfVVsnFJ0DXLTMH 6HolhbLEnFKgUEBicbGSvp1NUX5pSapCRn5xia1SakFKToFJgV5xYm5xaV66Xl5qiZWhgYGR KVBhQnbGtSkTmAve8FVcX3GDrYHxFU8XIweHhICJxJ/X8V2MXBxCArsZJXY938IO4XxilPiz fyMThPMNyPn3kLWLkROs49rCHawQib2MEmc+fIJqaWWSeDBjFjNIFZuAlkTj1y5mkISIQBeT xKMVJ9lBEswCyRLz+u8wgdjCAqESbQuugNksAqoSi7ofgNm8AlYSK/f9hlonL7F6wwGwoZwC 1hLPVl1hBBkqITCVQ2Jl8102iCIXicfPW1kgbGGJV8e3sEPYUhKf3+2FqkmXWLl5BjOEnSPx bfMSJgjbXuLAlTksoNBgFtCUWL9LHyIsKzH11DomiJv5JHp/P4Eq55XYMQ/GVpb48ncP1FpJ iXnHLkPd7CHx5dIzaNj1MUocen+XeQKj3CyEFQsYGVcxSqYWFOempxabFhjlpZbDoy05P3cT IziJanntYHz44IPeIUYmDsZDjBIczEoivNefpqcK8aYkVlalFuXHF5XmpBYfYjQFBuBEZinR 5HxgGs8riTc0sTQwMTMzM7E0NjNUEud93To3RUggPbEkNTs1tSC1CKaPiYNTqoEpzslu02rV KYacJz+8m8o+u/bqvYy8NKu3C7clM2zZeXzntheNF332cy5/5H7xjRL3KdOy9XMOnqyMbKjs 37LKdo7cBRYV28mSep3OxlenFH+J/H81deJTQZfauxNZNdWUl+X/evGpT72ba1t1ubll2NEr 1+R1PkRKPQ0JuiDXlyMvyDNn36o3h5yXCBo1FXz/dinsYNNDrUkObGZfLYX2ly6ZX3mZ+9HU G497HLx2WIRlXFVZ993hHpuY2RPO7acFOJ5yXqr2XMy9b5/M3hvf58QJ35j0UvzD4pkfGNZN 1dLeeMNAxbl2OrfUwTy2O6teqLNYcdvcvOOe+EWbx1NsomZF5+Sz4ZlrkjXWm6TqKrEUZyQa ajEXFScCAPOmaHMrBAAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrHLMWRmVeSWpSXmKPExsWy7bCSnK56eUaqwdb1uhZLmjIsdt3tYLeY tW0uo8WKLzPZLf4vyLdo6PnNanF51xw2i7PzjrNZtPxpYbFoOdrOYnG3pZPVYtHWL0Ble3aw W/QernXg89g56y67x4JNpR63Xtt6bFrVyeZx59oeNo8nV6YzeWx8t4PJo2/LKkaPLfs/M3p8 3iQXwBXFZZOSmpNZllqkb5fAlXFtygTmgjd8FddX3GBrYHzF08XIySEhYCJxbeEOVhBbSGA3 o0TjczaIuKTE54vrmCBsYYmV/56zdzFyAdU0M0kcPXeTBSTBJqAl0fi1ixkkISIwg0mipfs+ WIJZIFXi9uE5YJOEBYIldnddZASxWQRUJRZ1PwCbyitgJbFy329WiA3yEqs3HGAGsTkFrCWe rbrCCHGRlcSiXz+YJzDyLWBkWMUomVpQnJueW2xYYJiXWq5XnJhbXJqXrpecn7uJERzkWpo7 GLev+qB3iJGJg/EQowQHs5II7/Wn6alCvCmJlVWpRfnxRaU5qcWHGKU5WJTEecVf9KYICaQn lqRmp6YWpBbBZJk4OKUamExu5+59F6d83XNBwTe5zscvH19unht7P+eof5Y6Q/CyNNWN2gFR da9+8O6r+yx5+1WWO0f8A2XFo12VZkIn4jfWfA+c9ajdPYX3I1slv4//G+t4s0MHvp63MLDa 8tbJYqtf+rc/Wh+PZ3x7t+tNi+P0jvO7lzdNDlR9VMyu6cfoaXY1O6rlNrvFKZ255gcFHt2t dzkn+VjjZfyu/1OvP9odvel6DAPDs4Rlyn0JPyXEE6dmv5ge0R2rKKr4LeHUabOlB12m9R+O 9TxXt23O1dTS4AyfL9yFm83NhOTWcm1MV2AX2nq7Opdvq99V3/5Es92rJd+x7c9uuv1E3/5s eYRbbcSrmK61TqqV1y9nKrEUZyQaajEXFScCAEY3aIzhAgAA X-CMS-MailID: 20231130115103epcas5p19a56bf80e3c7cb062dba9e60d7363039 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20231130115103epcas5p19a56bf80e3c7cb062dba9e60d7363039 References: <20231130115044.53512-1-shradha.t@samsung.com> X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Thu, 30 Nov 2023 05:52:03 -0800 (PST) Add vendor specific extended configuration space capability search API using struct dw_pcie pointer for DW controllers. Signed-off-by: Shradha Todi --- drivers/pci/controller/dwc/pcie-designware.c | 16 ++++++++++++++++ drivers/pci/controller/dwc/pcie-designware.h | 1 + 2 files changed, 17 insertions(+) diff --git a/drivers/pci/controller/dwc/pcie-designware.c b/drivers/pci/controller/dwc/pcie-designware.c index 1c1c7348972b..064b4951afd8 100644 --- a/drivers/pci/controller/dwc/pcie-designware.c +++ b/drivers/pci/controller/dwc/pcie-designware.c @@ -275,6 +275,22 @@ static u16 dw_pcie_find_next_ext_capability(struct dw_pcie *pci, u16 start, return 0; } +u16 dw_pcie_find_vsec_capability(struct dw_pcie *pci, u8 vsec_cap) +{ + u16 vsec = 0; + u32 header; + + while ((vsec = dw_pcie_find_next_ext_capability(pci, vsec, + PCI_EXT_CAP_ID_VNDR))) { + header = dw_pcie_readl_dbi(pci, vsec + PCI_VNDR_HEADER); + if (PCI_VNDR_HEADER_ID(header) == vsec_cap) + return vsec; + } + + return 0; +} +EXPORT_SYMBOL_GPL(dw_pcie_find_vsec_capability); + u16 dw_pcie_find_ext_capability(struct dw_pcie *pci, u8 cap) { return dw_pcie_find_next_ext_capability(pci, 0, cap); diff --git a/drivers/pci/controller/dwc/pcie-designware.h b/drivers/pci/controller/dwc/pcie-designware.h index ef0b2efa9f93..b7ea1db14f6a 100644 --- a/drivers/pci/controller/dwc/pcie-designware.h +++ b/drivers/pci/controller/dwc/pcie-designware.h @@ -419,6 +419,7 @@ void dw_pcie_version_detect(struct dw_pcie *pci); u8 dw_pcie_find_capability(struct dw_pcie *pci, u8 cap); u16 dw_pcie_find_ext_capability(struct dw_pcie *pci, u8 cap); +u16 dw_pcie_find_vsec_capability(struct dw_pcie *pci, u8 vsec_cap); int dw_pcie_read(void __iomem *addr, int size, u32 *val); int dw_pcie_write(void __iomem *addr, int size, u32 val); -- 2.17.1