From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 2CFA833ADA0 for ; Wed, 15 Jul 2026 14:10:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784124627; cv=none; b=NuGc5cBqA6FEm9zQMudUrEzjba2Ho70IloZ+6LBkAbyzVicPeUtjoBdCmNedyuOjdDj9Dc7VU7pJOJLiyjhkO8scxJpoCgt2e9tkIKVT4KhlrOcfkCFGI4gPfo4IhluNLVAPAlhpg7BpwNSnf6b0zKvYOXbylm+U1RE47hXb09o= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784124627; c=relaxed/simple; bh=tBM4xBzn/Xu0jRn9xB3qtH2PBSvLI/9VGMLOvNw3o5I=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CjINlIQ4U1jv2u3Hxhio1mr+vE0DrhjAxuTt/500L2Fqy2sO5KiAKKD0UnIu0NfSnbEhl+FXOsq08GozBeBrwrxQoBsu6R51AAzG66kuQQ2eSjGiPCt2Mm7/aHSmzfKRVVxCRbZHGqHbUWrqJnY9dfmdDP9DWoulaSSYwjOuXlI= 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=AQDuOgD2; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=GBzC8+ZD; arc=none smtp.client-ip=205.220.168.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="AQDuOgD2"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="GBzC8+ZD" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66FE3Qbv4006758 for ; Wed, 15 Jul 2026 14:10:25 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= mG+MV9RqZD61fcJc7fhHYvKrob3dAixJSqJ0wMGBFsQ=; b=AQDuOgD2MPFx9Qk+ jDvhXq33rTOeaktqP5IzDqtn7k7bRJ27BeoGxWQnnqKJTeyJ9jyUp7Bny46xAdlF lnNSJoTCCuVoXExD8ydeftMvOkU55zKEXspr5XGZMJIdC29ACW8zb6falFpcQ/2L 5Pk/rZ/NIBc9my3hCuSTth/vSzzaffFvpymxtBT0TKH11L5iLUj7p+DAmAC2m5k9 KBSP/DSRmS6JVykgq97Pg06r2UraJs1Sw0VVn3SthKWQcYfvItovrrWc65lpmTwp xOgUHAtfORPRnoXZyaxfZoxGXaRhzsuTlCq2lNfSS0+E85yyYDirV/ycLwGlOtrB GNrtWg== Received: from mail-pg1-f200.google.com (mail-pg1-f200.google.com [209.85.215.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fe6529gau-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 15 Jul 2026 14:10:25 +0000 (GMT) Received: by mail-pg1-f200.google.com with SMTP id 41be03b00d2f7-c88da04b719so2068740a12.2 for ; Wed, 15 Jul 2026 07:10:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784124624; x=1784729424; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=mG+MV9RqZD61fcJc7fhHYvKrob3dAixJSqJ0wMGBFsQ=; b=GBzC8+ZDEvbYmXuRmK2bF0Yr55/kcXiTediOT/PxWpfv519tfkJYjX3hCAySPAjcuQ bL8jx4PB3Aa5XwJSENOAzMt8Es+yquzqHWjbHMSteJuYVc1PW8hOgpfaMtRy6DnV63iU OrJQwLFh0g9smcb32nHEyvF5T73x5Je6lsd6X5f79HKuFxTz6robnvPZUmtxiG+WWW/H oNH86b3N90wIdxE51A2HbPcajzeug13Elp6dOAuILyzWS9TszLlHq7t7qxkcFbjE93pU 2drJMilbDrK8oARylOBRTNDKyR2deHMU3rs9xkFgPduXt3mPTaZOFtUj2/m5sQInzo8F qwqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784124624; x=1784729424; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=mG+MV9RqZD61fcJc7fhHYvKrob3dAixJSqJ0wMGBFsQ=; b=htLaet9M2jx2Hfl6jfGJ0yqXwt7JsIUngSlXx+mMb5+AZpHA2t90HRFEx07DRKjixe zPNAJzDdxzLDCfXO0gQ5tJgAFVFvQkkTYeT30pbytAoKJwa9Kj7WPU6iahF2WeYNpvWX W8/8cOobZ1S2Y5J3lbz8sBwHQK6MNw1HXkQJeiIckau2bHrCIVxQYNZYvLVt9w1ttlQc fNuUdaWSCdjuvFuv2E08D6ACMy9OkrT8yEQIspuVcTl91es4F3fqBRs7Km6jPJIQ7xO7 xQFB1BPUAyAfBYMrjg6yDy9auGS7MR8liOimup2QAIu8ZUQ9bBzsw2DVLWHXH5NZvF1b 9Ngg== X-Gm-Message-State: AOJu0Yxgoz+sz53fk5y0d12YcgZFgQRiviuCGEcD/Y10LK2JSbmQ3GDW Qda1MNVmR0Y19AH+bwZl2GUXcudKb+tI2ITtNGdW7LaUWWLms0S8x8ZNLIf0fkHpC7gRrKbW3t3 4vVtlNNAuHFgL7emKDiQhwe6CTtD8sIUW72dkUp0hWQEN7pyl5ALr0oKYhQU1Ss5UCNF87kqGg3 4= X-Gm-Gg: AfdE7ckF3cbfmveKTha31VjQzpTQO1cxP4tkYh9XWI6dJblpR6bHjcQhgJZsXLFuOj2 5Iev/VYPGpN5I9pNNYhg1LnqIaICvCqORvbpPWw3QUJ6oN4GhEY/RH4KBkBQZO1ATgLRZBbqpMM D2Lig66xWXST7VfM+kNRps04NtMgojy8UKHvkFBH2bPg4wkk+0AU6Ht80yKYhAfVQEmIabvmP0C E7qpculJA4YK9cMaLF7iDJkHsXjxr2amvhu8TJl0WdJLLttITYlJ2YklHZVdWAU8vsa6xBoROMx Dk6uRbrUuSjD/HVoT734ya3MR5uDNoFMM7GGWIZjQISZmAMAlEqmI6XZarmK+0vn2TCGw5l70fw WT6g+4oIlpsI5ytITEsMLQLUVXbMYdbCH0MeySogFmFGS X-Received: by 2002:a17:902:c405:b0:2c9:bd64:8c8b with SMTP id d9443c01a7336-2ce9ee1143amr182310265ad.31.1784124624393; Wed, 15 Jul 2026 07:10:24 -0700 (PDT) X-Received: by 2002:a17:902:c405:b0:2c9:bd64:8c8b with SMTP id d9443c01a7336-2ce9ee1143amr182309755ad.31.1784124623841; Wed, 15 Jul 2026 07:10:23 -0700 (PDT) Received: from hu-bvisredd-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf1070b68dsm2913215ad.79.2026.07.15.07.10.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 07:10:23 -0700 (PDT) From: Vishnu Reddy Date: Wed, 15 Jul 2026 19:39:56 +0530 Subject: [PATCH v9 02/14] media: iris: Add hooks to initialize and tear down context banks 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: <20260715-glymur-v9-2-8cf2cbe12a07@oss.qualcomm.com> References: <20260715-glymur-v9-0-8cf2cbe12a07@oss.qualcomm.com> In-Reply-To: <20260715-glymur-v9-0-8cf2cbe12a07@oss.qualcomm.com> To: Vikash Garodia , Dikshita Agarwal , Abhinav Kumar , Bryan O'Donoghue , Dmitry Baryshkov , Mauro Carvalho Chehab , "Joerg Roedel (AMD)" , Will Deacon , Robin Murphy , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Stanimir Varbanov , Bjorn Andersson , Konrad Dybcio Cc: linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, iommu@lists.linux.dev, devicetree@vger.kernel.org, Vishnu Reddy , Daniel J Blueman X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1784124602; l=3226; i=busanna.reddy@oss.qualcomm.com; s=20260216; h=from:subject:message-id; bh=vPJQbRQVpDgoYGPs3GH5JVsYjK3ZXwBn3AcrWWr9aTo=; b=YMlHOOpdBxPUQfilr8FFvs7rxdpEwUrOIv6CUO72aj/DfFHXZ1yBpMUAyh3JdQPWw6a4B1g7i 0vDkxE1LkISBimhCDQKIHtl9/ukK1HkLgY3dv2aXdOluIoc0X7ucy6/ X-Developer-Key: i=busanna.reddy@oss.qualcomm.com; a=ed25519; pk=9vmy9HahBKVAa+GBFj1yHVbz0ey/ucIs1hrlfx+qtok= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE1MDE0MSBTYWx0ZWRfX5hrzAicht4zr gL2aClAK76AZa5VJotgdSoG0CzqcckxQtfpdYbtS+Ghs3xf/ZQsYg8K+OGPqZWYXvCwV5Wj+2px YUf3W5/vrVsl6OaaJRDhWcRHKTO9Ibt1JvMvnEkSJLYoYzPNQV+E3E2qkgV+fzPNvbF1DZ5wYvM 6yJQpY91N9CuX+sa1IiVkgjg4z6zVqmWKQU99FZQMPcpvqTbtr5UmTE3eh1suDwE6Td02XOSCXg /AkBWJEAdcQZBlrNbVPR3tKITRxipx6bAPDPikTdbI1ZnTlRLsd8QFg/p+re8/YcGD9/wZPGoS3 y+W1xUMHsw7D+xt4fKcCSOD2k8GhvsoNDh8xeQSXYysn0KpE2UMy5Etllm26glu9YVjIqYRo3PY YycBIV9/X0imqGhfiudtdRJtJPpE3r1271UQbP50ku+3OEpnosynOjdYk3m3Q/t/PnpssLV+FPz 9JyEeR4gTV0W9CFqG6Q== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE1MDE0MSBTYWx0ZWRfXzhh0j/Jsc9le Wh3DDt4qW7s7hWk06NMprnbWs1OzhD4K8ty7LYe0gF+A6xoybN9T+TD8bTxI1rLFAQ4n4bv3sKJ SjqedEruB1+ZD2hVecyIb/aCmwxA1PA= X-Authority-Analysis: v=2.4 cv=bKcm5v+Z c=1 sm=1 tr=0 ts=6a5794d1 cx=c_pps a=oF/VQ+ItUULfLr/lQ2/icg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=t9ty7G3lAAAA:8 a=UiTy4FYwoVgUUf68WHMA:9 a=QEXdDO2ut3YA:10 a=3WC7DwWrALyhR5TkjVHa:22 a=CsAS6f0m0zARWR-uHzm3:22 X-Proofpoint-ORIG-GUID: il-a0ZcmKIehaNzwt--iuOxnnw3oa-tX X-Proofpoint-GUID: il-a0ZcmKIehaNzwt--iuOxnnw3oa-tX X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-15_03,2026-07-15_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 spamscore=0 bulkscore=0 clxscore=1015 adultscore=0 malwarescore=0 impostorscore=0 suspectscore=0 priorityscore=1501 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607150141 From: Vikash Garodia Add platform hooks to set up and tear down context bank devices. Different iris platforms may require different context bank setup, so let platform data provide the required operations via vpu_ops. Co-developed-by: Vishnu Reddy Signed-off-by: Vishnu Reddy Signed-off-by: Vikash Garodia Tested-by: Daniel J Blueman --- drivers/media/platform/qcom/iris/iris_probe.c | 25 +++++++++++++++++++++- drivers/media/platform/qcom/iris/iris_vpu_common.h | 2 ++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/qcom/iris/iris_probe.c b/drivers/media/platform/qcom/iris/iris_probe.c index c2dcb50a2782..2594f5a67378 100644 --- a/drivers/media/platform/qcom/iris/iris_probe.c +++ b/drivers/media/platform/qcom/iris/iris_probe.c @@ -15,6 +15,7 @@ #include "iris_core.h" #include "iris_ctrls.h" #include "iris_vidc.h" +#include "iris_vpu_common.h" static int iris_init_icc(struct iris_core *core) { @@ -150,6 +151,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->vpu_ops->init_cb_devs) + return core->iris_platform_data->vpu_ops->init_cb_devs(core); + + return 0; +} + +static void iris_deinit_cb_devs(struct iris_core *core) +{ + if (core->iris_platform_data->vpu_ops->deinit_cb_devs) + core->iris_platform_data->vpu_ops->deinit_cb_devs(core); +} + static int iris_register_video_device(struct iris_core *core, enum domain_type type) { struct video_device *vdev; @@ -207,6 +222,8 @@ static void iris_remove(struct platform_device *pdev) v4l2_device_unregister(&core->v4l2_dev); + iris_deinit_cb_devs(core); + mutex_destroy(&core->lock); } @@ -273,10 +290,14 @@ static int iris_probe(struct platform_device *pdev) iris_session_init_caps(core); - ret = v4l2_device_register(dev, &core->v4l2_dev); + ret = iris_init_cb_devs(core); if (ret) return ret; + ret = v4l2_device_register(dev, &core->v4l2_dev); + if (ret) + goto err_cb_deinit; + ret = iris_register_video_device(core, DECODER); if (ret) goto err_v4l2_unreg; @@ -310,6 +331,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_cb_deinit: + iris_deinit_cb_devs(core); return ret; } diff --git a/drivers/media/platform/qcom/iris/iris_vpu_common.h b/drivers/media/platform/qcom/iris/iris_vpu_common.h index 09799a375c14..a8df9af0d3da 100644 --- a/drivers/media/platform/qcom/iris/iris_vpu_common.h +++ b/drivers/media/platform/qcom/iris/iris_vpu_common.h @@ -22,6 +22,8 @@ struct vpu_ops { void (*program_bootup_registers)(struct iris_core *core); u64 (*calc_freq)(struct iris_inst *inst, size_t data_size); int (*set_hwmode)(struct iris_core *core); + int (*init_cb_devs)(struct iris_core *core); + void (*deinit_cb_devs)(struct iris_core *core); }; int iris_vpu_boot_firmware(struct iris_core *core); -- 2.34.1