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 4120037475D for ; Wed, 15 Jul 2026 14:10:33 +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=1784124634; cv=none; b=Ez1ZrZBYkvrWJ4fyBZo7errk+tjnymBk0Y8OsofFEs/U+/iD6KO5T9nSIGG/WxzzGslU6U2NEp4Qm1EkXvFSLFd5dVgIC7HMQcbJjxjuuVXPy+pevmtts3SsiTsWwc5nqs+k5cyooK7rL78KUJykR15YbkNggT/j3/vHIEnIvBs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784124634; c=relaxed/simple; bh=Z7a+KeKlfsd6hODeCUGUk5GwLjPusVx49RSzZ6ytvIQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OalqL3aU71WQbd4VcxTYHpqa8EzRzEJ0zwXa3y1TuXDRkfhr0Pp32Mgi5LsauUGIHDNu9kU177Hqe/ciWG6wXhC54rzLdNH2ZpPp4GRdyr5sFPwNfdRTBYtHuV5jpy/Sfk8+KIHBGmFvVNxxQImT1NLyVfdst6RsFepGKPcwSBg= 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=V8vZWrnI; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=HOq7f4r7; 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="V8vZWrnI"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="HOq7f4r7" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66FE47ST3905468 for ; Wed, 15 Jul 2026 14:10:32 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= rccCrQapLXpGKmzhslQnhMFu7V0TczQtmSRgtHbcpXA=; b=V8vZWrnIY8F4lR2l 4RXYe33gqTTTrtUP+tiuXZlpBjph2VhscMKCWaapZJ2KySvfQestzd5W1+h8zPrv 4cYbFWIoxSCnB7FWK6k2vnQ1bzKvg3xkfgkzlxpgGimqBoWCy4kgv/HuuKzgUaFB xm8R1Asdb/h/P0/hHzAIUCQKRvULIBj7V+YOTpyxS46AZRVfFo8WY8EDStIm2x6N S2yuD51XFbnh4oUcFb13FEIBoqTwIfFIcN3pYgKI1bor78fyK+vHV4gJ/SkUDF6i PlfFsRb76cL/D3BWL0Gi5lFP30I24zadIYEWMRY0VEyOlGyLn+rA2UGAgwrzRyD/ KErCrg== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fdwk336kk-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 15 Jul 2026 14:10:32 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2ce7dff6253so6617035ad.1 for ; Wed, 15 Jul 2026 07:10:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784124631; x=1784729431; 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=rccCrQapLXpGKmzhslQnhMFu7V0TczQtmSRgtHbcpXA=; b=HOq7f4r7JL+mOzq63uIaGCaC0tS3pSjuhShg3X37wrkkhqfs0ZHfaFocMd/rGQTLjD 2pM2UWxmXwhk0t0jxMNuUBvnNOpsF5dBjB2QCFgFv/WYjjYSwGAj3uFFSD2w87Yv/XkU R1u0sLRHvzOjvOr3VtMZu8S0VMCaFWpdlkStfKFQNbexiiPBTHGdfWPx33f1SbUoM2xQ qpsVQhrOdbt3NA1XVJ4mKp222XAvlY16C3FjjWhi/gDSrMwoMHdgJFV2nUHsCBrXslau qrFlrEtOloK2mJHHQgbr1Gcl3gqQgCKq1yMjrjO7EByl5fUzG10YwrnJ3XEwp81Ns7W8 mXPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784124631; x=1784729431; 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=rccCrQapLXpGKmzhslQnhMFu7V0TczQtmSRgtHbcpXA=; b=NTi51ml+77BtKs3CykNwR/xaZVKFGPUNwGArHIx65JWzem//mSleFGV78+Vju3DjdC Zh9iIr69CdHmfMbV55r8zhGJjydj8bnpsWALcUVz3V/WnHoOUYNlNcINzVlf4iSIgdNO F8AbR2tIJiuhIWx952RY2zJ4CcIEArem5t/0ylwm65+/N7K2faROjebLSdASlhS3lT4h VFsuFOIqVExMVkRNnvMtJP3VScw6Ami8BWLxwH+QS0gfkzHsCikpfD3FfnB4n0WhuhZQ pPLWWAxkIlDlffW8DeyHnzC3F/O+XVFmE4z5hvjjnL0vmohWe3HSOOMyvsir++MsFIi0 CqpA== X-Gm-Message-State: AOJu0Yy6WBg6V/ULYt+z4SDFTksGvkG877sSa7+Oy+2NBqJrENTXXdxM 7ifD/ExEFUPIALL7VIi1SG14YHpuRabybtDNDSuV/GVBr6TdLDAYEQvY+Nq7pEPRntomdvT9rpb OkGAqfNh5fVw0YGHKsSnPXEsbZMryU0jisoIYYGhifWKc45qgZ0XuRjdmgo+Pb4RjESFidadE1U g= X-Gm-Gg: AfdE7cmzdhIeBzCuO08SBSXpnNs+nAv+oHdESVXrxethPuFrss/eukeVjdqmNoyBeO5 FV2i8V8XoZ/PHoz79LFRSavUP+UIbB/XHWyP56VM4CrgVt1Lex418yEwOR1+ty8wPKoPkeqoMbU du4SnM7vjahkSWGeq11I63+exem1KoK4qoqg6n2tz54nf9V9l6jnkTsehA889DMxdlvRhZD/MPP weuBkdQ9OLWswmqtA/k2okPhbBdHCPR4upqe3C4krAwlj/FMF7gyncliVF0kQ5O1t7rScN7ahIx HcDZ4DUuGGya1+NBMCNs4ULlr09ppzv6AzSnYGoATbmBsKj0lozIFGvzdR3G6YQB2nemceaRNeJ Z0ubc30poCHALQjlfiAs0DDNa3MKUPRuxQgGZT1cFhXvx X-Received: by 2002:a17:902:e542:b0:2c9:d277:2cdb with SMTP id d9443c01a7336-2cea16fc0cfmr159083925ad.9.1784124631155; Wed, 15 Jul 2026 07:10:31 -0700 (PDT) X-Received: by 2002:a17:902:e542:b0:2c9:d277:2cdb with SMTP id d9443c01a7336-2cea16fc0cfmr159083485ad.9.1784124630603; Wed, 15 Jul 2026 07:10:30 -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.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 07:10:30 -0700 (PDT) From: Vishnu Reddy Date: Wed, 15 Jul 2026 19:39:57 +0530 Subject: [PATCH v9 03/14] media: iris: Add helper to create a context bank device 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-3-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=2769; i=busanna.reddy@oss.qualcomm.com; s=20260216; h=from:subject:message-id; bh=YR+PjYPX5zksaKJC/NvxWsdFNoGva+12VxA4G3rAknc=; b=bD+EReDXs3o480Zk1OghwCSx7mBFpmiw7ZRkROj5f0g9INqbdS/VO/svLYrOaoh2nS4yIFN8Q YyPxQHza2wWBJsxxNDlMSwHuKqIMINy0LMsqXjZJTzA0fcQDQJhWmW7 X-Developer-Key: i=busanna.reddy@oss.qualcomm.com; a=ed25519; pk=9vmy9HahBKVAa+GBFj1yHVbz0ey/ucIs1hrlfx+qtok= X-Authority-Analysis: v=2.4 cv=Yc6NIQRf c=1 sm=1 tr=0 ts=6a5794d8 cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=t9ty7G3lAAAA:8 a=11-_c5lL_m6SPrwGrosA:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 a=CsAS6f0m0zARWR-uHzm3:22 X-Proofpoint-ORIG-GUID: lp-eVhULpj2Ssgevkonx9FWTAv6hGCr8 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE1MDE0MSBTYWx0ZWRfX/vnSLyaMB86D A2rpYJnBQRfI5dR4lu94LsEKrCc4Bcrjs3f+ps1udyYnWJNpIEUSP2Cx6h3CJL4ykH0DKa59kUm UsAY9L9YkcuEg97J6oA63NZuI8IHcWP4a9189asu/ZlCsZSEqI/WMLAKOR08XZOVk2v+ZnQCIVg P5soJPi7B9n9YCrNaIW7nYz13lzp/8wMMh39YNzU3ppsDzuXwjr/k4f3fYpkZr+b1JcX8Q0UwF3 Sp9jJptLGFVMbvkd4Dp4OD7Uueurm/zXZQBrVFpfks51V0xwQhd2iH1SWYeUCUNKpg9bwtsKzdv KZwcs9g1MM9IzYI/vgWWkyKQtql126dQrLsdXqSXAzLZbkmaD9gvp0wfWPDE0Kar3bs5x0yoJAq SSF7YGSFXj6q7cl5RlPgJ27bZGTUqCW/6AhTI+dF5xQeDGkhOzTWFkKmNtIT7rP0V0D1oNfDk5I Hd5T0Em5KYpB1wIZcrQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE1MDE0MSBTYWx0ZWRfX9A2isZ6Vogr/ LEOvmU8cJSFIApndgxbIPv6ZzOwki0LwlNOakcZGB0uY+GzL1Q3tmY24FR52SEIbgTRBhiKEMt/ wWN5RUM4+zfcekXIJ+SYclQjnsG9A2o= X-Proofpoint-GUID: lp-eVhULpj2Ssgevkonx9FWTAv6hGCr8 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 bulkscore=0 malwarescore=0 spamscore=0 suspectscore=0 impostorscore=0 adultscore=0 clxscore=1015 phishscore=0 priorityscore=1501 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 The subnode in the device tree is registered as a separate device so that it gets its own IOMMU context. Pixel/non-pixel buffers are mapped into these iommu domain, to ensure they are within the addressable range. 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_resources.c | 28 +++++++++++++++++++++++ drivers/media/platform/qcom/iris/iris_resources.h | 1 + 2 files changed, 29 insertions(+) diff --git a/drivers/media/platform/qcom/iris/iris_resources.c b/drivers/media/platform/qcom/iris/iris_resources.c index 773f6548370a..a685915a19e9 100644 --- a/drivers/media/platform/qcom/iris/iris_resources.c +++ b/drivers/media/platform/qcom/iris/iris_resources.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include @@ -141,3 +142,30 @@ int iris_disable_unprepare_clock(struct iris_core *core, enum platform_clk_type return 0; } + +struct device *iris_create_cb_dev(struct iris_core *core, const char *name) +{ + struct platform_device_info plat_dev_info = {}; + struct device_node *child_of_node; + struct platform_device *pdev; + + child_of_node = of_get_child_by_name(core->dev->of_node, name); + if (!child_of_node) + return NULL; + + plat_dev_info.dma_mask = core->iris_platform_data->dma_mask; + plat_dev_info.fwnode = &child_of_node->fwnode; + plat_dev_info.name = child_of_node->name; + plat_dev_info.id = PLATFORM_DEVID_AUTO; + plat_dev_info.parent = core->dev; + + pdev = platform_device_register_full(&plat_dev_info); + of_node_put(child_of_node); + if (IS_ERR(pdev)) + return ERR_CAST(pdev); + + dma_set_max_seg_size(&pdev->dev, DMA_BIT_MASK(32)); + dma_set_seg_boundary(&pdev->dev, DMA_BIT_MASK(32)); + + return &pdev->dev; +} diff --git a/drivers/media/platform/qcom/iris/iris_resources.h b/drivers/media/platform/qcom/iris/iris_resources.h index 6bfbd2dc6db0..ca53c01f60ae 100644 --- a/drivers/media/platform/qcom/iris/iris_resources.h +++ b/drivers/media/platform/qcom/iris/iris_resources.h @@ -15,5 +15,6 @@ int iris_unset_icc_bw(struct iris_core *core); int iris_set_icc_bw(struct iris_core *core, unsigned long icc_bw); int iris_disable_unprepare_clock(struct iris_core *core, enum platform_clk_type clk_type); int iris_prepare_enable_clock(struct iris_core *core, enum platform_clk_type clk_type); +struct device *iris_create_cb_dev(struct iris_core *core, const char *name); #endif -- 2.34.1