On 23/02/2026 20:09, Ekansh Gupta wrote:
Add a DRM_QDA_MAP ioctl and supporting FastRPC plumbing to map GEM backed buffers into the DSP virtual address space. The new qda_mem_map UAPI structure allows userspace to request legacy MMAP style mappings or handle-based MEM_MAP mappings with attributes, and encodes flags, offsets and optional virtual address hints that are forwarded to the DSP.
On the FastRPC side new method identifiers FASTRPC_RMID_INIT_MMAP and FASTRPC_RMID_INIT_MEM_MAP are introduced together with message structures for map requests and responses. The fastrpc_prepare_args path is extended to build the appropriate request headers, serialize the physical page information derived from a GEM object into a fastrpc_phy_page array and pack the arguments into the shared message buffer used by the existing invoke infrastructure.
The qda_ioctl_mmap() handler dispatches mapping requests based on the qda_mem_map request type, reusing the generic fastrpc_invoke() machinery and the RPMsg transport to communicate with the DSP. This provides the foundation for explicit buffer mapping into the DSP address space for subsequent FastRPC calls, aligned with the traditional FastRPC user space model.
Signed-off-by: Ekansh Gupta ekansh.gupta@oss.qualcomm.com
arch/arm64/configs/defconfig | 2 +
Not relevan there. Don't stuff other subsystem code into your patches. Especially without any reasons (your commit msg must explain WHY you are doing things).
drivers/accel/qda/qda_drv.c | 1 + drivers/accel/qda/qda_fastrpc.c | 217 ++++++++++++++++++++++++++++++++++++++++ drivers/accel/qda/qda_fastrpc.h | 64 ++++++++++++ drivers/accel/qda/qda_ioctl.c | 24 +++++ drivers/accel/qda/qda_ioctl.h | 13 +++ include/uapi/drm/qda_accel.h | 44 +++++++- 7 files changed, 364 insertions(+), 1 deletion(-)
Best regards, Krzysztof
linaro-mm-sig@lists.linaro.org