On 19-08-2026 00:40, Krzysztof Kozlowski wrote: > On 17/08/2026 06:47, Ekansh Gupta wrote: >> Add the skeleton of the Qualcomm DSP Accelerator (QDA) driver, a DRM >> accel driver for the Hexagon DSPs found on Qualcomm SoCs. >> >> This patch registers a DRM accel device, exposing a /dev/accel/accelN >> character device node, and binds it to the RPMsg channel used to reach >> the DSP. Buffer management, IOMMU context banks and the FastRPC >> protocol are added by later patches in this series. >> >> qda_drv.c / qda_drv.h define the drm_driver ops table, the per-file >> private state (qda_file_priv) and the main device structure (qda_dev), >> which embeds drm_device so that it can be recovered with container_of(). >> >> qda_rpmsg.c binds to the "qcom,fastrpc" compatible via >> module_rpmsg_driver(), reads the DSP domain name from the "label" >> device-tree property, and registers the DRM device. >> >> Assisted-by: Claude:claude-sonnet-5 >> Signed-off-by: Ekansh Gupta <[email protected]> >> --- >> Changes in v2: >> - Use module_rpmsg_driver() and drop the qda_rpmsg_register()/ >> _unregister() wrappers, module_init()/module_exit() and >> qda_rpmsg.h entirely (Dmitry Baryshkov) >> - Read the "label" property directly into qdev->dsp_name (Dmitry Baryshkov) >> - Drop the probe/remove/init log messages (Dmitry Baryshkov) >> - Return the result of qda_register_device() directly (Dmitry Baryshkov) >> - Clarify the Kconfig help text (Dmitry Baryshkov) >> --- >> drivers/accel/Kconfig | 1 + >> drivers/accel/Makefile | 1 + >> drivers/accel/qda/Kconfig | 30 ++++++++++++++++ >> drivers/accel/qda/Makefile | 10 ++++++ >> drivers/accel/qda/qda_drv.c | 71 ++++++++++++++++++++++++++++++++++++++ >> drivers/accel/qda/qda_drv.h | 61 +++++++++++++++++++++++++++++++++ >> drivers/accel/qda/qda_rpmsg.c | 79 >> +++++++++++++++++++++++++++++++++++++++++++ >> 7 files changed, 253 insertions(+) >> >> diff --git a/drivers/accel/Kconfig b/drivers/accel/Kconfig >> index bdf48ccafcf2..74ac0f71bc9d 100644 >> --- a/drivers/accel/Kconfig >> +++ b/drivers/accel/Kconfig >> @@ -29,6 +29,7 @@ source "drivers/accel/ethosu/Kconfig" >> source "drivers/accel/habanalabs/Kconfig" >> source "drivers/accel/ivpu/Kconfig" >> source "drivers/accel/qaic/Kconfig" >> +source "drivers/accel/qda/Kconfig" >> source "drivers/accel/rocket/Kconfig" >> >> endif >> diff --git a/drivers/accel/Makefile b/drivers/accel/Makefile >> index 1d3a7251b950..58c08dd5f389 100644 >> --- a/drivers/accel/Makefile >> +++ b/drivers/accel/Makefile >> @@ -5,4 +5,5 @@ obj-$(CONFIG_DRM_ACCEL_ARM_ETHOSU) += ethosu/ >> obj-$(CONFIG_DRM_ACCEL_HABANALABS) += habanalabs/ >> obj-$(CONFIG_DRM_ACCEL_IVPU) += ivpu/ >> obj-$(CONFIG_DRM_ACCEL_QAIC) += qaic/ >> +obj-$(CONFIG_DRM_ACCEL_QDA) += qda/ >> obj-$(CONFIG_DRM_ACCEL_ROCKET) += rocket/ >> \ No newline at end of file > > You have trivial patch errors. newline problem was already there, wasn't introduced as part of this patch series, so I wasn't sure to fix it here. I can fix this in v3.> > ... > >> +} >> + >> +static const struct of_device_id qda_rpmsg_id_table[] = { >> + { .compatible = "qcom,fastrpc" }, >> + {}, > > Device node with this compatible is already populated, so this looks > simply wrong or you are adding a duplicated driver. > > That's a no-go, you are supposed to work with existing drivers and grow > them. I'll bring the discussion again here, there was a discussion to move the driver to accel subsystem if we want to support new features/uAPI changes. Please read [1],[2] threads. The intention is to replace fastrpc driver with QDA eventually.
Do you suggest adding a different compatible, say "qcom,qda" for this driver? Let me know if you have a better suggestion to proceed here. [1] https://lkml.org/lkml/2024/6/24/479 [2] https://lkml.org/lkml/2024/6/21/1252> > > Best regards, > Krzysztof
