Skip to content

Commit cc38a46

Browse files
committed
Merge tag 'rpmsg-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux
Pull rpmsg updates from Bjorn Andersson: - rpmsg ctrl and char driver locking is ensure ordering in cases where the communication link is being torn down in parallel with calls to open(2) or poll(2) - The glink driver is refactored, to move rpm/smem-specifics out of the common logic and better suite further improvements, such as transports without a mailbox controller. The handling of remoteproc shutdown is improved, to fail clients immediately instead of having them to wait for timeouts. A driver_override memory leak is corrected and a few spelling improvements are introduced - glink_ssr is transitioned off strlcpy() and "gpr" is added as a valid child node of the glink-edge DT binding * tag 'rpmsg-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux: rpmsg: glink: Release driver_override rpmsg: glink: Avoid infinite loop on intent for missing channel rpmsg: glink: Fix GLINK command prefix rpmsg: glink: Fix spelling of peek rpmsg: glink: Cancel pending intent requests at removal rpmsg: glink: Fail qcom_glink_tx() once remove has been initiated rpmsg: glink: Move irq and mbox handling to transports rpmsg: glink: rpm: Wrap driver context rpmsg: glink: smem: Wrap driver context rpmsg: glink: Extract tx kick operation rpmsg: glink: Include types in qcom_glink_native.h rpmsg: ctrl: Add lock to rpmsg_ctrldev_remove rpmsg: char: Add lock to avoid race when rpmsg device is released rpmsg: move from strlcpy with unused retval to strscpy dt-bindings: remoteproc: qcom,glink-edge: add GPR node
2 parents 9b0b0dd + fb80ef6 commit cc38a46

File tree

10 files changed

+312
-153
lines changed

10 files changed

+312
-153
lines changed

Documentation/devicetree/bindings/remoteproc/qcom,glink-edge.yaml

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ properties:
2222
required:
2323
- qcom,glink-channels
2424
description:
25-
Qualcomm APR/GPR (Asynchronous/Generic Packet Router)
25+
Qualcomm APR (Asynchronous Packet Router)
2626

2727
fastrpc:
2828
$ref: /schemas/misc/qcom,fastrpc.yaml#
@@ -31,6 +31,13 @@ properties:
3131
description:
3232
Qualcomm FastRPC
3333

34+
gpr:
35+
$ref: /schemas/soc/qcom/qcom,apr.yaml#
36+
required:
37+
- qcom,glink-channels
38+
description:
39+
Qualcomm GPR (Generic Packet Router)
40+
3441
interrupts:
3542
maxItems: 1
3643

@@ -52,6 +59,21 @@ required:
5259
- mboxes
5360
- qcom,remote-pid
5461

62+
allOf:
63+
- if:
64+
required:
65+
- apr
66+
then:
67+
properties:
68+
gpr: false
69+
70+
- if:
71+
required:
72+
- gpr
73+
then:
74+
properties:
75+
apr: false
76+
5577
additionalProperties: false
5678

5779
examples:

drivers/remoteproc/qcom_common.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#include "remoteproc_internal.h"
77
#include <linux/soc/qcom/qmi.h>
88

9+
struct qcom_glink_smem;
910
struct qcom_sysmon;
1011

1112
struct qcom_rproc_glink {
@@ -15,7 +16,7 @@ struct qcom_rproc_glink {
1516

1617
struct device *dev;
1718
struct device_node *node;
18-
struct qcom_glink *edge;
19+
struct qcom_glink_smem *edge;
1920
};
2021

2122
struct qcom_rproc_subdev {

0 commit comments

Comments
 (0)