From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2130133D4F2 for ; Thu, 7 May 2026 06:42:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778136150; cv=none; b=U+tUjsV3VdoZWD+wiAgWS3AURR6Lhuqd7yEGzn3WU34Cf9TmenxFwkp+C8fRsnFi750/BPXNPwb9I8g4y3UqyKFUn6IVQGkDP+koMARJmY8VvMWtzRgcIHlcwm83QI3q6dz35w6UaPPoZYixD2MFOHDXExm7NdtoeVplLCjM4Dk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778136150; c=relaxed/simple; bh=ZdJc8AvhriTsIRcOHzN5auyXn7ecjHGNn9BjFnnyB7Y=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=O/jgHPFeRoCy85Jj4tBKYSmCgjn1WjWopQfqqJSMKQD3RY6cay8aKKwJuk4ovYsAj3Xpwvj598JHq3uJcdXvk+Gcy93/VuP8s+zdpCYrOEzLNrY01wC34W4KP7rix8PG3Y2q+KGrJyjNnl4YMne1l85NsjvGGaAaCP5QvlORnNA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=lDn7cQW2; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Jaf9cUiC; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="lDn7cQW2"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Jaf9cUiC" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6475MRPJ3157859 for ; Thu, 7 May 2026 06:42:27 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= n5CVd+ehIx8O41kke6U0UyyBtCCOo+HF2cSNN8xWxJs=; b=lDn7cQW2+43TLeNw 0N7OZZTznVc4j/mU+LaQ7W4TmA5OLyJ0/sYsBNRJMeb2PHu7ImicMzhC8+rZ75zZ YsktBvSpTrfJ5Dv72v6hjy7EsBiipILe52UFYfseW+gN8jE2fBgzaXk5QaPDACJg 9koDw3bKJi2fvAQUW/6IEeboegxJO1ydAxESs7Y7JJcvDrdCgYDqwnN6Fkhs7p2l fJpk4ukXcEUqGOLE4KnpXhfEkUCs7tiHC9O6fq5Ih4Dv/tW2ThmlEvbKR48EaHwk DRIgU0qvEc1LjMOenmSJzmVnXz56c3xDgR/Z3N0xjnRgIP6xIjVD4UGiKNVCS345 n9Othw== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e0mhf08pk-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 07 May 2026 06:42:27 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-50fba8d8c40so8779101cf.3 for ; Wed, 06 May 2026 23:42:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1778136146; x=1778740946; darn=vger.kernel.org; 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=n5CVd+ehIx8O41kke6U0UyyBtCCOo+HF2cSNN8xWxJs=; b=Jaf9cUiCaDvTLe8PRMu7SnvV56Mxd3rQCj6+otsv6uyiWpxqM5NqZX/YVM37kGJu0X KL48PPUE1yxJH8lspc8CpNj391p8vkaRoO4GbzoHlLCQr2YLhGbhAB6QTS4NYPIFYB5v VOFlZfi1Bfnguaobh/+WFCC4Ggj5xMYMOH5yRcE7qRV6lBZ36Bz0htK+sFkAXmesyCyc cZuDSIv1RFrIr6iv8iWikICZf7AO/IBvzwyNgGl1styVVUoeyZmzTyuNpc2AnEsBSk60 zNWcctdBIGLjNjXQzwNu5jTa4M+lzrhpoYDiQKtj5wCUiBTSp4EvdlZA8QB+JMhKpzoV FFxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778136146; x=1778740946; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=n5CVd+ehIx8O41kke6U0UyyBtCCOo+HF2cSNN8xWxJs=; b=fvlmX9KHtIMSGBbVqbG1LqbPrg6ddTkGnBt2sJkkUh6ZDeMGWqTW3wZlYDPiTagiSg GSxd7uaQR3aPHvXD03dOBDZEG5GNmGcEqFSjqQtiZlV8WeKxb76PcQOK8Bj9TG4ASbWP f1UIzKmz9DAagiw3nC3KRMXbWTuKRNjtTegehJ9z1fn75PfNJF/NRWLUceFbY1rT+NuM xDkCIdTzE31hrKd99wnT6IchBIPhZK83JYdsEtVpTFCLWgE3io0AldqBacWtGkJ8yaen M+Z9KgsSwSHyYnfvLHhxhgCPnZyjEkKc0ouHlyShkWOOwDiCk0o1ZqyzpTa3aavxmvVp uGxg== X-Forwarded-Encrypted: i=1; AFNElJ/P6HBeRTtPsJwDLNsDBalDNoHFzXjKwJ1NhnH3y8oCIX91k5RTJVi/b9GjYo+uhR/Nnk/GwsFdgDX61i8=@vger.kernel.org X-Gm-Message-State: AOJu0YzvEXhb/RMPjyAW29eZvU+cxojhsk6EeBeSCYvZDaqrnsQB3LVy ncpTG9jnlBbCjwz4C85oxy8VjrE5uGTilMyDisqXgCMb4nQgJqfFqY7jy439pvzud7AHE2X7W8A AfZYaB48NvadAOH8UJX3mia7tBX3RSCuy/9FjgsbyUGKiWRP5PM5kNauSP/YMg+RAJug= X-Gm-Gg: AeBDietEpJ6ay4QHUsHEcPFKld/ARiY0tw1XsEK/M9AM0tMb3FqJ6x/h314ti9CYdov aEMGCg1aGmmG9VQLwRoUhFkvzE278SGi7jjy57uHi9f28fh2Eh0zygcnT9VQM0sy7A/J+prIcCU k3IPMjGfF0Me7Voik0A/tm2ksKXn6RRUB8ken4vz1573n1CmJg6Rz/mSqcAJK8ex+J3PfFOdpFR CIeQcES0lDX70ei6yJlky/M/h2PsclmRy3krkO/EYjX39+/m9HBE7EGgGBjg/WauwkdSRl2IQFo fW+Xf6kf8Hrk/LOsKeWxn0PO+ogqT6MXrL16m294sUS7O6Ei6hrboUvZIGsAt/zv+evMeiUXVf8 oHFxZjptkYZSz4qXidHV92HaWOLn2FKCyQCzbYYCIv01bsQlm4Sg4q2qF1asVyB3VexXgH/CHVL 8QY+pImUkSyt5z0aVwMNg7GvwfD2+zlFImPop5mCTBLPR+2w== X-Received: by 2002:a05:622a:6096:b0:50b:4b3c:7554 with SMTP id d75a77b69052e-51461be0cbcmr92212441cf.10.1778136146417; Wed, 06 May 2026 23:42:26 -0700 (PDT) X-Received: by 2002:a05:622a:6096:b0:50b:4b3c:7554 with SMTP id d75a77b69052e-51461be0cbcmr92212121cf.10.1778136145990; Wed, 06 May 2026 23:42:25 -0700 (PDT) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a8722c2d43sm3334694e87.40.2026.05.06.23.42.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2026 23:42:25 -0700 (PDT) From: Dmitry Baryshkov Date: Thu, 07 May 2026 09:42:07 +0300 Subject: [PATCH 07/16] media: iris: Add platform flag for instantaneous bandwidth voting Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260507-iris-ar50lt-v1-7-d22cccedc3e2@oss.qualcomm.com> References: <20260507-iris-ar50lt-v1-0-d22cccedc3e2@oss.qualcomm.com> In-Reply-To: <20260507-iris-ar50lt-v1-0-d22cccedc3e2@oss.qualcomm.com> To: Vikash Garodia , Abhinav Kumar , Bryan O'Donoghue , Mauro Carvalho Chehab , Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Dikshita Agarwal X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=4928; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=zj24yvnYxl+X+T0YGve2kbEBRN+/OwMEw/Rc6DepK9c=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBp/DQ+O6y2ErTklv3WQVCfGPPv6sVS5EZ4DiBIr gLa0VTWoPaJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCafw0PgAKCRCLPIo+Aiko 1T74CACAxzhPNdSlvc/RIF7/l3ZLZ2yT13zNhMFIr92Azks21y2sy2Rzwse/nNCb+qiiOZg8Pqo PXArCCacGNbr9iKAiuVtbtxwH5/MfUsKXkmMvQ+VZQxk15DEOP+Wp+yv1GIEANK7+zfRFkA7qol QNgtMTycw7Cfti5XsAYKrmThvgLawgLKvpUVoIMcvrqKJocb2wythJC14z/0Rtrg1ZkuojASBF4 5ZDajfS15y12wti+yFMpQFSfZ9BrTKovWHpdMF2sd1KZWbuTnhN8u59m/U4YPfxkpjc+d78ZiHt 9GTQNRJ0XL6Y3xskjUH1uhALtgg43VNwtOdPyI/7IW3Chq4j X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA3MDA2MyBTYWx0ZWRfXzCBa858YsuR9 PgQNJT16+K6a+2HAd4Lvx7uw0AGCMebjyJxJfn7YYn/HRbSnwXnsMxYkZrk+3a+AE/RLnM23CKV kWOL2HmVM5w6WFGpluO27VdgFo48sY7AeNMUhN+H0T78adUJxt2IgHhLI4OcTExp/ZiTQBS3PFb bcK3BszRT4V+HJ3ShzXJGcSnyCCp0Xsa9I1BPX3spiFPRCbNCtm4Ds/0s2IU2rVgQPH/7kdZMqp xp7U/pRZhmLeaLRfZ9rE9J5dvW25Hmkej2+xzDFf/xQ4OhQERW0DL4U3kw1V+l6rI74n7srKAQx QTJ/KlxDsBt2p2kgVpBnoy+sMztEwR2f5rDa9XhLbRwgkr8RlNqXWJVUG/g5vb+bC5UGlNMoZQK j39mUkcJC4HW9vkO5RVUY7qJygC/yAhOwFs4HrzkccnVEw40KAy2MYRdjLM//I3DZdiJXMV28H5 rN6L8hazJyLPjsCmwRQ== X-Proofpoint-ORIG-GUID: dQYGWhFenkdjGWMaC2PV-C7tjiJy6Xpb X-Authority-Analysis: v=2.4 cv=SuagLvO0 c=1 sm=1 tr=0 ts=69fc3453 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=hZPXDZ8rEFHKWOVG6IQA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-GUID: dQYGWhFenkdjGWMaC2PV-C7tjiJy6Xpb X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-06_02,2026-05-06_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 malwarescore=0 suspectscore=0 bulkscore=0 lowpriorityscore=0 impostorscore=0 spamscore=0 adultscore=0 phishscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605070063 From: Dikshita Agarwal AR50LT require explicit instantaneous bandwidth (IB) voting in addition to average bandwidth (AB) when configuring interconnect QoS. This requirement is due to QSB (Qualcomm System Bus) 128b to QNS ( Qualcomm Network Switch) 256b conversion at video noc in AR50LT which is not needed for other IRIS cores. In preparation of adding support for AR50LT core, introduce platform-configurable IB multiplier and enable IB voting for all SoCs. Existing platforms default to IB == AB, while AR50LT requires 2x peak bandwidth. Signed-off-by: Dikshita Agarwal Signed-off-by: Dmitry Baryshkov --- drivers/media/platform/qcom/iris/iris_platform_common.h | 1 + drivers/media/platform/qcom/iris/iris_platform_vpu2.c | 2 ++ drivers/media/platform/qcom/iris/iris_platform_vpu3x.c | 4 ++++ drivers/media/platform/qcom/iris/iris_resources.c | 2 ++ 4 files changed, 9 insertions(+) diff --git a/drivers/media/platform/qcom/iris/iris_platform_common.h b/drivers/media/platform/qcom/iris/iris_platform_common.h index 51d8faf6fd1a..e1dc226066c1 100644 --- a/drivers/media/platform/qcom/iris/iris_platform_common.h +++ b/drivers/media/platform/qcom/iris/iris_platform_common.h @@ -284,6 +284,7 @@ struct iris_platform_data { u32 num_vpp_pipe; bool no_aon; u32 wd_intr_mask; + u32 icc_ib_multiplier; u32 max_session_count; /* max number of macroblocks per frame supported */ u32 max_core_mbpf; diff --git a/drivers/media/platform/qcom/iris/iris_platform_vpu2.c b/drivers/media/platform/qcom/iris/iris_platform_vpu2.c index 238c7b17ed4f..c7e6550e964a 100644 --- a/drivers/media/platform/qcom/iris/iris_platform_vpu2.c +++ b/drivers/media/platform/qcom/iris/iris_platform_vpu2.c @@ -97,6 +97,7 @@ const struct iris_platform_data sc7280_data = { .num_vpp_pipe = 1, .no_aon = true, .wd_intr_mask = WRAPPER_INTR_STATUS_A2HWD_BMSK, + .icc_ib_multiplier = 1, .max_session_count = 16, .max_core_mbpf = 4096 * 2176 / 256 * 2 + 1920 * 1088 / 256, /* max spec for SC7280 is 4096x2176@60fps */ @@ -128,6 +129,7 @@ const struct iris_platform_data sm8250_data = { .tz_cp_config_data_size = ARRAY_SIZE(tz_cp_config_vpu2), .num_vpp_pipe = 4, .wd_intr_mask = WRAPPER_INTR_STATUS_A2HWD_BMSK, + .icc_ib_multiplier = 1, .max_session_count = 16, .max_core_mbpf = NUM_MBS_8K, .max_core_mbps = ((7680 * 4320) / 256) * 60, diff --git a/drivers/media/platform/qcom/iris/iris_platform_vpu3x.c b/drivers/media/platform/qcom/iris/iris_platform_vpu3x.c index 6e63f279efbe..9cd438939e53 100644 --- a/drivers/media/platform/qcom/iris/iris_platform_vpu3x.c +++ b/drivers/media/platform/qcom/iris/iris_platform_vpu3x.c @@ -109,6 +109,7 @@ const struct iris_platform_data qcs8300_data = { .tz_cp_config_data_size = ARRAY_SIZE(tz_cp_config_vpu3), .num_vpp_pipe = 2, .wd_intr_mask = WRAPPER_INTR_STATUS_A2HWD_BMSK, + .icc_ib_multiplier = 1, .max_session_count = 16, .max_core_mbpf = ((4096 * 2176) / 256) * 4, .max_core_mbps = (((3840 * 2176) / 256) * 120), @@ -139,6 +140,7 @@ const struct iris_platform_data sm8550_data = { .tz_cp_config_data_size = ARRAY_SIZE(tz_cp_config_vpu3), .num_vpp_pipe = 4, .wd_intr_mask = WRAPPER_INTR_STATUS_A2HWD_BMSK, + .icc_ib_multiplier = 1, .max_session_count = 16, .max_core_mbpf = NUM_MBS_8K * 2, .max_core_mbps = ((7680 * 4320) / 256) * 60, @@ -177,6 +179,7 @@ const struct iris_platform_data sm8650_data = { .tz_cp_config_data_size = ARRAY_SIZE(tz_cp_config_vpu3), .num_vpp_pipe = 4, .wd_intr_mask = WRAPPER_INTR_STATUS_A2HWD_BMSK, + .icc_ib_multiplier = 1, .max_session_count = 16, .max_core_mbpf = NUM_MBS_8K * 2, .max_core_mbps = ((7680 * 4320) / 256) * 60, @@ -207,6 +210,7 @@ const struct iris_platform_data sm8750_data = { .tz_cp_config_data_size = ARRAY_SIZE(tz_cp_config_vpu3), .num_vpp_pipe = 4, .wd_intr_mask = WRAPPER_INTR_STATUS_A2HWD_BMSK, + .icc_ib_multiplier = 1, .max_session_count = 16, .max_core_mbpf = NUM_MBS_8K * 2, .max_core_mbps = ((7680 * 4320) / 256) * 60, diff --git a/drivers/media/platform/qcom/iris/iris_resources.c b/drivers/media/platform/qcom/iris/iris_resources.c index 773f6548370a..caeaf199cef7 100644 --- a/drivers/media/platform/qcom/iris/iris_resources.c +++ b/drivers/media/platform/qcom/iris/iris_resources.c @@ -18,6 +18,7 @@ int iris_set_icc_bw(struct iris_core *core, unsigned long icc_bw) { + u32 icc_ib_multiplier = core->iris_platform_data->icc_ib_multiplier; unsigned long bw_kbps = 0, bw_prev = 0; const struct icc_info *icc_tbl; int ret = 0, i; @@ -36,6 +37,7 @@ int iris_set_icc_bw(struct iris_core *core, unsigned long icc_bw) return ret; core->icc_tbl[i].avg_bw = bw_kbps; + core->icc_tbl[i].peak_bw = bw_kbps * icc_ib_multiplier; core->power.icc_bw = bw_kbps; break; -- 2.47.3