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 B6B2B347FC0 for ; Sun, 26 Jul 2026 05:51:37 +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=1785045099; cv=none; b=QW5guzZVI2mVtD08L0jDiGT9o+8u0aNZ7Im2Ak9x9OO7r5mn6EMzXRoEz9x2wqVkFt64WZODZX8M54k9D5LBW9EVDibq/ZR9G0U7hYBFdcTVuCrhZ/AHxRbAb+g5BtEcxpEFWbvrAZZglA93l4pJrTr/4GdDaDF4mkuWK2XrHEQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785045099; c=relaxed/simple; bh=h5DMpNBYTzOe55aeFRp9dNOeZeJHfE4b9fvXSqVdjk0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=eKY5vKZnHxKO3i6URGLzUyc/dvew6ryNVGHL4ofRpcz0Ktx8ZZCEPFcPyd1F0gmjlEVawSUy5ld5DSGSrip8rInbt1epKzCw5O6ZkaPmKMc/2t8tpNub6ahuApI4QbgZORQnyGm+9Kq+PhZAg2b+pJdbULfLDZ4XjoUjfkQi4W4= 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=AED/YfFz; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=YgFadqDF; 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="AED/YfFz"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="YgFadqDF" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66Q5RVZ63980068 for ; Sun, 26 Jul 2026 05:51:36 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= kMgLneOLhVV51fSaQ1xIqLuDCHe6XasBQUPgKJgGFvg=; b=AED/YfFzk4H/ZrD2 QTGglTaB2TY1XnVpYVEu98xYtTQNUALeRqv7KVtbUpgvCL3i0q9k9VbF6ld4fjwQ jFeiYhDCP33Y9XQxG7/9qYlpQCyOjg2sm285U5hV+HASn/35jHwuxC0ia0jhPf3Y 2+o+eFvx3GRr08UdcHXE5ZKvOzywh/DBVSeYl5eMbO8Xdyhz7ylNZKN8S2J15PZa uD1OYWV8WC6QjGnHaAUDUbUs4BzyQwCQ5uy9GlmJGPRbuZlRwRgM8x/qPC8wUHC4 t+pZgGc1MUDzCpusgenpyzXXYksEZEpPq+o6SLXpNfQ/d9qPjCDadgOROZsXilhJ wlE6Mw== Received: from mail-pg1-f200.google.com (mail-pg1-f200.google.com [209.85.215.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fmmfgte09-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 26 Jul 2026 05:51:36 +0000 (GMT) Received: by mail-pg1-f200.google.com with SMTP id 41be03b00d2f7-cb5cc1e139bso1041101a12.3 for ; Sat, 25 Jul 2026 22:51:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785045095; x=1785649895; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=kMgLneOLhVV51fSaQ1xIqLuDCHe6XasBQUPgKJgGFvg=; b=YgFadqDFeHD48p/q/AlbYZ5M5vCqbKPQi9F3O05ambpRFKLtGe3xYvoVJTKYOjLz+m VpqDYz5wW20V/3CLzuvMtA4vsenGSP4zs9WR9csuBg8rSLCEpsgduyE4G7zHbF4XMx6L gkXL/Wqxjf7qHa3OXYPh+T6t99SR0hRg10u95k97VQOfxB0qsm/dV15YVQY0dGY2CZ7h 6pbNlqFCesUg43zGSeGENFRfpIcrmw86NFE8VGCqkLHBv97R1sI3XMsdpRfYTwLXsgwb FD8pVJa5aNLJYm3XyZWN/XCNL9FhMoJg7aO1egbxjaC6IePM6RKpG7uS+T0g46ORE9WJ IDYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785045095; x=1785649895; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=kMgLneOLhVV51fSaQ1xIqLuDCHe6XasBQUPgKJgGFvg=; b=J/8pqAPsA1BwCTNF/uNIyymHJ8Gn4RjrwYBwcLdY8ezpnEdkMELhwuMd3HN0WkgmiH 4hqsXS7EOYFPCPEXUYZO4IpmLfm2s3+1UxPwiqVt0lZjlRJHLbiImU9GgrodO9bFh2OE trEyzXVZhAiAlJJxcZLgtukU5DXxieKcPl6sAsFHfqF2PUPsw91geW5QCpXhW94GY1X7 mozl/4b+m1rc6Y9trH6npm4Id4Hb4afXNhdO0VkDETa6JruPQWkbMHH63dazHVp7FXdd f9NdYNyOx3hyOWlhtFxX+neL2mWTnVqwzml3OF5oGH7BfBgwmL168JixMdcaE2tPbnB2 pY7g== X-Gm-Message-State: AOJu0YySEPNYrqx0/HqLlyJCH+OsnCcBrLS2PhV2+L+S45D57rueBH84 MTdfHC8ykpsOc36SB03m/PQir433Trnr6DEwaUnBCZUvUi9ArBGjCof4WYz7FNjcE+FNgPhajsD NVV/sZPFaHn53FgFTS+ta3AIUwwQ8Ur74Er+MSKYZfQw8ZSQ+I9FdmnC/d0vAH5kdjPv5Tv+g7R Q= X-Gm-Gg: AR+sD121qdS+D8+5JmtmWd9gLHuMtVfCyJAtlyv0DaDMgHlvHYukmMNJeRWI0w2srq3 45VgaHmk4TdiuZs841sXOdLJ22gKEIIs+nqcctcxdPIjIBkiAJ3cwG06jQ18EG8vaYEXok5fxWi rdpCqIICkCbkmLGnRzMIIXfl3HbAZiTpyGeW61fxqdr0mOd2YeAR4GK4gZ5aDp8ji2RHQurKW7S xHIM834nMO5uKFwCKm9NonoCLsjTg87XPMCtLzXMIFeZhlyrU8TMYeoxwt5Hdy7UyTxuPdkKwQg 1cZMy6fmZos+Vp4Buwl8ISOHjeYQma66QrHsGdfqsoSC2jG5mUW+OskON6BKIXryptotAEKcN0v MwMRG8O/IMzZTmmfD7doS1wca5ygZUgqe9Q== X-Received: by 2002:a05:6a20:a10b:b0:3bf:a881:4094 with SMTP id adf61e73a8af0-3c67df58b6cmr3517143637.50.1785045095261; Sat, 25 Jul 2026 22:51:35 -0700 (PDT) X-Received: by 2002:a05:6a20:a10b:b0:3bf:a881:4094 with SMTP id adf61e73a8af0-3c67df58b6cmr3517124637.50.1785045094860; Sat, 25 Jul 2026 22:51:34 -0700 (PDT) Received: from hu-bvisredd-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13d130f55c6sm67106334c88.15.2026.07.25.22.51.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Jul 2026 22:51:34 -0700 (PDT) From: Vishnu Reddy Date: Sun, 26 Jul 2026 11:19:39 +0530 Subject: [PATCH v10 09/14] media: iris: Handle CPU_CS_SCIACMDARG3 register write via program bootup registers hook 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: <20260726-glymur-v10-9-de451559e88b@oss.qualcomm.com> References: <20260726-glymur-v10-0-de451559e88b@oss.qualcomm.com> In-Reply-To: <20260726-glymur-v10-0-de451559e88b@oss.qualcomm.com> To: Vikash Garodia , Dikshita Agarwal , Abhinav Kumar , Bryan O'Donoghue , Dmitry Baryshkov , Mauro Carvalho Chehab , "Joerg Roedel (AMD)" , Will Deacon , Robin Murphy , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Stanimir Varbanov , Bjorn Andersson , Konrad Dybcio Cc: linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, iommu@lists.linux.dev, devicetree@vger.kernel.org, Vishnu Reddy X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1785045024; l=3528; i=busanna.reddy@oss.qualcomm.com; s=20260216; h=from:subject:message-id; bh=h5DMpNBYTzOe55aeFRp9dNOeZeJHfE4b9fvXSqVdjk0=; b=Q3fdnYYwurHs0Psj2jmbiB/7zjP27y6enve684LT0v70Fz8DUgeAv+DJc4YW9x5A6G3u7d47M elgjTUdiBrUDvPVkaCGkVfZ5XS8tdCceAIO+jjNGoKi4OkydeoIkxJr X-Developer-Key: i=busanna.reddy@oss.qualcomm.com; a=ed25519; pk=9vmy9HahBKVAa+GBFj1yHVbz0ey/ucIs1hrlfx+qtok= X-Proofpoint-GUID: _4evN2GcGSYb8MLu-wrb6DNVJ2Azf7Pm X-Proofpoint-ORIG-GUID: _4evN2GcGSYb8MLu-wrb6DNVJ2Azf7Pm X-Authority-Analysis: v=2.4 cv=GdYnWwXL c=1 sm=1 tr=0 ts=6a65a068 cx=c_pps a=oF/VQ+ItUULfLr/lQ2/icg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=_-2Oxswyk2Zu2Y7AJ8cA:9 a=QEXdDO2ut3YA:10 a=3WC7DwWrALyhR5TkjVHa:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzI2MDA1NSBTYWx0ZWRfX6esMBMmGQO+n kEL+KP9NDRo4IMyEDY+OzWTTtdCFp+mTo1Z/Gpz+M5F7SX0/wQTgM7qWugNlUKPYsYt3LX8NodN +pRxjxICDe1uw80u+3qxGx84jyEaEXI= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzI2MDA1NSBTYWx0ZWRfXwjYX5vaKZ4U7 +MHsPyn4uOyoQe8NhwMBUFWdY5MwXYnYFJmEU4Dv/IbZ976lgy95sOaP76tLIutmeIsDDuXQcya dMtKpR7AH51gDwEM1sVvN5kZXsL+tLGJmh4le8vm/Z4QMY694zm0eHmyiBBeU2G2Dh76Bzj3DIa S2qGB/9HgVlVv/XHpq86dlfMf5ghzB7/b49QE3VmdU+jAiTnr1ZDvvKYL328AZXizATNXkDkNsd +/LDaeKNCHBjRwA6t3Ou/M8kRdm6Oz91dOGQlJSAQ5nRBYl8csi2Xf2dDfSE2WugSnwJjCe40rK 9byLiwgtqJK0Gi4gLklNQ4RjpP+mXCzv+k02V/T0kb/cWL4U65CAbodjfQpE6rGIcTZqJyTh1ZT WcBe4aht8QBZ3XtzczN17huFl8fApiaqPau20SHXbU32Hy6e4WrxDjm52Tca/mTFKAlB0F1A++v 9GZUieVaC1MlyglECTg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-26_01,2026-07-24_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 impostorscore=0 spamscore=0 malwarescore=0 phishscore=0 clxscore=1015 lowpriorityscore=0 bulkscore=0 suspectscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607260055 On the Glymur platform, the firmware reads CPU_CS_SCIACMDARG3 during boot to determine the VM count and increments it by 1. Writing the default 0x1 causes the firmware to treat the VM count as 2. To avoid that write 0x0 to CPU_CS_SCIACMDARG3 as a Glymur platform specific. Reviewed-by: Dmitry Baryshkov Signed-off-by: Vishnu Reddy --- drivers/media/platform/qcom/iris/iris_vpu3x.c | 6 ++++++ drivers/media/platform/qcom/iris/iris_vpu_common.c | 4 ++-- drivers/media/platform/qcom/iris/iris_vpu_register_defines.h | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/media/platform/qcom/iris/iris_vpu3x.c b/drivers/media/platform/qcom/iris/iris_vpu3x.c index 1b08461ee4d7..5212f7d4e606 100644 --- a/drivers/media/platform/qcom/iris/iris_vpu3x.c +++ b/drivers/media/platform/qcom/iris/iris_vpu3x.c @@ -328,6 +328,11 @@ static int iris_vpu36_set_hwmode(struct iris_core *core) return ret; } +static void iris_vpu36_program_bootup_registers(struct iris_core *core) +{ + writel(0x0, core->reg_base + CPU_CS_SCIACMDARG3); +} + const struct vpu_ops iris_vpu3_ops = { .power_off_hw = iris_vpu3_power_off_hardware, .power_on_hw = iris_vpu_power_on_hw, @@ -361,6 +366,7 @@ const struct vpu_ops iris_vpu36_ops = { .power_on_hw = iris_vpu36_power_on_hw, .power_off_controller = iris_vpu35_vpu4x_power_off_controller, .power_on_controller = iris_vpu35_vpu4x_power_on_controller, + .program_bootup_registers = iris_vpu36_program_bootup_registers, .calc_freq = iris_vpu3x_vpu4x_calculate_frequency, .set_hwmode = iris_vpu36_set_hwmode, }; diff --git a/drivers/media/platform/qcom/iris/iris_vpu_common.c b/drivers/media/platform/qcom/iris/iris_vpu_common.c index e690c566c875..72eb8f6240b7 100644 --- a/drivers/media/platform/qcom/iris/iris_vpu_common.c +++ b/drivers/media/platform/qcom/iris/iris_vpu_common.c @@ -26,7 +26,6 @@ #define QTBL_ENABLE BIT(0) #define QTBL_ADDR (CPU_CS_BASE_OFFS + 0x54) -#define CPU_CS_SCIACMDARG3 (CPU_CS_BASE_OFFS + 0x58) #define SFR_ADDR (CPU_CS_BASE_OFFS + 0x5C) #define UC_REGION_ADDR (CPU_CS_BASE_OFFS + 0x64) #define UC_REGION_SIZE (CPU_CS_BASE_OFFS + 0x68) @@ -67,6 +66,8 @@ static void iris_vpu_setup_ucregion_memory_map(struct iris_core *core) writel(value, core->reg_base + SFR_ADDR); } + writel(0x1, core->reg_base + CPU_CS_SCIACMDARG3); + if (vpu_ops->program_bootup_registers) vpu_ops->program_bootup_registers(core); } @@ -78,7 +79,6 @@ int iris_vpu_boot_firmware(struct iris_core *core) iris_vpu_setup_ucregion_memory_map(core); writel(ctrl_init, core->reg_base + CTRL_INIT); - writel(0x1, core->reg_base + CPU_CS_SCIACMDARG3); while (!ctrl_status && count < max_tries) { ctrl_status = readl(core->reg_base + CTRL_STATUS); diff --git a/drivers/media/platform/qcom/iris/iris_vpu_register_defines.h b/drivers/media/platform/qcom/iris/iris_vpu_register_defines.h index c44c85eac3b5..3782454b7d06 100644 --- a/drivers/media/platform/qcom/iris/iris_vpu_register_defines.h +++ b/drivers/media/platform/qcom/iris/iris_vpu_register_defines.h @@ -29,6 +29,7 @@ #define CPU_CS_A2HSOFTINTCLR (CPU_CS_BASE_OFFS + 0x1C) #define CLEAR_XTENSA2HOST_INTR BIT(0) +#define CPU_CS_SCIACMDARG3 (CPU_CS_BASE_OFFS + 0x58) #define CPU_CS_H2XSOFTINTEN (CPU_CS_BASE_OFFS + 0x148) #define HOST2XTENSA_INTR_ENABLE BIT(0) -- 2.34.1