* [PATCH v10 0/5] Add support for gdsp remoteproc on lemans
@ 2025-08-13 3:06 Ling Xu
2025-08-13 3:06 ` [PATCH v10 1/5] dt-bindings: misc: qcom,fastrpc: Add GDSP label Ling Xu
` (6 more replies)
0 siblings, 7 replies; 9+ messages in thread
From: Ling Xu @ 2025-08-13 3:06 UTC (permalink / raw)
To: srini, amahesh, robh, krzk+dt, conor+dt, andersson, konradybcio,
arnd, gregkh
Cc: quic_kuiw, ekansh.gupta, devicetree, linux-arm-msm, dri-devel,
linux-kernel, 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. Add fastrpc nodes and task offload
support for GDSP. Also strict domain IDs for domain.
Patch [v9]: https://lore.kernel.org/linux-arm-msm/20250716132836.1008119-1-quic_lxu5@quicinc.com/
Changes in v10:
- Rebase patch because the file is renamed to lemans.dtsi.
Changes in v9:
- Change the patches order.
Changes in v8:
- Split patch.
Changes in v7:
- Edit commit message.
Changes in v6:
- Edit commit message.
- Remove unused definition.
Changes in v5:
- Edit commit message and add sapce before comment end.
- Move domain definitions back to driver.
Changes in v4:
- Split patch and change to common syntax.
Changes in v3:
- Restrict domain IDs to represent a domain.
Changes in v2:
- Add GPDSP labels in dt-bindings.
Ling Xu (5):
dt-bindings: misc: qcom,fastrpc: Add GDSP label
arm64: dts: qcom: lemans: add GDSP fastrpc-compute-cb nodes
misc: fastrpc: Remove kernel-side domain checks from capability ioctl
misc: fastrpc: Cleanup the domain names
misc: fastrpc: add support for gdsp remoteproc
.../bindings/misc/qcom,fastrpc.yaml | 2 +
arch/arm64/boot/dts/qcom/lemans.dtsi | 58 +++++++++++++++++++
drivers/misc/fastrpc.c | 54 ++++++++---------
include/uapi/misc/fastrpc.h | 2 +-
4 files changed, 86 insertions(+), 30 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v10 1/5] dt-bindings: misc: qcom,fastrpc: Add GDSP label
2025-08-13 3:06 [PATCH v10 0/5] Add support for gdsp remoteproc on lemans Ling Xu
@ 2025-08-13 3:06 ` Ling Xu
2025-08-13 3:06 ` [PATCH v10 2/5] arm64: dts: qcom: lemans: add GDSP fastrpc-compute-cb nodes Ling Xu
` (5 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Ling Xu @ 2025-08-13 3:06 UTC (permalink / raw)
To: srini, amahesh, robh, krzk+dt, conor+dt, andersson, konradybcio,
arnd, gregkh
Cc: quic_kuiw, ekansh.gupta, devicetree, linux-arm-msm, dri-devel,
linux-kernel, Ling Xu, Krzysztof Kozlowski
There are some products which support GDSP remoteprocs. GDSP is General
Purpose DSP where tasks can be offloaded. There are 2 GDSPs named gdsp0
and gdsp1. Add "gdsp0" and "gdsp1" as the new supported labels for GDSP
fastrpc domains.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ling Xu <quic_lxu5@quicinc.com>
---
Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml b/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml
index 0840a3d92513..3f6199fc9ae6 100644
--- a/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml
+++ b/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml
@@ -27,6 +27,8 @@ properties:
- sdsp
- cdsp
- cdsp1
+ - gdsp0
+ - gdsp1
memory-region:
maxItems: 1
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v10 2/5] arm64: dts: qcom: lemans: add GDSP fastrpc-compute-cb nodes
2025-08-13 3:06 [PATCH v10 0/5] Add support for gdsp remoteproc on lemans Ling Xu
2025-08-13 3:06 ` [PATCH v10 1/5] dt-bindings: misc: qcom,fastrpc: Add GDSP label Ling Xu
@ 2025-08-13 3:06 ` Ling Xu
2025-08-13 3:38 ` Ekansh Gupta
2025-08-13 3:06 ` [PATCH v10 3/5] misc: fastrpc: Remove kernel-side domain checks from capability ioctl Ling Xu
` (4 subsequent siblings)
6 siblings, 1 reply; 9+ messages in thread
From: Ling Xu @ 2025-08-13 3:06 UTC (permalink / raw)
To: srini, amahesh, robh, krzk+dt, conor+dt, andersson, konradybcio,
arnd, gregkh
Cc: quic_kuiw, ekansh.gupta, devicetree, linux-arm-msm, dri-devel,
linux-kernel, Ling Xu, Dmitry Baryshkov, Konrad Dybcio
Add GDSP0 and GDSP1 fastrpc compute-cb nodes for lemans SoC.
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Ling Xu <quic_lxu5@quicinc.com>
---
arch/arm64/boot/dts/qcom/lemans.dtsi | 58 ++++++++++++++++++++++++++++
1 file changed, 58 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/lemans.dtsi b/arch/arm64/boot/dts/qcom/lemans.dtsi
index 322abd0294be..a4c79194cee9 100644
--- a/arch/arm64/boot/dts/qcom/lemans.dtsi
+++ b/arch/arm64/boot/dts/qcom/lemans.dtsi
@@ -6092,6 +6092,35 @@ IPCC_MPROC_SIGNAL_GLINK_QMP
label = "gpdsp0";
qcom,remote-pid = <17>;
+
+ fastrpc {
+ compatible = "qcom,fastrpc";
+ qcom,glink-channels = "fastrpcglink-apps-dsp";
+ label = "gdsp0";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ compute-cb@1 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <1>;
+ iommus = <&apps_smmu 0x38a1 0x0>;
+ dma-coherent;
+ };
+
+ compute-cb@2 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <2>;
+ iommus = <&apps_smmu 0x38a2 0x0>;
+ dma-coherent;
+ };
+
+ compute-cb@3 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <3>;
+ iommus = <&apps_smmu 0x38a3 0x0>;
+ dma-coherent;
+ };
+ };
};
};
@@ -6135,6 +6164,35 @@ IPCC_MPROC_SIGNAL_GLINK_QMP
label = "gpdsp1";
qcom,remote-pid = <18>;
+
+ fastrpc {
+ compatible = "qcom,fastrpc";
+ qcom,glink-channels = "fastrpcglink-apps-dsp";
+ label = "gdsp1";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ compute-cb@1 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <1>;
+ iommus = <&apps_smmu 0x38c1 0x0>;
+ dma-coherent;
+ };
+
+ compute-cb@2 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <2>;
+ iommus = <&apps_smmu 0x38c2 0x0>;
+ dma-coherent;
+ };
+
+ compute-cb@3 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <3>;
+ iommus = <&apps_smmu 0x38c3 0x0>;
+ dma-coherent;
+ };
+ };
};
};
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v10 3/5] misc: fastrpc: Remove kernel-side domain checks from capability ioctl
2025-08-13 3:06 [PATCH v10 0/5] Add support for gdsp remoteproc on lemans Ling Xu
2025-08-13 3:06 ` [PATCH v10 1/5] dt-bindings: misc: qcom,fastrpc: Add GDSP label Ling Xu
2025-08-13 3:06 ` [PATCH v10 2/5] arm64: dts: qcom: lemans: add GDSP fastrpc-compute-cb nodes Ling Xu
@ 2025-08-13 3:06 ` Ling Xu
2025-08-13 3:06 ` [PATCH v10 4/5] misc: fastrpc: Cleanup the domain names Ling Xu
` (3 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Ling Xu @ 2025-08-13 3:06 UTC (permalink / raw)
To: srini, amahesh, robh, krzk+dt, conor+dt, andersson, konradybcio,
arnd, gregkh
Cc: quic_kuiw, ekansh.gupta, devicetree, linux-arm-msm, dri-devel,
linux-kernel, Ling Xu, Dmitry Baryshkov
Domain ID in the uAPI is misleading. Remove checks and log messages
related to 'domain' field in capability structure. Update UAPI to
mark the field as unused.
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ling Xu <quic_lxu5@quicinc.com>
---
drivers/misc/fastrpc.c | 14 +-------------
include/uapi/misc/fastrpc.h | 2 +-
2 files changed, 2 insertions(+), 14 deletions(-)
diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
index 53e88a1bc430..2dfcf8a66806 100644
--- a/drivers/misc/fastrpc.c
+++ b/drivers/misc/fastrpc.c
@@ -1723,7 +1723,6 @@ static int fastrpc_get_info_from_kernel(struct fastrpc_ioctl_capability *cap,
uint32_t attribute_id = cap->attribute_id;
uint32_t *dsp_attributes;
unsigned long flags;
- uint32_t domain = cap->domain;
int err;
spin_lock_irqsave(&cctx->lock, flags);
@@ -1741,7 +1740,7 @@ static int fastrpc_get_info_from_kernel(struct fastrpc_ioctl_capability *cap,
err = fastrpc_get_info_from_dsp(fl, dsp_attributes, FASTRPC_MAX_DSP_ATTRIBUTES);
if (err == DSP_UNSUPPORTED_API) {
dev_info(&cctx->rpdev->dev,
- "Warning: DSP capabilities not supported on domain: %d\n", domain);
+ "Warning: DSP capabilities not supported\n");
kfree(dsp_attributes);
return -EOPNOTSUPP;
} else if (err) {
@@ -1769,17 +1768,6 @@ static int fastrpc_get_dsp_info(struct fastrpc_user *fl, char __user *argp)
return -EFAULT;
cap.capability = 0;
- if (cap.domain >= FASTRPC_DEV_MAX) {
- dev_err(&fl->cctx->rpdev->dev, "Error: Invalid domain id:%d, err:%d\n",
- cap.domain, err);
- return -ECHRNG;
- }
-
- /* Fastrpc Capablities does not support modem domain */
- if (cap.domain == MDSP_DOMAIN_ID) {
- dev_err(&fl->cctx->rpdev->dev, "Error: modem not supported %d\n", err);
- return -ECHRNG;
- }
if (cap.attribute_id >= FASTRPC_MAX_DSP_ATTRIBUTES) {
dev_err(&fl->cctx->rpdev->dev, "Error: invalid attribute: %d, err: %d\n",
diff --git a/include/uapi/misc/fastrpc.h b/include/uapi/misc/fastrpc.h
index f33d914d8f46..c6e2925f47e6 100644
--- a/include/uapi/misc/fastrpc.h
+++ b/include/uapi/misc/fastrpc.h
@@ -134,7 +134,7 @@ struct fastrpc_mem_unmap {
};
struct fastrpc_ioctl_capability {
- __u32 domain;
+ __u32 unused; /* deprecated, ignored by the kernel */
__u32 attribute_id;
__u32 capability; /* dsp capability */
__u32 reserved[4];
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v10 4/5] misc: fastrpc: Cleanup the domain names
2025-08-13 3:06 [PATCH v10 0/5] Add support for gdsp remoteproc on lemans Ling Xu
` (2 preceding siblings ...)
2025-08-13 3:06 ` [PATCH v10 3/5] misc: fastrpc: Remove kernel-side domain checks from capability ioctl Ling Xu
@ 2025-08-13 3:06 ` Ling Xu
2025-08-13 3:06 ` [PATCH v10 5/5] misc: fastrpc: add support for gdsp remoteproc Ling Xu
` (2 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Ling Xu @ 2025-08-13 3:06 UTC (permalink / raw)
To: srini, amahesh, robh, krzk+dt, conor+dt, andersson, konradybcio,
arnd, gregkh
Cc: quic_kuiw, ekansh.gupta, devicetree, linux-arm-msm, dri-devel,
linux-kernel, Ling Xu, Srinivas Kandagatla, Dmitry Baryshkov
Currently the domain ids are added for each instance of domains, this is
totally not scalable approach. Clean this mess and create domain ids for
only domains not its instances.
Co-developed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ling Xu <quic_lxu5@quicinc.com>
---
drivers/misc/fastrpc.c | 36 ++++++++++++++++++++----------------
1 file changed, 20 insertions(+), 16 deletions(-)
diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
index 2dfcf8a66806..5fc7dec65ed8 100644
--- a/drivers/misc/fastrpc.c
+++ b/drivers/misc/fastrpc.c
@@ -27,8 +27,6 @@
#define MDSP_DOMAIN_ID (1)
#define SDSP_DOMAIN_ID (2)
#define CDSP_DOMAIN_ID (3)
-#define CDSP1_DOMAIN_ID (4)
-#define FASTRPC_DEV_MAX 5 /* adsp, mdsp, slpi, cdsp, cdsp1 */
#define FASTRPC_MAX_SESSIONS 14
#define FASTRPC_MAX_VMIDS 16
#define FASTRPC_ALIGN 128
@@ -106,8 +104,6 @@
#define miscdev_to_fdevice(d) container_of(d, struct fastrpc_device, miscdev)
-static const char *domains[FASTRPC_DEV_MAX] = { "adsp", "mdsp",
- "sdsp", "cdsp", "cdsp1" };
struct fastrpc_phy_page {
u64 addr; /* physical address */
u64 size; /* size of contiguous region */
@@ -2243,6 +2239,20 @@ static int fastrpc_device_register(struct device *dev, struct fastrpc_channel_ct
return err;
}
+static int fastrpc_get_domain_id(const char *domain)
+{
+ if (!strncmp(domain, "adsp", 4))
+ return ADSP_DOMAIN_ID;
+ else if (!strncmp(domain, "cdsp", 4))
+ return CDSP_DOMAIN_ID;
+ else if (!strncmp(domain, "mdsp", 4))
+ return MDSP_DOMAIN_ID;
+ else if (!strncmp(domain, "sdsp", 4))
+ return SDSP_DOMAIN_ID;
+
+ return -EINVAL;
+}
+
static int fastrpc_rpmsg_probe(struct rpmsg_device *rpdev)
{
struct device *rdev = &rpdev->dev;
@@ -2258,15 +2268,10 @@ static int fastrpc_rpmsg_probe(struct rpmsg_device *rpdev)
return err;
}
- for (i = 0; i < FASTRPC_DEV_MAX; i++) {
- if (!strcmp(domains[i], domain)) {
- domain_id = i;
- break;
- }
- }
+ domain_id = fastrpc_get_domain_id(domain);
if (domain_id < 0) {
- dev_info(rdev, "FastRPC Invalid Domain ID %d\n", domain_id);
+ dev_info(rdev, "FastRPC Domain %s not supported\n", domain);
return -EINVAL;
}
@@ -2313,21 +2318,20 @@ 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 and CDSP1 */
+ /* Unsigned PD offloading is only supported on CDSP */
data->unsigned_support = false;
- err = fastrpc_device_register(rdev, data, secure_dsp, domains[domain_id]);
+ err = fastrpc_device_register(rdev, data, secure_dsp, domain);
if (err)
goto err_free_data;
break;
case CDSP_DOMAIN_ID:
- case CDSP1_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, domains[domain_id]);
+ err = fastrpc_device_register(rdev, data, true, domain);
if (err)
goto err_free_data;
- err = fastrpc_device_register(rdev, data, false, domains[domain_id]);
+ err = fastrpc_device_register(rdev, data, false, domain);
if (err)
goto err_deregister_fdev;
break;
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v10 5/5] misc: fastrpc: add support for gdsp remoteproc
2025-08-13 3:06 [PATCH v10 0/5] Add support for gdsp remoteproc on lemans Ling Xu
` (3 preceding siblings ...)
2025-08-13 3:06 ` [PATCH v10 4/5] misc: fastrpc: Cleanup the domain names Ling Xu
@ 2025-08-13 3:06 ` Ling Xu
2025-08-19 11:32 ` (subset) [PATCH v10 0/5] Add support for gdsp remoteproc on lemans Srinivas Kandagatla
2025-09-01 19:46 ` Bjorn Andersson
6 siblings, 0 replies; 9+ messages in thread
From: Ling Xu @ 2025-08-13 3:06 UTC (permalink / raw)
To: srini, amahesh, robh, krzk+dt, conor+dt, andersson, konradybcio,
arnd, gregkh
Cc: quic_kuiw, ekansh.gupta, devicetree, linux-arm-msm, dri-devel,
linux-kernel, Ling Xu, Dmitry Baryshkov
Some platforms (like lemans) 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).
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ling Xu <quic_lxu5@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 5fc7dec65ed8..8e1d97873423 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;
}
@@ -2318,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);
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v10 2/5] arm64: dts: qcom: lemans: add GDSP fastrpc-compute-cb nodes
2025-08-13 3:06 ` [PATCH v10 2/5] arm64: dts: qcom: lemans: add GDSP fastrpc-compute-cb nodes Ling Xu
@ 2025-08-13 3:38 ` Ekansh Gupta
0 siblings, 0 replies; 9+ messages in thread
From: Ekansh Gupta @ 2025-08-13 3:38 UTC (permalink / raw)
To: Ling Xu, srini, amahesh, robh, krzk+dt, conor+dt, andersson,
konradybcio, arnd, gregkh
Cc: quic_kuiw, devicetree, linux-arm-msm, dri-devel, linux-kernel,
Dmitry Baryshkov, Konrad Dybcio
On 8/13/2025 8:36 AM, Ling Xu wrote:
> Add GDSP0 and GDSP1 fastrpc compute-cb nodes for lemans SoC.
>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Signed-off-by: Ling Xu <quic_lxu5@quicinc.com>
> ---
> arch/arm64/boot/dts/qcom/lemans.dtsi | 58 ++++++++++++++++++++++++++++
> 1 file changed, 58 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/lemans.dtsi b/arch/arm64/boot/dts/qcom/lemans.dtsi
> index 322abd0294be..a4c79194cee9 100644
> --- a/arch/arm64/boot/dts/qcom/lemans.dtsi
> +++ b/arch/arm64/boot/dts/qcom/lemans.dtsi
> @@ -6092,6 +6092,35 @@ IPCC_MPROC_SIGNAL_GLINK_QMP
>
> label = "gpdsp0";
> qcom,remote-pid = <17>;
> +
> + fastrpc {
> + compatible = "qcom,fastrpc";
> + qcom,glink-channels = "fastrpcglink-apps-dsp";
> + label = "gdsp0";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + compute-cb@1 {
> + compatible = "qcom,fastrpc-compute-cb";
> + reg = <1>;
> + iommus = <&apps_smmu 0x38a1 0x0>;
> + dma-coherent;
> + };
> +
> + compute-cb@2 {
> + compatible = "qcom,fastrpc-compute-cb";
> + reg = <2>;
> + iommus = <&apps_smmu 0x38a2 0x0>;
> + dma-coherent;
> + };
> +
> + compute-cb@3 {
> + compatible = "qcom,fastrpc-compute-cb";
> + reg = <3>;
> + iommus = <&apps_smmu 0x38a3 0x0>;
> + dma-coherent;
> + };
> + };
> };
> };
>
> @@ -6135,6 +6164,35 @@ IPCC_MPROC_SIGNAL_GLINK_QMP
>
> label = "gpdsp1";
> qcom,remote-pid = <18>;
> +
> + fastrpc {
> + compatible = "qcom,fastrpc";
> + qcom,glink-channels = "fastrpcglink-apps-dsp";
> + label = "gdsp1";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + compute-cb@1 {
> + compatible = "qcom,fastrpc-compute-cb";
> + reg = <1>;
> + iommus = <&apps_smmu 0x38c1 0x0>;
> + dma-coherent;
> + };
> +
> + compute-cb@2 {
> + compatible = "qcom,fastrpc-compute-cb";
> + reg = <2>;
> + iommus = <&apps_smmu 0x38c2 0x0>;
> + dma-coherent;
> + };
> +
> + compute-cb@3 {
> + compatible = "qcom,fastrpc-compute-cb";
> + reg = <3>;
> + iommus = <&apps_smmu 0x38c3 0x0>;
> + dma-coherent;
> + };
> + };
> };
> };
Reviewed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: (subset) [PATCH v10 0/5] Add support for gdsp remoteproc on lemans
2025-08-13 3:06 [PATCH v10 0/5] Add support for gdsp remoteproc on lemans Ling Xu
` (4 preceding siblings ...)
2025-08-13 3:06 ` [PATCH v10 5/5] misc: fastrpc: add support for gdsp remoteproc Ling Xu
@ 2025-08-19 11:32 ` Srinivas Kandagatla
2025-09-01 19:46 ` Bjorn Andersson
6 siblings, 0 replies; 9+ messages in thread
From: Srinivas Kandagatla @ 2025-08-19 11:32 UTC (permalink / raw)
To: amahesh, robh, krzk+dt, conor+dt, andersson, konradybcio, arnd,
gregkh, Ling Xu
Cc: quic_kuiw, ekansh.gupta, devicetree, linux-arm-msm, dri-devel,
linux-kernel
On Wed, 13 Aug 2025 08:36:33 +0530, Ling Xu wrote:
> 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. Add fastrpc nodes and task offload
> support for GDSP. Also strict domain IDs for domain.
> Patch [v9]: https://lore.kernel.org/linux-arm-msm/20250716132836.1008119-1-quic_lxu5@quicinc.com/
>
> Changes in v10:
> - Rebase patch because the file is renamed to lemans.dtsi.
> Changes in v9:
> - Change the patches order.
> Changes in v8:
> - Split patch.
> Changes in v7:
> - Edit commit message.
> Changes in v6:
> - Edit commit message.
> - Remove unused definition.
> Changes in v5:
> - Edit commit message and add sapce before comment end.
> - Move domain definitions back to driver.
> Changes in v4:
> - Split patch and change to common syntax.
> Changes in v3:
> - Restrict domain IDs to represent a domain.
> Changes in v2:
> - Add GPDSP labels in dt-bindings.
>
> [...]
Applied, thanks!
[1/5] dt-bindings: misc: qcom,fastrpc: Add GDSP label
commit: 256b7e7d77e107b1fabce481b77b0020091315ec
[3/5] misc: fastrpc: Remove kernel-side domain checks from capability ioctl
commit: 0765171ec418d4f0d4e022568bea8e9c7756ef28
[4/5] misc: fastrpc: Cleanup the domain names
commit: 600c965d016466dcf4564bc8b118441d2eef0482
[5/5] misc: fastrpc: add support for gdsp remoteproc
commit: b52ebc078bb6785666cd0396e088907882df80fa
Best regards,
--
Srinivas Kandagatla <srini@kernel.org>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: (subset) [PATCH v10 0/5] Add support for gdsp remoteproc on lemans
2025-08-13 3:06 [PATCH v10 0/5] Add support for gdsp remoteproc on lemans Ling Xu
` (5 preceding siblings ...)
2025-08-19 11:32 ` (subset) [PATCH v10 0/5] Add support for gdsp remoteproc on lemans Srinivas Kandagatla
@ 2025-09-01 19:46 ` Bjorn Andersson
6 siblings, 0 replies; 9+ messages in thread
From: Bjorn Andersson @ 2025-09-01 19:46 UTC (permalink / raw)
To: srini, amahesh, robh, krzk+dt, conor+dt, konradybcio, arnd,
gregkh, Ling Xu
Cc: quic_kuiw, ekansh.gupta, devicetree, linux-arm-msm, dri-devel,
linux-kernel
On Wed, 13 Aug 2025 08:36:33 +0530, Ling Xu wrote:
> 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. Add fastrpc nodes and task offload
> support for GDSP. Also strict domain IDs for domain.
> Patch [v9]: https://lore.kernel.org/linux-arm-msm/20250716132836.1008119-1-quic_lxu5@quicinc.com/
>
> Changes in v10:
> - Rebase patch because the file is renamed to lemans.dtsi.
> Changes in v9:
> - Change the patches order.
> Changes in v8:
> - Split patch.
> Changes in v7:
> - Edit commit message.
> Changes in v6:
> - Edit commit message.
> - Remove unused definition.
> Changes in v5:
> - Edit commit message and add sapce before comment end.
> - Move domain definitions back to driver.
> Changes in v4:
> - Split patch and change to common syntax.
> Changes in v3:
> - Restrict domain IDs to represent a domain.
> Changes in v2:
> - Add GPDSP labels in dt-bindings.
>
> [...]
Applied, thanks!
[2/5] arm64: dts: qcom: lemans: add GDSP fastrpc-compute-cb nodes
commit: efc28845524843f199e420695eab3841299b05d2
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2025-09-01 19:46 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-13 3:06 [PATCH v10 0/5] Add support for gdsp remoteproc on lemans Ling Xu
2025-08-13 3:06 ` [PATCH v10 1/5] dt-bindings: misc: qcom,fastrpc: Add GDSP label Ling Xu
2025-08-13 3:06 ` [PATCH v10 2/5] arm64: dts: qcom: lemans: add GDSP fastrpc-compute-cb nodes Ling Xu
2025-08-13 3:38 ` Ekansh Gupta
2025-08-13 3:06 ` [PATCH v10 3/5] misc: fastrpc: Remove kernel-side domain checks from capability ioctl Ling Xu
2025-08-13 3:06 ` [PATCH v10 4/5] misc: fastrpc: Cleanup the domain names Ling Xu
2025-08-13 3:06 ` [PATCH v10 5/5] misc: fastrpc: add support for gdsp remoteproc Ling Xu
2025-08-19 11:32 ` (subset) [PATCH v10 0/5] Add support for gdsp remoteproc on lemans Srinivas Kandagatla
2025-09-01 19:46 ` Bjorn Andersson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).