From patchwork Fri Jun 23 12:50:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Neil Armstrong X-Patchwork-Id: 695598 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id EFA7DC001DB for ; Fri, 23 Jun 2023 12:51:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231764AbjFWMvP (ORCPT ); Fri, 23 Jun 2023 08:51:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38712 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231449AbjFWMvN (ORCPT ); Fri, 23 Jun 2023 08:51:13 -0400 Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com [IPv6:2a00:1450:4864:20::42a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DA58B2135 for ; Fri, 23 Jun 2023 05:50:48 -0700 (PDT) Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-3110ab7110aso650548f8f.3 for ; Fri, 23 Jun 2023 05:50:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1687524647; x=1690116647; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=fAo0phvh8fXAgVLYJP7h1GHACdN6ADqTUL6afCcu57w=; b=xE4pagFEoVKgK27AQ7A0dppKAEGPY907krpnMtq74wnGMEmU90LZ3wteVNTeiHKBsA wy74lzMRqUXuHl7Z5M7Tot2FQrRqKS1p+T3mrz0p3OPyKMjJ7z6c/IzKA98mTrFeQkKm C+bUWyzIciv2PKpz1oLMnKf7OU4PiNXHxsGUusqwaC46niy7eMVX0TuKuvv3zf4CAASj KRW92dDs373DEMmSK40Q+ZE1enWZPRhuzX5uBloFEmLBJ2bUJlkrZs41Jxpw0FBqtxhk 5+ZfhTRBfLsNQkJdjG4HcLVBX9tGojZNhTMSGiwqSaNKm0C0m9/bEqJbgwFJ0smvlF68 wkVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687524647; x=1690116647; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fAo0phvh8fXAgVLYJP7h1GHACdN6ADqTUL6afCcu57w=; b=b3hgFwi2TWABnY4C7IQ7tbHx+ZBGVdrNgWeLBhjkKuEfWYxtatjddWvNgYcS8qP359 ioYgGv0GKVfmTWTrMlKUTOfsYZArIe0ZGacUM20MY/1aUPjR0dCdFiqrBqix5ES3g8EI LXB9TC047vUe2XYNGJOhe9l/N1LOEw/Qmr2cW2QGVOSW1C4GhscfWP7pX5H7zfimly7N cJq4W6C560VT+wBqPfWTyBUH/Y3STY4O/fwwm2UCJcdQNpCkwYZP4+FGI247ciW9kNNm xldZ+D7KzGtDJ90mCwCNchLVpk70x4A6vvyJ2kGKqf8hYWNBTrrgIK3SdDiUM1K/IWHP lJPg== X-Gm-Message-State: AC+VfDxWN7wPoFgL7d0UrZDFhUTc3StqSWUIlB0Cq2EwhiNLcRJy3hTX X7cjZ4Li8G1+ab7lK8s1X0Auxw== X-Google-Smtp-Source: ACHHUZ79qV9duzWdP1qO4ZEXEHVNLq1uN+415rg1emPDjRVpQBpP2AwsfJWvMkvDsYpDEQw41tmhQg== X-Received: by 2002:adf:f04c:0:b0:30f:c2a3:6281 with SMTP id t12-20020adff04c000000b0030fc2a36281mr17367238wro.64.1687524647365; Fri, 23 Jun 2023 05:50:47 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:982:cbb0:8261:5fff:fe11:bdda]) by smtp.gmail.com with ESMTPSA id m5-20020adffe45000000b002fae7408544sm9455350wrs.108.2023.06.23.05.50.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 Jun 2023 05:50:47 -0700 (PDT) From: neil.armstrong@linaro.org Date: Fri, 23 Jun 2023 14:50:42 +0200 Subject: [PATCH v2 1/4] interconnect: qcom: Add support for mask-based BCMs MIME-Version: 1.0 Message-Id: <20230619-topic-sm8550-upstream-interconnect-mask-vote-v2-1-709474b151cc@linaro.org> References: <20230619-topic-sm8550-upstream-interconnect-mask-vote-v2-0-709474b151cc@linaro.org> In-Reply-To: <20230619-topic-sm8550-upstream-interconnect-mask-vote-v2-0-709474b151cc@linaro.org> To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Georgi Djakov Cc: linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Neil Armstrong , Mike Tipton X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2293; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=lhON1BygpqWXo4mzlesLcGDv9DQQuf0/+binWIHr1Jg=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBklZUkn1/cWVgOHaes39IQW8BdSt/hN+IVbpKdp1+p q7rTDZ2JAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCZJWVJAAKCRB33NvayMhJ0Tc0EA CVAaTKX9yFxZ8lSgp5rRqW97diQi2XK3nEOr2BTXAmTGDkcxenAuEYkFtiDVA+0rVZZAfmH2+/9cCS 1b9LGLzSmJ05P0uMdt3c3/qW2OmNCYKBKM7SyNU2SAwXibZyf9nZ4FM0GlwueO9a7Qje1xbEjqQyEq F1FMQeLmFRyEfHwMMQZl1kZYoHy6+zKgeqC8tKgIN11rpEbC+4+Jn+w9vPW1GAe5Xh8x/m+SWwe+tR +Y/rgOPj/KgTH/Ao90dMdT2jQCqz1TgHPQ/SNJ0eaFFfQajSMjm17lP6360B1Pc5K4fOQ2zDnLFeob A3MH/G1+kXjRRxfCLSFrhvZyv03NtKbV6/JL579SI24ah0xpTmI+GrwG2J8WN0o0DrUqmaZWDO2NET WWakm91bFla6Jf+QnzjJprlGyv7CQ8+7KiBFqn0EwhL9FA42ilnhDqQoIkSq9aG8/ppuIMtEaTI1b9 uZB/NvO265Tg8RuR/kcAyd7vnldsf/YbsH20UoC5SImsLPusR9SfnCF9tr6lFhwGzRAiaDXAVxvFkU qs/CNrwlmbV0LieNXyzDAMP7kYbsT/brSCb21gWHtNPmeU0qono9wCp4+aTaX6+Im9/zEDIzJh8D2c AEqzKrreD854DvoprkbGl59BUQua9n4q44yXon7UYKjHhSN7ZG2LlDKm8pqQ== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org From: Mike Tipton Some BCMs aren't directly associated with the data path (i.e. ACV) and therefore don't communicate using BW. Instead, they are simply enabled/disabled with a simple bit mask. Add support for these. Origin commit retrieved from: https://git.codelinaro.org/clo/la/kernel/msm-5.15/-/commit/2d1573e0206998151b342e6b52a4c0f7234d7e36 Signed-off-by: Mike Tipton [narmstrong: removed copyright change from original commit] Signed-off-by: Neil Armstrong --- drivers/interconnect/qcom/bcm-voter.c | 5 +++++ drivers/interconnect/qcom/icc-rpmh.h | 2 ++ 2 files changed, 7 insertions(+) diff --git a/drivers/interconnect/qcom/bcm-voter.c b/drivers/interconnect/qcom/bcm-voter.c index 8f385f9c2dd3..d5f2a6b5376b 100644 --- a/drivers/interconnect/qcom/bcm-voter.c +++ b/drivers/interconnect/qcom/bcm-voter.c @@ -83,6 +83,11 @@ static void bcm_aggregate(struct qcom_icc_bcm *bcm) temp = agg_peak[bucket] * bcm->vote_scale; bcm->vote_y[bucket] = bcm_div(temp, bcm->aux_data.unit); + + if (bcm->enable_mask && (bcm->vote_x[bucket] || bcm->vote_y[bucket])) { + bcm->vote_x[bucket] = 0; + bcm->vote_y[bucket] = bcm->enable_mask; + } } if (bcm->keepalive && bcm->vote_x[QCOM_ICC_BUCKET_AMC] == 0 && diff --git a/drivers/interconnect/qcom/icc-rpmh.h b/drivers/interconnect/qcom/icc-rpmh.h index 04391c1ba465..7843d8864d6b 100644 --- a/drivers/interconnect/qcom/icc-rpmh.h +++ b/drivers/interconnect/qcom/icc-rpmh.h @@ -81,6 +81,7 @@ struct qcom_icc_node { * @vote_x: aggregated threshold values, represents sum_bw when @type is bw bcm * @vote_y: aggregated threshold values, represents peak_bw when @type is bw bcm * @vote_scale: scaling factor for vote_x and vote_y + * @enable_mask: optional mask to send as vote instead of vote_x/vote_y * @dirty: flag used to indicate whether the bcm needs to be committed * @keepalive: flag used to indicate whether a keepalive is required * @aux_data: auxiliary data used when calculating threshold values and @@ -97,6 +98,7 @@ struct qcom_icc_bcm { u64 vote_x[QCOM_ICC_NUM_BUCKETS]; u64 vote_y[QCOM_ICC_NUM_BUCKETS]; u64 vote_scale; + u32 enable_mask; bool dirty; bool keepalive; struct bcm_db aux_data; From patchwork Fri Jun 23 12:50:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Neil Armstrong X-Patchwork-Id: 696129 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BD058C001DD for ; Fri, 23 Jun 2023 12:51:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231806AbjFWMvQ (ORCPT ); Fri, 23 Jun 2023 08:51:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38724 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231169AbjFWMvN (ORCPT ); Fri, 23 Jun 2023 08:51:13 -0400 Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com [IPv6:2a00:1450:4864:20::42c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BB51811C for ; Fri, 23 Jun 2023 05:50:49 -0700 (PDT) Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-31110aea814so676632f8f.2 for ; Fri, 23 Jun 2023 05:50:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1687524648; x=1690116648; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=0xwdEGR95Jdgntol/p/VjgJdE673liewISx2EIhavUY=; b=yX7q9+o/UBUOzghFs0vcm3A5Z9kB3O0t9Ntur83ksuBlZQkFMyeznTBCe1tRZaLhCx I3tUB6fycvvOybWRedh79t5RIpREsDMpb44v5Zcbq4lCYm+IanFKAP7BvtFCzN8j3gsD YMLki2peNiUN9iyHC/SHx/l69aAF+SwKMe1dVivwA6MDZiEpypQJX7bcBIUOttvrg3AM lS0nYFnejUHLbkB93kruhypH4K+so+kIHVBEdfNEdlMBwiLKd1tqsB3TIo/2FHmL0o2A 2WcckOP7sNC1YnrPUUW5bEjdvnz4OVr2cjeE5O5Iyr3Y5ur8v1EM0XDzWIKsFrxLZEE1 KTYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687524648; x=1690116648; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0xwdEGR95Jdgntol/p/VjgJdE673liewISx2EIhavUY=; b=Z7gMUolW5WxeYAKRmZwM8r2VsroZ8xGl0VxIk9Iqo3FQlOgHGK4Q1FudzBsba/EmHt M3Ptx/VUUAt4lKUDLuVkq4q+CeQA+LhWQ5WOYDHIXv0fCi+xzVYS2ZjzWnnfIB6m2xPY osgBohlyOuGosTU7iFFWF83bwIgZ/MIUMRZzALxeNfiaQyEFEi1C6VUVuMO0TBm3jHA7 BgeYEmcV7ZZgxs7vWgZqkTYnukVykzTCvxksUOxxT7AGCU0v5mikUZ4lle4aOxr01wUt 7MBzzWx/I8qjOqli3V9Kz33tbE38MEp+7IPDAa6u0enLQKIxTkytZkL+sl0LV/hzUuB0 hpDg== X-Gm-Message-State: AC+VfDzQfEpK+z5/tb202pa890E+3JsOqHQnFcnY++807HMLlUK4EbWx /WYUTucaGOHApVofXGfKJhzuzA== X-Google-Smtp-Source: ACHHUZ5dfj6Qf5CuDNqbS3VfwWfrZV6hcgA44TWBpBYJsvBHo6RBw6mQV12vDvqbK0QRdzW6Lgg+AQ== X-Received: by 2002:a5d:42d1:0:b0:30f:c1c3:8173 with SMTP id t17-20020a5d42d1000000b0030fc1c38173mr19597811wrr.26.1687524648225; Fri, 23 Jun 2023 05:50:48 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:982:cbb0:8261:5fff:fe11:bdda]) by smtp.gmail.com with ESMTPSA id m5-20020adffe45000000b002fae7408544sm9455350wrs.108.2023.06.23.05.50.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 Jun 2023 05:50:47 -0700 (PDT) From: Neil Armstrong Date: Fri, 23 Jun 2023 14:50:43 +0200 Subject: [PATCH v2 2/4] interconnect: qcom: sm8450: add enable_mask for bcm nodes MIME-Version: 1.0 Message-Id: <20230619-topic-sm8550-upstream-interconnect-mask-vote-v2-2-709474b151cc@linaro.org> References: <20230619-topic-sm8550-upstream-interconnect-mask-vote-v2-0-709474b151cc@linaro.org> In-Reply-To: <20230619-topic-sm8550-upstream-interconnect-mask-vote-v2-0-709474b151cc@linaro.org> To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Georgi Djakov Cc: linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Neil Armstrong X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2744; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=LaziN8HXwyH279DHBKH1rB581eoiV23jx7/cCXsPqWQ=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBklZUkdxD0FbTQDU+PbPUpmHf9tTbxlSXuJeEA6/GX pnFbbAaJAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCZJWVJAAKCRB33NvayMhJ0eY2D/ 9FLDKlj1748uBlkTDxAyFF2/I8h+Vyr5mtbojmOx7jIBu0cnTqZ5dF3hJmfECQCICFxa0vyZIOpbdm zK1D+yKmpcDvxWXWvNnYEqkQQfnmMdvXSslDvp9n5+EM7YVTWrkkAItpCfQQYWoYBXeeVtlKsqyDbr 7v2/tfqa4Kwni8Ku86mujCQypc11H8xouLiTPpA2JDWCqfSRETeJkwtac1a0n9royPYF7OEd6YblG1 P87eq0Y/LJjKh1HiGC4XkTM/qdW/iNccCgp72jCGWa4ebzq3Ka2W1XkXzCeLOKSoQPgvdgqL8EXLVz 7F2scoJ74rh5NMqntXUtnXKxz8jYZMsCtv8KUZzFxWMMgzLQnOAEzfCXDdSdpOkWI8zKV0WGLUmVeM ageYZOKMnAHfCwVLDhCmzsJXYX9ePP2hbZgDVM1LIRNsfMDTg5oE/FBS0mpNF8eT7XsPKxmL287v1M 8YpRjcQbIldioAqutxx4ovN5BkFX8e73HuBHvqIOZT7m9quQTOntwi9luoLPwk0XYAgoDNADP2XLar hZRME5r1Myu3aI2FuTi8t79khgHYNOYSH6pIzJMcLQ4lHS7psZv01zU/yOVr93DK9aNeHS1s27Ccj3 Dh41yo5cp9613MjCpDwW0kTqFESixUWMKFWmn4dITnr2IWPuq4cR2ss4qXjg== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org Set the proper enable_mask to nodes requiring such value to be used instead of a bandwidth when voting. The masks were copied from the downstream implementation at [1]. [1] https://git.codelinaro.org/clo/la/kernel/msm-5.10/-/blob/KERNEL.PLATFORM.1.0.r2-05600-WAIPIOLE.0/drivers/interconnect/qcom/waipio.c Signed-off-by: Neil Armstrong --- drivers/interconnect/qcom/sm8450.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/interconnect/qcom/sm8450.c b/drivers/interconnect/qcom/sm8450.c index 2d7a8e7b85ec..e64c214b4020 100644 --- a/drivers/interconnect/qcom/sm8450.c +++ b/drivers/interconnect/qcom/sm8450.c @@ -1337,6 +1337,7 @@ static struct qcom_icc_node qns_mem_noc_sf_disp = { static struct qcom_icc_bcm bcm_acv = { .name = "ACV", + .enable_mask = 0x8, .num_nodes = 1, .nodes = { &ebi }, }; @@ -1349,6 +1350,7 @@ static struct qcom_icc_bcm bcm_ce0 = { static struct qcom_icc_bcm bcm_cn0 = { .name = "CN0", + .enable_mask = 0x1, .keepalive = true, .num_nodes = 55, .nodes = { &qnm_gemnoc_cnoc, &qnm_gemnoc_pcie, @@ -1383,6 +1385,7 @@ static struct qcom_icc_bcm bcm_cn0 = { static struct qcom_icc_bcm bcm_co0 = { .name = "CO0", + .enable_mask = 0x1, .num_nodes = 2, .nodes = { &qxm_nsp, &qns_nsp_gemnoc }, }; @@ -1403,6 +1406,7 @@ static struct qcom_icc_bcm bcm_mm0 = { static struct qcom_icc_bcm bcm_mm1 = { .name = "MM1", + .enable_mask = 0x1, .num_nodes = 12, .nodes = { &qnm_camnoc_hf, &qnm_camnoc_icp, &qnm_camnoc_sf, &qnm_mdp, @@ -1445,6 +1449,7 @@ static struct qcom_icc_bcm bcm_sh0 = { static struct qcom_icc_bcm bcm_sh1 = { .name = "SH1", + .enable_mask = 0x1, .num_nodes = 7, .nodes = { &alm_gpu_tcu, &alm_sys_tcu, &qnm_nsp_gemnoc, &qnm_pcie, @@ -1461,6 +1466,7 @@ static struct qcom_icc_bcm bcm_sn0 = { static struct qcom_icc_bcm bcm_sn1 = { .name = "SN1", + .enable_mask = 0x1, .num_nodes = 4, .nodes = { &qhm_gic, &qxm_pimem, &xm_gic, &qns_gemnoc_gc }, @@ -1492,6 +1498,7 @@ static struct qcom_icc_bcm bcm_sn7 = { static struct qcom_icc_bcm bcm_acv_disp = { .name = "ACV", + .enable_mask = 0x1, .num_nodes = 1, .nodes = { &ebi_disp }, }; @@ -1510,6 +1517,7 @@ static struct qcom_icc_bcm bcm_mm0_disp = { static struct qcom_icc_bcm bcm_mm1_disp = { .name = "MM1", + .enable_mask = 0x1, .num_nodes = 3, .nodes = { &qnm_mdp_disp, &qnm_rot_disp, &qns_mem_noc_sf_disp }, @@ -1523,6 +1531,7 @@ static struct qcom_icc_bcm bcm_sh0_disp = { static struct qcom_icc_bcm bcm_sh1_disp = { .name = "SH1", + .enable_mask = 0x1, .num_nodes = 1, .nodes = { &qnm_pcie_disp }, }; From patchwork Fri Jun 23 12:50:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Neil Armstrong X-Patchwork-Id: 695597 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 14E20C0015E for ; Fri, 23 Jun 2023 12:51:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229972AbjFWMvS (ORCPT ); Fri, 23 Jun 2023 08:51:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38722 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231752AbjFWMvP (ORCPT ); Fri, 23 Jun 2023 08:51:15 -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 F2BAD2133 for ; Fri, 23 Jun 2023 05:50:54 -0700 (PDT) Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-3fa23c3e618so7845495e9.0 for ; Fri, 23 Jun 2023 05:50:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1687524653; x=1690116653; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=SQPYx20u00M+roY3uJQ+vYmQ/eO8mxTFKwXZGsfFovc=; b=L1kdnLb0byVMkJxV/V+WUH2ZcGogGK15LBa3VtNBpYSGFU6FkheYu2+MoOxiG4JfEP iPc1qfotPFlbPPAi2RfzOdrI+kckiHGbhmzj1WQxRbdOUt9+vilvYiMwAZ1wPEVIXKVb nSrwQ+YqCcDB8YbQSPS3OrvG+0PpFdsA388cY7DRNGBkLsVv+01uTccn+60Kgbe6wpYA vSwZTqCNd+6Ux6lQ6yNreyuL6AFxPYiz1AkTRyqHATYlKAZtIlYcCQlxJ8spwvOAYmZn roX8pu+9qw8q9FPSKhVqcKKiCNgScZlBgZeqx7Q3dDsxofimNaAQ6UEZFgNinaAk6KRk d4mA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687524653; x=1690116653; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=SQPYx20u00M+roY3uJQ+vYmQ/eO8mxTFKwXZGsfFovc=; b=k2ANjL5l1m8TQ1lApAycCBJh3L7pLqRfdKsnJLhq5BGPbKScz8n4hGU46EX4emIf3p qHRbA5okaImQVlvvZUNfHJ4oXmNV2WSyidETBdDhUPL1ocf0pT+RTb2Dtc9Sok8HWv6V 9Eee1FG18RhmXt9ke6p8fP8MfPmomz61Hri+drtr8Y1Z1jmIT4zdnxu51oKmvTS8QeYt Tgso7SjmqM+ABPMKlUmqSrECk2l9Lb8pfF21MV7d2umXAMtg6A4ZCJOduU2Ie+5W2tRc 2Sjti/VX6fu33Q08SMkpdohQ3rCdExyFPNWpvcxMbBDNEBaOIjVL9BUSBa6Bbg6xNKRq QZUg== X-Gm-Message-State: AC+VfDywsKfi4nVEV2/W4i5JboWHzwQxYSbTPEctzNZ+te+JZzIfACYh F66DSLPv1sjHfTa2bso8G0kM2Q== X-Google-Smtp-Source: ACHHUZ58EcdwBaufREV/IbtVElNkuD8EoWnB43qpGlRzvY1TJQqsTKUu/GiT2DRs4sPcrB1sJjbsIg== X-Received: by 2002:adf:f203:0:b0:2f9:4fe9:74bb with SMTP id p3-20020adff203000000b002f94fe974bbmr19214534wro.40.1687524653483; Fri, 23 Jun 2023 05:50:53 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:982:cbb0:8261:5fff:fe11:bdda]) by smtp.gmail.com with ESMTPSA id m5-20020adffe45000000b002fae7408544sm9455350wrs.108.2023.06.23.05.50.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 Jun 2023 05:50:53 -0700 (PDT) From: Neil Armstrong Date: Fri, 23 Jun 2023 14:50:44 +0200 Subject: [PATCH v2 3/4] interconnect: qcom: sm8550: add enable_mask for bcm nodes MIME-Version: 1.0 Message-Id: <20230619-topic-sm8550-upstream-interconnect-mask-vote-v2-3-709474b151cc@linaro.org> References: <20230619-topic-sm8550-upstream-interconnect-mask-vote-v2-0-709474b151cc@linaro.org> In-Reply-To: <20230619-topic-sm8550-upstream-interconnect-mask-vote-v2-0-709474b151cc@linaro.org> To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Georgi Djakov Cc: linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Neil Armstrong X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4919; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=8vaq0sZ17vKC2cKnCb7WrT7B4lW898uopnjsVkfE50c=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBklZUk+GpE3KkQ9NZ8JuKcjwSSnTwLfwsqcZKJRhV3 gyjLbgKJAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCZJWVJAAKCRB33NvayMhJ0RZMD/ 9SqZFRDijRSb5YcmbiBZJpS6mWEC2FkFU1Zf7f246Vf+LOcuY9VQNfIYa/+7fUVwqRLVIUx5LFOSlU foKi/8l1srhiTBP75T6g65BrhNu21DZ+ZpemHoW7JAUj+2eFqu/HTpAy1SqJZcKHota/Od08o0efU0 8xm9pSN17AyNx/vm+BaTL1x3dJU1ji/yocuHkZalbSEguUJOicQKn2LfCHs/BWkATiWrjHrh+ICjb0 W2+C5DRGJewboUoPKooTpMV3iuHX3GcOYWyN0h5vPsPPP6r1MyExHWmwITHiGDPxdYN+f/kXjcboEB 6+wxGbF6M0BgtyUNeYB+IZ95qEMfoVh8HWkRzHky/kyoZuc/taLJSowj/tgHMP5Vbeu07bGWN3yVCA UcBQnN8px97WExG1WpYvWsczSWn71Zy6ZokCV6veqasKHFtaLanK6AccD8bIq3AmV/l9qEKe/4l6iv sAmBjK+tLf1xZjx5BJTMBHZzi50REh5+NmxPKX8FE9Qa2RPspDoByMi5zqoS9pQKTBvIfhczwuIMF5 marLjXH+ty5pO8Wr5oDmDCvFToEEeRHHyVySZ4lBKwTai9rPSZVrVTbebnew9VrustegyOhCOTvy7C 2ugAyoX9ODa3apq0TqPUWGq2FTaNcWCfyFazXVzdCpJ1uoR3XSRn+34kyHZQ== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org Set the proper enable_mask to nodes requiring such value to be used instead of a bandwidth when voting. The masks were copied from the downstream implementation at [1]. [1] https://git.codelinaro.org/clo/la/kernel/msm-5.15/-/blob/kernel.lnx.5.15.r1-rel/drivers/interconnect/qcom/kalama.c Reviewed-by: Konrad Dybcio Signed-off-by: Neil Armstrong --- drivers/interconnect/qcom/sm8550.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/interconnect/qcom/sm8550.c b/drivers/interconnect/qcom/sm8550.c index d823ba988ef6..0864ed285375 100644 --- a/drivers/interconnect/qcom/sm8550.c +++ b/drivers/interconnect/qcom/sm8550.c @@ -1473,6 +1473,7 @@ static struct qcom_icc_node qns_mem_noc_sf_cam_ife_2 = { static struct qcom_icc_bcm bcm_acv = { .name = "ACV", + .enable_mask = 0x8, .num_nodes = 1, .nodes = { &ebi }, }; @@ -1485,6 +1486,7 @@ static struct qcom_icc_bcm bcm_ce0 = { static struct qcom_icc_bcm bcm_cn0 = { .name = "CN0", + .enable_mask = 0x1, .keepalive = true, .num_nodes = 54, .nodes = { &qsm_cfg, &qhs_ahb2phy0, @@ -1524,6 +1526,7 @@ static struct qcom_icc_bcm bcm_cn1 = { static struct qcom_icc_bcm bcm_co0 = { .name = "CO0", + .enable_mask = 0x1, .num_nodes = 2, .nodes = { &qxm_nsp, &qns_nsp_gemnoc }, }; @@ -1549,6 +1552,7 @@ static struct qcom_icc_bcm bcm_mm0 = { static struct qcom_icc_bcm bcm_mm1 = { .name = "MM1", + .enable_mask = 0x1, .num_nodes = 8, .nodes = { &qnm_camnoc_hf, &qnm_camnoc_icp, &qnm_camnoc_sf, &qnm_vapss_hcp, @@ -1589,6 +1593,7 @@ static struct qcom_icc_bcm bcm_sh0 = { static struct qcom_icc_bcm bcm_sh1 = { .name = "SH1", + .enable_mask = 0x1, .num_nodes = 13, .nodes = { &alm_gpu_tcu, &alm_sys_tcu, &chm_apps, &qnm_gpu, @@ -1608,6 +1613,7 @@ static struct qcom_icc_bcm bcm_sn0 = { static struct qcom_icc_bcm bcm_sn1 = { .name = "SN1", + .enable_mask = 0x1, .num_nodes = 3, .nodes = { &qhm_gic, &xm_gic, &qns_gemnoc_gc }, @@ -1633,6 +1639,7 @@ static struct qcom_icc_bcm bcm_sn7 = { static struct qcom_icc_bcm bcm_acv_disp = { .name = "ACV", + .enable_mask = 0x1, .num_nodes = 1, .nodes = { &ebi_disp }, }; @@ -1657,12 +1664,14 @@ static struct qcom_icc_bcm bcm_sh0_disp = { static struct qcom_icc_bcm bcm_sh1_disp = { .name = "SH1", + .enable_mask = 0x1, .num_nodes = 2, .nodes = { &qnm_mnoc_hf_disp, &qnm_pcie_disp }, }; static struct qcom_icc_bcm bcm_acv_cam_ife_0 = { .name = "ACV", + .enable_mask = 0x0, .num_nodes = 1, .nodes = { &ebi_cam_ife_0 }, }; @@ -1681,6 +1690,7 @@ static struct qcom_icc_bcm bcm_mm0_cam_ife_0 = { static struct qcom_icc_bcm bcm_mm1_cam_ife_0 = { .name = "MM1", + .enable_mask = 0x1, .num_nodes = 4, .nodes = { &qnm_camnoc_hf_cam_ife_0, &qnm_camnoc_icp_cam_ife_0, &qnm_camnoc_sf_cam_ife_0, &qns_mem_noc_sf_cam_ife_0 }, @@ -1694,6 +1704,7 @@ static struct qcom_icc_bcm bcm_sh0_cam_ife_0 = { static struct qcom_icc_bcm bcm_sh1_cam_ife_0 = { .name = "SH1", + .enable_mask = 0x1, .num_nodes = 3, .nodes = { &qnm_mnoc_hf_cam_ife_0, &qnm_mnoc_sf_cam_ife_0, &qnm_pcie_cam_ife_0 }, @@ -1701,6 +1712,7 @@ static struct qcom_icc_bcm bcm_sh1_cam_ife_0 = { static struct qcom_icc_bcm bcm_acv_cam_ife_1 = { .name = "ACV", + .enable_mask = 0x0, .num_nodes = 1, .nodes = { &ebi_cam_ife_1 }, }; @@ -1719,6 +1731,7 @@ static struct qcom_icc_bcm bcm_mm0_cam_ife_1 = { static struct qcom_icc_bcm bcm_mm1_cam_ife_1 = { .name = "MM1", + .enable_mask = 0x1, .num_nodes = 4, .nodes = { &qnm_camnoc_hf_cam_ife_1, &qnm_camnoc_icp_cam_ife_1, &qnm_camnoc_sf_cam_ife_1, &qns_mem_noc_sf_cam_ife_1 }, @@ -1732,6 +1745,7 @@ static struct qcom_icc_bcm bcm_sh0_cam_ife_1 = { static struct qcom_icc_bcm bcm_sh1_cam_ife_1 = { .name = "SH1", + .enable_mask = 0x1, .num_nodes = 3, .nodes = { &qnm_mnoc_hf_cam_ife_1, &qnm_mnoc_sf_cam_ife_1, &qnm_pcie_cam_ife_1 }, @@ -1739,6 +1753,7 @@ static struct qcom_icc_bcm bcm_sh1_cam_ife_1 = { static struct qcom_icc_bcm bcm_acv_cam_ife_2 = { .name = "ACV", + .enable_mask = 0x0, .num_nodes = 1, .nodes = { &ebi_cam_ife_2 }, }; @@ -1757,6 +1772,7 @@ static struct qcom_icc_bcm bcm_mm0_cam_ife_2 = { static struct qcom_icc_bcm bcm_mm1_cam_ife_2 = { .name = "MM1", + .enable_mask = 0x1, .num_nodes = 4, .nodes = { &qnm_camnoc_hf_cam_ife_2, &qnm_camnoc_icp_cam_ife_2, &qnm_camnoc_sf_cam_ife_2, &qns_mem_noc_sf_cam_ife_2 }, @@ -1770,6 +1786,7 @@ static struct qcom_icc_bcm bcm_sh0_cam_ife_2 = { static struct qcom_icc_bcm bcm_sh1_cam_ife_2 = { .name = "SH1", + .enable_mask = 0x1, .num_nodes = 3, .nodes = { &qnm_mnoc_hf_cam_ife_2, &qnm_mnoc_sf_cam_ife_2, &qnm_pcie_cam_ife_2 }, From patchwork Fri Jun 23 12:50:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Neil Armstrong X-Patchwork-Id: 696128 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D0731C0015E for ; Fri, 23 Jun 2023 12:51:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231743AbjFWMvT (ORCPT ); Fri, 23 Jun 2023 08:51:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38724 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230317AbjFWMvO (ORCPT ); Fri, 23 Jun 2023 08:51:14 -0400 Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com [IPv6:2a00:1450:4864:20::432]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C55842130 for ; Fri, 23 Jun 2023 05:50:55 -0700 (PDT) Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-3113306a595so681608f8f.1 for ; Fri, 23 Jun 2023 05:50:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1687524654; x=1690116654; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=GYdp75VAJ765a2DkcylWB3P153YCeO8g/iykuAM8Pgs=; b=bikJxea1Yk1J3T5KYNMQApfPvaGH74ADu2BxV0CNf+XOYt5OtyJVvIJC9wYFXXLXo2 S1PDVkLW3XYIOWlUFwhYjZjqQEPlftarS2tz3ynAVSIC8yX/AzOMP+7HyJMCY0QLPzxG 9qnl94f2gUApQvgtdvTj03jcoYsTbm8vHZ7Mj9suRpwnwbQt2UY+EBSxcRZeUzaD0Nls cRug7w2qVPJvgc9vTnKCIlBHCQJDakd64iFIncRAkTky3dR/nppwHSlEs8QzXKGCNsAr Wm0bzjsH4mQPFLl3eiQQwJKvH0BFJVKqR33metaCfxSbDUaKSCQozuQTxUa2lZ9bfdJh MFUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687524654; x=1690116654; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GYdp75VAJ765a2DkcylWB3P153YCeO8g/iykuAM8Pgs=; b=YRmmJZn4m859yQWoLHsbEAabLFYrbWubGJypxJQxu3C8NtXz16WW/B6au2Q8o/8dxX WkjWC3HxlG3mkL0r+PjHIPeBWQrAz84/utyBXDjm+/XqE59sp0/ZQDgTlbmvx6pxVi7l MIwlWijNP8s4j/aC0HcLXTIfNk3jMB/TqIhTAwf/VOn263h/m9OiHpSMc1wC3LMx7Rk5 lkkDJ9r6L0ycrtdRAj6ZEppVE6p7aH1LDq9RrVTYnmJ1FdbXUgJ1U+9qogIVQXvBY6+R qnW4hADhfYkKxEbjHNbbJagbtzQtsJ5ECD34qBGuQ4HREY8aNUf7uDC2y62vsEOG8jrc 53mA== X-Gm-Message-State: AC+VfDwl1jd7O0501M2/2DueYDKmo8duhjrh4HF41dCWuJTLo/Qkg7vW CmrASFke2kzG7lKOue+xr9nb6w== X-Google-Smtp-Source: ACHHUZ7qAc5EKkLfCusMiH7xwYSijIrrBDzdRNP/YHHAqobl4iyafrfQtwOZA7O8+0tQc5Txvm/tYQ== X-Received: by 2002:adf:e585:0:b0:30a:f36e:72a3 with SMTP id l5-20020adfe585000000b0030af36e72a3mr20991627wrm.0.1687524654342; Fri, 23 Jun 2023 05:50:54 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:982:cbb0:8261:5fff:fe11:bdda]) by smtp.gmail.com with ESMTPSA id m5-20020adffe45000000b002fae7408544sm9455350wrs.108.2023.06.23.05.50.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 Jun 2023 05:50:53 -0700 (PDT) From: Neil Armstrong Date: Fri, 23 Jun 2023 14:50:45 +0200 Subject: [PATCH v2 4/4] interconnect: qcom: sa8775p: add enable_mask for bcm nodes MIME-Version: 1.0 Message-Id: <20230619-topic-sm8550-upstream-interconnect-mask-vote-v2-4-709474b151cc@linaro.org> References: <20230619-topic-sm8550-upstream-interconnect-mask-vote-v2-0-709474b151cc@linaro.org> In-Reply-To: <20230619-topic-sm8550-upstream-interconnect-mask-vote-v2-0-709474b151cc@linaro.org> To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Georgi Djakov Cc: linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Neil Armstrong X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=871; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=T0OCke3zU0kw5rM6EOGl8ujcJr6B7UbkFHa+/zvY2yY=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBklZUlAw0ZOrFFJdxA2MlOVSR2x2/u+WWMqwGAroEz KBdhuSGJAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCZJWVJQAKCRB33NvayMhJ0Yg4EA DO41iwRa2L9Mh4dQM+rNxAt/O4LwF8KTM5Z7SYrycTMC+hO8I2zyPwGaGH/WOJhBt9KMyYSXxccu+H w4UkP2BfStArd5qsC18sHYDQxIary7rt2/N8RxfJjAeTe2saSVrI/5Kd3DOqVhG/N1wz4kGzyPGzhT H7/lS+ajV6jt3JH0uO4DbwCVMzDkR/qa2eTj5plcYAMgbTwXIVJUGaads3eet9Fqa5b5gUo6N1giRJ HkhpkGMh6KAbsL37HB63jSWFoeEAkYpZpyLbKUuopNqRsw68MMFvgteXxbkx3difOL0RAJAecJw2Uo nehy+yVZTDytzFQkX7rP5ctSHN1RNcbr/5wdD9RgyiTo+vRQ+2X4R0i/wOv6NOdPxbclWsWcAQ9sZh fv0FYAhCMJAP/k3T9Sj2GMnmXmrRVpSQG3t8PQcnt44meGjyUyoGKJBEj0kWvPokq2NefjhrmWYkMj +yzDbdbBzUtabcUT7ZoBOTUMpRyr8czV/MMWES3908S08qeEws+hAPAv8T/0EURKE3zyWVbYHDwLMu CrBi8CQ+t7oJoH4yIRpg+YGvw+Ie242k5MdeEMuyrScGj44pLuWFxhEbkBwBCTISf7fjtKKeutwqgI yJ6mNSeOZebcjV06t6Zs5wAN6YvEBvUvr+Gd+C1GsaZgGmsJDM3F3pzZH1Cg== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org Set the proper enable_mask the ACV node requiring such value to be used instead of a bandwidth when voting. The masks was copied from the downstream implementation at [1]. [1] https://git.codelinaro.org/clo/la/kernel/msm-5.15/-/blob/kernel.lnx.5.15.r32-rel/drivers/interconnect/qcom/lemans.c Signed-off-by: Neil Armstrong --- drivers/interconnect/qcom/sa8775p.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/interconnect/qcom/sa8775p.c b/drivers/interconnect/qcom/sa8775p.c index da21cc31a580..f56538669de0 100644 --- a/drivers/interconnect/qcom/sa8775p.c +++ b/drivers/interconnect/qcom/sa8775p.c @@ -1873,6 +1873,7 @@ static struct qcom_icc_node srvc_snoc = { static struct qcom_icc_bcm bcm_acv = { .name = "ACV", + .enable_mask = 0x8, .num_nodes = 1, .nodes = { &ebi }, };