From patchwork Wed Sep 27 15:46:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Manivannan Sadhasivam X-Patchwork-Id: 145556 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:cae8:0:b0:403:3b70:6f57 with SMTP id r8csp2854437vqu; Wed, 27 Sep 2023 12:30:21 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH3bQCMikJ2NuwmX/WYKjuO67Q3R+fvdDSWrt5jwSFZomr7MnJTITcfmNO3hoGMJ6Ov/nFE X-Received: by 2002:a17:90a:8584:b0:274:922d:4b35 with SMTP id m4-20020a17090a858400b00274922d4b35mr2490856pjn.1.1695843021176; Wed, 27 Sep 2023 12:30:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695843021; cv=none; d=google.com; s=arc-20160816; b=vJfAgTxCNOGPBzUDL4bElt8Q5zgFnAZi1g9R+bIRx3sBTlEYiLlryDMW2yfXnnGC9l Z3qjURRn474kiMuRdR9yw83P63sSPAIqFT/0wUQ9YvBzOheuul3Ki3XUdyMi4k54Z8qw FBd/BGmWglBCnzqGheteYpe5aE+ZlAbp8MEtGUiHWHmcEmhmIVIZTC1Rr2lxABV8XZs1 GnF+eusy0rG6MezWf3d9geNh83ztdd/oleXESY/I6TSASeDrmibsx+2mhMJn3VSJknc/ jZzEJBUfQr9GaKVx2v1I/oc31S1XF17x4tVWJUMXi30cbPhQ4OxzTbiFBodXDBmkCY55 rbUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=AnVyIhUQftvj++Ho5Yy6rcq1eYnc1pWWiufohODrEFE=; fh=AGN/tYtQjW7mdZ75nxqNDap8wtPE9BlC41CQHrUz6ag=; b=Jb2mhntE0mpsgO0UlwlPPtN2EHipo3BWCeoWo9VILibDSG18O4WAuV7YtWkWY6Qb7Y BgGIc03GyvE6gOab0EQRIKOewPYVClUNg5d0yY0Lh5nZW3C32qJMEV+dVi3QZ6scqhwT X/ZJgvz0Bffd6MXa7juoE8Sm8uHhRNzh18geYuvLHEnTZucTL63Mz2r43fn9reK7a1+k CDrcuzp9S0+1G+G4X+DPf6hSRaC7EcKdAhX/WJtJOBWvzss7TihU1lgdn9uE5iOyi5m3 mxIyayPMCMCgzhQxYzLPu5ZooU+lYUSSFATlVD/yoEqoFugjOn/3R3VsJATIhxq2r5Jg yT/Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=yMMij82n; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id ob16-20020a17090b391000b0026800178358si11675623pjb.144.2023.09.27.12.30.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Sep 2023 12:30:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=yMMij82n; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id B35DE808A8DE; Wed, 27 Sep 2023 08:46:27 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232482AbjI0PqK (ORCPT + 19 others); Wed, 27 Sep 2023 11:46:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48748 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231849AbjI0PqJ (ORCPT ); Wed, 27 Sep 2023 11:46:09 -0400 Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E46BF272AC for ; Wed, 27 Sep 2023 08:46:06 -0700 (PDT) Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-3231df68584so7429559f8f.1 for ; Wed, 27 Sep 2023 08:46:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1695829565; x=1696434365; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=AnVyIhUQftvj++Ho5Yy6rcq1eYnc1pWWiufohODrEFE=; b=yMMij82nkhn4Th830NPLjXLNPcSSoWWVBozahIduJCUCr97mo97OVUDEnaUSIqHIn8 mB2+bKQFfdICXcxkcifGdTUhUFG0s7cTcx2viflW6pMBn2s01RlHhAGUyz8aYaQMdrXk Dwp3G9SRV+fm2cvq4NPT7yYTJaDodrhOfSBlbG95/og1E4w1Jjd48WhTGKQtgtbJ4lDF IWtElAfog+Wbm6L5MXKfCew5VKxWgJFJjm536l7oYh8Z0psCzMqJNVPCf4kcxmd/g0Q2 w55c+P+jV1i/xJOWuplzClh91O7xjX8qGtI8Fe6ugc5aFbIPicSPFQKdbU8Ja6n8+k9O T86w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695829565; x=1696434365; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=AnVyIhUQftvj++Ho5Yy6rcq1eYnc1pWWiufohODrEFE=; b=tRhRl6IslrMgxZIR6MDqzjR7oTzNcqjY+UnwM5GoactHK+ujTfJPJsWQpVoJxjptRb jxjM1lRbtRaVkYwKrxexfa8PVqkhtQ5Netf6XfiihYtzsBFwVNrJG/KyyMGR7tSFlO/T ngtsEZ+rssxLLKbPEV9YNIMag6EvgS6qK7VXESHVVxFlbH7VrJaYJ3uDvDUiZTJucs1c bK6X3dY7Y5bVp2Atd2DM7wHxN3ZVirwV4a5II1/h/yT2Rbuz4r94tAy1+ZchcXQxEvwU aLPuLH24QTOcNASbtw2indabchU+N0tJysyHYj+Uypn8a0FvHICB2CutzfkfBpcjHheM WPqw== X-Gm-Message-State: AOJu0Yz9uldOMr2Uiop0HNfe6fHMxPwgDup+uiZEKxtUyKwOgT2mg6J+ qzZ0QeTun/ydx6evXpNZIkrW X-Received: by 2002:a05:6000:4cd:b0:321:4df5:b85e with SMTP id h13-20020a05600004cd00b003214df5b85emr2167996wri.26.1695829565184; Wed, 27 Sep 2023 08:46:05 -0700 (PDT) Received: from thinkpad.fritz.box ([2a02:2454:9d09:3f00:b024:394e:56d7:d8b4]) by smtp.gmail.com with ESMTPSA id s28-20020adfa29c000000b003232f167df5sm6925852wra.108.2023.09.27.08.46.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Sep 2023 08:46:04 -0700 (PDT) From: Manivannan Sadhasivam To: lpieralisi@kernel.org, kw@linux.com Cc: andersson@kernel.org, konrad.dybcio@linaro.org, bhelgaas@google.com, linux-arm-msm@vger.kernel.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, abel.vesa@linaro.org, Manivannan Sadhasivam Subject: [PATCH v3 1/3] PCI: qcom: Make use of PCIE_SPEED2MBS_ENC() macro for encoding link speed Date: Wed, 27 Sep 2023 17:46:01 +0200 Message-Id: <20230927154603.172049-1-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.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 (agentk.vger.email [0.0.0.0]); Wed, 27 Sep 2023 08:46:27 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778220291795548934 X-GMAIL-MSGID: 1778220291795548934 Instead of hardcoding the link speed in MBps, let's make use of the existing PCIE_SPEED2MBS_ENC() macro that does the encoding of the link speed for us. Also, let's Wrap it with QCOM_PCIE_LINK_SPEED_TO_BW() macro to do the conversion to ICC speed. This eliminates the need for a switch case in qcom_pcie_icc_update() and also works for future Gen speeds without any code modifications. Suggested-by: Bjorn Helgaas Signed-off-by: Manivannan Sadhasivam --- Changes in v3: - Used Mbps_to_icc() macro and changed the commit message a bit Changes in v2: - Switched to QCOM_PCIE_LINK_SPEED_TO_BW() macro as per Bjorn's suggestion https://lore.kernel.org/linux-pci/20230924160713.217086-1-manivannan.sadhasivam@linaro.org/ drivers/pci/controller/dwc/pcie-qcom.c | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c index e2f29404c84e..367acb419a2b 100644 --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c @@ -148,6 +148,9 @@ #define QCOM_PCIE_CRC8_POLYNOMIAL (BIT(2) | BIT(1) | BIT(0)) +#define QCOM_PCIE_LINK_SPEED_TO_BW(speed) \ + Mbps_to_icc(PCIE_SPEED2MBS_ENC(pcie_link_speed[speed])) + #define QCOM_PCIE_1_0_0_MAX_CLOCKS 4 struct qcom_pcie_resources_1_0_0 { struct clk_bulk_data clks[QCOM_PCIE_1_0_0_MAX_CLOCKS]; @@ -1347,7 +1350,7 @@ static int qcom_pcie_icc_init(struct qcom_pcie *pcie) * Set an initial peak bandwidth corresponding to single-lane Gen 1 * for the pcie-mem path. */ - ret = icc_set_bw(pcie->icc_mem, 0, MBps_to_icc(250)); + ret = icc_set_bw(pcie->icc_mem, 0, QCOM_PCIE_LINK_SPEED_TO_BW(1)); if (ret) { dev_err(pci->dev, "failed to set interconnect bandwidth: %d\n", ret); @@ -1360,7 +1363,7 @@ static int qcom_pcie_icc_init(struct qcom_pcie *pcie) static void qcom_pcie_icc_update(struct qcom_pcie *pcie) { struct dw_pcie *pci = pcie->pci; - u32 offset, status, bw; + u32 offset, status; int speed, width; int ret; @@ -1377,22 +1380,7 @@ static void qcom_pcie_icc_update(struct qcom_pcie *pcie) speed = FIELD_GET(PCI_EXP_LNKSTA_CLS, status); width = FIELD_GET(PCI_EXP_LNKSTA_NLW, status); - switch (speed) { - case 1: - bw = MBps_to_icc(250); - break; - case 2: - bw = MBps_to_icc(500); - break; - default: - WARN_ON_ONCE(1); - fallthrough; - case 3: - bw = MBps_to_icc(985); - break; - } - - ret = icc_set_bw(pcie->icc_mem, 0, width * bw); + ret = icc_set_bw(pcie->icc_mem, 0, width * QCOM_PCIE_LINK_SPEED_TO_BW(speed)); if (ret) { dev_err(pci->dev, "failed to set interconnect bandwidth: %d\n", ret); From patchwork Wed Sep 27 15:46:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Manivannan Sadhasivam X-Patchwork-Id: 145534 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:cae8:0:b0:403:3b70:6f57 with SMTP id r8csp2829960vqu; Wed, 27 Sep 2023 11:48:29 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEqXjdAi5w+6bJJVRg6oowwsCQ0QfmUFUbHwlgIKiU1nhH5nTW40hgUPncjgiry+XGLMNZW X-Received: by 2002:a05:6a20:100d:b0:152:6b63:f1e5 with SMTP id gs13-20020a056a20100d00b001526b63f1e5mr2538296pzc.38.1695840509060; Wed, 27 Sep 2023 11:48:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695840509; cv=none; d=google.com; s=arc-20160816; b=IVhFqy/choMllPHfyS+0QxS/VHTYNDnNqCUrfwyFZ6VsiKhFmGKAvpsub+bdZDUp9B bNt2kx+Zpbh800PJb+zbFomp6pLBdMtBJEc5STcJJggOAv3lOusWCf8rLC83/bh1CXpP smoGP/9KhOlzfTUeZ0HpEelJmkg+b2bhpcdLOy1+mXMj6My/rI2n3fSQNQApsbQmHPL6 pzHAydxI4GPPDOz0mX2AkEDy2HaPzdCh0qe5eaJFT25TzaFk0IA/SRkNn+JYZ4mPFiZ8 optGq6n6x+AHDC8G2Gs7B0M8tolbcd9NnN7HzcfY2qDxyiiJZkkYJal5u/bCU33RrHsE Nt9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=j4KIRIpLWXsBrRP9d+c7xABdNFBjUHWJxGRoEU4D424=; fh=AGN/tYtQjW7mdZ75nxqNDap8wtPE9BlC41CQHrUz6ag=; b=Hk+tj8LxgQ94Qkx6hmRR6w1JzHKeM+CTmHoL7BKrT83j6bmXBW45a3ryVTsLTO9XSN l4jaV0Ky4Ww9ukvYd9qvcWBWzCKTvoGuZKIcbWnsby+TtiWL/QXvWjtA670OlBTmPg9C qtBFhgXjf7FzeARvWUk7q6wc42R5CNOPs5/R+kxvRHPspdbLTtnfOIQKduzXhMU8aYP3 QXrhewHvA1+4T1wpwKyAfQ599HLD/yLEnuobGdoSqTu4Iz9M+frJEYBCRkpfW8Cy+vYz WSHeqxT4PO3QbmonnS4h/41/+4E4xf8qWItQ277CQsb4PNzkxLqAWJe9RkWS2nzabrU1 FK8g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=heO3sbA5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from pete.vger.email (pete.vger.email. [23.128.96.36]) by mx.google.com with ESMTPS id t22-20020a056a0021d600b0068c0323c2b7si17109445pfj.172.2023.09.27.11.48.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Sep 2023 11:48:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) client-ip=23.128.96.36; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=heO3sbA5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id ED306810021E; Wed, 27 Sep 2023 08:48:17 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232528AbjI0PqQ (ORCPT + 19 others); Wed, 27 Sep 2023 11:46:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48772 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231974AbjI0PqJ (ORCPT ); Wed, 27 Sep 2023 11:46:09 -0400 Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com [IPv6:2a00:1450:4864:20::32b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0E156272B1 for ; Wed, 27 Sep 2023 08:46:08 -0700 (PDT) Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-4063e3ce085so33194765e9.2 for ; Wed, 27 Sep 2023 08:46:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1695829566; x=1696434366; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=j4KIRIpLWXsBrRP9d+c7xABdNFBjUHWJxGRoEU4D424=; b=heO3sbA5/jSD4OTjjbU4ueMtEMTv+oKmJVGfizJMsYG+xNcOvlLW/ecGJcwj7MTRpZ tlc5/6AKU8UBoVXAqTrJgOy0Qn3Jw3/IjBuUiLeTmwCp7pH/ce5fy1d7fkSxVePP+PM9 xsYPX59liv5lU3Ua5BTM6d5SbR6FeSfrAcVXTadgME/zqz/qpziIkAhcvfBa0ZH8ewSX pbGkqezdcNQSQSpJ9VjnNOKzFO3lykEnMYq+FBIHR4/wfL4Q1LcZHUb83TMwJG5fEChM Cu2v3/GAIfI5ZyP9axeUPebVnPGJpNX22+I4fZ6MLqhx3MbkFQOEjVOkB2eCRenkjrXb FpSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695829566; x=1696434366; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=j4KIRIpLWXsBrRP9d+c7xABdNFBjUHWJxGRoEU4D424=; b=bYJWiflksurrXDoBKmraOhTrJuv3Fctu7KikPmNCaBEl4zS4fS3e31Mf9M3QKD8K2x feMN1xTucliCMRdv5HUPJDDcVyYSwmF17ecqD+LKmQGIpIAFRXugzC2PnXWfAQJaHq1I kk9vROYoi5FwiqD2HlpGeCDb94sHYiFkQyKZcuGIqKUxIybYMUVI5DZSmpZC9C+2b4af DCsCqttvVDE0GUN15vD/fHqspjG23jD6uslxqejHoLXcSpwL9HmFDBX1A5YtzX5wIn3J GWAOV3tyunutj0/UO7CdsPY9QipMKKH9u8nlPPEul0HVtCht6Mz0ZheJHpjoA7tHldOR RTeg== X-Gm-Message-State: AOJu0YyhH4NWoTLXD8jLv7BLxx59eG/oLawydMnp98p36Z1IIQQj16bt 0CH0AUe5B184ikl6Zy3/5TtP X-Received: by 2002:a05:600c:2207:b0:401:dc7e:b688 with SMTP id z7-20020a05600c220700b00401dc7eb688mr2277313wml.6.1695829566150; Wed, 27 Sep 2023 08:46:06 -0700 (PDT) Received: from thinkpad.fritz.box ([2a02:2454:9d09:3f00:b024:394e:56d7:d8b4]) by smtp.gmail.com with ESMTPSA id s28-20020adfa29c000000b003232f167df5sm6925852wra.108.2023.09.27.08.46.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Sep 2023 08:46:05 -0700 (PDT) From: Manivannan Sadhasivam To: lpieralisi@kernel.org, kw@linux.com Cc: andersson@kernel.org, konrad.dybcio@linaro.org, bhelgaas@google.com, linux-arm-msm@vger.kernel.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, abel.vesa@linaro.org, Manivannan Sadhasivam Subject: [PATCH v3 2/3] PCI: qcom-ep: Make use of PCIE_SPEED2MBS_ENC() macro for encoding link speed Date: Wed, 27 Sep 2023 17:46:02 +0200 Message-Id: <20230927154603.172049-2-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230927154603.172049-1-manivannan.sadhasivam@linaro.org> References: <20230927154603.172049-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.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 (pete.vger.email [0.0.0.0]); Wed, 27 Sep 2023 08:48:18 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778214876660909618 X-GMAIL-MSGID: 1778217657858144467 Instead of hardcoding the link speed in MBps, let's make use of the existing PCIE_SPEED2MBS_ENC() macro that does the encoding of the link speed for us. Also, let's Wrap it with QCOM_PCIE_LINK_SPEED_TO_BW() macro to do the conversion to ICC speed. This eliminates the need for a switch case in qcom_pcie_icc_update() and also works for future Gen speeds without any code modifications. Suggested-by: Bjorn Helgaas Signed-off-by: Manivannan Sadhasivam --- Changes in v3: - New patch drivers/pci/controller/dwc/pcie-qcom-ep.c | 31 +++++------------------ 1 file changed, 6 insertions(+), 25 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-qcom-ep.c b/drivers/pci/controller/dwc/pcie-qcom-ep.c index 8bd8107690a6..32c8d9e37876 100644 --- a/drivers/pci/controller/dwc/pcie-qcom-ep.c +++ b/drivers/pci/controller/dwc/pcie-qcom-ep.c @@ -23,6 +23,7 @@ #include #include +#include "../../pci.h" #include "pcie-designware.h" /* PARF registers */ @@ -135,10 +136,8 @@ #define CORE_RESET_TIME_US_MAX 1005 #define WAKE_DELAY_US 2000 /* 2 ms */ -#define PCIE_GEN1_BW_MBPS 250 -#define PCIE_GEN2_BW_MBPS 500 -#define PCIE_GEN3_BW_MBPS 985 -#define PCIE_GEN4_BW_MBPS 1969 +#define QCOM_PCIE_LINK_SPEED_TO_BW(speed) \ + Mbps_to_icc(PCIE_SPEED2MBS_ENC(pcie_link_speed[speed])) #define to_pcie_ep(x) dev_get_drvdata((x)->dev) @@ -266,7 +265,7 @@ static void qcom_pcie_dw_stop_link(struct dw_pcie *pci) static void qcom_pcie_ep_icc_update(struct qcom_pcie_ep *pcie_ep) { struct dw_pcie *pci = &pcie_ep->pci; - u32 offset, status, bw; + u32 offset, status; int speed, width; int ret; @@ -279,25 +278,7 @@ static void qcom_pcie_ep_icc_update(struct qcom_pcie_ep *pcie_ep) speed = FIELD_GET(PCI_EXP_LNKSTA_CLS, status); width = FIELD_GET(PCI_EXP_LNKSTA_NLW, status); - switch (speed) { - case 1: - bw = MBps_to_icc(PCIE_GEN1_BW_MBPS); - break; - case 2: - bw = MBps_to_icc(PCIE_GEN2_BW_MBPS); - break; - case 3: - bw = MBps_to_icc(PCIE_GEN3_BW_MBPS); - break; - default: - dev_warn(pci->dev, "using default GEN4 bandwidth\n"); - fallthrough; - case 4: - bw = MBps_to_icc(PCIE_GEN4_BW_MBPS); - break; - } - - ret = icc_set_bw(pcie_ep->icc_mem, 0, width * bw); + ret = icc_set_bw(pcie_ep->icc_mem, 0, width * QCOM_PCIE_LINK_SPEED_TO_BW(speed)); if (ret) dev_err(pci->dev, "failed to set interconnect bandwidth: %d\n", ret); @@ -335,7 +316,7 @@ static int qcom_pcie_enable_resources(struct qcom_pcie_ep *pcie_ep) * Set an initial peak bandwidth corresponding to single-lane Gen 1 * for the pcie-mem path. */ - ret = icc_set_bw(pcie_ep->icc_mem, 0, MBps_to_icc(PCIE_GEN1_BW_MBPS)); + ret = icc_set_bw(pcie_ep->icc_mem, 0, QCOM_PCIE_LINK_SPEED_TO_BW(1)); if (ret) { dev_err(pci->dev, "failed to set interconnect bandwidth: %d\n", ret); From patchwork Wed Sep 27 15:46:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Manivannan Sadhasivam X-Patchwork-Id: 145726 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:cae8:0:b0:403:3b70:6f57 with SMTP id r8csp3052253vqu; Wed, 27 Sep 2023 20:45:49 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH4HucGWNoTqLfH1yObWjfXMMOa6rRm48OMfpD/YJyMMl3PRIj/wu99kblEjnKU99TOySXp X-Received: by 2002:a67:ff01:0:b0:452:6135:d with SMTP id v1-20020a67ff01000000b004526135000dmr21914vsp.33.1695872749129; Wed, 27 Sep 2023 20:45:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695872749; cv=none; d=google.com; s=arc-20160816; b=gEd/hSaneLtskECqpghoaxjsCwqXxAqfolWcimtOroY2hLRsvB3VUBQXHMWZPFoegq roSTfM/8T4GPV4JHnmM8E6znifPko5EjG7cPTRC5u2Hu1mbtL8bPCDIQ3s+vAurhu8mE K3nx/kpkgfulvccf7b99NORt+SsZ69xateIwzWYBnJx2PSA1cnEP+DLgjDmHbs1PP0at kuPWjiHus4TaV33GTTkk9EWQ1gvezwtDMWbsvDlJFNyD3V0qZR1C6NT47cJH88olVMhd 9qFXmrOOT0ib3/oa/b3zDL5j1u02kIMkDPbkPK5/ASs9dDI8SW/R+6wrMBwVChIcdUfW MZFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=gSqf2S54Kv1lkMAHr+0KP81a4E6zfxwF+MNET+Rax3c=; fh=LeFukldqIeMuH68ZTsP4l380Xr65B4LBj9v86l9Fpqs=; b=TaYic57YZOeyfQTWQKa75TnT0f0FT+lAOBtGeRli4lea6RxV7P85oHwR+zcWFWRysh raQQ/xUQ6ttxPqUSg1OR0xm6qw9r/S8QoLQc+PLIjhvJfDw1/2h91IbyBQyngPBejoCX /N00XNmMgChsdmOMq+AkAhLlfPP9GMYiDZbyJaxwqCJbpS2eloEcjufo2OB5sTaIsAuF oF2RbaIeLMGXox8fqjQsxCVmvwYgvklTh6l4uZTZQPyDco6+c2ZicpT3sLebG6RVuGBY D4XbiYRomHBR23mxZhFsEnGg1C0KbpULfM0xpsm8edGZ/b/TPf5d3opNv+iZvUNadkgU 3A2Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=IWl0QOCk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id m9-20020a654389000000b00578bb707e6esi17201572pgp.806.2023.09.27.20.45.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Sep 2023 20:45:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=IWl0QOCk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 52F008029C5B; Wed, 27 Sep 2023 08:47:00 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232570AbjI0PqS (ORCPT + 19 others); Wed, 27 Sep 2023 11:46:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48796 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232363AbjI0PqK (ORCPT ); Wed, 27 Sep 2023 11:46:10 -0400 Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com [IPv6:2a00:1450:4864:20::329]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0F8F3272B4 for ; Wed, 27 Sep 2023 08:46:09 -0700 (PDT) Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-40572aeb73cso83049865e9.3 for ; Wed, 27 Sep 2023 08:46:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1695829567; x=1696434367; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gSqf2S54Kv1lkMAHr+0KP81a4E6zfxwF+MNET+Rax3c=; b=IWl0QOCkM8lrXZ1jZzlyBzdXx2OF+33inXwOXs20l/kx+WXdtxI2INUhTRH7As/Hv6 jYVkN/P62rapmmjgO8vFeqG3OnDo8xbCFO7hs6l1IcUlJ3g9psphfmUoo3hSJP6z8v8j ecSgoo4QjokjceebU2tCxvqnrqDFnXGFNfwlETnc4NeF+U9BLDQDg3WHbiupdo5w47p9 W2TnvxvmEctIMpKVPdeRpzG1hNBexBo1yPL6B1ywYyPUDpsUR29vUdURxE4rSvB63q76 y+cjlBAlwk93qOQwVsImwaUJjcOkB4ZQ393W6jHvgKAjZD3RqplOTiAgvQOp/+/aFl1m jRJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695829567; x=1696434367; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gSqf2S54Kv1lkMAHr+0KP81a4E6zfxwF+MNET+Rax3c=; b=n1ckyPvSOeCtXLdVBlqekuj1HX7eqTiF8z7JcXDJJbL38kAEnd2+aAFsU+gxoc2M5w 9HLKRS0uWuuoY2mOlkG7CGnMM0vXJlG60hMrBQISOdTx0bDfoa4zWl1TM/k3gf9ZvJk/ DEjWMV2p+kFai592xuH/JCtgedhtNKjVz3U77TukyulBClQ4Vouo0aQ8DftEkmMatkns mn9/cZhR7JlL9UlsaVhR4yCycvTVEZql4l8FuqdpmSghF0tvu2hyM6Qobg0mrdNsEqzv kybwpgTTi+XSvnSMJiQgtrqIX0UTod4mDkzWpRdhBQOnky3KYX9KSnBo0Ay7ZhsC5wvu u1kA== X-Gm-Message-State: AOJu0YwQ60TdXIk3P4olpVPBwUj7xEKQJIXSOLT3VK/nmZCxpV888Y01 j777T3KN5dVRdvgEs4UCVwjw X-Received: by 2002:a05:600c:1e14:b0:406:44e6:15f0 with SMTP id ay20-20020a05600c1e1400b0040644e615f0mr1832590wmb.5.1695829567489; Wed, 27 Sep 2023 08:46:07 -0700 (PDT) Received: from thinkpad.fritz.box ([2a02:2454:9d09:3f00:b024:394e:56d7:d8b4]) by smtp.gmail.com with ESMTPSA id s28-20020adfa29c000000b003232f167df5sm6925852wra.108.2023.09.27.08.46.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Sep 2023 08:46:06 -0700 (PDT) From: Manivannan Sadhasivam To: lpieralisi@kernel.org, kw@linux.com Cc: andersson@kernel.org, konrad.dybcio@linaro.org, bhelgaas@google.com, linux-arm-msm@vger.kernel.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, abel.vesa@linaro.org, Manivannan Sadhasivam , Vidya Sagar Subject: [PATCH v3 3/3] PCI: tegra194: Use Mbps_to_icc() macro for setting icc speed Date: Wed, 27 Sep 2023 17:46:03 +0200 Message-Id: <20230927154603.172049-3-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230927154603.172049-1-manivannan.sadhasivam@linaro.org> References: <20230927154603.172049-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net 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 (snail.vger.email [0.0.0.0]); Wed, 27 Sep 2023 08:47:00 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778251463742791419 X-GMAIL-MSGID: 1778251463742791419 PCIe speed returned by the PCIE_SPEED2MBS_ENC() macro is in Mbps. So instead of converting it to MBps explicitly and using the MBps_to_icc() macro, let's use the Mbps_to_icc() macro to pass the value directly. Cc: Vidya Sagar Signed-off-by: Manivannan Sadhasivam --- Changes in v3: - New patch drivers/pci/controller/dwc/pcie-tegra194.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c index 4bba31502ce1..5feac690e127 100644 --- a/drivers/pci/controller/dwc/pcie-tegra194.c +++ b/drivers/pci/controller/dwc/pcie-tegra194.c @@ -321,9 +321,9 @@ static void tegra_pcie_icc_set(struct tegra_pcie_dw *pcie) speed = FIELD_GET(PCI_EXP_LNKSTA_CLS, val); width = FIELD_GET(PCI_EXP_LNKSTA_NLW, val); - val = width * (PCIE_SPEED2MBS_ENC(pcie_link_speed[speed]) / BITS_PER_BYTE); + val = width * PCIE_SPEED2MBS_ENC(pcie_link_speed[speed]); - if (icc_set_bw(pcie->icc_path, MBps_to_icc(val), 0)) + if (icc_set_bw(pcie->icc_path, Mbps_to_icc(val), 0)) dev_err(pcie->dev, "can't set bw[%u]\n", val); if (speed >= ARRAY_SIZE(pcie_gen_freq))