[PATCH v4 4/4] misc: fastrpc: add support for gdsp remoteproc
Ling Xu
quic_lxu5 at quicinc.com
Fri Jun 27 10:33:19 UTC 2025
The fastrpc driver has support for 5 types of remoteprocs. There are
some products which support GDSP remoteprocs. GDSP is General Purpose
DSP where tasks can be offloaded. This patch extends the driver to
support GDSP remoteprocs.
Signed-off-by: Ling Xu <quic_lxu5 at quicinc.com>
---
drivers/misc/fastrpc.c | 5 ++++-
include/uapi/misc/fastrpc.h | 3 ++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
index cb9f4be286af..d3d9b9fdbf4c 100644
--- a/drivers/misc/fastrpc.c
+++ b/drivers/misc/fastrpc.c
@@ -2245,6 +2245,8 @@ static int fastrpc_get_domain_id(const char *domain)
return MDSP_DOMAIN_ID;
else if (!strncmp(domain, "sdsp", 4))
return SDSP_DOMAIN_ID;
+ else if (!strncmp(domain, "gdsp", 4))
+ return GDSP_DOMAIN_ID;
return -EINVAL;
}
@@ -2319,13 +2321,14 @@ static int fastrpc_rpmsg_probe(struct rpmsg_device *rpdev)
case ADSP_DOMAIN_ID:
case MDSP_DOMAIN_ID:
case SDSP_DOMAIN_ID:
- /* Unsigned PD offloading is only supported on CDSP*/
+ /* Unsigned PD offloading is only supported on CDSP and GDSP*/
data->unsigned_support = false;
err = fastrpc_device_register(rdev, data, secure_dsp, domain);
if (err)
goto err_free_data;
break;
case CDSP_DOMAIN_ID:
+ case GDSP_DOMAIN_ID:
data->unsigned_support = true;
/* Create both device nodes so that we can allow both Signed and Unsigned PD */
err = fastrpc_device_register(rdev, data, true, domain);
diff --git a/include/uapi/misc/fastrpc.h b/include/uapi/misc/fastrpc.h
index b890f8042e86..5ea891615c49 100644
--- a/include/uapi/misc/fastrpc.h
+++ b/include/uapi/misc/fastrpc.h
@@ -22,8 +22,9 @@
#define MDSP_DOMAIN_ID (1)
#define SDSP_DOMAIN_ID (2)
#define CDSP_DOMAIN_ID (3)
+#define GDSP_DOMAIN_ID (4)
-#define FASTRPC_DOMAIN_MAX 3
+#define FASTRPC_DOMAIN_MAX 4
/**
* enum fastrpc_map_flags - control flags for mapping memory on DSP user process
--
2.34.1
More information about the dri-devel
mailing list