From nobody Sun Dec 14 02:06:19 2025 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 8C7EB26560A for ; Fri, 8 Aug 2025 08:53:07 +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=1754643190; cv=none; b=F+8dxN4QonsIHA8//j9M/9rhlLYkjWgmdFz8UxAzlJP048Zy+KNwN6gk5/ODBglkmpQA2irHOtUYoDWfP1SQZBpoYk8qFKZ6esv5j5oBt2X9xAqrhqbNqV2OK3/l/AfBuHOLo6lRfpk3L0fMejrJ6Upbuyf6lAJRzLmUrFEfNPg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754643190; c=relaxed/simple; bh=VO/XqcSD3T9bRV+GvDZsTJwOmB/gxlb+z0LFlAiA8e0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Qs5XmGuaUtC4VpQxF47qg6o/a21wNbZ7gf22o9TdBdaTffqQefvTKmXEKuL2yU65nr0tiUUsKyrLm1dSSyizERsq+9ah+sNJk63rk7WC39q4j0qiSvO5uKaSi61QJmtdCu+GpXIS6ZIyoAJWeHhOmfH+EcshDViBtnM7UHTMbfA= 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=QO2vVE+W; 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="QO2vVE+W" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5786ls8V003607 for ; Fri, 8 Aug 2025 08:53:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=YY+jHz5mvoy usButmdCoBF7o4RYZY+zFj5xw1jAtys8=; b=QO2vVE+WImiB2QQHiDqCqsQQfy+ RKEuhoNN0jAyOPrnDz8Bbg8+msNSO/P+LXXGqp+/OdweCQ4XPsA2X7FLB5C0Yjoj pdIgeFOBO1V45AFoqZJ7GeBliptt8tO1DkxWqByXoQl5xcycYSTZIy/jSkxdfZUC ofXaYIaVWYc3jrbUA37B7u6HszAHw7bMxcRXRFGSDqm3HuvUGDFJ+ChdS5Dtk1LM l5N4RfbW/IHeuur9/rp6eCrasfUITJkxCqbVqyYqzuzK706a31QqHeQo/y179cPt cJ4WvE9fKS8zzI5gjioaLAuSiLM+I/PxcGxX6PIRn+wgQp9drn20r+cB9Mg== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48bpw01jpw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 08 Aug 2025 08:53:06 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-4af1a20cbcfso47303311cf.3 for ; Fri, 08 Aug 2025 01:53:06 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754643185; x=1755247985; 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=YY+jHz5mvoyusButmdCoBF7o4RYZY+zFj5xw1jAtys8=; b=GUBLieWk8gwcTq3XgKwAxbVn10CpBYlAfVfPn0/9H9b6eBTLbAY2MFNNYIjv7A10EC Ht50NouvRFfDVpa1l5nXPyoAD2jqCAwUALOft0vX3WY+VZsIYwgmjyhib2ffKvyj1f+R SUVaUKdX+OqWBQdF+p1m8hJp+SNMGVWe7GyIUirUk+eTsaRjqnjUusVjj3+YkAcZyZEw pUDSD9aZDKDcPkzueaOyVWtHi0rJVt9trVqjDMf9nMTexQGHUdaNMeSZyMWgkWeNpPIp EE2vlHN8qjBpIxmH57aoWtwWESJn0tu0vQn15kXTZwrZU0BB9aRQUXUhRWmO70xQhjSR kVsg== X-Forwarded-Encrypted: i=1; AJvYcCXyuWiuu5B4bYUtb8aKhB/VO8lzSZ5xiT5cPYwcJ2AeTHNaRu4KBR7f3/2jVFFhTy3kEfmws0nl9TcuQzo=@vger.kernel.org X-Gm-Message-State: AOJu0YzzD6f0HTBr6iFxbAkx+sQynqUVNBK2Xz5EmuH3IXdX4Zqk+JLT EapqHYQD1wbiKu1RZwXNZWphozMpf/nwQdSBYiGagfe66SGPwbZ0+ABCZY6S1mj99Nr1WslrBRK sFFc/RdDitXXB3j0Vg5euk9w3l2X9tHJT6pVa92nsnThFOCWTpD0uo5V2Y8L8G0Qi5T0vX7zC6k kb4w== X-Gm-Gg: ASbGnctXGQPfCUrvLW+7kYDzJVdidyCaDrGuF20Yk0O/IA0SfZWYORSDr4otZCsAW46 DMSF0ZMZUIL+nDjTgAoUlgrVWOcJJgWXlNw+owVVuQu+z9htJv/dYU8Tqov0WZLiyxVzkXHkJFu +yVimYWI4oOzrPtR6Wja+zvOSbQv1qJlVgVW0C6+sa+ceaFpQJgXDpy6TmDXR4BO8ESkpFT/J/j rYfAuiISVjzbLYQ9tCAG9/S6jhpjUAYiiAT3YdQTj7NRJIDnCItXPJy2piHrJ4LIvPLc8jRmnKx a2Hxfam3vf6zOJpiWteXvUctpxYK7RRkmIqujKJALkI917WL81LInOF5ne2HAQtBfZvJFl6lQkI 5kqLLGINGS/2A X-Received: by 2002:ac8:5a52:0:b0:4b0:71cb:5e2 with SMTP id d75a77b69052e-4b0aee53c93mr28851411cf.57.1754643185512; Fri, 08 Aug 2025 01:53:05 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFWE1wy483FvBMCB8gBXqvEqz7+Bjfkn4t+XKPgdXxmTF4S/YKJVwzhPdLQiJy08CuS7YtZ/w== X-Received: by 2002:ac8:5a52:0:b0:4b0:71cb:5e2 with SMTP id d75a77b69052e-4b0aee53c93mr28851201cf.57.1754643185091; Fri, 08 Aug 2025 01:53:05 -0700 (PDT) Received: from trex.. (205.red-83-60-94.dynamicip.rima-tde.net. [83.60.94.205]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-459e5e99e04sm123818745e9.11.2025.08.08.01.53.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Aug 2025 01:53:04 -0700 (PDT) From: Jorge Ramirez-Ortiz To: jorge.ramirez@oss.qualcomm.com, quic_vgarodia@quicinc.com, quic_dikshita@quicinc.com, bryan.odonoghue@linaro.org, krzk+dt@kernel.org, konradybcio@kernel.org, dmitry.baryshkov@oss.qualcomm.com, mchehab@kernel.org, robh@kernel.org, andersson@kernel.org Cc: linux-arm-msm@vger.kernel.org, linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v9 1/8] media: dt-bindings: venus: Add qcm2290 dt schema Date: Fri, 8 Aug 2025 10:52:53 +0200 Message-Id: <20250808085300.1403570-2-jorge.ramirez@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250808085300.1403570-1-jorge.ramirez@oss.qualcomm.com> References: <20250808085300.1403570-1-jorge.ramirez@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: 4v32ALHISjg1zV9yCtfI5Suds8IK4nZT X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODA2MDAwOSBTYWx0ZWRfX9cBdFeojYlh/ WnfRwrdtHRC0vhkidFOpW87osfzwMegD8ZZhVrceNWsh5AXaAptexxekF4VkwgomwQmWNlyIpOd XcsyujtGxTCMHtFPflMwZN4bCVUHz3CHHe295SP0C30Hq8EFK6qud8PZkoOK6S3c/JNhUGCRXY8 QFCl9YKwr6x1+rlav2pFOuCIov8YMKWnMId5/RPhTeiig2hKR9cfZgdsut6M1wp3D5m0A4wIhta SDtSuvDdnrbgCDzLHkaEzwZrB/uqCUyVNfPnl9sJO065+eiugf2ELyI4IC63iVQFk20Slsdb+4h i+hbCQLEbXqSSixDsHBvf6mvEt1j8TWmei6k5t7K737JA7RRUbRZbeqsnrO0+zFBLwFwl27mPvc 8LCD1sP6 X-Proofpoint-ORIG-GUID: 4v32ALHISjg1zV9yCtfI5Suds8IK4nZT X-Authority-Analysis: v=2.4 cv=NsLRc9dJ c=1 sm=1 tr=0 ts=6895baf2 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=Rr2dNH5/fcnoRoBmcVUeRg==:17 a=2OwXVqhp2XgA:10 a=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=Wl4eHCndyL1IYbKsAYUA:9 a=dawVfQjAaf238kedN5IG:22 a=sptkURWiP4Gy88Gu7hUp:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-08_02,2025-08-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 priorityscore=1501 impostorscore=0 bulkscore=0 phishscore=0 adultscore=0 malwarescore=0 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508060009 Content-Type: text/plain; charset="utf-8" Add a schema for the venus video encoder/decoder on the qcm2290. The order of the IOMMU list is strict: the first two entries correspond to non-secure IOMMUs, and the remaining three to secure IOMMUs. Signed-off-by: Jorge Ramirez-Ortiz Reviewed-by: Krzysztof Kozlowski Reviewed-by: Bryan O'Donoghue --- .../bindings/media/qcom,qcm2290-venus.yaml | 130 ++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/qcom,qcm2290-ve= nus.yaml diff --git a/Documentation/devicetree/bindings/media/qcom,qcm2290-venus.yam= l b/Documentation/devicetree/bindings/media/qcom,qcm2290-venus.yaml new file mode 100644 index 000000000000..3f3ee82fc878 --- /dev/null +++ b/Documentation/devicetree/bindings/media/qcom,qcm2290-venus.yaml @@ -0,0 +1,130 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/qcom,qcm2290-venus.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm QCM2290 Venus video encode and decode accelerators + +maintainers: + - Jorge Ramirez-Ortiz + +description: + The Venus AR50_LITE IP is a video encode and decode accelerator present + on Qualcomm platforms. + +allOf: + - $ref: qcom,venus-common.yaml# + +properties: + compatible: + const: qcom,qcm2290-venus + + power-domains: + maxItems: 3 + + power-domain-names: + items: + - const: venus + - const: vcodec0 + - const: cx + + clocks: + maxItems: 6 + + clock-names: + items: + - const: core + - const: iface + - const: bus + - const: throttle + - const: vcodec0_core + - const: vcodec0_bus + + iommus: + maxItems: 5 + + interconnects: + maxItems: 2 + + interconnect-names: + items: + - const: video-mem + - const: cpu-cfg + + operating-points-v2: true + opp-table: + type: object + +required: + - compatible + - power-domain-names + - iommus + +unevaluatedProperties: false + +examples: + - | + #include + #include + #include + #include + #include + + venus: video-codec@5a00000 { + compatible =3D "qcom,qcm2290-venus"; + reg =3D <0x5a00000 0xf0000>; + + interrupts =3D ; + + power-domains =3D <&gcc GCC_VENUS_GDSC>, + <&gcc GCC_VCODEC0_GDSC>, + <&rpmpd QCM2290_VDDCX>; + power-domain-names =3D "venus", + "vcodec0", + "cx"; + + operating-points-v2 =3D <&venus_opp_table>; + + clocks =3D <&gcc GCC_VIDEO_VENUS_CTL_CLK>, + <&gcc GCC_VIDEO_AHB_CLK>, + <&gcc GCC_VENUS_CTL_AXI_CLK>, + <&gcc GCC_VIDEO_THROTTLE_CORE_CLK>, + <&gcc GCC_VIDEO_VCODEC0_SYS_CLK>, + <&gcc GCC_VCODEC0_AXI_CLK>; + clock-names =3D "core", + "iface", + "bus", + "throttle", + "vcodec0_core", + "vcodec0_bus"; + + memory-region =3D <&pil_video_mem>; + + iommus =3D <&apps_smmu 0x860 0x0>, + <&apps_smmu 0x880 0x0>, + <&apps_smmu 0x861 0x04>, + <&apps_smmu 0x863 0x0>, + <&apps_smmu 0x804 0xe0>; + + interconnects =3D <&mmnrt_virt MASTER_VIDEO_P0 RPM_ALWAYS_TAG + &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>, + <&bimc MASTER_APPSS_PROC RPM_ACTIVE_TAG + &config_noc SLAVE_VENUS_CFG RPM_ACTIVE_TAG>; + interconnect-names =3D "video-mem", + "cpu-cfg"; + + venus_opp_table: opp-table { + compatible =3D "operating-points-v2"; + + opp-133333333 { + opp-hz =3D /bits/ 64 <133333333>; + required-opps =3D <&rpmpd_opp_low_svs>; + }; + + opp-240000000 { + opp-hz =3D /bits/ 64 <240000000>; + required-opps =3D <&rpmpd_opp_svs>; + }; + }; + }; --=20 2.34.1 From nobody Sun Dec 14 02:06:19 2025 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 24FFD25CC42 for ; Fri, 8 Aug 2025 08:53:09 +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=1754643191; cv=none; b=dDEYwOMsFKjdsy1aOYYh5eCLD6OkXBhqCaOal2tQn7JkovcAFOOWWsX77Sh1KTdjk2D3um9P69cfzwDv2KPJrspd6ObldNgWlXszCfqV0o5IxHtkD+Zg9xjOUJSgfE+ay7CxmU5teSICJbAecmqn+csE0qvNwrYGudhFXj+3W6o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754643191; c=relaxed/simple; bh=86PLTqk8gjY11xMPb1ytqtbNlgq74lMq8dDdY25h1Es=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=BvpH3pCUnl+CSESeeCjoQhDPKy8uQfvAqN4Do97YqfaT88zYPt0pQs4S0fx4U6+jbTDBmfVw0K6ToM38SagxSlF9kEBw4IYSpjN6nhcDNirYddvgtt1ZqoxoCqdYXfe5ZM0fPVtPiC050y8+nSd5WOvbWjfYT8ugYI6SKihDWms= 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=ZTNkVuJd; 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="ZTNkVuJd" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5787DAbm024771 for ; Fri, 8 Aug 2025 08:53:08 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=LWjsBg1VVIO yEmDu+biLKzIOgFeO6f57DCN9nQYGCOQ=; b=ZTNkVuJdMiEGp6rwYKZxVOE6XL1 onkGuEnM6BnUGNNpRuQX3LgFO6880dt+vFPrR6MPsoQYw7352YFx/wVIJdQMPb1E ipwY+e8gVdxbLde/2RIBRmLXIRYtPcqCdQejK8O3suLksYLaJ5ytt5LuTSuzD5mh Vhr8YsgUT4zIZOv8zYV3z2iTgRzxEY8Sri54klnmIBRnH88ueaaYOs8+/5W36QVc 6V+spgWXwl42OlrnERjaak39Jdoyb298gwwg48SDG6PFGQFdWRrPOBnUUEP52CSo gZg8LtRCw2NzQ7Mko/ILBOhGn66tgCc5scQgJV98f2xUPR0ZR7u8FUe5YMQ== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48bpw1h8y4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 08 Aug 2025 08:53:08 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4b08898f776so45321961cf.1 for ; Fri, 08 Aug 2025 01:53:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754643187; x=1755247987; 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=LWjsBg1VVIOyEmDu+biLKzIOgFeO6f57DCN9nQYGCOQ=; b=bZ5PdYrueJQbUCAdmYRw27TXAYp46ptBlbadDnZiLm3Nnd+IKIMG5e6jWlXEMJhf5M zaYytKTEWmyIKcBFJY/93GN9/RsK28jcKJvtJNX2bYmPVBjeD7lY/somUcjM0o48l+QD ewUqJQZskSRQNbOQ4Wai6/cFzqRzgpJ0Z+opiRfL2BaJT8rE0dYm+QR7PmZ3/K/wf3Bb K42p1oD5qhvK+siddqOXeVo2+wCRkLWj6bW9i+qJFFjOjhKVPh+DKbAhObqE6tZquc5h lulbhLE7PlpEAieQk6zDjGlGQitE8t3LteJ1PBGderVUjujraC2qtQsLZjVXUq6eLfLC 6t6A== X-Forwarded-Encrypted: i=1; AJvYcCXUz4Hm604ugMy7FDLpp3RFxK3A4A+tncy1qrjl87WAES0xH/Zz0j4NNrKfuiB1u/a64hHqEf3s31eXpzs=@vger.kernel.org X-Gm-Message-State: AOJu0YwByQO9y2h/MDaQk1zfzAjUEq7mSXYHbZvA3t1EZe5HObzuynNC b8raUgHAdRAA/dSbDbHe6G5dumwHXjAGA7Po/YcWeSs8bWpITpC0XCGAOBoqUO+d5HED0fix12F t2XPJWs6VHmjxozoikArLxbMboZT7jQ2u6Cma+4BmwiYRLEutV3wcLqmBbM8tAg093/c= X-Gm-Gg: ASbGncsQj7rIDjqvNzHqm1RrrD/lllmOYJ2zNA3wXnC7S9TE6PztwAkh+XNL3nyOPHF P5ixMaulE5Vyucq/PAFnyvjsqGRmuBP5jlyd5lUoY+L+qVEGkjcgGsGuGXvj1Xg61L+3fsDZgXW 3xmVMDIZ1pbzPYOP/mvKOHjXrNzj8Gv0BgLMu7rKQVFvfptU7TTaND9Z5+2tCRqzB8YaEGFkf1J ygnI3IEmBoaiQN6l6hTng1D4PmVga6OIRdVbI8JAjZYxBNpl3S4VhZzkDyg92Ex/Qky6IXOZvh9 Q0YpczVizw0MIZQZGQr5BnIvtL3Xmz5deVeZ30Xi/5Y0sFcEvL/C0i3vuPd8ubwc8PJvGOAC8+x eby85wUSyNhqq X-Received: by 2002:ac8:5850:0:b0:4b0:89c2:68e0 with SMTP id d75a77b69052e-4b0aed91060mr35026001cf.60.1754643187059; Fri, 08 Aug 2025 01:53:07 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF7RUIdmBYMOD81+aV8OkeQukTLiNggwRfZEF32hr+tFx7s53NFRvLQG7yLJg4gzZVHD7hfqw== X-Received: by 2002:ac8:5850:0:b0:4b0:89c2:68e0 with SMTP id d75a77b69052e-4b0aed91060mr35025721cf.60.1754643186578; Fri, 08 Aug 2025 01:53:06 -0700 (PDT) Received: from trex.. (205.red-83-60-94.dynamicip.rima-tde.net. [83.60.94.205]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-459e5e99e04sm123818745e9.11.2025.08.08.01.53.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Aug 2025 01:53:06 -0700 (PDT) From: Jorge Ramirez-Ortiz To: jorge.ramirez@oss.qualcomm.com, quic_vgarodia@quicinc.com, quic_dikshita@quicinc.com, bryan.odonoghue@linaro.org, krzk+dt@kernel.org, konradybcio@kernel.org, dmitry.baryshkov@oss.qualcomm.com, mchehab@kernel.org, robh@kernel.org, andersson@kernel.org Cc: linux-arm-msm@vger.kernel.org, linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v9 2/8] media: venus: Define minimum valid firmware version Date: Fri, 8 Aug 2025 10:52:54 +0200 Message-Id: <20250808085300.1403570-3-jorge.ramirez@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250808085300.1403570-1-jorge.ramirez@oss.qualcomm.com> References: <20250808085300.1403570-1-jorge.ramirez@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODA2MDAwOSBTYWx0ZWRfX+2tn2XuC1l2d GW8cSnpjcDzcT8sgNSqOCj1sLZ8JNFnzE+ykol4r+2xlxy6IAxvndqoZ/0sa9j+fJCkaVSc8R4S aDr0lnXT5b5Yk8HtEs5tuoUFz0afsHRqAY2AVVRkiJmQ2JRvCa3LYJZuTvk4r61d3DoCLj6sRPV vBcHf+p27GnzlFjcXL/wlOJrtJU8+Ss8i6O7153t3yuktj0Vi8S6uqWSYX0HqlhKxpgaybrJzKH 2Id+CFuYJKbxHcM9WJ8JDsqtz0n10XOAVZORhy4A18evIouxwsl3S/VPw7rjgrtP8XFRwGSnu9B LR8osT6AicWo06Q42NXMV5XqwJBQjzWI+B86DFcGJKMqo47eSTpt6OgVCf7EPNvTYEkjKrekyqs 2AFHzdWG X-Authority-Analysis: v=2.4 cv=Ha4UTjE8 c=1 sm=1 tr=0 ts=6895baf4 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=Rr2dNH5/fcnoRoBmcVUeRg==:17 a=2OwXVqhp2XgA:10 a=EUspDBNiAAAA:8 a=-5R0vqtSU2Fw_BP-RAMA:9 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-ORIG-GUID: VQVjkk1QX1fDx9og63yOAQ8oQkLQ_2Lw X-Proofpoint-GUID: VQVjkk1QX1fDx9og63yOAQ8oQkLQ_2Lw X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-08_02,2025-08-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 phishscore=0 bulkscore=0 adultscore=0 suspectscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508060009 Content-Type: text/plain; charset="utf-8" Add support for specifying the minimum firmware version required for correct operation. When set, the driver compares this value against the version reported by the firmware: if the firmware is older than required, driver initialization will fail. The version check is performed before creating dynamic device tree nodes, to avoid the need for reverting nodes on failure. Signed-off-by: Jorge Ramirez-Ortiz Reviewed-by: Bryan O'Donoghue Reviewed-by: Dikshita Agarwal --- drivers/media/platform/qcom/venus/core.c | 40 +++++++++++--------- drivers/media/platform/qcom/venus/core.h | 13 ++++--- drivers/media/platform/qcom/venus/firmware.c | 20 ++++++++++ drivers/media/platform/qcom/venus/firmware.h | 1 + 4 files changed, 51 insertions(+), 23 deletions(-) diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platf= orm/qcom/venus/core.c index 4c049c694d9c..f45715c9b222 100644 --- a/drivers/media/platform/qcom/venus/core.c +++ b/drivers/media/platform/qcom/venus/core.c @@ -448,19 +448,9 @@ static int venus_probe(struct platform_device *pdev) if (ret < 0) goto err_runtime_disable; =20 - if (core->res->dec_nodename || core->res->enc_nodename) { - ret =3D venus_add_dynamic_nodes(core); - if (ret) - goto err_runtime_disable; - } - - ret =3D of_platform_populate(dev->of_node, NULL, NULL, dev); - if (ret) - goto err_remove_dynamic_nodes; - ret =3D venus_firmware_init(core); if (ret) - goto err_of_depopulate; + goto err_runtime_disable; =20 ret =3D venus_boot(core); if (ret) @@ -474,34 +464,48 @@ static int venus_probe(struct platform_device *pdev) if (ret) goto err_venus_shutdown; =20 - ret =3D venus_enumerate_codecs(core, VIDC_SESSION_TYPE_DEC); + ret =3D venus_firmware_check(core); if (ret) goto err_core_deinit; =20 + if (core->res->dec_nodename || core->res->enc_nodename) { + ret =3D venus_add_dynamic_nodes(core); + if (ret) + goto err_core_deinit; + } + + ret =3D of_platform_populate(dev->of_node, NULL, NULL, dev); + if (ret) + goto err_remove_dynamic_nodes; + + ret =3D venus_enumerate_codecs(core, VIDC_SESSION_TYPE_DEC); + if (ret) + goto err_of_depopulate; + ret =3D venus_enumerate_codecs(core, VIDC_SESSION_TYPE_ENC); if (ret) - goto err_core_deinit; + goto err_of_depopulate; =20 ret =3D pm_runtime_put_sync(dev); if (ret) { pm_runtime_get_noresume(dev); - goto err_core_deinit; + goto err_of_depopulate; } =20 venus_dbgfs_init(core); =20 return 0; =20 +err_of_depopulate: + of_platform_depopulate(dev); +err_remove_dynamic_nodes: + venus_remove_dynamic_nodes(core); err_core_deinit: hfi_core_deinit(core, false); err_venus_shutdown: venus_shutdown(core); err_firmware_deinit: venus_firmware_deinit(core); -err_of_depopulate: - of_platform_depopulate(dev); -err_remove_dynamic_nodes: - venus_remove_dynamic_nodes(core); err_runtime_disable: pm_runtime_put_noidle(dev); pm_runtime_disable(dev); diff --git a/drivers/media/platform/qcom/venus/core.h b/drivers/media/platf= orm/qcom/venus/core.h index 5b1ba1c69adb..d1f0e9979ba4 100644 --- a/drivers/media/platform/qcom/venus/core.h +++ b/drivers/media/platform/qcom/venus/core.h @@ -58,6 +58,12 @@ enum vpu_version { VPU_VERSION_IRIS2_1, }; =20 +struct firmware_version { + u32 major; + u32 minor; + u32 rev; +}; + struct venus_resources { u64 dma_mask; const struct freq_tbl *freq_tbl; @@ -94,6 +100,7 @@ struct venus_resources { const char *fwname; const char *enc_nodename; const char *dec_nodename; + const struct firmware_version *min_fw; }; =20 enum venus_fmt { @@ -231,11 +238,7 @@ struct venus_core { unsigned int core0_usage_count; unsigned int core1_usage_count; struct dentry *root; - struct venus_img_version { - u32 major; - u32 minor; - u32 rev; - } venus_ver; + struct firmware_version venus_ver; unsigned long dump_core; struct of_changeset *ocs; bool hwmode_dev; diff --git a/drivers/media/platform/qcom/venus/firmware.c b/drivers/media/p= latform/qcom/venus/firmware.c index 66a18830e66d..3666675ae298 100644 --- a/drivers/media/platform/qcom/venus/firmware.c +++ b/drivers/media/platform/qcom/venus/firmware.c @@ -280,6 +280,26 @@ int venus_shutdown(struct venus_core *core) return ret; } =20 +int venus_firmware_check(struct venus_core *core) +{ + const struct firmware_version *req =3D core->res->min_fw; + const struct firmware_version *run =3D &core->venus_ver; + + if (!req) + return 0; + + if (!is_fw_rev_or_newer(core, req->major, req->minor, req->rev)) + goto error; + + return 0; +error: + dev_err(core->dev, "Firmware v%d.%d.%d < v%d.%d.%d\n", + run->major, run->minor, run->rev, + req->major, req->minor, req->rev); + + return -EINVAL; +} + int venus_firmware_init(struct venus_core *core) { struct platform_device_info info; diff --git a/drivers/media/platform/qcom/venus/firmware.h b/drivers/media/p= latform/qcom/venus/firmware.h index aaccd847fa30..ead39e3797f0 100644 --- a/drivers/media/platform/qcom/venus/firmware.h +++ b/drivers/media/platform/qcom/venus/firmware.h @@ -9,6 +9,7 @@ struct device; =20 int venus_firmware_init(struct venus_core *core); void venus_firmware_deinit(struct venus_core *core); +int venus_firmware_check(struct venus_core *core); int venus_boot(struct venus_core *core); int venus_shutdown(struct venus_core *core); int venus_set_hw_state(struct venus_core *core, bool suspend); --=20 2.34.1 From nobody Sun Dec 14 02:06:19 2025 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 5B67026D4C9 for ; Fri, 8 Aug 2025 08:53:11 +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=1754643194; cv=none; b=RPlS8UOWYbCPzo6o9aUbs2K3whjadH9tZbCRp3sI1xzw+QuwiB6xtI1mGBq6zZlSzdQzX0SK7lFOXMoDhBd4GO55RqHCqeJKuJMVaF6LMiJVLVoQY6hTBa0cs19LdU/9cFsLTxLv+OArYUek+7M1qFsHBLzKv0xkpQZ7bz1Y+4c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754643194; c=relaxed/simple; bh=+6C4LPML3NfvvR02fjzwhjEbKqGIAhPu8dODEfa/c8k=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Z0xZb37acotmm5fgaA2dgMUk0sOJPGSkiLqF5X38JCCu2z3vp5ai5JSanPKfNRU8psJfXufJlOr2iG1sG6YS8LtIoSOh85NzzmvmzbOk4qA2EIatLfahBVnFipsj3ogHSuIQzsbhbj/RGKGIYtAqRQNnI0Y8yb59Xgw2w6p1Waw= 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=jJR1Y0iH; 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="jJR1Y0iH" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5787HwKT032584 for ; Fri, 8 Aug 2025 08:53:10 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=erT6FgsYITm 4DjrP4oMwIaj7LUTO7TL8wVCRJ8xVJmc=; b=jJR1Y0iHBzD4S8IHNt8/Avw+OuQ D05VvOZrFNHOfeJliPgwxe3SqarNcJXp3iqWWyhQ6jjHUtwXrJkHSwy++qPLtelN ru6fJb0boqLff2VBKu16A9bPVgJdS+ELQpdywACG58NnREAzsOBKgLtWGtyVpRNw 74hXuh70esdlzqYtNMNCcxvyl5MIyxRhGiiDVFAIFeNqvWYKlMvyNnj7fY8OTLkB YCKHCx7erASiWsO53n+QnSLT4H33XRw6Ycf1GZkS5aaeTObi1t0JTlieSwI9wubb jm+gIuS3pO1jd/BxpKFi2+q7QFym1bDtB3OHbC6cNuJ9Rl4ZbEk68OJOCaQ== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48bpw39a9d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 08 Aug 2025 08:53:10 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4af14c04e5fso67121271cf.0 for ; Fri, 08 Aug 2025 01:53:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754643189; x=1755247989; 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=erT6FgsYITm4DjrP4oMwIaj7LUTO7TL8wVCRJ8xVJmc=; b=SZnlh9J/R1SSmxr2q5Ro8d60e5y96tMlz+TtxQ/H7ROKpR8bX515PGHVkMlH03/23L Kkxsjb1NX9GT2ZOsirEhW+i6981nxrY9E44t6QtOFkPDE1vDjyFB8M8wuPBh3MyaBT3X Fn1yuaPgMmWOljxYKaabsnkwR0+XtxPG5x5dLGFPvnkVhBjw2xWJSav80MHNA5swY+a0 V59eq/hMmxJPjkUyMNbv6vMMnGgLYAUwsvZV8hlR1Df1JzXfTFanFAwIGcCxH9cQJJ7E 3PP7viqtmM/iWtKix76S442LnnwWwEJeL0idTCK+coqOFoSo0zbRunf60DIomXDW0UxK MKGg== X-Forwarded-Encrypted: i=1; AJvYcCXA4WyaEGuAQZe7J9A7OExDrHM6PJF6efO/QouM2vRaBlB4Yxe5uDwc3NXHx/uqE1MvrZvMdUKGwVkgh4M=@vger.kernel.org X-Gm-Message-State: AOJu0YwKBltvJwt5wNUhRA+eb3NyDqEGmIh9ae95nIBd62e5Evw6kKCU dGmtpmUB7gwFtylWoAgEgM/B8OV8ivA01YHMQNWvsfp1ebdo9lAw9OwqVhwJfIy3CYifl2BTPvO N9O2cNjjLM55mP+po+kPwAxBQfxynQiFGLVcZ9dMZAVTD/ULTouRlEorV5/D6wAaN4KE= X-Gm-Gg: ASbGncu8tezGZNGJo8IRuhcVK/smJvOTEVjy8k+VDa2gN5y57aAi2hR8gmnuPP9daX/ MnDaGfhWebPjrFXjsDcNmImC0if01QzW9FfZVuySnZI/KbGT6zc9kCr76my7rcKn97OsyzEk10V S6m3vitBeU3s8iBELiX2rSOUls++zIfq7RgBhGn7oJ88QcAul6KN2EMpaEdO5kNOVYwvjF/SKwa AkZfQewEHuBrOUPV4rBJngIZ/cDa1A5yaju7vjYY26en+H73y1+LJ4AUurbqmJj/u9J4A8v7raG v3jPPIy8xClIJFmg8huP86CM2Ve/PqYhNDYN8/xnWWX+XbBfnthRuMJTPFAR55ge6O0MLQ5YDA0 Bw7AswrFyCqYr X-Received: by 2002:a05:622a:1a10:b0:4b0:7d41:1c15 with SMTP id d75a77b69052e-4b0aec801d9mr32575871cf.13.1754643188666; Fri, 08 Aug 2025 01:53:08 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHSB91+13Bk9HAV9vnI+VkVHKjar0z3V/K7CCssypZkJCp24L1SfPHPuC+8SW36eqMhfq/VRg== X-Received: by 2002:a05:622a:1a10:b0:4b0:7d41:1c15 with SMTP id d75a77b69052e-4b0aec801d9mr32575621cf.13.1754643188098; Fri, 08 Aug 2025 01:53:08 -0700 (PDT) Received: from trex.. (205.red-83-60-94.dynamicip.rima-tde.net. [83.60.94.205]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-459e5e99e04sm123818745e9.11.2025.08.08.01.53.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Aug 2025 01:53:07 -0700 (PDT) From: Jorge Ramirez-Ortiz To: jorge.ramirez@oss.qualcomm.com, quic_vgarodia@quicinc.com, quic_dikshita@quicinc.com, bryan.odonoghue@linaro.org, krzk+dt@kernel.org, konradybcio@kernel.org, dmitry.baryshkov@oss.qualcomm.com, mchehab@kernel.org, robh@kernel.org, andersson@kernel.org Cc: linux-arm-msm@vger.kernel.org, linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v9 3/8] media: venus: Add framework support for AR50_LITE video core Date: Fri, 8 Aug 2025 10:52:55 +0200 Message-Id: <20250808085300.1403570-4-jorge.ramirez@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250808085300.1403570-1-jorge.ramirez@oss.qualcomm.com> References: <20250808085300.1403570-1-jorge.ramirez@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODA2MDAwOCBTYWx0ZWRfX/w1YE5Y4ZcK5 lF89abZveSKdtQ/ZnjDiox7NLxGpjWfJ9Fd4+5zwdbebrWPN20/9TnDayzxm0ZgUUBessu6f5bv 58NdNvCvv0Ne4r3X3QWAsrsQcapMuAD0BQYLu8l6nGAIaa/1ZDyMUYhE/FJEFn075tEe+nlxO0S H1lEW1B2S1SK51UMvy6/R1TjDzJKehClM47D9Q69g5q2LDpyW9FWio6WMYKUbQ+Z9+W9i68dekB V1/6YTrB0NMCHREdmfz8T6MoZ2kiok1NrdaPx/MZgV+AHYcuLWwbfYwaM7u+unTvITHjPDfwxgM XiRrXpLHXhXszfIEF2a2slZYh6XdM3xVQacjf9YuTTvA05e4ZSbu8g/Ndp+R8OViX3NzlPuMrld spckRtYa X-Authority-Analysis: v=2.4 cv=J8Cq7BnS c=1 sm=1 tr=0 ts=6895baf6 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=Rr2dNH5/fcnoRoBmcVUeRg==:17 a=2OwXVqhp2XgA:10 a=EUspDBNiAAAA:8 a=Lx8wuK3jDdDcXj4SiTEA:9 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-GUID: m0s61A6OXVXSTzUGErJJHCLlWzJn-SpH X-Proofpoint-ORIG-GUID: m0s61A6OXVXSTzUGErJJHCLlWzJn-SpH X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-08_02,2025-08-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 bulkscore=0 priorityscore=1501 adultscore=0 malwarescore=0 clxscore=1015 impostorscore=0 suspectscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508060008 Content-Type: text/plain; charset="utf-8" The AR50_LITE is a simplified variant of the AR50 video core, designed for power and cost-efficient platforms. It supports hardware-accelerated decoding of H.264, HEVC, and VP9 formats, and provides encoding support for H.264 and HEVC. This commit prepares the framework to enable the AR50_LITE (it does not enable it). Signed-off-by: Jorge Ramirez-Ortiz Reviewed-by: Bryan O'Donoghue Reviewed-by: Dikshita Agarwal --- drivers/media/platform/qcom/venus/core.c | 15 ++++++-- drivers/media/platform/qcom/venus/core.h | 5 +++ drivers/media/platform/qcom/venus/firmware.c | 10 ++++++ drivers/media/platform/qcom/venus/firmware.h | 1 + drivers/media/platform/qcom/venus/helpers.c | 12 +++++-- .../media/platform/qcom/venus/hfi_parser.c | 2 +- .../media/platform/qcom/venus/hfi_platform.c | 23 ++++++++----- .../media/platform/qcom/venus/hfi_platform.h | 34 ++++++++++++------- .../platform/qcom/venus/hfi_platform_v4.c | 33 +++++++++++++----- .../platform/qcom/venus/hfi_platform_v6.c | 33 +++++++++++++----- drivers/media/platform/qcom/venus/hfi_venus.c | 25 ++++++++++---- .../media/platform/qcom/venus/hfi_venus_io.h | 4 +++ .../media/platform/qcom/venus/pm_helpers.c | 2 +- 13 files changed, 145 insertions(+), 54 deletions(-) diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platf= orm/qcom/venus/core.c index f45715c9b222..adc38fbc9d79 100644 --- a/drivers/media/platform/qcom/venus/core.c +++ b/drivers/media/platform/qcom/venus/core.c @@ -254,14 +254,19 @@ static int venus_enumerate_codecs(struct venus_core *= core, u32 type) =20 static void venus_assign_register_offsets(struct venus_core *core) { - if (IS_IRIS2(core) || IS_IRIS2_1(core)) { - core->vbif_base =3D core->base + VBIF_BASE; + if (IS_IRIS2(core) || IS_IRIS2_1(core) || IS_AR50_LITE(core)) { core->cpu_base =3D core->base + CPU_BASE_V6; core->cpu_cs_base =3D core->base + CPU_CS_BASE_V6; core->cpu_ic_base =3D core->base + CPU_IC_BASE_V6; core->wrapper_base =3D core->base + WRAPPER_BASE_V6; core->wrapper_tz_base =3D core->base + WRAPPER_TZ_BASE_V6; - core->aon_base =3D core->base + AON_BASE_V6; + if (IS_AR50_LITE(core)) { + core->vbif_base =3D NULL; + core->aon_base =3D NULL; + } else { + core->vbif_base =3D core->base + VBIF_BASE; + core->aon_base =3D core->base + AON_BASE_V6; + } } else { core->vbif_base =3D core->base + VBIF_BASE; core->cpu_base =3D core->base + CPU_BASE; @@ -456,6 +461,10 @@ static int venus_probe(struct platform_device *pdev) if (ret) goto err_firmware_deinit; =20 + ret =3D venus_firmware_cfg(core); + if (ret) + goto err_venus_shutdown; + ret =3D hfi_core_resume(core, true); if (ret) goto err_venus_shutdown; diff --git a/drivers/media/platform/qcom/venus/core.h b/drivers/media/platf= orm/qcom/venus/core.h index d1f0e9979ba4..ef80a7666597 100644 --- a/drivers/media/platform/qcom/venus/core.h +++ b/drivers/media/platform/qcom/venus/core.h @@ -533,6 +533,11 @@ struct venus_inst { #define IS_IRIS2(core) ((core)->res->vpu_version =3D=3D VPU_VERSION_IRIS2) #define IS_IRIS2_1(core) ((core)->res->vpu_version =3D=3D VPU_VERSION_IRIS= 2_1) =20 +static inline bool is_lite(struct venus_core *core) +{ + return IS_AR50_LITE(core); +} + #define ctrl_to_inst(ctrl) \ container_of((ctrl)->handler, struct venus_inst, ctrl_handler) =20 diff --git a/drivers/media/platform/qcom/venus/firmware.c b/drivers/media/p= latform/qcom/venus/firmware.c index 3666675ae298..2483998360f7 100644 --- a/drivers/media/platform/qcom/venus/firmware.c +++ b/drivers/media/platform/qcom/venus/firmware.c @@ -207,6 +207,16 @@ static int venus_shutdown_no_tz(struct venus_core *cor= e) return 0; } =20 +int venus_firmware_cfg(struct venus_core *core) +{ + void __iomem *cpu_cs_base =3D core->cpu_cs_base; + + if (IS_AR50_LITE(core)) + writel(CPU_CS_VCICMD_ARP_OFF, cpu_cs_base + CPU_CS_VCICMD); + + return 0; +} + int venus_boot(struct venus_core *core) { struct device *dev =3D core->dev; diff --git a/drivers/media/platform/qcom/venus/firmware.h b/drivers/media/p= latform/qcom/venus/firmware.h index ead39e3797f0..87e1d922b369 100644 --- a/drivers/media/platform/qcom/venus/firmware.h +++ b/drivers/media/platform/qcom/venus/firmware.h @@ -10,6 +10,7 @@ struct device; int venus_firmware_init(struct venus_core *core); void venus_firmware_deinit(struct venus_core *core); int venus_firmware_check(struct venus_core *core); +int venus_firmware_cfg(struct venus_core *core); int venus_boot(struct venus_core *core); int venus_shutdown(struct venus_core *core); int venus_set_hw_state(struct venus_core *core, bool suspend); diff --git a/drivers/media/platform/qcom/venus/helpers.c b/drivers/media/pl= atform/qcom/venus/helpers.c index 8295542e1a7c..2e4363f82231 100644 --- a/drivers/media/platform/qcom/venus/helpers.c +++ b/drivers/media/platform/qcom/venus/helpers.c @@ -1715,11 +1715,17 @@ int venus_helper_session_init(struct venus_inst *in= st) if (ret) return ret; =20 - inst->clk_data.vpp_freq =3D hfi_platform_get_codec_vpp_freq(version, code= c, + inst->clk_data.vpp_freq =3D hfi_platform_get_codec_vpp_freq(inst->core, + version, + codec, session_type); - inst->clk_data.vsp_freq =3D hfi_platform_get_codec_vsp_freq(version, code= c, + inst->clk_data.vsp_freq =3D hfi_platform_get_codec_vsp_freq(inst->core, + version, + codec, session_type); - inst->clk_data.low_power_freq =3D hfi_platform_get_codec_lp_freq(version,= codec, + inst->clk_data.low_power_freq =3D hfi_platform_get_codec_lp_freq(inst->co= re, + version, + codec, session_type); =20 return 0; diff --git a/drivers/media/platform/qcom/venus/hfi_parser.c b/drivers/media= /platform/qcom/venus/hfi_parser.c index 1b3db2caa99f..92765f9c8873 100644 --- a/drivers/media/platform/qcom/venus/hfi_parser.c +++ b/drivers/media/platform/qcom/venus/hfi_parser.c @@ -282,7 +282,7 @@ static int hfi_platform_parser(struct venus_core *core,= struct venus_inst *inst) return ret; =20 if (plat->capabilities) - caps =3D plat->capabilities(&entries); + caps =3D plat->capabilities(core, &entries); =20 if (!caps || !entries || !count) return -EINVAL; diff --git a/drivers/media/platform/qcom/venus/hfi_platform.c b/drivers/med= ia/platform/qcom/venus/hfi_platform.c index 643e5aa138f5..cde7f93045ac 100644 --- a/drivers/media/platform/qcom/venus/hfi_platform.c +++ b/drivers/media/platform/qcom/venus/hfi_platform.c @@ -21,7 +21,9 @@ const struct hfi_platform *hfi_platform_get(enum hfi_vers= ion version) } =20 unsigned long -hfi_platform_get_codec_vpp_freq(enum hfi_version version, u32 codec, u32 s= ession_type) +hfi_platform_get_codec_vpp_freq(struct venus_core *core, + enum hfi_version version, u32 codec, + u32 session_type) { const struct hfi_platform *plat; unsigned long freq =3D 0; @@ -31,13 +33,15 @@ hfi_platform_get_codec_vpp_freq(enum hfi_version versio= n, u32 codec, u32 session return 0; =20 if (plat->codec_vpp_freq) - freq =3D plat->codec_vpp_freq(session_type, codec); + freq =3D plat->codec_vpp_freq(core, session_type, codec); =20 return freq; } =20 unsigned long -hfi_platform_get_codec_vsp_freq(enum hfi_version version, u32 codec, u32 s= ession_type) +hfi_platform_get_codec_vsp_freq(struct venus_core *core, + enum hfi_version version, u32 codec, + u32 session_type) { const struct hfi_platform *plat; unsigned long freq =3D 0; @@ -47,13 +51,15 @@ hfi_platform_get_codec_vsp_freq(enum hfi_version versio= n, u32 codec, u32 session return 0; =20 if (plat->codec_vpp_freq) - freq =3D plat->codec_vsp_freq(session_type, codec); + freq =3D plat->codec_vsp_freq(core, session_type, codec); =20 return freq; } =20 unsigned long -hfi_platform_get_codec_lp_freq(enum hfi_version version, u32 codec, u32 se= ssion_type) +hfi_platform_get_codec_lp_freq(struct venus_core *core, + enum hfi_version version, u32 codec, + u32 session_type) { const struct hfi_platform *plat; unsigned long freq =3D 0; @@ -63,13 +69,14 @@ hfi_platform_get_codec_lp_freq(enum hfi_version version= , u32 codec, u32 session_ return 0; =20 if (plat->codec_lp_freq) - freq =3D plat->codec_lp_freq(session_type, codec); + freq =3D plat->codec_lp_freq(core, session_type, codec); =20 return freq; } =20 int -hfi_platform_get_codecs(struct venus_core *core, u32 *enc_codecs, u32 *dec= _codecs, u32 *count) +hfi_platform_get_codecs(struct venus_core *core, u32 *enc_codecs, + u32 *dec_codecs, u32 *count) { const struct hfi_platform *plat; =20 @@ -78,7 +85,7 @@ hfi_platform_get_codecs(struct venus_core *core, u32 *enc= _codecs, u32 *dec_codec return -EINVAL; =20 if (plat->codecs) - plat->codecs(enc_codecs, dec_codecs, count); + plat->codecs(core, enc_codecs, dec_codecs, count); =20 if (IS_IRIS2_1(core)) { *enc_codecs &=3D ~HFI_VIDEO_CODEC_VP8; diff --git a/drivers/media/platform/qcom/venus/hfi_platform.h b/drivers/med= ia/platform/qcom/venus/hfi_platform.h index ec89a90a8129..5e4f8013a6b1 100644 --- a/drivers/media/platform/qcom/venus/hfi_platform.h +++ b/drivers/media/platform/qcom/venus/hfi_platform.h @@ -47,11 +47,16 @@ struct hfi_platform_codec_freq_data { }; =20 struct hfi_platform { - unsigned long (*codec_vpp_freq)(u32 session_type, u32 codec); - unsigned long (*codec_vsp_freq)(u32 session_type, u32 codec); - unsigned long (*codec_lp_freq)(u32 session_type, u32 codec); - void (*codecs)(u32 *enc_codecs, u32 *dec_codecs, u32 *count); - const struct hfi_plat_caps *(*capabilities)(unsigned int *entries); + unsigned long (*codec_vpp_freq)(struct venus_core *core, + u32 session_type, u32 codec); + unsigned long (*codec_vsp_freq)(struct venus_core *core, + u32 session_type, u32 codec); + unsigned long (*codec_lp_freq)(struct venus_core *core, + u32 session_type, u32 codec); + void (*codecs)(struct venus_core *core, u32 *enc_codecs, + u32 *dec_codecs, u32 *count); + const struct hfi_plat_caps *(*capabilities)(struct venus_core *core, + unsigned int *entries); int (*bufreq)(struct hfi_plat_buffers_params *params, u32 session_type, u32 buftype, struct hfi_buffer_requirements *bufreq); }; @@ -60,12 +65,15 @@ extern const struct hfi_platform hfi_plat_v4; extern const struct hfi_platform hfi_plat_v6; =20 const struct hfi_platform *hfi_platform_get(enum hfi_version version); -unsigned long hfi_platform_get_codec_vpp_freq(enum hfi_version version, u3= 2 codec, - u32 session_type); -unsigned long hfi_platform_get_codec_vsp_freq(enum hfi_version version, u3= 2 codec, - u32 session_type); -unsigned long hfi_platform_get_codec_lp_freq(enum hfi_version version, u32= codec, - u32 session_type); -int hfi_platform_get_codecs(struct venus_core *core, u32 *enc_codecs, u32 = *dec_codecs, - u32 *count); +unsigned long hfi_platform_get_codec_vpp_freq(struct venus_core *core, + enum hfi_version version, + u32 codec, u32 session_type); +unsigned long hfi_platform_get_codec_vsp_freq(struct venus_core *core, + enum hfi_version version, + u32 codec, u32 session_type); +unsigned long hfi_platform_get_codec_lp_freq(struct venus_core *core, + enum hfi_version version, + u32 codec, u32 session_type); +int hfi_platform_get_codecs(struct venus_core *core, u32 *enc_codecs, + u32 *dec_codecs, u32 *count); #endif diff --git a/drivers/media/platform/qcom/venus/hfi_platform_v4.c b/drivers/= media/platform/qcom/venus/hfi_platform_v4.c index e3f0a90a567b..41e4dc28ec1b 100644 --- a/drivers/media/platform/qcom/venus/hfi_platform_v4.c +++ b/drivers/media/platform/qcom/venus/hfi_platform_v4.c @@ -2,6 +2,7 @@ /* * Copyright (c) 2020, The Linux Foundation. All rights reserved. */ +#include "core.h" #include "hfi_platform.h" =20 static const struct hfi_plat_caps caps[] =3D { @@ -245,14 +246,22 @@ static const struct hfi_plat_caps caps[] =3D { .num_fmts =3D 4, } }; =20 -static const struct hfi_plat_caps *get_capabilities(unsigned int *entries) +static const struct hfi_plat_caps *get_capabilities(struct venus_core *cor= e, + unsigned int *entries) { + if (is_lite(core)) + return NULL; + *entries =3D ARRAY_SIZE(caps); return caps; } =20 -static void get_codecs(u32 *enc_codecs, u32 *dec_codecs, u32 *count) +static void get_codecs(struct venus_core *core, + u32 *enc_codecs, u32 *dec_codecs, u32 *count) { + if (is_lite(core)) + return; + *enc_codecs =3D HFI_VIDEO_CODEC_H264 | HFI_VIDEO_CODEC_HEVC | HFI_VIDEO_CODEC_VP8; *dec_codecs =3D HFI_VIDEO_CODEC_H264 | HFI_VIDEO_CODEC_HEVC | @@ -273,12 +282,15 @@ static const struct hfi_platform_codec_freq_data code= c_freq_data[] =3D { }; =20 static const struct hfi_platform_codec_freq_data * -get_codec_freq_data(u32 session_type, u32 pixfmt) +get_codec_freq_data(struct venus_core *core, u32 session_type, u32 pixfmt) { const struct hfi_platform_codec_freq_data *data =3D codec_freq_data; unsigned int i, data_size =3D ARRAY_SIZE(codec_freq_data); const struct hfi_platform_codec_freq_data *found =3D NULL; =20 + if (is_lite(core)) + return NULL; + for (i =3D 0; i < data_size; i++) { if (data[i].pixfmt =3D=3D pixfmt && data[i].session_type =3D=3D session_= type) { found =3D &data[i]; @@ -289,33 +301,36 @@ get_codec_freq_data(u32 session_type, u32 pixfmt) return found; } =20 -static unsigned long codec_vpp_freq(u32 session_type, u32 codec) +static unsigned long codec_vpp_freq(struct venus_core *core, + u32 session_type, u32 codec) { const struct hfi_platform_codec_freq_data *data; =20 - data =3D get_codec_freq_data(session_type, codec); + data =3D get_codec_freq_data(core, session_type, codec); if (data) return data->vpp_freq; =20 return 0; } =20 -static unsigned long codec_vsp_freq(u32 session_type, u32 codec) +static unsigned long codec_vsp_freq(struct venus_core *core, + u32 session_type, u32 codec) { const struct hfi_platform_codec_freq_data *data; =20 - data =3D get_codec_freq_data(session_type, codec); + data =3D get_codec_freq_data(core, session_type, codec); if (data) return data->vsp_freq; =20 return 0; } =20 -static unsigned long codec_lp_freq(u32 session_type, u32 codec) +static unsigned long codec_lp_freq(struct venus_core *core, + u32 session_type, u32 codec) { const struct hfi_platform_codec_freq_data *data; =20 - data =3D get_codec_freq_data(session_type, codec); + data =3D get_codec_freq_data(core, session_type, codec); if (data) return data->low_power_freq; =20 diff --git a/drivers/media/platform/qcom/venus/hfi_platform_v6.c b/drivers/= media/platform/qcom/venus/hfi_platform_v6.c index 4e8af645f8b9..d8568c08cc36 100644 --- a/drivers/media/platform/qcom/venus/hfi_platform_v6.c +++ b/drivers/media/platform/qcom/venus/hfi_platform_v6.c @@ -2,6 +2,7 @@ /* * Copyright (c) 2020, The Linux Foundation. All rights reserved. */ +#include "core.h" #include "hfi_platform.h" =20 static const struct hfi_plat_caps caps[] =3D { @@ -245,14 +246,22 @@ static const struct hfi_plat_caps caps[] =3D { .num_fmts =3D 4, } }; =20 -static const struct hfi_plat_caps *get_capabilities(unsigned int *entries) +static const struct hfi_plat_caps *get_capabilities(struct venus_core *cor= e, + unsigned int *entries) { + if (is_lite(core)) + return NULL; + *entries =3D ARRAY_SIZE(caps); return caps; } =20 -static void get_codecs(u32 *enc_codecs, u32 *dec_codecs, u32 *count) +static void get_codecs(struct venus_core *core, u32 *enc_codecs, + u32 *dec_codecs, u32 *count) { + if (is_lite(core)) + return; + *enc_codecs =3D HFI_VIDEO_CODEC_H264 | HFI_VIDEO_CODEC_HEVC | HFI_VIDEO_CODEC_VP8; *dec_codecs =3D HFI_VIDEO_CODEC_H264 | HFI_VIDEO_CODEC_HEVC | @@ -273,12 +282,15 @@ static const struct hfi_platform_codec_freq_data code= c_freq_data[] =3D { }; =20 static const struct hfi_platform_codec_freq_data * -get_codec_freq_data(u32 session_type, u32 pixfmt) +get_codec_freq_data(struct venus_core *core, u32 session_type, u32 pixfmt) { const struct hfi_platform_codec_freq_data *data =3D codec_freq_data; unsigned int i, data_size =3D ARRAY_SIZE(codec_freq_data); const struct hfi_platform_codec_freq_data *found =3D NULL; =20 + if (is_lite(core)) + return NULL; + for (i =3D 0; i < data_size; i++) { if (data[i].pixfmt =3D=3D pixfmt && data[i].session_type =3D=3D session_= type) { found =3D &data[i]; @@ -289,33 +301,36 @@ get_codec_freq_data(u32 session_type, u32 pixfmt) return found; } =20 -static unsigned long codec_vpp_freq(u32 session_type, u32 codec) +static unsigned long codec_vpp_freq(struct venus_core *core, u32 session_t= ype, + u32 codec) { const struct hfi_platform_codec_freq_data *data; =20 - data =3D get_codec_freq_data(session_type, codec); + data =3D get_codec_freq_data(core, session_type, codec); if (data) return data->vpp_freq; =20 return 0; } =20 -static unsigned long codec_vsp_freq(u32 session_type, u32 codec) +static unsigned long codec_vsp_freq(struct venus_core *core, u32 session_t= ype, + u32 codec) { const struct hfi_platform_codec_freq_data *data; =20 - data =3D get_codec_freq_data(session_type, codec); + data =3D get_codec_freq_data(core, session_type, codec); if (data) return data->vsp_freq; =20 return 0; } =20 -static unsigned long codec_lp_freq(u32 session_type, u32 codec) +static unsigned long codec_lp_freq(struct venus_core *core, u32 session_ty= pe, + u32 codec) { const struct hfi_platform_codec_freq_data *data; =20 - data =3D get_codec_freq_data(session_type, codec); + data =3D get_codec_freq_data(core, session_type, codec); if (data) return data->low_power_freq; =20 diff --git a/drivers/media/platform/qcom/venus/hfi_venus.c b/drivers/media/= platform/qcom/venus/hfi_venus.c index cec7f5964d3d..d3da35f67fd5 100644 --- a/drivers/media/platform/qcom/venus/hfi_venus.c +++ b/drivers/media/platform/qcom/venus/hfi_venus.c @@ -380,7 +380,7 @@ static void venus_soft_int(struct venus_hfi_device *hde= v) void __iomem *cpu_ic_base =3D hdev->core->cpu_ic_base; u32 clear_bit; =20 - if (IS_V6(hdev->core)) + if (IS_V6(hdev->core) || (IS_V4(hdev->core) && is_lite(hdev->core))) clear_bit =3D BIT(CPU_IC_SOFTINT_H2A_SHIFT_V6); else clear_bit =3D BIT(CPU_IC_SOFTINT_H2A_SHIFT); @@ -501,9 +501,11 @@ static int venus_boot_core(struct venus_hfi_device *hd= ev) if (count >=3D max_tries) ret =3D -ETIMEDOUT; =20 - if (IS_IRIS2(hdev->core) || IS_IRIS2_1(hdev->core)) { + if (IS_IRIS2(hdev->core) || IS_IRIS2_1(hdev->core) || IS_AR50_LITE(hdev->= core)) { writel(0x1, cpu_cs_base + CPU_CS_H2XSOFTINTEN_V6); - writel(0x0, cpu_cs_base + CPU_CS_X2RPMH_V6); + + if (!IS_AR50_LITE(hdev->core)) + writel(0x0, cpu_cs_base + CPU_CS_X2RPMH_V6); } =20 return ret; @@ -569,6 +571,9 @@ static int venus_halt_axi(struct venus_hfi_device *hdev) u32 mask_val; int ret; =20 + if (IS_AR50_LITE(hdev->core)) + return 0; + if (IS_IRIS2(hdev->core) || IS_IRIS2_1(hdev->core)) { writel(0x3, cpu_cs_base + CPU_CS_X2RPMH_V6); =20 @@ -1138,7 +1143,13 @@ static irqreturn_t venus_isr(struct venus_core *core) wrapper_base =3D hdev->core->wrapper_base; =20 status =3D readl(wrapper_base + WRAPPER_INTR_STATUS); - if (IS_IRIS2(core) || IS_IRIS2_1(core)) { + + if (IS_AR50_LITE(core)) { + if (status & WRAPPER_INTR_STATUS_A2H_MASK || + status & WRAPPER_INTR_STATUS_A2HWD_MASK_V4_LITE || + status & CPU_CS_SCIACMDARG0_INIT_IDLE_MSG_MASK) + hdev->irq_status =3D status; + } else if (IS_IRIS2(core) || IS_IRIS2_1(core)) { if (status & WRAPPER_INTR_STATUS_A2H_MASK || status & WRAPPER_INTR_STATUS_A2HWD_MASK_V6 || status & CPU_CS_SCIACMDARG0_INIT_IDLE_MSG_MASK) @@ -1150,7 +1161,7 @@ static irqreturn_t venus_isr(struct venus_core *core) hdev->irq_status =3D status; } writel(1, cpu_cs_base + CPU_CS_A2HSOFTINTCLR); - if (!(IS_IRIS2(core) || IS_IRIS2_1(core))) + if (!(IS_IRIS2(core) || IS_IRIS2_1(core) || IS_AR50_LITE(core))) writel(status, wrapper_base + WRAPPER_INTR_CLEAR); =20 return IRQ_WAKE_THREAD; @@ -1535,7 +1546,7 @@ static bool venus_cpu_and_video_core_idle(struct venu= s_hfi_device *hdev) void __iomem *cpu_cs_base =3D hdev->core->cpu_cs_base; u32 ctrl_status, cpu_status; =20 - if (IS_IRIS2(hdev->core) || IS_IRIS2_1(hdev->core)) + if (IS_IRIS2(hdev->core) || IS_IRIS2_1(hdev->core) || IS_AR50_LITE(hdev->= core)) cpu_status =3D readl(wrapper_tz_base + WRAPPER_TZ_CPU_STATUS_V6); else cpu_status =3D readl(wrapper_base + WRAPPER_CPU_STATUS); @@ -1555,7 +1566,7 @@ static bool venus_cpu_idle_and_pc_ready(struct venus_= hfi_device *hdev) void __iomem *cpu_cs_base =3D hdev->core->cpu_cs_base; u32 ctrl_status, cpu_status; =20 - if (IS_IRIS2(hdev->core) || IS_IRIS2_1(hdev->core)) + if (IS_IRIS2(hdev->core) || IS_IRIS2_1(hdev->core) || IS_AR50_LITE(hdev->= core)) cpu_status =3D readl(wrapper_tz_base + WRAPPER_TZ_CPU_STATUS_V6); else cpu_status =3D readl(wrapper_base + WRAPPER_CPU_STATUS); diff --git a/drivers/media/platform/qcom/venus/hfi_venus_io.h b/drivers/med= ia/platform/qcom/venus/hfi_venus_io.h index 9735a246ce36..f2c3064c44ae 100644 --- a/drivers/media/platform/qcom/venus/hfi_venus_io.h +++ b/drivers/media/platform/qcom/venus/hfi_venus_io.h @@ -51,6 +51,9 @@ /* Venus cpu */ #define CPU_CS_SCIACMDARG3 0x58 =20 +#define CPU_CS_VCICMD 0x20 +#define CPU_CS_VCICMD_ARP_OFF BIT(0) + #define SFR_ADDR 0x5c #define MMAP_ADDR 0x60 #define UC_REGION_ADDR 0x64 @@ -100,6 +103,7 @@ #define WRAPPER_INTR_MASK_A2HCPU_MASK 0x4 #define WRAPPER_INTR_MASK_A2HCPU_SHIFT 0x2 =20 +#define WRAPPER_INTR_STATUS_A2HWD_MASK_V4_LITE 0x10 #define WRAPPER_INTR_STATUS_A2HWD_MASK_V6 0x8 #define WRAPPER_INTR_MASK_A2HWD_BASK_V6 0x8 =20 diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media= /platform/qcom/venus/pm_helpers.c index 8dd5a9b0d060..e09b0d9ae610 100644 --- a/drivers/media/platform/qcom/venus/pm_helpers.c +++ b/drivers/media/platform/qcom/venus/pm_helpers.c @@ -51,7 +51,7 @@ static int core_clks_enable(struct venus_core *core) dev_pm_opp_put(opp); =20 for (i =3D 0; i < res->clks_num; i++) { - if (IS_V6(core)) { + if (IS_V6(core) || (IS_V4(core) && is_lite(core))) { ret =3D clk_set_rate(core->clks[i], freq); if (ret) goto err; --=20 2.34.1 From nobody Sun Dec 14 02:06:19 2025 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 6E46726FA4C for ; Fri, 8 Aug 2025 08:53:13 +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=1754643196; cv=none; b=P0QNyG4SgYiDslxf1y7RceRAhuAHM1wH+WbJ19bvyVNdhlwFG9sCGVr1I/yM9oMKML+at2xmZbbHZ4CSHonHmeCMK0LgdYXIoKmy6gdFUTriHwnxepi2Q/DSvBDBkr+DdaCt6kkdKZbxUFgdajSC38TWB6pFfDeqeiX9N3HKh6A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754643196; c=relaxed/simple; bh=FtWYDAMOlWVU0crHFdMahYI4RjWy3ODiKstnWl20Nm0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Xfbsgi/myA5rxkol7z0Ta9ddaI/PfDFcE6xeGcfLY7/R+L2LzfVjqmx//2hpXNLzzW2cxMmNpMap1r8Z7TuNE2YeXTA74Xsn+dm32LgCbn6YY2jrlTjhdO8G+V4GDKr9Gehk8X3EIKSysrQnXOsftWkIU62HjAoyx03HPGP87NM= 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=U7LCCx/h; 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="U7LCCx/h" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5787he6a025030 for ; Fri, 8 Aug 2025 08:53:12 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=oetjbHkX7aV XhgJ0UsOWKuwMK/u2+TJ1KQ2EO3IYymM=; b=U7LCCx/h7/f6TlRbnisYcAACKRs v9bKlcGeih9b/8xQ/wdTOYTdAzguSbnq7U5I1fTCwpDqIbR2YuX+9cBiwftO9LGG L8tuu+X9Hz4C16f5hUOA19RKSoWc/Ye55PI52nmNr6sU5D4wF9VUW/RdrDw4A1eA cCg0yiRRvKTAcPXeOx84jSsCaVsi1Var/oUuv7AAvTcYIuYC4cNn3uI2sNKAKiwr om8T+RWZk41/a19DzMixgLYYHe29np1Ge1Q9HO2lN+dJoR7Q6Dq8SvQw7D2NYSez 6ocdXXeHQ3s9NWqOLhQvls0jQ0IJmf35zCRs7alv6x6fZeYpqnGdjXRfS1Q== 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 48bpw1h8yg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 08 Aug 2025 08:53:12 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-4b076528c4aso22552001cf.0 for ; Fri, 08 Aug 2025 01:53:12 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754643191; x=1755247991; 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=oetjbHkX7aVXhgJ0UsOWKuwMK/u2+TJ1KQ2EO3IYymM=; b=Z2ycufXCpxGfd3Y8bhUVP12VqAX26MR63WePUGM06Kf5m4T2328Ew1+EWSxdXWyFmu 3PtrTk0q5zRur/bDrYbootjK1uLPCSsXfE/oeswPo94tgtTsiPvr/0p200nY8GTvpzFI R062VpHdnHE/eDvaWYes2qeS1xZrKsZdM/fAY2ahn7j7To1DkkccrEqCQ1V/lqPAM48r 3AE5W+H35CTGkbOR1Ycjwu7Cv9ifI9x9N+/WpE/HSOsO2pXAtjRY92LcFXywZM7zbosG G5CG6RKQ7a5h71Jw06LkGm1UEPRSxpLNlGbkNfPuQL8ms/XL0zPnjP9z4jAKyzEGJcBi vjog== X-Forwarded-Encrypted: i=1; AJvYcCV2ruijkf77sYnugApi3ZcmysN/lm49zbHUyBSINeSJ06Ny6ohETHCUmDAI0ALaA6VZ5SKwXSSLzteDlpM=@vger.kernel.org X-Gm-Message-State: AOJu0YyyXn40rIN7oMzeULUofpVQrILT8eQse0tcS0yYm82o8Mkdp9rL b1xl1sl5ufyaeoV/MCjntwaMYEfeYKEPbnHRFR94Ih7S+aWKa3C1h0Y9Mmrp0eT/oy2iXNl4tNu VWyw7rh51bLLd4n0cPyeCZUxmf4D1Yw3L6EHoDPhM1Q4MpexCs7EpYvOgFo/9SmUxM3Q= X-Gm-Gg: ASbGnctsCbeyFUWr3aYwfzise6iVb3Eodo2bxhOF1r1mTEUsqT237EER9I2Ig7VSs4E 7qPJg35VIxROA8wO+eo6YOC22q10hVwiIDzOl3zB4OgBtBj28Bayf6yI7SRPtSTXoCoqdm4ICiG /jstFSvz15WsyBlW4c7VBHwJK1agBl4U+/9kY5d09X6AcVhBclqTOsMDXGYJk2J5JMAnRwNbZUA mG2QvssR3Ow6c5TR6dnvQeZXxDD1A/RFts6WRmNl1r/bH+dYAt1YPvzzJSvjnQPBV480VMx2P0K cCAaB++SMdkMuyewjquShZEz2G/4J8IMje55jg9mScTUEDWEcNSqYPI/KDaBDfB0iJfHEiv1yTz 7aZhiBkqbhu4F X-Received: by 2002:a05:622a:a0d:b0:4b0:8872:eb1e with SMTP id d75a77b69052e-4b0aed6b4a3mr39710851cf.27.1754643191133; Fri, 08 Aug 2025 01:53:11 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF75ESPTjDal/YPq01vRIMHZgtwhim7i7BEvfQDldbxK/1bn0fIkPHtXtEV/BLPKlrBc+lWEg== X-Received: by 2002:a05:622a:a0d:b0:4b0:8872:eb1e with SMTP id d75a77b69052e-4b0aed6b4a3mr39710451cf.27.1754643190549; Fri, 08 Aug 2025 01:53:10 -0700 (PDT) Received: from trex.. (205.red-83-60-94.dynamicip.rima-tde.net. [83.60.94.205]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-459e5e99e04sm123818745e9.11.2025.08.08.01.53.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Aug 2025 01:53:09 -0700 (PDT) From: Jorge Ramirez-Ortiz To: jorge.ramirez@oss.qualcomm.com, quic_vgarodia@quicinc.com, quic_dikshita@quicinc.com, bryan.odonoghue@linaro.org, krzk+dt@kernel.org, konradybcio@kernel.org, dmitry.baryshkov@oss.qualcomm.com, mchehab@kernel.org, robh@kernel.org, andersson@kernel.org Cc: linux-arm-msm@vger.kernel.org, linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v9 4/8] media: venus: hfi_plat_v4: Add capabilities for the 4XX lite core Date: Fri, 8 Aug 2025 10:52:56 +0200 Message-Id: <20250808085300.1403570-5-jorge.ramirez@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250808085300.1403570-1-jorge.ramirez@oss.qualcomm.com> References: <20250808085300.1403570-1-jorge.ramirez@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODA2MDAwOSBTYWx0ZWRfXx8xIbm0kiXjB HTi9vpIS8z4qIKiTRKnGdAaSMEcJqv9as2D2vtlp7DdfwaRJhmpzDpQsAkKI6bMnFYPXrDgTG4l eMPbarEJcNTvr06CE3Blq2+0qrvMnoIIvpnwkRGy2EzH3QNuG89E6Zqpyk2YXgof2Vt4WMfOHfG 9U54zzkBrH1itEp7fYjmeGZxfpEsN/cpjfMRHei50cN20zmbE3Vcyy/3IrixCrg4qiM//C0PhOp BYJx3L5WpTiJ+EkoII8JSwEy/niBWd2D6TE/whNlR53TQ7x9ZNuacopKN2o0IBCAr8Zvz3bt7OP AYB/lgA8MzlLaKE0d2v/PEDtbu/VI9hcyTMrzd6iAtFEfxPlwajVpr4oDzBgBSWFcLsXhagk91A VsW2Uk15 X-Authority-Analysis: v=2.4 cv=Ha4UTjE8 c=1 sm=1 tr=0 ts=6895baf8 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=Rr2dNH5/fcnoRoBmcVUeRg==:17 a=2OwXVqhp2XgA:10 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=FQp2d-uGNuPOlmPgRbUA:9 a=a_PwQJl-kcHnX1M80qC6:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: ayDFi6wtZ6CJsLft4qXjEzNcId8YLKoS X-Proofpoint-GUID: ayDFi6wtZ6CJsLft4qXjEzNcId8YLKoS X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-08_02,2025-08-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 phishscore=0 bulkscore=0 adultscore=0 suspectscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508060009 Content-Type: text/plain; charset="utf-8" Populate the HFI v4 lite capability set used by the AR50_LITE video core. These capabilities define the supported codec formats and operational limits specific to this streamlined VPU variant. Signed-off-by: Jorge Ramirez-Ortiz Reviewed-by: Bryan O'Donoghue Reviewed-by: Dikshita Agarwal --- .../platform/qcom/venus/hfi_platform_v4.c | 167 ++++++++++++++++-- 1 file changed, 151 insertions(+), 16 deletions(-) diff --git a/drivers/media/platform/qcom/venus/hfi_platform_v4.c b/drivers/= media/platform/qcom/venus/hfi_platform_v4.c index 41e4dc28ec1b..cda888b56b5d 100644 --- a/drivers/media/platform/qcom/venus/hfi_platform_v4.c +++ b/drivers/media/platform/qcom/venus/hfi_platform_v4.c @@ -246,28 +246,150 @@ static const struct hfi_plat_caps caps[] =3D { .num_fmts =3D 4, } }; =20 +static const struct hfi_plat_caps caps_lite[] =3D { +{ + .codec =3D HFI_VIDEO_CODEC_H264, + .domain =3D VIDC_SESSION_TYPE_DEC, + .caps[0] =3D {HFI_CAPABILITY_FRAME_WIDTH, 128, 1920, 1}, + .caps[1] =3D {HFI_CAPABILITY_FRAME_HEIGHT, 128, 1920, 1}, + .caps[2] =3D {HFI_CAPABILITY_MBS_PER_FRAME, 64, 8160, 1}, + .caps[3] =3D {HFI_CAPABILITY_BITRATE, 1, 60000000, 1 }, + .caps[4] =3D {HFI_CAPABILITY_MBS_PER_SECOND, 64, 244800, 1}, + .caps[5] =3D {HFI_CAPABILITY_FRAMERATE, 1, 120, 1}, + .caps[6] =3D {HFI_CAPABILITY_MAX_VIDEOCORES, 0, 1, 1}, + .num_caps =3D 7, + .pl[0] =3D { HFI_H264_PROFILE_BASELINE, HFI_H264_LEVEL_5}, + .pl[1] =3D {HFI_H264_PROFILE_MAIN, HFI_H264_LEVEL_5}, + .pl[2] =3D {HFI_H264_PROFILE_HIGH, HFI_H264_LEVEL_5}, + .pl[3] =3D {HFI_H264_PROFILE_CONSTRAINED_BASE, HFI_H264_LEVEL_5}, + .pl[4] =3D {HFI_H264_PROFILE_CONSTRAINED_HIGH, HFI_H264_LEVEL_5}, + .num_pl =3D 5, + .fmts[0] =3D {HFI_BUFFER_OUTPUT, HFI_COLOR_FORMAT_NV12_UBWC}, + .fmts[1] =3D {HFI_BUFFER_OUTPUT2, HFI_COLOR_FORMAT_NV12_UBWC}, + .fmts[2] =3D {HFI_BUFFER_OUTPUT2, HFI_COLOR_FORMAT_NV12}, + .fmts[3] =3D {HFI_BUFFER_OUTPUT2, HFI_COLOR_FORMAT_NV21}, + .num_fmts =3D 4, +}, { + .codec =3D HFI_VIDEO_CODEC_HEVC, + .domain =3D VIDC_SESSION_TYPE_DEC, + .caps[0] =3D {HFI_CAPABILITY_FRAME_WIDTH, 128, 1920, 1}, + .caps[1] =3D {HFI_CAPABILITY_FRAME_HEIGHT, 128, 1920, 1}, + .caps[2] =3D {HFI_CAPABILITY_MBS_PER_FRAME, 64, 8160, 1}, + .caps[3] =3D {HFI_CAPABILITY_BITRATE, 1, 60000000, 1 }, + .caps[4] =3D {HFI_CAPABILITY_MBS_PER_SECOND, 64, 244800, 1}, + .caps[5] =3D {HFI_CAPABILITY_FRAMERATE, 1, 120, 1}, + .caps[6] =3D {HFI_CAPABILITY_MAX_VIDEOCORES, 0, 1, 1}, + .num_caps =3D 7, + .pl[0] =3D {HFI_HEVC_PROFILE_MAIN, HFI_HEVC_LEVEL_5 | HFI_HEVC_TIER_HIGH0= << 28 }, + .pl[1] =3D {HFI_HEVC_PROFILE_MAIN10, HFI_HEVC_LEVEL_5 | HFI_HEVC_TIER_HIG= H0 << 28 }, + .num_pl =3D 2, + .fmts[0] =3D {HFI_BUFFER_OUTPUT, HFI_COLOR_FORMAT_NV12_UBWC}, + .fmts[1] =3D {HFI_BUFFER_OUTPUT2, HFI_COLOR_FORMAT_NV12_UBWC}, + .fmts[2] =3D {HFI_BUFFER_OUTPUT2, HFI_COLOR_FORMAT_NV12}, + .fmts[3] =3D {HFI_BUFFER_OUTPUT2, HFI_COLOR_FORMAT_NV21}, + .num_fmts =3D 4, +}, { + .codec =3D HFI_VIDEO_CODEC_VP9, + .domain =3D VIDC_SESSION_TYPE_DEC, + .caps[0] =3D {HFI_CAPABILITY_FRAME_WIDTH, 128, 1920, 1}, + .caps[1] =3D {HFI_CAPABILITY_FRAME_HEIGHT, 128, 1920, 1}, + .caps[2] =3D {HFI_CAPABILITY_MBS_PER_FRAME, 64, 8160, 1}, + .caps[3] =3D {HFI_CAPABILITY_BITRATE, 1, 60000000, 1 }, + .caps[4] =3D {HFI_CAPABILITY_MBS_PER_SECOND, 64, 244800, 1}, + .caps[5] =3D {HFI_CAPABILITY_FRAMERATE, 1, 120, 1}, + .caps[6] =3D {HFI_CAPABILITY_MAX_VIDEOCORES, 0, 1, 1}, + .num_caps =3D 7, + .pl[0] =3D {HFI_VP9_PROFILE_P0, 200}, + .pl[1] =3D {HFI_VP9_PROFILE_P2_10B, 200}, + .num_pl =3D 2, + .fmts[0] =3D {HFI_BUFFER_OUTPUT, HFI_COLOR_FORMAT_NV12_UBWC}, + .fmts[1] =3D {HFI_BUFFER_OUTPUT2, HFI_COLOR_FORMAT_NV12_UBWC}, + .fmts[2] =3D {HFI_BUFFER_OUTPUT2, HFI_COLOR_FORMAT_NV12}, + .fmts[3] =3D {HFI_BUFFER_OUTPUT2, HFI_COLOR_FORMAT_NV21}, + .num_fmts =3D 4, +}, { + .codec =3D HFI_VIDEO_CODEC_H264, + .domain =3D VIDC_SESSION_TYPE_ENC, + .caps[0] =3D {HFI_CAPABILITY_FRAME_WIDTH, 128, 1920, 1}, + .caps[1] =3D {HFI_CAPABILITY_FRAME_HEIGHT, 128, 1920, 1}, + .caps[2] =3D {HFI_CAPABILITY_MBS_PER_FRAME, 64, 8160, 1}, + .caps[3] =3D {HFI_CAPABILITY_BITRATE, 1, 60000000, 1 }, + .caps[4] =3D {HFI_CAPABILITY_MBS_PER_SECOND, 64, 244800, 1}, + .caps[5] =3D {HFI_CAPABILITY_FRAMERATE, 1, 120, 1}, + .caps[6] =3D {HFI_CAPABILITY_MAX_VIDEOCORES, 0, 1, 1}, + .caps[7] =3D {HFI_CAPABILITY_HIER_P_NUM_ENH_LAYERS, 0, 6, 1}, + .caps[8] =3D {HFI_CAPABILITY_ENC_LTR_COUNT, 0, 4, 1}, + .caps[9] =3D {HFI_CAPABILITY_MBS_PER_SECOND_POWERSAVE, 0, 244800, 1}, + .caps[10] =3D {HFI_CAPABILITY_I_FRAME_QP, 0, 51, 1}, + .caps[11] =3D {HFI_CAPABILITY_P_FRAME_QP, 0, 51, 1}, + .caps[12] =3D {HFI_CAPABILITY_B_FRAME_QP, 0, 51, 1}, + .caps[13] =3D {HFI_CAPABILITY_SLICE_BYTE, 1, 10, 1}, + .caps[14] =3D {HFI_CAPABILITY_SLICE_MB, 1, 10, 1}, + .num_caps =3D 15, + .pl[0] =3D {HFI_H264_PROFILE_BASELINE, HFI_H264_LEVEL_5}, + .pl[1] =3D {HFI_H264_PROFILE_MAIN, HFI_H264_LEVEL_5}, + .pl[2] =3D {HFI_H264_PROFILE_HIGH, HFI_H264_LEVEL_5}, + .pl[3] =3D {HFI_H264_PROFILE_CONSTRAINED_BASE, HFI_H264_LEVEL_5}, + .pl[4] =3D {HFI_H264_PROFILE_CONSTRAINED_HIGH, HFI_H264_LEVEL_5}, + .num_pl =3D 5, + .fmts[0] =3D {HFI_BUFFER_INPUT, HFI_COLOR_FORMAT_NV12}, + .fmts[1] =3D {HFI_BUFFER_INPUT, HFI_COLOR_FORMAT_NV12_UBWC}, + .num_fmts =3D 2, +}, { + .codec =3D HFI_VIDEO_CODEC_HEVC, + .domain =3D VIDC_SESSION_TYPE_ENC, + .caps[0] =3D {HFI_CAPABILITY_FRAME_WIDTH, 128, 1920, 1}, + .caps[1] =3D {HFI_CAPABILITY_FRAME_HEIGHT, 128, 1920, 1}, + .caps[2] =3D {HFI_CAPABILITY_MBS_PER_FRAME, 64, 8160, 1}, + .caps[3] =3D {HFI_CAPABILITY_BITRATE, 1, 60000000, 1 }, + .caps[4] =3D {HFI_CAPABILITY_MBS_PER_SECOND, 64, 244800, 1}, + .caps[5] =3D {HFI_CAPABILITY_FRAMERATE, 1, 120, 1}, + .caps[6] =3D {HFI_CAPABILITY_MAX_VIDEOCORES, 0, 1, 1}, + .caps[7] =3D {HFI_CAPABILITY_HIER_P_NUM_ENH_LAYERS, 0, 6, 1}, + .caps[8] =3D {HFI_CAPABILITY_ENC_LTR_COUNT, 0, 4, 1}, + .caps[9] =3D {HFI_CAPABILITY_MBS_PER_SECOND_POWERSAVE, 0, 244800, 1}, + .caps[10] =3D {HFI_CAPABILITY_I_FRAME_QP, 0, 51, 1}, + .caps[11] =3D {HFI_CAPABILITY_P_FRAME_QP, 0, 51, 1}, + .caps[12] =3D {HFI_CAPABILITY_B_FRAME_QP, 0, 51, 1}, + .caps[13] =3D {HFI_CAPABILITY_SLICE_BYTE, 1, 10, 1}, + .caps[14] =3D {HFI_CAPABILITY_SLICE_MB, 1, 10, 1}, + .num_caps =3D 15, + .pl[0] =3D {HFI_HEVC_PROFILE_MAIN, HFI_HEVC_LEVEL_5 | HFI_HEVC_TIER_HIGH0= }, + .pl[1] =3D {HFI_HEVC_PROFILE_MAIN10, HFI_HEVC_LEVEL_5 | HFI_HEVC_TIER_HIG= H0}, + .num_pl =3D 2, + .fmts[0] =3D {HFI_BUFFER_INPUT, HFI_COLOR_FORMAT_NV12}, + .fmts[1] =3D {HFI_BUFFER_INPUT, HFI_COLOR_FORMAT_NV12_UBWC}, + .num_fmts =3D 2, +} }; + static const struct hfi_plat_caps *get_capabilities(struct venus_core *cor= e, unsigned int *entries) { - if (is_lite(core)) - return NULL; + *entries =3D is_lite(core) ? ARRAY_SIZE(caps_lite) : ARRAY_SIZE(caps); =20 - *entries =3D ARRAY_SIZE(caps); - return caps; + return is_lite(core) ? caps_lite : caps; } =20 static void get_codecs(struct venus_core *core, u32 *enc_codecs, u32 *dec_codecs, u32 *count) { - if (is_lite(core)) - return; + const struct hfi_plat_caps *caps; + unsigned int num; + size_t i; + + *enc_codecs =3D 0; + *dec_codecs =3D 0; + + caps =3D get_capabilities(core, &num); =20 - *enc_codecs =3D HFI_VIDEO_CODEC_H264 | HFI_VIDEO_CODEC_HEVC | - HFI_VIDEO_CODEC_VP8; - *dec_codecs =3D HFI_VIDEO_CODEC_H264 | HFI_VIDEO_CODEC_HEVC | - HFI_VIDEO_CODEC_VP8 | HFI_VIDEO_CODEC_VP9 | - HFI_VIDEO_CODEC_MPEG2; - *count =3D 8; + for (i =3D 0; i < num; caps++, i++) { + if (caps->domain =3D=3D VIDC_SESSION_TYPE_ENC) + *enc_codecs |=3D caps->codec; + else + *dec_codecs |=3D caps->codec; + } + + *count =3D num; } =20 static const struct hfi_platform_codec_freq_data codec_freq_data[] =3D { @@ -281,15 +403,28 @@ static const struct hfi_platform_codec_freq_data code= c_freq_data[] =3D { { V4L2_PIX_FMT_VP9, VIDC_SESSION_TYPE_DEC, 200, 10, 200 }, }; =20 +static const struct hfi_platform_codec_freq_data codec_freq_data_lite[] = =3D { + { V4L2_PIX_FMT_H264, VIDC_SESSION_TYPE_DEC, 440, 0, 440 }, + { V4L2_PIX_FMT_HEVC, VIDC_SESSION_TYPE_DEC, 440, 0, 440 }, + { V4L2_PIX_FMT_VP9, VIDC_SESSION_TYPE_DEC, 440, 0, 440 }, + { V4L2_PIX_FMT_H264, VIDC_SESSION_TYPE_ENC, 675, 0, 675 }, + { V4L2_PIX_FMT_HEVC, VIDC_SESSION_TYPE_ENC, 675, 0, 675 }, +}; + static const struct hfi_platform_codec_freq_data * get_codec_freq_data(struct venus_core *core, u32 session_type, u32 pixfmt) { - const struct hfi_platform_codec_freq_data *data =3D codec_freq_data; - unsigned int i, data_size =3D ARRAY_SIZE(codec_freq_data); + const struct hfi_platform_codec_freq_data *data; + unsigned int i, data_size; const struct hfi_platform_codec_freq_data *found =3D NULL; =20 - if (is_lite(core)) - return NULL; + if (is_lite(core)) { + data =3D codec_freq_data_lite; + data_size =3D ARRAY_SIZE(codec_freq_data_lite); + } else { + data =3D codec_freq_data; + data_size =3D ARRAY_SIZE(codec_freq_data); + } =20 for (i =3D 0; i < data_size; i++) { if (data[i].pixfmt =3D=3D pixfmt && data[i].session_type =3D=3D session_= type) { --=20 2.34.1 From nobody Sun Dec 14 02:06:19 2025 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 0B65E2701C8 for ; Fri, 8 Aug 2025 08:53:14 +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=1754643196; cv=none; b=gTbeB+nAlANbAPl1IWDRgSTMhve6A5ZHRKWrD/1j8YfJVfOa785rgAGsbDBNCiJDKGLTDZHIngTCKdxTqFbfPrDKo9Vun+NNY+aGb74dPPvgKqikJlaDwef7f4ejQflM80ZklZc1+/Hg0gFaXNExRYDnfaCd+nf+TolgzPTy80Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754643196; c=relaxed/simple; bh=n+vg5ydQ7X4wyVt0+s72ttQVBKiwA0hDbAZIqS23E6A=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=dOXzHB7dLa0vmdojK9oX+CLpiDYM+LVVB7g79PANDmxzGPdGSXLC6AgepVhLOeo2UqHxF90wzYc/vT//aTGYrgEphw+/DgXv5QsNZRPCyh2FDOWeleTJqRtW2A49+FeadMrEKSrPW2nmuer5Dx1/gmcnrWNxq6LlJC52deSszu0= 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=IuJZ4YkC; 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="IuJZ4YkC" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5787LZ6V001951 for ; Fri, 8 Aug 2025 08:53:13 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=MPC6xd2VF/s mOBIHZ6B9pOI38D2n59UvsoeVG2Ya7rA=; b=IuJZ4YkC4SMY/uswBnY9zq3PDT6 zjNeleX82/5fqyCYuzZR0DHvdzhY2Gi29t50ceeb8CPg3lt/HoU6+Vc7IYKmGVps a0M4gd2YpU0e3jstTzgZGOps5NN0D07z1daFLVKVdw0J+0lOxHXdCnqe5F+guSOb HcKXK3FCKo66QL3JmNja0Z1tVByB/cRkK/lkGom91jarnrRuKwS9eA6DSmtKFOra M0yhOUNwS+XTyy+a2JiLhyn4goTYNtYJHaPtX5SGTiVHVLz8VJRi/WXT0jhrDBA1 yS/HOA6iX0wF6RnxKHtN74Mlia6yUvxeqPYQ1BAFDTUjxW7KaR1Hbicnr0w== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48bpw39a9p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 08 Aug 2025 08:53:13 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4b081d742d9so70055571cf.2 for ; Fri, 08 Aug 2025 01:53:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754643193; x=1755247993; 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=MPC6xd2VF/smOBIHZ6B9pOI38D2n59UvsoeVG2Ya7rA=; b=XIY/GudX4ELPp+XPaTTR5N8nsOofU44px8kcJ2B6257UoxnIDSqJ0sJbXc9Hvofma/ ep/HVNgbheJ9AbD8d72aAHJ/6C1BRXiahWnpFtshCi7iICIV5plwsZPJ4lvJzgBeThtz 6RTIqfbwLk5hch+eYd+J9g+yxk0tSpmxAQzRTlaFe12ixcFXG/YceUgujEkWWJFmjsKy ic+kFaZSBEluI/74ukjktT9gLHSYXw8cW31wtWPtLriWb6umvEvZXJneXUPCCEJDg7Cy YLr8wkxJ2U0UxOHluVSadXVqm/x+A2TdSKaVf9hT2HIaPryzvW0GJpu+v+LGUW9X+Q6l 31zw== X-Forwarded-Encrypted: i=1; AJvYcCUBQHp0gCHFQ/qyoVXA0RBhL00WHl1skZOyXXw6mcYT+E55mbRdpVr8ePVrQGP5aY2eMxZh6uRYRLHCMuI=@vger.kernel.org X-Gm-Message-State: AOJu0YwMexSk4vpgFEcYtjfbPWPlaosX3Jf6F5PDMDtp4HKcFcALl+jS 3C9acDeT9C8URcjd8NamGoei8dE1KiErNPfoDedw788X4Sd5OM0xn90zjmjeClB/Kg+fVg/jzno IPWUKrJJ/pJA80MgcwmrpuEqt4bGPK160SsVMusnoMpAp6QOuUYrOxicR+qjicaV1S5U= X-Gm-Gg: ASbGncuazES6CHDYS/ePVGzD5X5cO7r7c/G/vIQoaTJeQGR2NlWDSYX6GLVVmWD0RHA V6Rpy9Quex3xuzGMmPJofFLNpPHnG23wu5zC/0zlk6SDW8QVSL8EfiNpOv1SI8YpVDPpmDBA3S4 5G+a+n95Mx+gAFfHm1q2Yvr9LBJigdw0BpXjlcWz+u8Lj4aTlptcMwz9G9JQw2UcBd8sHz4wx9m ZgRiH6QskXdkMCQoMsAG25zfIf+YLzNLovUdTp9w68g46ALW4AmfjR9OuzR8LP5bmO8Z8MIPVYi ExUxHwjHwK2db2fYElPb686n5VCtNwCWbPr/oK8P2qT9HG8pA8w00QIlEYvvfiG/pJbzDjHUw8S FWJWIz6GtI8Rb X-Received: by 2002:ac8:5ac6:0:b0:4ab:7f61:4339 with SMTP id d75a77b69052e-4b0aedd7c91mr33072681cf.31.1754643192737; Fri, 08 Aug 2025 01:53:12 -0700 (PDT) X-Google-Smtp-Source: AGHT+IENcrcraDY6LBXO1gjbtLVDBfn7FrMDJw6q6bfeHZSZ7FkUb6pMWmIgogO8E4kcuIn9LS8VNg== X-Received: by 2002:ac8:5ac6:0:b0:4ab:7f61:4339 with SMTP id d75a77b69052e-4b0aedd7c91mr33072381cf.31.1754643192309; Fri, 08 Aug 2025 01:53:12 -0700 (PDT) Received: from trex.. (205.red-83-60-94.dynamicip.rima-tde.net. [83.60.94.205]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-459e5e99e04sm123818745e9.11.2025.08.08.01.53.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Aug 2025 01:53:11 -0700 (PDT) From: Jorge Ramirez-Ortiz To: jorge.ramirez@oss.qualcomm.com, quic_vgarodia@quicinc.com, quic_dikshita@quicinc.com, bryan.odonoghue@linaro.org, krzk+dt@kernel.org, konradybcio@kernel.org, dmitry.baryshkov@oss.qualcomm.com, mchehab@kernel.org, robh@kernel.org, andersson@kernel.org Cc: linux-arm-msm@vger.kernel.org, linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v9 5/8] media: venus: core: Sort dt_match alphabetically. Date: Fri, 8 Aug 2025 10:52:57 +0200 Message-Id: <20250808085300.1403570-6-jorge.ramirez@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250808085300.1403570-1-jorge.ramirez@oss.qualcomm.com> References: <20250808085300.1403570-1-jorge.ramirez@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODA2MDAwOCBTYWx0ZWRfX0dSU8IySeRe7 XJqzWNO/T550ArH0YNVj9fHUxec3/yn/m0ZfSrRaSsaHJWpWdftxHrZXMIaSYz4MvfpOWY2kmay 6B+/PkZBDafZ1s2unayx1+gbEkRGHPWAc2+iaroYzAVowDBC0yTUKDqUoOQfBcp8LNZ3eD72pzu g/SDoQ2XNNL09JijvE0S1eeeoh5fWN0fsu9lOCH2irjN/DH4q0OSaj0JZmIVV5NCybFSMEPzKVi TgwJF7b8wbkNuXPr+xTkO3dLplbmvOogebfpK1gwG651xG8uDHAbBbFvpE38XULx07Z8aATd6xu HokvgQUjFqKtu6Zy2RwGMF06Xn11fWkUArlZ38168WhvPnIRLVAwd8EjaqcXteoqInFUu7lqAwf KDyM4ur+ X-Authority-Analysis: v=2.4 cv=J8Cq7BnS c=1 sm=1 tr=0 ts=6895baf9 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=Rr2dNH5/fcnoRoBmcVUeRg==:17 a=2OwXVqhp2XgA:10 a=tkZEzfabOtbtaFzRxSIA:9 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-GUID: GmVyXdX29M1pkXWxol_tAvp_KQ3Aldxt X-Proofpoint-ORIG-GUID: GmVyXdX29M1pkXWxol_tAvp_KQ3Aldxt X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-08_02,2025-08-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 bulkscore=0 priorityscore=1501 adultscore=0 malwarescore=0 clxscore=1015 impostorscore=0 suspectscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508060008 Content-Type: text/plain; charset="utf-8" From: Jorge Ramirez-Ortiz Correctly sort the array of venus_dt_match entries. Signed-off-by: Jorge Ramirez-Ortiz Reviewed-by: Bryan O'Donoghue Reviewed-by: Dikshita Agarwal --- drivers/media/platform/qcom/venus/core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platf= orm/qcom/venus/core.c index adc38fbc9d79..9604a7eed49d 100644 --- a/drivers/media/platform/qcom/venus/core.c +++ b/drivers/media/platform/qcom/venus/core.c @@ -1074,11 +1074,11 @@ static const struct of_device_id venus_dt_match[] = =3D { { .compatible =3D "qcom,msm8916-venus", .data =3D &msm8916_res, }, { .compatible =3D "qcom,msm8996-venus", .data =3D &msm8996_res, }, { .compatible =3D "qcom,msm8998-venus", .data =3D &msm8998_res, }, + { .compatible =3D "qcom,sc7180-venus", .data =3D &sc7180_res, }, + { .compatible =3D "qcom,sc7280-venus", .data =3D &sc7280_res, }, { .compatible =3D "qcom,sdm660-venus", .data =3D &sdm660_res, }, { .compatible =3D "qcom,sdm845-venus", .data =3D &sdm845_res, }, { .compatible =3D "qcom,sdm845-venus-v2", .data =3D &sdm845_res_v2, }, - { .compatible =3D "qcom,sc7180-venus", .data =3D &sc7180_res, }, - { .compatible =3D "qcom,sc7280-venus", .data =3D &sc7280_res, }, { .compatible =3D "qcom,sm8250-venus", .data =3D &sm8250_res, }, { } }; --=20 2.34.1 From nobody Sun Dec 14 02:06:19 2025 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 0290A272E60 for ; Fri, 8 Aug 2025 08:53:16 +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=1754643198; cv=none; b=Q9cyH9DZihgDNN/0cnA4Gec10iraS/rGgVlOtr36biEnttapoEXXPMyLBKepzTBzAQT3/YwtmaFVLBi49R09vIa25F1/64BqyXk4VzNuwXfcnAo/wd1ofUNsmGIhm4ASrjyQkF8bJN8KvKx5AH1M0kVSnHzvNdCCOnnB95hxaS4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754643198; c=relaxed/simple; bh=dARtMRs88U+SkvksFaX/4ibKTv2r3ZxeZPWci1xWpd0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=QpvwlZ1i2DCej6A0pHl8Zn7TyAbRmG4H4/tupga7wUeDMMW7x1jFc3i2hclWLXL/9JwIfPHyR0FsWVBa3J4IxHDJO5vIrcp+thO5dCYfdJiW6C0WPyT/8g9hkIjCAjMZXqWA6F0DHlrr5WE8Bl+/yTUjKP5dChz04Pl6f49qVGk= 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=pt3yZLAr; 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="pt3yZLAr" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5787UXLJ024747 for ; Fri, 8 Aug 2025 08:53:16 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=gdpKkg3HGmZ RyeizFHxrsWvpDDfvGRJLvLm05RIe+XY=; b=pt3yZLArRw1Rm/5ncIPIb0qsGfe Xl4zM5tuvTrctyIr1g6i9vhW+PTOSy0tGU7pznkOIN0XIfitjU1Shx92DDOnD0IY rGW0Cb5sfiOzvDmHaRk+OBS6Vja5U1J8AVIaehXgKrX94UkF3kI0koUzqB32ptTT 30Vf1VfsXVJvPy+cKwMWGzrD3VSDcUrGjUDdKaa0Kdg1dHK32SRkVM4VgFLNdeMj ucNd+xeRz74vK2iexyGFhZZi1dKxS91gsy7BP47MOWXPbYnsgqAFRWn/o20y1d+x jbMC80p0hL7KAZHi8ftpqmngjxIyEQVpubALAqCunxagD4wxVj8dgnvVzqQ== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48bpw1h8ys-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 08 Aug 2025 08:53:15 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-4af156a27b1so68953381cf.3 for ; Fri, 08 Aug 2025 01:53:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754643195; x=1755247995; 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=gdpKkg3HGmZRyeizFHxrsWvpDDfvGRJLvLm05RIe+XY=; b=HN95GAFRhmPt6WAfLK5MkUmUDimYropt6mQst/haQaDZXhnCHEfGfUQwVBk+2xL+H2 oHsKDp/nJoTAu5x1u0WcsMza8wMTA/8BuCse1GgrsGvMaKqYPTzM5GsabLTBVSz1Q6Cl A4AfrjN3y4e9Jssqe32kPaDN+wjglZlqJQcmM3P9GlCwO9Lvbas+LxcHf70YJwDDDb+d O5TmaRaOyCNDOre3hTjRfHjDTeJmPBd1j6bwmieL98OM67H8fwBqTJjg5TdKgChNWDhW hJ5hgdFHnQO/akRQ9AhNZMwzQwZA7RREf5T9s0MLP7zaalc7uLo9rlz8f0hJsCLqxOOd xWiQ== X-Forwarded-Encrypted: i=1; AJvYcCXNG0NG5HDRyBVfCt+q8Cibc84GN2pQXEvC8yHEnBgd3v+bRlsJFDR1UGWMLLn/03Ga3QhfKGCJ4JuLxhI=@vger.kernel.org X-Gm-Message-State: AOJu0Yx7EcNAvZt7Lzg8UoTF5HHnZFWc2BM3Z2G3skuDfestd73kmwcp KGsf+XShSs9I+tE51B+PH2oHHoc468FP7Umc/H8/w5CDYLeIUANUUkf/5/ziHJCOcc4SYamwf+n 9ytPkXnA8PjLaD94e7NpN9bYyNmIpnrs9fiU4jb5aPNrnxghSlbOnO2cGy2Tbeo9i+aI= X-Gm-Gg: ASbGncvXL8+263UNYMPbuEQdtlnbROoLJnpq95uwyIEgFBrYoc6mEEaLcV5bfS4Zmty W4Q09HlQVJpWCMdFbYChtpJwct5+Uh0wJPSidmusOs8s0OPsQd3y3FItB+Z2Q/+mFS/w4iNPxAy tSs/uo9Gvfj+IR6VMmF6/txR6yG9qYN0geNbr78B56GyLAEQ7iE7a0NB6EibJZasTLwCLFC5uz5 MhyeW2fnzSateiwkAj0jPNYg0P3XMAwzy4AsSGvsrQXLfylmcXdL7l7ts848BJ4DjTMVpHZFHEv uBhtsLds294C2WWoWDCoNrCYWoOiwz90ZsTGH4zhMD7yNNcaqy/zF9EkDGtl2vWTE8egJ73idwx cR2A4/sSTXPvt X-Received: by 2002:ac8:7d46:0:b0:4b0:8057:1de9 with SMTP id d75a77b69052e-4b0aec61344mr28874291cf.3.1754643194910; Fri, 08 Aug 2025 01:53:14 -0700 (PDT) X-Google-Smtp-Source: AGHT+IExUlMx+GGWyeBlkXQITSAYNbhDzsTQUUeJlNFeViaKa3+u63HbQcCdHN+GInBsmqD4n9/6wA== X-Received: by 2002:ac8:7d46:0:b0:4b0:8057:1de9 with SMTP id d75a77b69052e-4b0aec61344mr28873901cf.3.1754643193925; Fri, 08 Aug 2025 01:53:13 -0700 (PDT) Received: from trex.. (205.red-83-60-94.dynamicip.rima-tde.net. [83.60.94.205]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-459e5e99e04sm123818745e9.11.2025.08.08.01.53.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Aug 2025 01:53:13 -0700 (PDT) From: Jorge Ramirez-Ortiz To: jorge.ramirez@oss.qualcomm.com, quic_vgarodia@quicinc.com, quic_dikshita@quicinc.com, bryan.odonoghue@linaro.org, krzk+dt@kernel.org, konradybcio@kernel.org, dmitry.baryshkov@oss.qualcomm.com, mchehab@kernel.org, robh@kernel.org, andersson@kernel.org Cc: linux-arm-msm@vger.kernel.org, linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v9 6/8] media: venus: core: Add qcm2290 DT compatible and resource data Date: Fri, 8 Aug 2025 10:52:58 +0200 Message-Id: <20250808085300.1403570-7-jorge.ramirez@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250808085300.1403570-1-jorge.ramirez@oss.qualcomm.com> References: <20250808085300.1403570-1-jorge.ramirez@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODA2MDAwOSBTYWx0ZWRfX2bBHY/xXmtGR CyN0jrJkC8j5HhFAsokuQ6nyKD/0RJyaj1wBdsyy/e2j0wxhGlXr+yYRXJhHNEN87/mk4TRvPWy h8rQMpu+w4aFtwcSToRJx6uCjLcvhNS+ygjUQrtvuo0HVuT8hsy0iTtXwSDA/S9dxGKDqmd74xy SUPG4DTOCjXQk+7z0r91hyh/eO+wGoox0URlW6QYe85tzri9o/YsfyXaDfpH2+688kN+mS7LZph jbqj+NUchwTGtEKS94RqCVZDrlFqW+3H4qcztq6kMupD8+PT2SIB3urFF2w/KE1EuZjVBPZ3YLl 0yFAYQsqbfHXZP9GVjhiThYOjsD/Ps4+lhDve7d0EtrWtfW80Iooq3EMrSLzF4oy0SGNBkiVnPA GCef909M X-Authority-Analysis: v=2.4 cv=Ha4UTjE8 c=1 sm=1 tr=0 ts=6895bafb cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=Rr2dNH5/fcnoRoBmcVUeRg==:17 a=2OwXVqhp2XgA:10 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=COk6AnOGAAAA:8 a=5fA-3PHwp7xA7VOvTvgA:9 a=kacYvNCVWA4VmyqE58fU:22 a=cvBusfyB2V15izCimMoJ:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-ORIG-GUID: ij-CTt4JAOYMU60ThFm7EOOkO7aWB4C5 X-Proofpoint-GUID: ij-CTt4JAOYMU60ThFm7EOOkO7aWB4C5 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-08_02,2025-08-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 phishscore=0 bulkscore=0 adultscore=0 suspectscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508060009 Content-Type: text/plain; charset="utf-8" Add a qcm2290 compatible binding to the Venus core. The maximum concurrency is video decode at 1920x1080 (FullHD) with video encode at 1280x720 (HD). The driver is not available to firmware versions below 6.0.55 due to an internal requirement for secure buffers. The bandwidth tables incorporate a conservative safety margin to ensure stability under peak DDR and interconnect load conditions. Co-developed-by: Loic Poulain Signed-off-by: Loic Poulain Signed-off-by: Jorge Ramirez-Ortiz Reviewed-by: Bryan O'Donoghue Reviewed-by: Dikshita Agarwal --- drivers/media/platform/qcom/venus/core.c | 50 ++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platf= orm/qcom/venus/core.c index 9604a7eed49d..a7c960d1d818 100644 --- a/drivers/media/platform/qcom/venus/core.c +++ b/drivers/media/platform/qcom/venus/core.c @@ -1070,10 +1070,60 @@ static const struct venus_resources sc7280_res =3D { .enc_nodename =3D "video-encoder", }; =20 +static const struct bw_tbl qcm2290_bw_table_dec[] =3D { + { 352800, 597000, 0, 746000, 0 }, /* 1080p@30 + 720p@30 */ + { 244800, 413000, 0, 516000, 0 }, /* 1080p@30 */ + { 216000, 364000, 0, 454000, 0 }, /* 720p@60 */ + { 108000, 182000, 0, 227000, 0 }, /* 720p@30 */ +}; + +static const struct bw_tbl qcm2290_bw_table_enc[] =3D { + { 352800, 396000, 0, 0, 0 }, /* 1080p@30 + 720p@30 */ + { 244800, 275000, 0, 0, 0 }, /* 1080p@30 */ + { 216000, 242000, 0, 0, 0 }, /* 720p@60 */ + { 108000, 121000, 0, 0, 0 }, /* 720p@30 */ +}; + +static const struct firmware_version min_fw =3D { + .major =3D 6, .minor =3D 0, .rev =3D 55, +}; + +static const struct venus_resources qcm2290_res =3D { + .bw_tbl_dec =3D qcm2290_bw_table_dec, + .bw_tbl_dec_size =3D ARRAY_SIZE(qcm2290_bw_table_dec), + .bw_tbl_enc =3D qcm2290_bw_table_enc, + .bw_tbl_enc_size =3D ARRAY_SIZE(qcm2290_bw_table_enc), + .clks =3D { "core", "iface", "bus", "throttle" }, + .clks_num =3D 4, + .vcodec0_clks =3D { "vcodec0_core", "vcodec0_bus" }, + .vcodec_clks_num =3D 2, + .vcodec_pmdomains =3D (const char *[]) { "venus", "vcodec0" }, + .vcodec_pmdomains_num =3D 2, + .opp_pmdomain =3D (const char *[]) { "cx" }, + .vcodec_num =3D 1, + .hfi_version =3D HFI_VERSION_4XX, + .vpu_version =3D VPU_VERSION_AR50_LITE, + .max_load =3D 352800, + .num_vpp_pipes =3D 1, + .vmem_id =3D VIDC_RESOURCE_NONE, + .vmem_size =3D 0, + .vmem_addr =3D 0, + .cp_start =3D 0, + .cp_size =3D 0x70800000, + .cp_nonpixel_start =3D 0x1000000, + .cp_nonpixel_size =3D 0x24800000, + .dma_mask =3D 0xe0000000 - 1, + .fwname =3D "qcom/venus-6.0/venus.mbn", + .dec_nodename =3D "video-decoder", + .enc_nodename =3D "video-encoder", + .min_fw =3D &min_fw, +}; + static const struct of_device_id venus_dt_match[] =3D { { .compatible =3D "qcom,msm8916-venus", .data =3D &msm8916_res, }, { .compatible =3D "qcom,msm8996-venus", .data =3D &msm8996_res, }, { .compatible =3D "qcom,msm8998-venus", .data =3D &msm8998_res, }, + { .compatible =3D "qcom,qcm2290-venus", .data =3D &qcm2290_res, }, { .compatible =3D "qcom,sc7180-venus", .data =3D &sc7180_res, }, { .compatible =3D "qcom,sc7280-venus", .data =3D &sc7280_res, }, { .compatible =3D "qcom,sdm660-venus", .data =3D &sdm660_res, }, --=20 2.34.1 From nobody Sun Dec 14 02:06:19 2025 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 DC65E27380E for ; Fri, 8 Aug 2025 08:53:17 +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=1754643201; cv=none; b=Zz3t/F3T4ocGB6USiQLtj7Umyt11FoUsyQJZWVSMfPiruKGKayR53PoImyuILHEKplus+5NSq4XSWND/K3mgiyHuI5DDmgJVuSf/lg0kxwz3uFM4X9Co2pIVPqelWuVqhcLu50NhMdAsE2prYYr9yRLzUOnFr4iVGFNnpSRu9vU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754643201; c=relaxed/simple; bh=23E2L3+GM5Ne5G69gtx+iV/0DudIvZsRZTXNlVujEsM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=MlUSQCeuO6iCIV1WMMk2ODGSprDpETjpgwskOBgpvFsbQQa3mva2GodJnpfomgbuDMoGWFKGadHK0scgq05v3epYe2onSlkd2mF5X6C4mQjEKgieyQx1x+ucQM7L0d9eOk9Vp2PTjx9AZiGyJ6nFdW7Csi75a2+RCNxkFEcdOhU= 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=adC18uwO; 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="adC18uwO" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5786tXqc018417 for ; Fri, 8 Aug 2025 08:53:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=WFXsE/Pq/OO 0HhZLOEUiCFKFRSimd89W5kjcE0yBaHY=; b=adC18uwOjEKNRUPUah1X0XrBKjr NMGk48BH8w2E4P6CBLMFbfId64DCep6gma0n4suB7o8x5MFqKgvBJ7tprkP2OIc1 9Dq+wrua2YBu3InDSjLx3SfeUuWf2n/MSIjzhvy5j02+0ufQkWXxSBFveb9uQDSa GfpagbISfmqGsHCKWXOIse2AkiDNm/9c+e9/9nwnql6FE7em9yQMbzcAEO7/zn35 VA+tkoDSPQejKSvRSY7Zc56YtWUFvNbJK6Dua30py05449Ug/ErrBwQ+KVgtom6z 4M30jB0Mx+U4ZlFk1Vh5FkJGe3tlh+ZLglc4jyfryzwR2r5C2EQqKy8X7Uw== 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 48c586eyby-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 08 Aug 2025 08:53:16 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-478f78ff9beso60082511cf.1 for ; Fri, 08 Aug 2025 01:53:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754643196; x=1755247996; 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=WFXsE/Pq/OO0HhZLOEUiCFKFRSimd89W5kjcE0yBaHY=; b=DQJHBexBL49WUefCm25rtZkgEsiyWtdGM8zpONYCPmX9E51E74RQQMlZxgfr8ea64/ INfhidbnvnspk1GmDrW0LNhK3MYHmrmexm+rv1XYIIz8iYBY7OvVlhYxRQBA3vmngoXA WjGMsnzHVwXNKVeLpUgcVRC9SsCVS5FginyFaJ3UWMO6K4OUFlKlx/6FUQMNgNT+3yKG WvAHdtLvSRfiRCoBHMnO/gD2k95YiD64r866T1lm559IzyHGuVZTKu282MamUYCuCa5o yRJJQgMynfBk/qvCyOFBSF7FPUNS7n358J+Xxp2Y1AUTMjrvYz2gLq36C7BAgvfcKHXo 4eFg== X-Forwarded-Encrypted: i=1; AJvYcCV4gnaKHE0+eoW6o0udbIdu5SzyqnozRIb9RI+8n/5ZlNMTaagtQGBJz6lQXR3V6rGnPcoX8abG2Cvx2SE=@vger.kernel.org X-Gm-Message-State: AOJu0Yy0sh5/yevumhHNa0HaUP+sCtWM/Obo70JUz8O1fd4DgSaWBYbC VE0IGylJMVBp+dOKrOel0RiwI+DFnnZiOwK3Fjfk5lFy1ISP6P8jGxsXT32/w5ns5AidJkq/r1e 1RZwojGeo/3b6Uw/jEXOglv92OY/GKlOxWgX4CPCSc6VRipCKH2Lj8GfPJgjxLNYwUnU= X-Gm-Gg: ASbGncuQPZunp5xDPnyx0f3Hlix+H4qf41GN161ocDQEgvybBNRQIfbbjaD+IGGrHL9 fqJ9sIE3ASzwljZddN6UDwAZFi1oO4gtQ+BAvF4pS08WrTK7lptthP0Qy1sZ6pw00ncH5PoRA01 +5a2Xr/OCw74s3Bhd3q1vHJ8vxuggjXaj6tIzDdh2EcKDWUFl0k7DY2Qso+QBVUBqvOJxXw7xzf jA66vAXjZrfErT9ZxjtMHq4qgHBY4jCGrTYiguCsdthijuJk1ezBbE0+FJFopmDdNH/KJzyTpZ+ 8Po9jZV/hq93NQnR6XBmRBE69SMRaKXYVh59cldy7IxYZMrNB3HGPAEABdWJk6kIS8Urdw+39TL KAEWFyR8dhYL6 X-Received: by 2002:ac8:5701:0:b0:4b0:658e:bd88 with SMTP id d75a77b69052e-4b0aec6135cmr42498051cf.7.1754643195884; Fri, 08 Aug 2025 01:53:15 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHIyBTkjW23ZduxStuoNxrstWFgHDzUxrr3Q04wuEvn2ojWkOcLrw597Hn/gTfb6Ox2Lqtjpw== X-Received: by 2002:ac8:5701:0:b0:4b0:658e:bd88 with SMTP id d75a77b69052e-4b0aec6135cmr42497361cf.7.1754643195415; Fri, 08 Aug 2025 01:53:15 -0700 (PDT) Received: from trex.. (205.red-83-60-94.dynamicip.rima-tde.net. [83.60.94.205]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-459e5e99e04sm123818745e9.11.2025.08.08.01.53.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Aug 2025 01:53:14 -0700 (PDT) From: Jorge Ramirez-Ortiz To: jorge.ramirez@oss.qualcomm.com, quic_vgarodia@quicinc.com, quic_dikshita@quicinc.com, bryan.odonoghue@linaro.org, krzk+dt@kernel.org, konradybcio@kernel.org, dmitry.baryshkov@oss.qualcomm.com, mchehab@kernel.org, robh@kernel.org, andersson@kernel.org Cc: linux-arm-msm@vger.kernel.org, linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v9 7/8] arm64: dts: qcom: qcm2290: Add Venus video node Date: Fri, 8 Aug 2025 10:52:59 +0200 Message-Id: <20250808085300.1403570-8-jorge.ramirez@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250808085300.1403570-1-jorge.ramirez@oss.qualcomm.com> References: <20250808085300.1403570-1-jorge.ramirez@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: ZnypGVL31bPTlRLWe1pj44bDKkK8Lsb0 X-Authority-Analysis: v=2.4 cv=MZpsu4/f c=1 sm=1 tr=0 ts=6895bafc cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=Rr2dNH5/fcnoRoBmcVUeRg==:17 a=2OwXVqhp2XgA:10 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=KD12_Wl4P5iJQNenjFgA:9 a=a_PwQJl-kcHnX1M80qC6:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: ZnypGVL31bPTlRLWe1pj44bDKkK8Lsb0 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODA2MDA2NCBTYWx0ZWRfX1n0H7iNAXaRW aWMirYv8abm9gJFPRO+LdCtfgjKwI86bN1zfhgYNzmRRx9pRmtq3mkUUG1PEMkRENkxll8cU+OJ N2/xoPCpjCHkiw95m53quDj3EvxiYvtg9c689LPfeUSVEZUtQ4fLc+KXZxdaddNdW1fdP+Dn6OK VEclWqNDaAUbc/fgLwCiBDVK+q260BNk8K5Ft6QUEoI8JODkPMay+eyotbSNQgsIU352Dwtkmbe qpdbQZZbn0+6fw+W1JFIBYbAQY+Wg2CVza/Wmui3j9z7tZtGiX/tZYZviyM2W+D5AkQUnivIwwx OqxiZYyB+gLusd8KLyMgh8VvbJ8eZ03DuNh8R9vWe4mqh4YQIrlnxvM1ELGY9C1j5n6su+GMfX2 6myWvLqo X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-08_02,2025-08-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 spamscore=0 clxscore=1015 bulkscore=0 adultscore=0 suspectscore=0 phishscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508060064 Content-Type: text/plain; charset="utf-8" Add DT entries for the qcm2290 Venus encoder/decoder. Co-developed-by: Loic Poulain Signed-off-by: Loic Poulain Signed-off-by: Jorge Ramirez-Ortiz Reviewed-by: Konrad Dybcio Reviewed-by: Bryan O'Donoghue --- arch/arm64/boot/dts/qcom/qcm2290.dtsi | 55 +++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/qcm2290.dtsi b/arch/arm64/boot/dts/qc= om/qcm2290.dtsi index f49ac1c1f8a3..7cfacd189a10 100644 --- a/arch/arm64/boot/dts/qcom/qcm2290.dtsi +++ b/arch/arm64/boot/dts/qcom/qcm2290.dtsi @@ -1628,6 +1628,61 @@ adreno_smmu: iommu@59a0000 { #iommu-cells =3D <2>; }; =20 + venus: video-codec@5a00000 { + compatible =3D "qcom,qcm2290-venus"; + reg =3D <0 0x5a00000 0 0xf0000>; + interrupts =3D ; + + power-domains =3D <&gcc GCC_VENUS_GDSC>, + <&gcc GCC_VCODEC0_GDSC>, + <&rpmpd QCM2290_VDDCX>; + power-domain-names =3D "venus", + "vcodec0", + "cx"; + operating-points-v2 =3D <&venus_opp_table>; + + clocks =3D <&gcc GCC_VIDEO_VENUS_CTL_CLK>, + <&gcc GCC_VIDEO_AHB_CLK>, + <&gcc GCC_VENUS_CTL_AXI_CLK>, + <&gcc GCC_VIDEO_THROTTLE_CORE_CLK>, + <&gcc GCC_VIDEO_VCODEC0_SYS_CLK>, + <&gcc GCC_VCODEC0_AXI_CLK>; + clock-names =3D "core", + "iface", + "bus", + "throttle", + "vcodec0_core", + "vcodec0_bus"; + + memory-region =3D <&pil_video_mem>; + iommus =3D <&apps_smmu 0x860 0x0>, + <&apps_smmu 0x880 0x0>, + <&apps_smmu 0x861 0x04>, + <&apps_smmu 0x863 0x0>, + <&apps_smmu 0x804 0xe0>; + + interconnects =3D <&mmnrt_virt MASTER_VIDEO_P0 RPM_ALWAYS_TAG + &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>, + <&bimc MASTER_APPSS_PROC RPM_ACTIVE_TAG + &config_noc SLAVE_VENUS_CFG RPM_ACTIVE_TAG>; + interconnect-names =3D "video-mem", + "cpu-cfg"; + + venus_opp_table: opp-table { + compatible =3D "operating-points-v2"; + + opp-133333333 { + opp-hz =3D /bits/ 64 <133333333>; + required-opps =3D <&rpmpd_opp_low_svs>; + }; + + opp-240000000 { + opp-hz =3D /bits/ 64 <240000000>; + required-opps =3D <&rpmpd_opp_svs>; + }; + }; + }; + mdss: display-subsystem@5e00000 { compatible =3D "qcom,qcm2290-mdss"; reg =3D <0x0 0x05e00000 0x0 0x1000>; --=20 2.34.1 From nobody Sun Dec 14 02:06:19 2025 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 721C0273D90 for ; Fri, 8 Aug 2025 08:53:19 +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=1754643202; cv=none; b=ZzRPMXGLjGzbt6a67iJSC6lW6OdiK3xzWVAQmO4sJE+fEFdlyt+lK0arn0uQO4w2wUWTw/DeGqSceYUyTZ2JA9PuffXpLIdySyQDmOrJH8nPigeg+i2b0JtlYibzDJ2aYoPKOdDvznqrP6x+vXY+hIrS0K3XzGQoNDUdc+CsEiY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754643202; c=relaxed/simple; bh=xLcisQUmX1kKWJaAAGMAi99CaZ3yNW/4jd6IUN4d/Tc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=cc7WG8/NBnFA/aDwnl215u+0Q1Kx64P5iLnxqILD3PNTcu9n+c+hsjfIi3taUd6iOeUVCNfDMcWldfZeaGhm9SdDOpLEqHyAKq9v1tKLCxIUNVzzy91TJ5SrcDzy/iYHVZi0QQBYM52DkIeIO4mp6kiV8FsF1KJvsgGTqnUF0KY= 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=SmBYrewt; 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="SmBYrewt" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5787AFbx024705 for ; Fri, 8 Aug 2025 08:53:18 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=XAMShpBw6gl 5ZzER3GWo8lF+QTIMlJwqOkE02a/mRys=; b=SmBYrewto+jNpsi4mCt3DQSMm8s yyWJMBkdy7sYhTSI4EFHOId4KZhIezx18DuJfacTiZI76cgvob5NnPVDSOves4Am 8bF7BfkiJhIB4Ul4yAjnLk8jmCBL/PlU/oN98Zu4HskcRTu7qtZAVeiJrO7crsCj Bs5+wJDgbVYVjXyqqgOBN10fIlsT3t7E95FSsykffNmCLwcppshrZTN3fuFj4v9d /++nJXyXw1D6GhB1dzt0AB7oq2XKqFTyJP7jdcy4LZQ5io1qI4cpctS5iKhltfGT kNdktzesb29biz17JE5DvVPaPgKHBKcRoHjr7Bk/bn+eSmdyLyyls46uxgg== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48bpw1h8yx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 08 Aug 2025 08:53:18 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-4b08431923dso43624371cf.0 for ; Fri, 08 Aug 2025 01:53:18 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754643197; x=1755247997; 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=XAMShpBw6gl5ZzER3GWo8lF+QTIMlJwqOkE02a/mRys=; b=w6nEAse5CGHkw6OtxaoML5p0lwjzXT2LE0OpBQ8zmEaJTDT2EhPfdNoBr3Kl1hBFaR SXsKaT75puzPDzPe/wjGKHiL2Ujfjp7OuA07JSxhPihaP+cOQY6hKecZJkMMaWep+iHN PdOTHkdO9al62qe21DH0a4ko/7lkNcndF5vUZz7O8LpVhLfOhohEr5/5dJShFLiL9z+g FVbTw3IsFjqyVZ457Bs4Oq61RGalJPpQSnbyybApqg81AFKoZ2DhCMex9pqLmWFOD0h3 q32rl/PvTD8zeETcPdBVr1XtsDXhM8oxEgZs131RKnytdGAGpl0/skcTh7hFCnLHLkfx F5Cw== X-Forwarded-Encrypted: i=1; AJvYcCVJbKW0L7tA/kpTYNgLk5Uz9sKx2oURQLhX1Cab7UVpRNH3SXgcjsSM37R5WKKrgcOC/wpwhMHgou0I8hU=@vger.kernel.org X-Gm-Message-State: AOJu0YyASbTeGAFd4WrmeIa5NlWUyqccOcfU0bgi3C2Z6lSG6mBl5kdw bhONw5o8ZyytNxlvu9VqJn7P9wAeHir69vNNdRoT5M9tC15fDXK8MfwHORxEblkrL4Be7wy7R7h iVdJ8fn8ICjKnyx3Dyw15bEuJKOOot/9tzScYMK2+tF10fYQhYEIjMN8/QduRMK/nDcE= X-Gm-Gg: ASbGncsbTKUCydX77QEb6n12nJ+jXhktvuP70IlqqR4qnmrjkiL0R2hgfW7hb0Czq6p PbTrIqOO80lp//xm8QdCGkISQ+B/LxBV9uVeJKRzh7eylsOASHXbtXiyp9IdZ5z8JyhHB74z++I D2gJPnVlhJr8d8FYeAvSoy94zQqxAeEepJ1N5J9f4W4PxSjcgmdUJi2+ORt7H9pAFZdBap06FNX +u7P8QROg/R5uBFIhVJYQRv7ReOriBH4eRu1dNcB0u4G9oC29/fOucE84urgpJpKIOF4xoEDioe p6DonJGBvvzF6HYBdVqUorWFG5FVrq01olwUxFTTvBKjc0IjQ512sl6pGIMRnlEQiwRNSIinzx0 JUoRQZiIxBjmz X-Received: by 2002:a05:622a:248:b0:4ab:41a7:847 with SMTP id d75a77b69052e-4b0aedc95c1mr30198091cf.31.1754643197262; Fri, 08 Aug 2025 01:53:17 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGJP2aWj+S7AivPnjl0T9O7ur4HP90mdxQ0hwDryC5Qx7SHbXMaFhvERCN4XIMhJujoabrZNQ== X-Received: by 2002:a05:622a:248:b0:4ab:41a7:847 with SMTP id d75a77b69052e-4b0aedc95c1mr30197871cf.31.1754643196868; Fri, 08 Aug 2025 01:53:16 -0700 (PDT) Received: from trex.. (205.red-83-60-94.dynamicip.rima-tde.net. [83.60.94.205]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-459e5e99e04sm123818745e9.11.2025.08.08.01.53.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Aug 2025 01:53:16 -0700 (PDT) From: Jorge Ramirez-Ortiz To: jorge.ramirez@oss.qualcomm.com, quic_vgarodia@quicinc.com, quic_dikshita@quicinc.com, bryan.odonoghue@linaro.org, krzk+dt@kernel.org, konradybcio@kernel.org, dmitry.baryshkov@oss.qualcomm.com, mchehab@kernel.org, robh@kernel.org, andersson@kernel.org Cc: linux-arm-msm@vger.kernel.org, linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v9 8/8] arm64: dts: qcom: qrb2210-rb1: Enable Venus Date: Fri, 8 Aug 2025 10:53:00 +0200 Message-Id: <20250808085300.1403570-9-jorge.ramirez@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250808085300.1403570-1-jorge.ramirez@oss.qualcomm.com> References: <20250808085300.1403570-1-jorge.ramirez@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODA2MDAwOSBTYWx0ZWRfX0Yu8ClIS3o9r RjbqwHXJo607t/ypYlbaMQhIDKYjK6S7HgQMBo1BjQAbCbZsJQakVhpQL0M9vQIIlgdPsknQccK xElqGsS+EMKwT1rKE11drodg3RhsgBJQlz9rPKWgdv63mni17eWvlqVLhutsECq2kDjtyy3B5b7 oMgHNNSMJUoy7vmF2JPxi3HHmT17ZVh/k99W1Cid9BO1LsY5agb6WSjOV8pAJb/jYgQ44vDH21r A8vbICSwDmL/D29lMYuX0FWTj+zWgb7nRVqNzryEtkAsEVDnntHvzZ/J+R4Ojxj8epopkCr/eG2 OgQwyUQVocr3B70xqqZ6QVHpo0vCKyvInPIb5j1ntRJnNmd0wvGbSq7gbVwT2LYpPRpDBHM5DOD z35CqLaz X-Authority-Analysis: v=2.4 cv=Ha4UTjE8 c=1 sm=1 tr=0 ts=6895bafe cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=Rr2dNH5/fcnoRoBmcVUeRg==:17 a=2OwXVqhp2XgA:10 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=Qms5JgQ9tnEuTiNUcoUA:9 a=dawVfQjAaf238kedN5IG:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: on3JbZhm8Cen6baoGqoBXn0ZGXj46z2B X-Proofpoint-GUID: on3JbZhm8Cen6baoGqoBXn0ZGXj46z2B X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-08_02,2025-08-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 phishscore=0 bulkscore=0 adultscore=0 suspectscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508060009 Content-Type: text/plain; charset="utf-8" Enable Venus on the QRB2210 RB1 development board. Signed-off-by: Jorge Ramirez-Ortiz Reviewed-by: Bryan O'Donoghue Reviewed-by: Dikshita Agarwal --- arch/arm64/boot/dts/qcom/qrb2210-rb1.dts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts b/arch/arm64/boot/dts= /qcom/qrb2210-rb1.dts index b2e0fc5501c1..e92d0d6ad1b8 100644 --- a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts +++ b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts @@ -698,6 +698,10 @@ &usb_qmpphy_out { remote-endpoint =3D <&pm4125_ss_in>; }; =20 +&venus { + status =3D "okay"; +}; + &wifi { vdd-0.8-cx-mx-supply =3D <&pm4125_l7>; vdd-1.8-xo-supply =3D <&pm4125_l13>; --=20 2.34.1