On Wed, Feb 25, 2026 at 11:26:52PM +0530, Ekansh Gupta wrote:
On 2/24/2026 4:14 AM, Dmitry Baryshkov wrote:
On Tue, Feb 24, 2026 at 12:38:58AM +0530, Ekansh Gupta wrote:
Introduce a built-in compute context-bank (CB) bus used by the Qualcomm DSP accelerator (QDA) driver to represent DSP CB devices that require IOMMU configuration. This separates the CB bus from the QDA driver and allows QDA to remain a loadable module while the bus is always built-in.
Why? What is the actual problem that you are trying to solve?
Bus needs to be built-in as it is being used by iommu driver. I'll add more details here.
It's an implementation detail. Start your commit message with the description of the issue or a problem that you are solving.
A new bool Kconfig symbol DRM_ACCEL_QDA_COMPUTE_BUS is added and is
Don't describe the patch contents. Please.
Ack.
selected by the main DRM_ACCEL_QDA driver. The parent accel Makefile is updated to descend into the QDA directory for both built-in and module builds so that the CB bus is compiled into vmlinux while the driver remains modular.
The CB bus is registered at postcore_initcall() time and is exposed to the IOMMU core through iommu_buses[] in the same way as the Tegra host1x context-bus. This enables later patches to create CB devices on this bus and obtain IOMMU domains for them.
Note, there is nothing QDA-specific in this patch. Please explain, why the bus is QDA-specific? Can we generalize it?
I needed a custom bus here to use for the compute cb devices for iommu configurations, I don't see any reason to keep it QDA-specific. The only requirement is that this should be enabled built in whenever QDA is enabled.
Why? FastRPC uses platform_bus. You need to explain, why it's not correct.
But if I keep it generic, where should this be placed? Should it be accel(or drm?) specific?
drivers/base? Or drivers/iommu? That would totally depend on the issue description. E.g. can we use the same code for host1x?