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 56F13376A08 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 (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66FE3Z3x3926049 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-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fe7q611xd-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-f200.google.com with SMTP id d9443c01a7336-2ce7dff6253so6617045ad.1 for ; Wed, 15 Jul 2026 07:10:32 -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=BIOht67BvIEjjDrkNgE6mfjBbsdCtxGl+y/SyI9lbbZOU0FfbqcM4a+Gr66afdrn8B Jzo/kU/JibGYMkAJ0W84Ll1T0dWKhU1SLMKb28okdmbid4emMDXFNaMi+sXekoQyj9Dr X4YZd/0xv/NcHJg1LwaqCJuYU5Ymrb8dP6bGYcu7cT4Yvoqdk7VcogKIgDT9+kgsfIoP uz4ZogejNzgV5sHYqS0BRSzVXwXYyjkdXUQtaI/K5O9+tcZVCcdv4VIRG4yD1NsSNPDC PKQSAw51Kkd0y2HOy4IkPknH03ITeA1++RaHl+rb9SQ3q3LeJ7HW5lUsFWb9/zYocLM1 DKxA== X-Forwarded-Encrypted: i=1; AHgh+RpjF0tPuZCefJY6PqcNgWNW3kOFPljUPrk1GifFogJTtgwVvLkPVQWZ1eomsTtl7yQOeOzmyHezoABo@vger.kernel.org X-Gm-Message-State: AOJu0YyQLRqOtdE5pIGlNANBJM3O99RhYDSBxRFRDrL8/YjDV4i+/6Ci gbrpiK0DZ4N1jGDDk89nSvYJNOuOAakFdn4ypB3swky1xTzq9kUgWvvZwKfj9SgsOC5W0b7kKk2 7L0w9drv370KDAOXfn2xdMM60vVZoLaJcHEGtHLy+HQATQ162z5esx5DxIBM+R9gCVzpjkgnr X-Gm-Gg: AfdE7cnRF0+ivjUaY4qJTo4TPVa1eZfSh3vM+zv09xRR/jxqvXyGZDgblPf/Rxlkppz 8FN39AKgTlj0mwHjciEApNQnU94Ilyoq/079RpYtNybNirz84t4fqaGo6TBWkf5DGR1mIoyU+vB EE8vv/uuui1i0+FslSemkFFlvcFOkZC6yDOMmB6KqWW8COm6QFZ7Bu5CVPUQkewFsITEckxxZFY IezZNKqKccd0NFemjozt45NmaNnCcTLZv7lYRywcp01DsHmYg4wiDbJGeCNojFZGGKTRhdbv4vv b9NH576L6ZIHlAyAE01r+dPahMbDXRGGXiW0rJjjpKAzaFo1MgooPJXO6/G6MXr1TXquCnm5eCQ A+N7SIPI+Tmaen2dglnciMV+2v/i83oZZEcudGOVoeINu X-Received: by 2002:a17:902:e542:b0:2c9:d277:2cdb with SMTP id d9443c01a7336-2cea16fc0cfmr159084065ad.9.1784124631171; 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: devicetree@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-Proofpoint-Spam-Info: AW1haW4tMjYwNzE1MDE0MSBTYWx0ZWRfX3tKXT5PHO8By U6vANenHywVg1droF04EhvCsc9Rbz9MBt8AQXy8OoVfGzcAViTHP5qRqanunaLI61pgz7rMgLcQ UEgqqfS6zyKHB2ljgBLgtYA450CAehc= X-Proofpoint-ORIG-GUID: bi27RW8HiamlhDizhbqVpWe4urLbBAOT X-Proofpoint-GUID: bi27RW8HiamlhDizhbqVpWe4urLbBAOT X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE1MDE0MSBTYWx0ZWRfXyOr/7FpSgdRX rXHFM6L+7ZtpASyqeU2GO1qGzW1e9TllNYZUY/3HtcNT8YykTPD4GE0nYjM0/CzmtH7JzWcDfrg eBp4pYb+V2iSeRs3uxbJFMRL28vQgugoFY9k8vEOaoxw16p5W9tEJVkuDnzgHMdla2CJVkzEQO1 u0RU0DrKHDrlCP/PLsPJ3p/yJ3He/UqYZmJAiwMZNcyRYxJmceuo0FOfM4/eCdw5fRzEVkn2veq vWFvBKWN99zT3yFDlU9WymD7oxCB4rnBD5h/XRxEyse6RHjXOpFgO3DOeYFWPjbXXjPNGHcngeM b4N8oYa4fEZHrkafRK8bEJNbl3oPugpPJ+7wg9r4AkoT1pLl62IgZYKTQwDvBV9qq/4xd8oz/tO aDFA7nfaLaKcIrUNsngS+bqdSq42N9o317+QKUaebZEQygv+ai2Hm2KNkSXJHyEXec9r2ioS9ie Mtk37Ecg5OnxA8gp0wg== X-Authority-Analysis: v=2.4 cv=BajoFLt2 c=1 sm=1 tr=0 ts=6a5794d8 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=t9ty7G3lAAAA:8 a=11-_c5lL_m6SPrwGrosA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 a=CsAS6f0m0zARWR-uHzm3:22 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 suspectscore=0 phishscore=0 malwarescore=0 clxscore=1015 bulkscore=0 impostorscore=0 adultscore=0 spamscore=0 priorityscore=1501 lowpriorityscore=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 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