[PATCH v6 4/4] misc: fastrpc: add support for gdsp remoteproc
Ling Xu
quic_lxu5 at quicinc.com
Fri Jul 11 02:33:48 UTC 2025
在 7/10/2025 3:19 AM, Konrad Dybcio 写道:
> On 7/9/25 7:52 AM, Ling Xu wrote:
>> 在 7/9/2025 1:47 PM, Ling Xu 写道:
>>> 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.
>>>
>>
>> sorry, please ignore this patch.
>> I haven't change commit message here.
>> "Extend the driver to support GDSP remoteprocs."
>
> How about this instead:
>
> Some platforms (like SMabcd) feature one or more GPDSPs (General
> Purpose DSPs). Similar to other kinds of Hexagon DSPs, they provide a
> FastRPC implementation, allowing code execution in both signed and
> unsigned protection domains.
>
> Extend the checks to allow domain names starting with "gdsp"
> (possibly followed by an index).
>
Thanks very much.
I will update in next patch.
> Konrad
>
>>
>>> Signed-off-by: Ling Xu <quic_lxu5 at quicinc.com>
>>> ---
>>> drivers/misc/fastrpc.c | 6 +++++-
>>> 1 file changed, 5 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
>>> index 85b6eb16b616..d05969de406e 100644
>>> --- a/drivers/misc/fastrpc.c
>>> +++ b/drivers/misc/fastrpc.c
>>> @@ -27,6 +27,7 @@
>>> #define MDSP_DOMAIN_ID (1)
>>> #define SDSP_DOMAIN_ID (2)
>>> #define CDSP_DOMAIN_ID (3)
>>> +#define GDSP_DOMAIN_ID (4)
>>> #define FASTRPC_MAX_SESSIONS 14
>>> #define FASTRPC_MAX_VMIDS 16
>>> #define FASTRPC_ALIGN 128
>>> @@ -2249,6 +2250,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;
>>> }
>>> @@ -2323,13 +2326,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);
>>
--
Thx and BRs,
Ling Xu
More information about the dri-devel
mailing list