Re: [PATCH v2 03/15] accel/qda: Add initial QDA DRM accelerator driver
Krzysztof Kozlowski <[email protected]>
| Newsgroups | dev.linux.lists.llvm,dev.linux.lists.iommu,org.freedesktop.lists.dri-devel,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-doc,org.kernel.vger.linux-kernel,org.kernel.vger.linux-media |
|---|---|
| Message-ID | <[email protected]> |
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. ... > +} > + > +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. Best regards, Krzysztof