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 53F483E7169 for ; Wed, 15 Apr 2026 17:16:26 +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=1776273389; cv=none; b=nnZGARIH2Eu9URgDi1FasQ8gOs785ifPBN88kQrPLaIRelz0UP8pkSbxsbuBUt1WfL2S6ZCgx9BmhpG1OreqX8pSJ/iMBI2Hj93XUAXdf851BpLGPpqiNBndRxz2RBUES5UhPKes8HmVwb+i4ZyVlwfLLuyx+MMwghZA8lU8if4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776273389; c=relaxed/simple; bh=S0EDPJ9l+fvj9T5naoPwWY+Enw0gjv+15LBTelh/VlM=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=fqAXKdNuObaanmtoZmgt7WD9Mvp5GX7ZNYcFOFOYqKzs5q465b2oOcgWTuB6FQ0yHY54z37cDUcW35VRIhXLFtBJ6Gn+lAacPTvBxso/+J3pXQSFrzDUHy/bSZUfG1PGH6nW8TwKFjLfAwclROPR1nz01R11jLBmRDAGFWxj1F4= 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=DJlDCc+P; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=UwKw84Gm; 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="DJlDCc+P"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="UwKw84Gm" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63FFV6Fe1566702 for ; Wed, 15 Apr 2026 17:16: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= RXvT4zjNncbaQTzuRUGDRSkWnu4bijnWhJgtWj2vfqg=; b=DJlDCc+P7kvAcR3W 1i9+1MbX2YXxQYZ/Z48HaSJr9AdMUgXqCSWSChH6RoDXEE2xBPyKp9anBuYiWgxS bqS9J0ixRzZwbUaxsx6M9EtAnU0bUKxa17zlMssX+JUzW/RcLm9LWjHcfmH6Hagj q073QblXiX5Zec20+sZ/rKek5Wv46TrczYvsEH9l6hs1TPcj89bGrALmS14g7u4/ lk+qWOq7Q3Ynwx/jB7RAcRVSRPd2vUaqjZa70JGyLcS8pJeuJUisDox8hLY3aeFR WmtZvKh4MTnzwgQjNEtyazblgy3ItIlwsOrJn3pbrBF9nDkIKHcxdDXZr+RYjJqv k9VjJw== 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 4dj7wv1rbr-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 15 Apr 2026 17:16:25 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2b4530a90fdso85277055ad.1 for ; Wed, 15 Apr 2026 10:16:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1776273384; x=1776878184; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=RXvT4zjNncbaQTzuRUGDRSkWnu4bijnWhJgtWj2vfqg=; b=UwKw84GmX1twq9q14oz7h9emayFdfayY3yYIfZ6Dzy+T9dhHQwAVEx9Cy8oY2wa2aw 8a30kr6AFjodFHxNaDmdyYUaW+Dh21v41d1c3vDaxmX8LsFmZZU1Aa1wNarvc33pcjXO iiQk0nSJ+aSTo+K+tcRFiuyDpRNXo6JltgU12Kmmt5nfwnrPmMBWvEJENyrfHIqsNclH w1iMkP+9zOdwH/qxq+e1sx1MJXuAcj7gDEooiGbjn8yyKLUoCW7By/qs2BbP1kSZ2s2M SlnhLcvs3mDgzI2Neej0GI+r5yy9g9hHzs8wPHiHjGbZnjecz9Zv0Jr9zJfoxpKCgISn EfoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776273384; x=1776878184; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=RXvT4zjNncbaQTzuRUGDRSkWnu4bijnWhJgtWj2vfqg=; b=mCgOpRet5hO0/ywveEku+aAhmUAb50hXK0AJPY43Zkw16ReJ3VkC8q080MVJvjXDm9 YPH9hduFgIk0jQ2xBAGONMJqflLJ46EWTEs0lDKeKPzqCVDbFphgAtMRxa2nZOAs+qhB Mo3LVOjDTeSLaixPjKaZyNkoxNvJUNDvR0rHvpnamTfD1RwAPcI7PYSTnpg78xpwnue5 YHv0RRHGg45kSpXHbMMit2AMuW2qunIRLF4CQe/BmxRQhk4Tur2g+6H0NJ18AnngrJHn uCGaf3TNTPEsQCVso8OP1MvwajVovI0+omlMyT38g/a1oGa8CTUfkYrJ1LjSqUsKCBph G3vQ== X-Gm-Message-State: AOJu0YyA6Czxvka2IOsLC8wRjhqM3lYw/IvlnBAPXriHuDOFBbu1ZhOL Uv0EVNgDxWLgwZx9SNb4PfGAt2/jfjd67pOBYDhrMDiRWvGhX5f6tssTMNiFmmY6a8E0pBFi4Mh tvkLenWdWl6g/9iqCbc/pCl+G4gqxn1tlwcpb51BVe0tDLsvts5uut9fE9iPuFbInQaM= X-Gm-Gg: AeBDiesxpD/YIWxIbQ7Nl83zjRSbt58J6i6QoqaFwdgAaQ+4A6sxU1Vs/lXMaIo2RE4 yZdH25TXXARYhaUF2SfWTrvB3eJEr7m51dZbFm/EHMcSPAHiicNVTg98a2Y7yHeybg01C7ea/Yo QIgDQDuw5aczhk+luC961hGOTslQ6+dWfb8y9ByoaMbsMUPm0wNcQV7QZsqvW7HspFNoBfHioOG tVf+p8lbNF5Ua2NLpzynRnLKoYJXEYvrkPz+GXDww84Y2LOkpGXvyCMquZvnISfHnOFmpZMhi6X sG14wJz3e13VGtLE1S89ZilJhuaoLdzQ3JsMOI2JmZ/sSAWLjBN4smudAjpk+EBjTbfKBbB2WY1 4faGT6nww3bseZrenKcacnST9PAslrKOjLIbshSYm4rEzxQoEiSMjeA== X-Received: by 2002:a17:902:cf05:b0:2b2:42da:25c4 with SMTP id d9443c01a7336-2b2d59adee5mr234505575ad.14.1776273384139; Wed, 15 Apr 2026 10:16:24 -0700 (PDT) X-Received: by 2002:a17:902:cf05:b0:2b2:42da:25c4 with SMTP id d9443c01a7336-2b2d59adee5mr234505285ad.14.1776273383593; Wed, 15 Apr 2026 10:16:23 -0700 (PDT) Received: from [10.206.105.200] ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b47826e306sm27292945ad.46.2026.04.15.10.16.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 15 Apr 2026 10:16:22 -0700 (PDT) Message-ID: <75191131-2eb5-a7d3-0222-8c03a5ded45a@oss.qualcomm.com> Date: Wed, 15 Apr 2026 22:46:13 +0530 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: Re: [PATCH 1/3] drivers: base: Add generic context device bus Content-Language: en-US To: Ekansh Gupta , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Thierry Reding , Mikko Perttunen , David Airlie , Simona Vetter , Joerg Roedel , Will Deacon , Robin Murphy , Arnd Bergmann , Srinivas Kandagatla , Dmitry Baryshkov , Bharath Kumar , Chenna Kesava Raju , Vikash Garodia Cc: linux-kernel@vger.kernel.org, driver-core@lists.linux.dev, dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org, iommu@lists.linux.dev, linux-arm-msm@vger.kernel.org References: <20260414-computebus-v1-0-4d904d40926a@oss.qualcomm.com> <20260414-computebus-v1-1-4d904d40926a@oss.qualcomm.com> From: Vishnu Reddy In-Reply-To: <20260414-computebus-v1-1-4d904d40926a@oss.qualcomm.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Proofpoint-GUID: Ncpzuk9RTg55skfmPZhFtvyE_w0dFztY X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDE1MDE2MSBTYWx0ZWRfXzLCZkcokCdwA kXjt9uyiy6tt+v9llVDku/ts03DSVEC9spK+1AMcjyPHykC5oUhnXB7nLmcWef4du7SFI4SEI1j JpNIo/t8QRRXH2/S4zuieJmSmQFnqwGr37iuprz6uLcbbtG1XtpoLhCRNLnI54aGh3FUchGUkXq BLLcthr1UJ4qHYM0CmKtX2rbX7tEJv7moOtwQ4jboPrf1Rp/KCLcOTGOTnFYDTvIdJJ7V/iHuoa KHAAgZF1dGwBLuEF03t4shDQn9m+RlztRSnaVbdxCj3yXUOM5n04sT9tSlQTW/gq7U7WGuFJTY1 TIKsTZvf/GeAEtFgKXMv2f+SJU/eDykWoc97iFcTPf5NMbMlOA2E2C3Co+enaUp7wDg/vsCl7Uo cOHULUzFagwaY0nhmFlvhDEFLjFyU5eAoRRN26IYgQZ4Lgj7KlScM0pPpHJKziPnUgJE7qQsR0H R2r5vHPYA8Jx5Zyz/6w== X-Authority-Analysis: v=2.4 cv=GYgnWwXL c=1 sm=1 tr=0 ts=69dfc7e9 cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=m666xMD4OwuZyzqZ95sA:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-ORIG-GUID: Ncpzuk9RTg55skfmPZhFtvyE_w0dFztY 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-04-15_01,2026-04-13_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 phishscore=0 lowpriorityscore=0 malwarescore=0 spamscore=0 clxscore=1015 priorityscore=1501 suspectscore=0 adultscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604070000 definitions=main-2604150161 On 4/14/2026 10:01 PM, Ekansh Gupta wrote: > Introduce a new generic bus type for synthetic context bank devices > that require IOMMU context isolation. This bus provides a shared > infrastructure for accelerator and GPU drivers that create virtual > devices representing IOMMU context banks. > > Currently, drivers like host1x implement their own bus types for > context devices. This generic implementation allows multiple drivers > to share the same bus infrastructure, simplifying the IOMMU subsystem > integration and reducing code duplication. > > Signed-off-by: Ekansh Gupta > --- > drivers/base/Kconfig | 3 +++ > drivers/base/Makefile | 1 + > drivers/base/context_bus.c | 24 ++++++++++++++++++++++++ > include/linux/context_bus.h | 15 +++++++++++++++ > 4 files changed, 43 insertions(+) > > diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig > index f7d385cbd3ba..479bc4bb442b 100644 > --- a/drivers/base/Kconfig > +++ b/drivers/base/Kconfig > @@ -4,6 +4,9 @@ menu "Generic Driver Options" > config AUXILIARY_BUS > bool > > +config CONTEXT_DEVICE_BUS > + bool > + > config UEVENT_HELPER > bool "Support for uevent helper" > help > diff --git a/drivers/base/Makefile b/drivers/base/Makefile > index 8074a10183dc..ab9a0b2dc73b 100644 > --- a/drivers/base/Makefile > +++ b/drivers/base/Makefile > @@ -8,6 +8,7 @@ obj-y := component.o core.o bus.o dd.o syscore.o \ > topology.o container.o property.o cacheinfo.o \ > swnode.o faux.o > obj-$(CONFIG_AUXILIARY_BUS) += auxiliary.o > +obj-$(CONFIG_CONTEXT_DEVICE_BUS) += context_bus.o > obj-$(CONFIG_DEVTMPFS) += devtmpfs.o > obj-y += power/ > obj-$(CONFIG_ISA_BUS_API) += isa.o > diff --git a/drivers/base/context_bus.c b/drivers/base/context_bus.c > new file mode 100644 > index 000000000000..6ddb6c27bf69 > --- /dev/null > +++ b/drivers/base/context_bus.c > @@ -0,0 +1,24 @@ > +// SPDX-License-Identifier: GPL-2.0-only > +// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. > + > +#include > +#include > + > +const struct bus_type context_device_bus_type = { > + .name = "context-device", add the .dma_configure callback instead of calling from the client driver. > +}; > +EXPORT_SYMBOL_GPL(context_device_bus_type); > + > +static int __init context_device_bus_init(void) > +{ > + int err; > + > + err = bus_register(&context_device_bus_type); > + if (err < 0) { > + pr_err("context-device bus registration failed: %d\n", err); > + return err; > + } > + > + return 0; > +} > +postcore_initcall(context_device_bus_init); > diff --git a/include/linux/context_bus.h b/include/linux/context_bus.h > new file mode 100644 > index 000000000000..0cd44cb5b147 > --- /dev/null > +++ b/include/linux/context_bus.h > @@ -0,0 +1,15 @@ > +/* SPDX-License-Identifier: GPL-2.0-only */ > +/* > + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. > + */ > + > +#ifndef __LINUX_CONTEXT_BUS_H > +#define __LINUX_CONTEXT_BUS_H > + > +#include > + > +#ifdef CONFIG_CONTEXT_DEVICE_BUS > +extern const struct bus_type context_device_bus_type; > +#endif > + > +#endif /* __LINUX_CONTEXT_BUS_H */ >