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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.