From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 403F33D171E for ; Tue, 5 May 2026 07:01:12 +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=1777964473; cv=none; b=Ln+cGfF0391SuuUG3l9tJlz/7QHsHqp5Qka4J8KAila+ydvzIVtbb7KE2H6L2hIlVE1zl5lEo27YBCDE+7GyBIbWvn2xBoukKk5k3YErrbkPD9/V/6+h+6O3yQyHqI8mRMk34TN2fVcX5Fx0IYkbAsHycwA3SFrmjfnHq9uo7oY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777964473; c=relaxed/simple; bh=HB+2dN7dauUgdrMwzh7J5kQuRahuzqqEHBqE2I7xdDA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=X9esC/7+Sy0zDJNliuR0i5UDcdq2EvaCIHk0s2GVLte6VZlMd4V5Ca+xa6Wxm5HPTpIu3Q9SMh2mJnYHklSj3LyId/ud+Fa67GE8GPlGvc31lMYAkNFfNK0LqcgOMRVuuAr48UrQFiwT5DbRtPTHgFuNxzatMx+/r+yDky3pinU= 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=LdjCu4P/; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=EqpzhLuW; 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="LdjCu4P/"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="EqpzhLuW" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 644L5V9b1186937 for ; Tue, 5 May 2026 07:01:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= yWKLcs6KFXQAtV2FQyw0tlDf/NPaYSspKHLsi0vr58M=; b=LdjCu4P/8xtim++H 11ySw/8csdxm7YeaptSggci7OMVSaCGBF4xeVOyXcx7gVzCfzBNHiJdGV7lZFoMK ezw57U65lW9LW99UC/Kt102lan8RhFEYhpp1v3c0UJI20DYN5DjN3wyRD5HQecKO CYh98HbTIHRetymrNc/kmpCWqvgscUZH7w+fAFntRaxaeIm0IvRiVc1o89rvlMa6 fvyes115G99cxv6SAmOmj1qHKPqa97JxkTfEVOw+EpgZteOB6MC2S5MIoxgrSl+P zcSWZsidybdF7FzUEec60YwoTU2xNjGO6RbRHkKIPg1XGNFhVV5wvnrF0q+oUahv jXB8lg== Received: from mail-pj1-f71.google.com (mail-pj1-f71.google.com [209.85.216.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dxvvgb4a3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 05 May 2026 07:01:11 +0000 (GMT) Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-365312a27a8so2012855a91.0 for ; Tue, 05 May 2026 00:01:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777964470; x=1778569270; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=yWKLcs6KFXQAtV2FQyw0tlDf/NPaYSspKHLsi0vr58M=; b=EqpzhLuW1gaAp3Q0wECBVrNLeXejdGGRggNIjjZYHGY4ilqjwAjt85sTacBVSdtUdR OkVMXtmovLzDGMXmvffshbGcDtSlYL0b5EGT4+zWhd1dcYtVhvbq14wf8cFUnFwW0xrK zuA7wOYn3R3Toty9SIuKbn6T7UsAf5zhf8jQPgQy2cOD82BzOKpXIs0XkZbRuq3Yi/xT LrAnpNZyFmRITclQRcYvuBA5cMjT4gitL6uhuL4Vh2YtZYdEnteB/paZu6qBY8JBm6Qm lsJ0oG/f1cFXY9zttjqCQ6G2A8tghUIfzFzsJWq341n+HSL0nSRXJyTj+c1yqO9TDbCJ EUrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777964470; x=1778569270; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=yWKLcs6KFXQAtV2FQyw0tlDf/NPaYSspKHLsi0vr58M=; b=dZ6pavLs/2ygx1s8XGn7Q4JqVjW5BxFMlpVvlPsFXEJXfjNX7kUZUTRaO1KVidCtJl 4g94+Qxq/oCShTqVypXrlWZP3Cy7ha8/KWIAfW4kZ/xDfOpzZaopdEhp4uDWUwpHuQhq m7VrVBeWxKkJEy3bfTRobEx8dReqrAcuQK22uiYdKOXu56PtMPWJyowvfwcKxQ3N1D1b 3k7gCEyzhVoca4El9XUUKdiHNNyA0PB2LCNfWzHbwPi3lfwPppwEzn/Acym8yEDTvfY/ PAujZjEvyU/dareaeuiXJERZrE0BWA+SuIHbB05ISC9K4qSwM4dao08w1/JnD/Y6ILAE P4Ng== X-Forwarded-Encrypted: i=1; AFNElJ/t2OmxKydPNnc/rU/wd7RnT80q/qZuH8dIie5OSrbKjzcASlM3LHB4J7mZFFB+fRpjBJp5J8+KyYHrrkE=@vger.kernel.org X-Gm-Message-State: AOJu0YxuaHVQZlrUARRGmqwm9nWMKV7bSQjz81/1uI2raGzNydMGVovd cQfcTBTAHtK4MBra0ZyiGYw8gOKD1UgbLaiP/Ni+OVuCmTIbbwd2RxsNtdbxwkyaTReuxF8MThX Lg4flGY41ObAe/78n9LL+923sPmU4Gkkh9z0pHLBsD6e8er5q6OF3yaI3iNNLXR/QP0g= X-Gm-Gg: AeBDietAp/D7T8mkZhDw79qnRxEBp0eLxqzdhoxV32nts3RPfW5hszNfJnbLF3JkyWW yE4Sz14uU/O+yU9t43GNDJDYlMPxeX/7TbaO4wAMcTSWP/dUWOoFOXAZZASzgvLQ26ft6PzJCc+ FHEMBI5Fnxd0KAHli7z0O8YsSe4r0TSh+CLKX+1lmVhT3Yy7/GbJZ32Smbhi0MgSrG15/5xBEIn ptr8ehLDWdDe6B6n3vEn2/jPKwh7sC/q19Kt8HvCaj7C7nrY1aADHWOfTUMLzhIUKW0dwJuYJGp aQ1akvBE2d20KpnnbGG6t0S+6IRj2uBiYVWOl95it8n7YepAwnyOg+xVgboNTiMGN5BeBKPQjbD dw9IUB/my/wNHSCSWBq76NXFY8UXranVMxVsa9xh0GJOG0QShzNNJUWlyCyQOaTFgeqM6hg7Kaw Qv X-Received: by 2002:a17:90b:4a:b0:362:bfd6:a875 with SMTP id 98e67ed59e1d1-36577369c85mr1965034a91.1.1777964470257; Tue, 05 May 2026 00:01:10 -0700 (PDT) X-Received: by 2002:a17:90b:4a:b0:362:bfd6:a875 with SMTP id 98e67ed59e1d1-36577369c85mr1964891a91.1.1777964468052; Tue, 05 May 2026 00:01:08 -0700 (PDT) Received: from hu-bvisredd-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-364ebec73aasm13840146a91.2.2026.05.05.00.01.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 May 2026 00:01:07 -0700 (PDT) From: Vishnu Reddy Date: Tue, 05 May 2026 12:29:27 +0530 Subject: [PATCH v4 06/13] media: iris: Add context bank hooks for platform specific initialization Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260505-glymur-v4-6-17571dbd1caa@oss.qualcomm.com> References: <20260505-glymur-v4-0-17571dbd1caa@oss.qualcomm.com> In-Reply-To: <20260505-glymur-v4-0-17571dbd1caa@oss.qualcomm.com> To: Vikash Garodia , Dikshita Agarwal , Abhinav Kumar , Bryan O'Donoghue , Mauro Carvalho Chehab , Hans Verkuil , Stefan Schmidt , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Stanimir Varbanov , Joerg Roedel , Will Deacon , Robin Murphy , Bjorn Andersson , Konrad Dybcio Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, iommu@lists.linux.dev, Vishnu Reddy X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1777964421; l=3016; i=busanna.reddy@oss.qualcomm.com; s=20260216; h=from:subject:message-id; bh=HB+2dN7dauUgdrMwzh7J5kQuRahuzqqEHBqE2I7xdDA=; b=gsq9OxYUHQTzG9WaiC2/lfHisQcvobFOu9F3SM0jPXdGrbQ3ToFwtcC7nTt2I2lSoKXnT3nkO Ac2QeRNg2mbAez7nZcKlVIZXGff1VBznkJqWiAmryQnRSp7Q6fkMsYh X-Developer-Key: i=busanna.reddy@oss.qualcomm.com; a=ed25519; pk=9vmy9HahBKVAa+GBFj1yHVbz0ey/ucIs1hrlfx+qtok= X-Proofpoint-ORIG-GUID: UnqdhW0pKYe2wlehp-G7D2HUqjftTJlj X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA1MDA2MyBTYWx0ZWRfXzQlUgIf9h98n gXbwVZ3hSvXuC5FFUZuto6AkI4oVdrFIbQ+f45sKsl/Zjws/GAWJgRb8bsDALNFQ9kLxqJVFVT8 Hg6UK1kQeyU2sjyFjT+LOhpsSE4jdzW2JjCnOvk5D0ZDY3fn6YNuCmeEE0XdKiAKzjAgL4env8G GEwS/qHvVyL8AteFgZ13zjhtAg64kKnkSQL9jXRgSSpEDBehh4EbZSJlrVlX4dwzWR3/SpNivVJ Gso7eNflCct4Qoo68FJ6c7nDKO5Yu/W+C+4+2OSZKoes9IVQpms69tCSWtotByoUhKnkhvqnp+R FPA2uYBRZ3RLQ9Cg3UdrjIJlSY4oa8BZpRSN/oOt87GNFPzNGtS+HzE7EsriiuAL8gFzwSGoFln cxn77tFIs/W0W+LtJ+wFXbOMp7I0FLQeLQtXjaTRPQnb0U0Pf9jByP8txr84cJsIJYvL5uVnyA6 7xX8d4HyhtNWrSGhj3Q== X-Authority-Analysis: v=2.4 cv=K+AS2SWI c=1 sm=1 tr=0 ts=69f995b7 cx=c_pps a=UNFcQwm+pnOIJct1K4W+Mw==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=hn6c7xJugPWrWid5T_cA:9 a=QEXdDO2ut3YA:10 a=uKXjsCUrEbL0IQVhDsJ9:22 X-Proofpoint-GUID: UnqdhW0pKYe2wlehp-G7D2HUqjftTJlj X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-05_02,2026-04-30_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0 spamscore=0 adultscore=0 clxscore=1015 priorityscore=1501 bulkscore=0 impostorscore=0 lowpriorityscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605050063 The Glymur platform requires a dedicated firmware context bank device which is mapped to the firmware stream ID to load the firmware. Add init and deinit hooks in the platform data for context bank setup. These hooks allow platform specific code to initialize and tear down context banks. Signed-off-by: Vishnu Reddy --- .../platform/qcom/iris/iris_platform_common.h | 2 ++ drivers/media/platform/qcom/iris/iris_probe.c | 23 +++++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/qcom/iris/iris_platform_common.h b/drivers/media/platform/qcom/iris/iris_platform_common.h index 5a489917580e..55ff6137d9a9 100644 --- a/drivers/media/platform/qcom/iris/iris_platform_common.h +++ b/drivers/media/platform/qcom/iris/iris_platform_common.h @@ -219,6 +219,8 @@ struct iris_platform_data { u32 (*get_vpu_buffer_size)(struct iris_inst *inst, enum iris_buffer_type buffer_type); const struct vpu_ops *vpu_ops; void (*set_preset_registers)(struct iris_core *core); + int (*init_cb_devs)(struct iris_core *core); + void (*deinit_cb_devs)(struct iris_core *core); const struct icc_info *icc_tbl; unsigned int icc_tbl_size; const struct bw_info *bw_tbl_dec; diff --git a/drivers/media/platform/qcom/iris/iris_probe.c b/drivers/media/platform/qcom/iris/iris_probe.c index ddaacda523ec..34751912f871 100644 --- a/drivers/media/platform/qcom/iris/iris_probe.c +++ b/drivers/media/platform/qcom/iris/iris_probe.c @@ -142,6 +142,20 @@ static int iris_init_resources(struct iris_core *core) return iris_init_resets(core); } +static int iris_init_cb_devs(struct iris_core *core) +{ + if (core->iris_platform_data->init_cb_devs) + return core->iris_platform_data->init_cb_devs(core); + + return 0; +} + +static void iris_deinit_cb_devs(struct iris_core *core) +{ + if (core->iris_platform_data->deinit_cb_devs) + core->iris_platform_data->deinit_cb_devs(core); +} + static int iris_register_video_device(struct iris_core *core, enum domain_type type) { struct video_device *vdev; @@ -193,6 +207,7 @@ static void iris_remove(struct platform_device *pdev) return; iris_core_deinit(core); + iris_deinit_cb_devs(core); video_unregister_device(core->vdev_dec); video_unregister_device(core->vdev_enc); @@ -259,11 +274,15 @@ static int iris_probe(struct platform_device *pdev) if (ret) return ret; + ret = iris_init_cb_devs(core); + if (ret) + return ret; + iris_session_init_caps(core); ret = v4l2_device_register(dev, &core->v4l2_dev); if (ret) - return ret; + goto err_deinit_cb; ret = iris_register_video_device(core, DECODER); if (ret) @@ -298,6 +317,8 @@ static int iris_probe(struct platform_device *pdev) video_unregister_device(core->vdev_dec); err_v4l2_unreg: v4l2_device_unregister(&core->v4l2_dev); +err_deinit_cb: + iris_deinit_cb_devs(core); return ret; } -- 2.34.1