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

Reply via email to