You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by ac...@apache.org on 2022/11/07 20:15:04 UTC
[incubator-nuttx] branch master updated: openamp: update openmap lib version to 2022.10.0
This is an automated email from the ASF dual-hosted git repository.
acassis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
The following commit(s) were added to refs/heads/master by this push:
new 7ad4b573fb openamp: update openmap lib version to 2022.10.0
7ad4b573fb is described below
commit 7ad4b573fbf62cc71b3e3f9c247ff9aa7a1f6e26
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Sat Nov 5 22:16:58 2022 +0800
openamp: update openmap lib version to 2022.10.0
Signed-off-by: Xiang Xiao <xi...@xiaomi.com>
---
...cknowledge-the-received-creation-message.patch} | 33 +++++----
...0001-openamp-add-ns_unbind_notify-support.patch | 42 ------------
...tiate-individual-buffer-size-dynamically.patch} | 17 +++--
...ndpoint-ready-in-rpmsg_send-and-rpmsg_se.patch} | 43 ++++++------
...-openamp-add-new-ops-notify_wait-support.patch} | 51 +++++++-------
...-don-t-need-check-status-when-get_tx_pay.patch} | 20 +++---
...ide-shram-to-TX-shram-RX-shram-by-config-.patch | 79 ----------------------
...-the-user-when-the-remote-address-is-rec.patch} | 27 ++++----
...d-double-calling-ns_bound-when-each-othe.patch} | 10 +--
.../0008-openamp-add-available_idx-to-dump.patch | 34 ----------
...ake-all-elf_-functions-static-except-elf.patch} | 8 +--
...claration-of-vring_rsc-shadows-a-previous.patch | 27 ++++++++
...p-firstly-take-all-buffer-from-shram-pool.patch | 38 -----------
openamp/Makefile | 2 +-
openamp/open-amp.defs | 21 +++---
15 files changed, 143 insertions(+), 309 deletions(-)
diff --git a/openamp/0002-ns-acknowledge-the-received-creation-message.patch b/openamp/0001-ns-acknowledge-the-received-creation-message.patch
similarity index 83%
rename from openamp/0002-ns-acknowledge-the-received-creation-message.patch
rename to openamp/0001-ns-acknowledge-the-received-creation-message.patch
index 7a74173cb3..dcc31e7dbe 100644
--- a/openamp/0002-ns-acknowledge-the-received-creation-message.patch
+++ b/openamp/0001-ns-acknowledge-the-received-creation-message.patch
@@ -1,7 +1,7 @@
-From 73d9754ab14a2b5c3e25574ec860489031e32f00 Mon Sep 17 00:00:00 2001
+From 1e43e60aa7ae118309cf256c50bd17f313540eba Mon Sep 17 00:00:00 2001
From: Xiang Xiao <xi...@xiaomi.com>
Date: Mon, 7 Jan 2019 02:15:42 +0800
-Subject: [PATCH 02/12] ns: acknowledge the received creation message
+Subject: [PATCH 1/9] ns: acknowledge the received creation message
the two phase handsake make the client could initiate the transfer
immediately without the server side send any dummy message first.
@@ -12,14 +12,14 @@ Signed-off-by: Xiang Xiao <xi...@xiaomi.com>
lib/include/openamp/rpmsg_virtio.h | 1 +
lib/rpmsg/rpmsg.c | 5 ++++-
lib/rpmsg/rpmsg_internal.h | 4 ++--
- lib/rpmsg/rpmsg_virtio.c | 16 ++++++++++++----
- 5 files changed, 20 insertions(+), 7 deletions(-)
+ lib/rpmsg/rpmsg_virtio.c | 15 ++++++++++++---
+ 5 files changed, 20 insertions(+), 6 deletions(-)
diff --git a/lib/include/openamp/rpmsg.h open-amp/lib/include/openamp/rpmsg.h
-index e6acce8..3560bb5 100644
+index 64678cfc..ff3ff8fb 100644
--- a/lib/include/openamp/rpmsg.h
+++ open-amp/lib/include/openamp/rpmsg.h
-@@ -121,6 +121,7 @@ struct rpmsg_device {
+@@ -126,6 +126,7 @@ struct rpmsg_device {
rpmsg_ns_bind_cb ns_unbind_cb;
struct rpmsg_device_ops ops;
bool support_ns;
@@ -28,7 +28,7 @@ index e6acce8..3560bb5 100644
/**
diff --git a/lib/include/openamp/rpmsg_virtio.h open-amp/lib/include/openamp/rpmsg_virtio.h
-index ff1e171..255396c 100644
+index 80ce9981..874c9723 100644
--- a/lib/include/openamp/rpmsg_virtio.h
+++ open-amp/lib/include/openamp/rpmsg_virtio.h
@@ -28,6 +28,7 @@ extern "C" {
@@ -40,10 +40,10 @@ index ff1e171..255396c 100644
/**
* struct rpmsg_virtio_shm_pool - shared memory pool used for rpmsg buffers
diff --git a/lib/rpmsg/rpmsg.c open-amp/lib/rpmsg/rpmsg.c
-index 214b2a9..ba2b7a8 100644
+index 0d3e1d03..e8757d80 100644
--- a/lib/rpmsg/rpmsg.c
+++ open-amp/lib/rpmsg/rpmsg.c
-@@ -302,10 +302,13 @@ int rpmsg_create_ept(struct rpmsg_endpoint *ept, struct rpmsg_device *rdev,
+@@ -317,10 +317,13 @@ int rpmsg_create_ept(struct rpmsg_endpoint *ept, struct rpmsg_device *rdev,
rpmsg_register_endpoint(rdev, ept, name, addr, dest, cb, unbind_cb);
metal_mutex_release(&rdev->lock);
@@ -59,7 +59,7 @@ index 214b2a9..ba2b7a8 100644
if (status)
rpmsg_unregister_endpoint(ept);
diff --git a/lib/rpmsg/rpmsg_internal.h open-amp/lib/rpmsg/rpmsg_internal.h
-index ab6e0f2..3e6ae37 100644
+index ab6e0f29..3e6ae37f 100644
--- a/lib/rpmsg/rpmsg_internal.h
+++ open-amp/lib/rpmsg/rpmsg_internal.h
@@ -39,12 +39,12 @@ extern "C" {
@@ -78,10 +78,10 @@ index ab6e0f2..3e6ae37 100644
/**
diff --git a/lib/rpmsg/rpmsg_virtio.c open-amp/lib/rpmsg/rpmsg_virtio.c
-index d5f168c..0868f71 100644
+index cab72e68..5726c2ca 100644
--- a/lib/rpmsg/rpmsg_virtio.c
+++ open-amp/lib/rpmsg/rpmsg_virtio.c
-@@ -579,7 +579,7 @@ static int rpmsg_virtio_ns_callback(struct rpmsg_endpoint *ept, void *data,
+@@ -638,7 +638,7 @@ static int rpmsg_virtio_ns_callback(struct rpmsg_endpoint *ept, void *data,
metal_mutex_acquire(&rdev->lock);
_ept = rpmsg_get_endpoint(rdev, name, RPMSG_ADDR_ANY, dest);
@@ -90,17 +90,16 @@ index d5f168c..0868f71 100644
if (_ept)
_ept->dest_addr = RPMSG_ADDR_ANY;
metal_mutex_release(&rdev->lock);
-@@ -587,8 +587,7 @@ static int rpmsg_virtio_ns_callback(struct rpmsg_endpoint *ept, void *data,
+@@ -646,7 +646,7 @@ static int rpmsg_virtio_ns_callback(struct rpmsg_endpoint *ept, void *data,
_ept->ns_unbind_cb(_ept);
if (rdev->ns_unbind_cb)
rdev->ns_unbind_cb(rdev, name, dest);
--
- } else {
+ } else if (ns_msg->flags == RPMSG_NS_CREATE) {
if (!_ept) {
/*
* send callback to application, that can
-@@ -602,7 +601,15 @@ static int rpmsg_virtio_ns_callback(struct rpmsg_endpoint *ept, void *data,
+@@ -660,7 +660,15 @@ static int rpmsg_virtio_ns_callback(struct rpmsg_endpoint *ept, void *data,
} else {
_ept->dest_addr = dest;
metal_mutex_release(&rdev->lock);
@@ -116,7 +115,7 @@ index d5f168c..0868f71 100644
}
return RPMSG_SUCCESS;
-@@ -683,6 +690,7 @@ int rpmsg_init_vdev_with_config(struct rpmsg_virtio_device *rvdev,
+@@ -745,6 +753,7 @@ int rpmsg_init_vdev_with_config(struct rpmsg_virtio_device *rvdev,
#endif /*!VIRTIO_DRIVER_ONLY*/
vdev->features = rpmsg_virtio_get_features(rvdev);
rdev->support_ns = !!(vdev->features & (1 << VIRTIO_RPMSG_F_NS));
@@ -124,7 +123,7 @@ index d5f168c..0868f71 100644
#ifndef VIRTIO_DEVICE_ONLY
if (role == RPMSG_HOST) {
-@@ -778,7 +786,7 @@ int rpmsg_init_vdev_with_config(struct rpmsg_virtio_device *rvdev,
+@@ -841,7 +850,7 @@ int rpmsg_init_vdev_with_config(struct rpmsg_virtio_device *rvdev,
* Create name service announcement endpoint if device supports name
* service announcement feature.
*/
diff --git a/openamp/0001-openamp-add-ns_unbind_notify-support.patch b/openamp/0001-openamp-add-ns_unbind_notify-support.patch
deleted file mode 100644
index d3fad4628d..0000000000
--- a/openamp/0001-openamp-add-ns_unbind_notify-support.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 57afc457bc16cca04762391f77d22b9219cb0e5f Mon Sep 17 00:00:00 2001
-From: Guiding Li <li...@xiaomi.com>
-Date: Tue, 20 Jul 2021 17:52:13 +0800
-Subject: [PATCH 01/12] openamp: add ns_unbind_notify support
-
-This is for notify rdev unbind event
-
-Signed-off-by: Guiding Li <li...@xiaomi.com>
----
- lib/include/openamp/rpmsg.h | 1 +
- lib/rpmsg/rpmsg_virtio.c | 3 +++
- 2 files changed, 4 insertions(+)
-
-diff --git a/lib/include/openamp/rpmsg.h open-amp/lib/include/openamp/rpmsg.h
-index 8b8ec2e..e6acce8 100644
---- a/lib/include/openamp/rpmsg.h
-+++ open-amp/lib/include/openamp/rpmsg.h
-@@ -118,6 +118,7 @@ struct rpmsg_device {
- unsigned long bitmap[metal_bitmap_longs(RPMSG_ADDR_BMP_SIZE)];
- metal_mutex_t lock;
- rpmsg_ns_bind_cb ns_bind_cb;
-+ rpmsg_ns_bind_cb ns_unbind_cb;
- struct rpmsg_device_ops ops;
- bool support_ns;
- };
-diff --git a/lib/rpmsg/rpmsg_virtio.c open-amp/lib/rpmsg/rpmsg_virtio.c
-index 57a2083..d5f168c 100644
---- a/lib/rpmsg/rpmsg_virtio.c
-+++ open-amp/lib/rpmsg/rpmsg_virtio.c
-@@ -585,6 +585,9 @@ static int rpmsg_virtio_ns_callback(struct rpmsg_endpoint *ept, void *data,
- metal_mutex_release(&rdev->lock);
- if (_ept && _ept->ns_unbind_cb)
- _ept->ns_unbind_cb(_ept);
-+ if (rdev->ns_unbind_cb)
-+ rdev->ns_unbind_cb(rdev, name, dest);
-+
- } else {
- if (!_ept) {
- /*
---
-2.25.1
-
diff --git a/openamp/0003-Negotiate-individual-buffer-size-dynamically.patch b/openamp/0002-Negotiate-individual-buffer-size-dynamically.patch
similarity index 88%
rename from openamp/0003-Negotiate-individual-buffer-size-dynamically.patch
rename to openamp/0002-Negotiate-individual-buffer-size-dynamically.patch
index bff1f954c2..71ee90cff2 100644
--- a/openamp/0003-Negotiate-individual-buffer-size-dynamically.patch
+++ b/openamp/0002-Negotiate-individual-buffer-size-dynamically.patch
@@ -1,14 +1,13 @@
-From c3949d3b4a8883ec54f5db9ae55acac5ada75b81 Mon Sep 17 00:00:00 2001
+From 285e4d359458ef09d397a41de04ada9a6b8d48e7 Mon Sep 17 00:00:00 2001
From: Chao An <an...@pinecone.net>
Date: Mon, 10 Dec 2018 16:26:39 +0800
-Subject: [PATCH 03/12] Negotiate individual buffer size dynamically
+Subject: [PATCH 2/9] Negotiate individual buffer size dynamically
If slave support VIRTIO_RPMSG_F_BUFSZ(0x04) feature, master
determine the buffer size from config space(first 8 bytes),
otherwise the default size(512 bytes) will be used.
Signed-off-by: Chao An <an...@pinecone.net>
-Signed-off-by: ligd <li...@xiaomi.com>
---
lib/include/openamp/remoteproc.h | 17 +++++++++++++++++
lib/include/openamp/rpmsg_virtio.h | 4 +++-
@@ -16,7 +15,7 @@ Signed-off-by: ligd <li...@xiaomi.com>
3 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/lib/include/openamp/remoteproc.h open-amp/lib/include/openamp/remoteproc.h
-index 41f5d57..e9111ff 100644
+index 7c79a292..d1efab85 100644
--- a/lib/include/openamp/remoteproc.h
+++ open-amp/lib/include/openamp/remoteproc.h
@@ -303,6 +303,23 @@ struct fw_rsc_vdev {
@@ -44,7 +43,7 @@ index 41f5d57..e9111ff 100644
* struct fw_rsc_vendor - remote processor vendor specific resource
* @len: length of the resource
diff --git a/lib/include/openamp/rpmsg_virtio.h open-amp/lib/include/openamp/rpmsg_virtio.h
-index 255396c..aaba7e1 100644
+index 874c9723..0b22e840 100644
--- a/lib/include/openamp/rpmsg_virtio.h
+++ open-amp/lib/include/openamp/rpmsg_virtio.h
@@ -16,6 +16,7 @@
@@ -63,7 +62,7 @@ index 255396c..aaba7e1 100644
/**
* struct rpmsg_virtio_shm_pool - shared memory pool used for rpmsg buffers
-@@ -68,7 +70,7 @@ struct rpmsg_virtio_config {
+@@ -72,7 +74,7 @@ struct rpmsg_virtio_config {
*/
struct rpmsg_virtio_device {
struct rpmsg_device rdev;
@@ -73,10 +72,10 @@ index 255396c..aaba7e1 100644
struct virtqueue *rvq;
struct virtqueue *svq;
diff --git a/lib/rpmsg/rpmsg_virtio.c open-amp/lib/rpmsg/rpmsg_virtio.c
-index 0868f71..186f23f 100644
+index 5726c2ca..69537399 100644
--- a/lib/rpmsg/rpmsg_virtio.c
+++ open-amp/lib/rpmsg/rpmsg_virtio.c
-@@ -674,7 +674,8 @@ int rpmsg_init_vdev_with_config(struct rpmsg_virtio_device *rvdev,
+@@ -737,7 +737,8 @@ int rpmsg_init_vdev_with_config(struct rpmsg_virtio_device *rvdev,
if (config == NULL) {
return RPMSG_ERR_PARAM;
}
@@ -86,7 +85,7 @@ index 0868f71..186f23f 100644
}
#else /*!VIRTIO_DEVICE_ONLY*/
/* Ignore passed config in the virtio-device-only configuration. */
-@@ -692,6 +693,13 @@ int rpmsg_init_vdev_with_config(struct rpmsg_virtio_device *rvdev,
+@@ -755,6 +756,13 @@ int rpmsg_init_vdev_with_config(struct rpmsg_virtio_device *rvdev,
rdev->support_ns = !!(vdev->features & (1 << VIRTIO_RPMSG_F_NS));
rdev->support_ack = !!(vdev->features & (1 << VIRTIO_RPMSG_F_ACK));
diff --git a/openamp/0004-rpmsg-wait-endpoint-ready-in-rpmsg_send-and-rpmsg_se.patch b/openamp/0003-rpmsg-wait-endpoint-ready-in-rpmsg_send-and-rpmsg_se.patch
similarity index 82%
rename from openamp/0004-rpmsg-wait-endpoint-ready-in-rpmsg_send-and-rpmsg_se.patch
rename to openamp/0003-rpmsg-wait-endpoint-ready-in-rpmsg_send-and-rpmsg_se.patch
index f94531e115..5fe242f565 100644
--- a/openamp/0004-rpmsg-wait-endpoint-ready-in-rpmsg_send-and-rpmsg_se.patch
+++ b/openamp/0003-rpmsg-wait-endpoint-ready-in-rpmsg_send-and-rpmsg_se.patch
@@ -1,7 +1,7 @@
-From 415f9cdcf5a93cd018fa920e53a9090d5ec94c37 Mon Sep 17 00:00:00 2001
+From 931cd95ab99550befa75703cc36d5e6f6964b63e Mon Sep 17 00:00:00 2001
From: Guiding Li <li...@pinecone.net>
Date: Wed, 20 Feb 2019 11:36:57 +0800
-Subject: [PATCH 04/12] rpmsg: wait endpoint ready in rpmsg_send and
+Subject: [PATCH 3/9] rpmsg: wait endpoint ready in rpmsg_send and
rpmsg_send_nocopy
because the remote need time to return the destination address
@@ -9,11 +9,11 @@ because the remote need time to return the destination address
Signed-off-by: Guiding Li <li...@pinecone.net>
---
lib/include/openamp/rpmsg.h | 59 ++++++++++++++++++++++++++-----------
- lib/rpmsg/rpmsg_virtio.c | 8 -----
- 2 files changed, 42 insertions(+), 25 deletions(-)
+ lib/rpmsg/rpmsg_virtio.c | 7 -----
+ 2 files changed, 42 insertions(+), 24 deletions(-)
diff --git a/lib/include/openamp/rpmsg.h open-amp/lib/include/openamp/rpmsg.h
-index 3560bb5..11c3ccb 100644
+index ff3ff8fb..dbe42ea6 100644
--- a/lib/include/openamp/rpmsg.h
+++ open-amp/lib/include/openamp/rpmsg.h
@@ -15,6 +15,7 @@
@@ -37,7 +37,7 @@ index 3560bb5..11c3ccb 100644
/* Error macros. */
#define RPMSG_SUCCESS 0
#define RPMSG_ERROR_BASE -2000
-@@ -142,6 +149,19 @@ int rpmsg_send_offchannel_raw(struct rpmsg_endpoint *ept, uint32_t src,
+@@ -147,6 +154,19 @@ int rpmsg_send_offchannel_raw(struct rpmsg_endpoint *ept, uint32_t src,
uint32_t dst, const void *data, int len,
int wait);
@@ -57,14 +57,17 @@ index 3560bb5..11c3ccb 100644
/**
* rpmsg_send() - send a message across to the remote processor
* @ept: the rpmsg endpoint
-@@ -160,8 +180,17 @@ int rpmsg_send_offchannel_raw(struct rpmsg_endpoint *ept, uint32_t src,
+@@ -165,11 +185,20 @@ int rpmsg_send_offchannel_raw(struct rpmsg_endpoint *ept, uint32_t src,
static inline int rpmsg_send(struct rpmsg_endpoint *ept, const void *data,
int len)
{
-- return rpmsg_send_offchannel_raw(ept, ept->addr, ept->dest_addr, data,
-- len, true);
+ int tc = 0;
+
+ if (!ept)
+ return RPMSG_ERR_PARAM;
+
+- return rpmsg_send_offchannel_raw(ept, ept->addr, ept->dest_addr, data,
+- len, true);
+ for (; tc < RPMSG_TICK_COUNT; tc += RPMSG_TICKS_PER_INTERVAL) {
+ if (is_rpmsg_ept_ready(ept))
+ return rpmsg_send_offchannel_raw(ept, ept->addr,
@@ -77,14 +80,17 @@ index 3560bb5..11c3ccb 100644
}
/**
-@@ -434,8 +463,17 @@ static inline int rpmsg_sendto_nocopy(struct rpmsg_endpoint *ept,
+@@ -476,11 +505,20 @@ static inline int rpmsg_sendto_nocopy(struct rpmsg_endpoint *ept,
static inline int rpmsg_send_nocopy(struct rpmsg_endpoint *ept,
const void *data, int len)
{
-- return rpmsg_send_offchannel_nocopy(ept, ept->addr,
-- ept->dest_addr, data, len);
+ int tc = 0;
+
+ if (!ept)
+ return RPMSG_ERR_PARAM;
+
+- return rpmsg_send_offchannel_nocopy(ept, ept->addr,
+- ept->dest_addr, data, len);
+ for (; tc < RPMSG_TICK_COUNT; tc += RPMSG_TICKS_PER_INTERVAL) {
+ if (is_rpmsg_ept_ready(ept))
+ return rpmsg_send_offchannel_nocopy(ept, ept->addr,
@@ -97,7 +103,7 @@ index 3560bb5..11c3ccb 100644
}
/**
-@@ -508,19 +546,6 @@ int rpmsg_create_ept(struct rpmsg_endpoint *ept, struct rpmsg_device *rdev,
+@@ -524,19 +562,6 @@ int rpmsg_create_ept(struct rpmsg_endpoint *ept, struct rpmsg_device *rdev,
*/
void rpmsg_destroy_ept(struct rpmsg_endpoint *ept);
@@ -118,7 +124,7 @@ index 3560bb5..11c3ccb 100644
}
#endif
diff --git a/lib/rpmsg/rpmsg_virtio.c open-amp/lib/rpmsg/rpmsg_virtio.c
-index 186f23f..d19d3b1 100644
+index 69537399..c56e0cea 100644
--- a/lib/rpmsg/rpmsg_virtio.c
+++ open-amp/lib/rpmsg/rpmsg_virtio.c
@@ -10,7 +10,6 @@
@@ -129,7 +135,7 @@ index 186f23f..d19d3b1 100644
#include <metal/utilities.h>
#include <openamp/rpmsg_virtio.h>
#include <openamp/virtqueue.h>
-@@ -19,13 +18,6 @@
+@@ -19,12 +18,6 @@
#define RPMSG_NUM_VRINGS 2
@@ -139,10 +145,9 @@ index 186f23f..d19d3b1 100644
-/* Time to wait - In multiple of 1 msecs. */
-#define RPMSG_TICKS_PER_INTERVAL 1000
-
--
- /* Default configuration */
- #ifndef VIRTIO_DEVICE_ONLY
- #define RPMSG_VIRTIO_DEFAULT_CONFIG \
+ /**
+ * struct vbuff_reclaimer_t - vring buffer recycler
+ *
--
2.25.1
diff --git a/openamp/0005-openamp-add-new-ops-notify_wait-support.patch b/openamp/0004-openamp-add-new-ops-notify_wait-support.patch
similarity index 82%
rename from openamp/0005-openamp-add-new-ops-notify_wait-support.patch
rename to openamp/0004-openamp-add-new-ops-notify_wait-support.patch
index 91d052dbe9..d7e8735f65 100644
--- a/openamp/0005-openamp-add-new-ops-notify_wait-support.patch
+++ b/openamp/0004-openamp-add-new-ops-notify_wait-support.patch
@@ -1,11 +1,12 @@
-From 00d0f99b49a5647107bc16249a141d1c727ec11e Mon Sep 17 00:00:00 2001
-From: Guiding Li <li...@xiaomi.com>
-Date: Thu, 18 Nov 2021 20:54:45 +0800
-Subject: [PATCH 2/9] openamp: add new ops notify_wait() support
+From ddc209c9475a2822ffe5d18441bd01718acdbc11 Mon Sep 17 00:00:00 2001
+From: ligd <li...@xiaomi.com>
+Date: Fri, 29 Jul 2022 22:57:23 +0800
+Subject: [PATCH 4/9] openamp: add new ops notify_wait() support
This can avoid looping check tx buffer
-Signed-off-by: Guiding Li <li...@xiaomi.com>
+Change-Id: Ie340ed06c306ce978ff165aacaf5b830e3645af8
+Signed-off-by: ligd <li...@xiaomi.com>
---
lib/include/openamp/remoteproc.h | 12 ++++++++++++
lib/include/openamp/remoteproc_virtio.h | 2 ++
@@ -14,11 +15,11 @@ Signed-off-by: Guiding Li <li...@xiaomi.com>
lib/include/openamp/virtio.h | 1 +
lib/remoteproc/remoteproc.c | 11 +++++++++++
lib/remoteproc/remoteproc_virtio.c | 14 ++++++++++++++
- lib/rpmsg/rpmsg_virtio.c | 5 +++++
- 8 files changed, 55 insertions(+)
+ lib/rpmsg/rpmsg_virtio.c | 7 +++++++
+ 8 files changed, 57 insertions(+)
diff --git a/lib/include/openamp/remoteproc.h open-amp/lib/include/openamp/remoteproc.h
-index e9111ff..d276550 100644
+index d1efab85..f6554404 100644
--- a/lib/include/openamp/remoteproc.h
+++ open-amp/lib/include/openamp/remoteproc.h
@@ -428,6 +428,18 @@ struct remoteproc_ops {
@@ -41,10 +42,10 @@ index e9111ff..d276550 100644
* get_mem
*
diff --git a/lib/include/openamp/remoteproc_virtio.h open-amp/lib/include/openamp/remoteproc_virtio.h
-index 70cff97..eaca76a 100644
+index 6609a1fd..e65488d5 100644
--- a/lib/include/openamp/remoteproc_virtio.h
+++ open-amp/lib/include/openamp/remoteproc_virtio.h
-@@ -22,6 +22,7 @@ extern "C" {
+@@ -25,6 +25,7 @@ extern "C" {
/* define vdev notification function user should implement */
typedef int (*rpvdev_notify_func)(void *priv, uint32_t id);
@@ -52,7 +53,7 @@ index 70cff97..eaca76a 100644
/**
* struct remoteproc_virtio
-@@ -37,6 +38,7 @@ struct remoteproc_virtio {
+@@ -40,6 +41,7 @@ struct remoteproc_virtio {
void *vdev_rsc;
struct metal_io_region *vdev_rsc_io;
rpvdev_notify_func notify;
@@ -61,22 +62,22 @@ index 70cff97..eaca76a 100644
struct metal_list node;
};
diff --git a/lib/include/openamp/rpmsg.h open-amp/lib/include/openamp/rpmsg.h
-index 11c3ccb..6f546e5 100644
+index dbe42ea6..14440e20 100644
--- a/lib/include/openamp/rpmsg.h
+++ open-amp/lib/include/openamp/rpmsg.h
-@@ -49,6 +49,7 @@ extern "C" {
- #define RPMSG_ERR_BUFF_SIZE (RPMSG_ERROR_BASE - 5)
+@@ -50,6 +50,7 @@ extern "C" {
#define RPMSG_ERR_INIT (RPMSG_ERROR_BASE - 6)
#define RPMSG_ERR_ADDR (RPMSG_ERROR_BASE - 7)
-+#define RPMSG_ERR_NXIO (RPMSG_ERROR_BASE - 8)
+ #define RPMSG_ERR_PERM (RPMSG_ERROR_BASE - 8)
++#define RPMSG_ERR_NXIO (RPMSG_ERROR_BASE - 9)
struct rpmsg_endpoint;
struct rpmsg_device;
diff --git a/lib/include/openamp/rpmsg_virtio.h open-amp/lib/include/openamp/rpmsg_virtio.h
-index aaba7e1..3ec0b0f 100644
+index 0b22e840..11cb6df9 100644
--- a/lib/include/openamp/rpmsg_virtio.h
+++ open-amp/lib/include/openamp/rpmsg_virtio.h
-@@ -143,6 +143,15 @@ rpmsg_virtio_create_virtqueues(struct rpmsg_virtio_device *rvdev,
+@@ -148,6 +148,15 @@ rpmsg_virtio_create_virtqueues(struct rpmsg_virtio_device *rvdev,
callbacks);
}
@@ -93,7 +94,7 @@ index aaba7e1..3ec0b0f 100644
* rpmsg_virtio_get_buffer_size - get rpmsg virtio buffer size
*
diff --git a/lib/include/openamp/virtio.h open-amp/lib/include/openamp/virtio.h
-index 916132b..0303a5b 100644
+index 916132b4..0303a5b3 100644
--- a/lib/include/openamp/virtio.h
+++ open-amp/lib/include/openamp/virtio.h
@@ -162,6 +162,7 @@ struct virtio_dispatch {
@@ -105,10 +106,10 @@ index 916132b..0303a5b 100644
int virtio_create_virtqueues(struct virtio_device *vdev, unsigned int flags,
diff --git a/lib/remoteproc/remoteproc.c open-amp/lib/remoteproc/remoteproc.c
-index 9a0cf3e..4c101db 100644
+index f7f9f2df..001b11bf 100644
--- a/lib/remoteproc/remoteproc.c
+++ open-amp/lib/remoteproc/remoteproc.c
-@@ -880,6 +880,16 @@ static int remoteproc_virtio_notify(void *priv, uint32_t id)
+@@ -899,6 +899,16 @@ static int remoteproc_virtio_notify(void *priv, uint32_t id)
return 0;
}
@@ -125,7 +126,7 @@ index 9a0cf3e..4c101db 100644
struct virtio_device *
remoteproc_create_virtio(struct remoteproc *rproc,
int vdev_id, unsigned int role,
-@@ -927,6 +937,7 @@ remoteproc_create_virtio(struct remoteproc *rproc,
+@@ -957,6 +967,7 @@ remoteproc_create_virtio(struct remoteproc *rproc,
rproc_virtio_wait_remote_ready(vdev);
rpvdev = metal_container_of(vdev, struct remoteproc_virtio, vdev);
@@ -134,7 +135,7 @@ index 9a0cf3e..4c101db 100644
num_vrings = vdev_rsc->num_of_vrings;
diff --git a/lib/remoteproc/remoteproc_virtio.c open-amp/lib/remoteproc/remoteproc_virtio.c
-index cbfd966..ef5eef3 100644
+index 169e5b5f..4375c4c3 100644
--- a/lib/remoteproc/remoteproc_virtio.c
+++ open-amp/lib/remoteproc/remoteproc_virtio.c
@@ -30,6 +30,19 @@ static void rproc_virtio_virtqueue_notify(struct virtqueue *vq)
@@ -166,10 +167,10 @@ index cbfd966..ef5eef3 100644
/*
* We suppose here that the vdev is in a shared memory so that can
diff --git a/lib/rpmsg/rpmsg_virtio.c open-amp/lib/rpmsg/rpmsg_virtio.c
-index d19d3b1..80bfbf7 100644
+index c56e0cea..4960aa8a 100644
--- a/lib/rpmsg/rpmsg_virtio.c
+++ open-amp/lib/rpmsg/rpmsg_virtio.c
-@@ -339,6 +339,11 @@ static void *rpmsg_virtio_get_tx_payload_buffer(struct rpmsg_device *rdev,
+@@ -373,6 +373,13 @@ static void *rpmsg_virtio_get_tx_payload_buffer(struct rpmsg_device *rdev,
metal_mutex_release(&rdev->lock);
if (rp_hdr || !tick_count)
break;
@@ -177,6 +178,8 @@ index d19d3b1..80bfbf7 100644
+ status = rpmsg_virtio_notify_wait(rvdev, rvdev->rvq);
+ if (status == RPMSG_SUCCESS)
+ continue;
++ else if (status != RPMSG_ERR_NXIO)
++ break;
+
metal_sleep_usec(RPMSG_TICKS_PER_INTERVAL);
tick_count--;
diff --git a/openamp/0007-openamp-don-t-need-check-status-when-get_tx_payload.patch b/openamp/0005-rpmsg_virtio-don-t-need-check-status-when-get_tx_pay.patch
similarity index 52%
rename from openamp/0007-openamp-don-t-need-check-status-when-get_tx_payload.patch
rename to openamp/0005-rpmsg_virtio-don-t-need-check-status-when-get_tx_pay.patch
index bc2797730b..3cd7ae3b53 100644
--- a/openamp/0007-openamp-don-t-need-check-status-when-get_tx_payload.patch
+++ b/openamp/0005-rpmsg_virtio-don-t-need-check-status-when-get_tx_pay.patch
@@ -1,21 +1,21 @@
-From 13f72065d4085cebe10687f486edaa014b4adf6c Mon Sep 17 00:00:00 2001
-From: Jiuzhu Dong <do...@xiaomi.com>
-Date: Mon, 18 Apr 2022 15:20:52 +0800
-Subject: [PATCH 07/12] openamp: don't need check status when get_tx_payload
+From 5a9d63c1ce2878aa792c49a1205ebb73dbe6258f Mon Sep 17 00:00:00 2001
+From: ligd <li...@xiaomi.com>
+Date: Mon, 28 Feb 2022 16:31:54 +0800
+Subject: [PATCH 5/9] rpmsg_virtio: don't need check status when get_tx_payload
-Remove redundant check, because this status is already check in
-rpmsg_init_vdev_with_config and rpmsg_virtio_wait_remote_ready.
-Signed-off-by: Guiding Li <li...@xiaomi.com>
-Signed-off-by: Jiuzhu Dong <do...@xiaomi.com>
+VELAOS-21
+
+Change-Id: Icb01034dfab146b3a02ea2c70dbdf197d8ed419f
+Signed-off-by: ligd <li...@xiaomi.com>
---
lib/rpmsg/rpmsg_virtio.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/lib/rpmsg/rpmsg_virtio.c open-amp/lib/rpmsg/rpmsg_virtio.c
-index adc3dbc..92f5883 100644
+index 4960aa8a..1f6ce593 100644
--- a/lib/rpmsg/rpmsg_virtio.c
+++ open-amp/lib/rpmsg/rpmsg_virtio.c
-@@ -323,11 +323,6 @@ static void *rpmsg_virtio_get_tx_payload_buffer(struct rpmsg_device *rdev,
+@@ -356,11 +356,6 @@ static void *rpmsg_virtio_get_tx_payload_buffer(struct rpmsg_device *rdev,
/* Get the associated remote device for channel. */
rvdev = metal_container_of(rdev, struct rpmsg_virtio_device, rdev);
diff --git a/openamp/0006-openamp-divide-shram-to-TX-shram-RX-shram-by-config-.patch b/openamp/0006-openamp-divide-shram-to-TX-shram-RX-shram-by-config-.patch
deleted file mode 100644
index 7671a38134..0000000000
--- a/openamp/0006-openamp-divide-shram-to-TX-shram-RX-shram-by-config-.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From bcaa279299ecd4194faffae71867c0371bf4f4a4 Mon Sep 17 00:00:00 2001
-From: Jiuzhu Dong <do...@xiaomi.com>
-Date: Fri, 6 May 2022 10:41:57 +0800
-Subject: [PATCH 06/12] openamp: divide shram to TX shram & RX shram by
- config:txrx_shpool
-
-In the multi core of lower power device, when one of core enters sleep,
-it needs to put its corresponding share memory into retention mode to
-save power consumption. Based on the limitations of the chip design,
-when the CPU to which share memory belongs goes to sleep, the share
-memory enters the retention mode, and other cores will not be able
-to access it. When the share memory divides tx shm and rx shm
-and the core of tx shm and rx shm are different, so that when one
-CPU sleeps, the other CPU can still access its own tx shm.
-
-Signed-off-by: Guiding Li <li...@xiaomi.com>
-Signed-off-by: Jiuzhu Dong <do...@xiaomi.com>
----
- lib/include/openamp/rpmsg_virtio.h | 10 ++++++++--
- lib/rpmsg/rpmsg_virtio.c | 5 +++--
- 2 files changed, 11 insertions(+), 4 deletions(-)
-
-diff --git a/lib/include/openamp/rpmsg_virtio.h open-amp/lib/include/openamp/rpmsg_virtio.h
-index 3ec0b0f..c81b404 100644
---- a/lib/include/openamp/rpmsg_virtio.h
-+++ open-amp/lib/include/openamp/rpmsg_virtio.h
-@@ -56,6 +56,7 @@ struct rpmsg_virtio_shm_pool {
- struct rpmsg_virtio_config {
- uint32_t h2r_buf_size;
- uint32_t r2h_buf_size;
-+ bool split_shpool;
- };
-
- /**
-@@ -208,8 +209,13 @@ int rpmsg_init_vdev(struct rpmsg_virtio_device *rvdev,
- * @param ns_bind_cb - callback handler for name service announcement without
- * local endpoints waiting to bind.
- * @param shm_io - pointer to the share memory I/O region.
-- * @param shpool - pointer to shared memory pool. rpmsg_virtio_init_shm_pool has
-- * to be called first to fill this structure.
-+ * @param shpool - pointer to shared memory pool array.
-+ * If the config->split_shpool is turn on, the array will contain
-+ * two elements, the shpool of txshpool and rxshpool, Otherwise,
-+ * the array has only one element, and txshpool rxshpool shares
-+ * a shpool.
-+ * And rpmsg_virtio_init_shm_pool has to be called first to fill
-+ * each shpool in this array.
- * @param config - pointer to configuration structure
- *
- * @return - status of function execution
-diff --git a/lib/rpmsg/rpmsg_virtio.c open-amp/lib/rpmsg/rpmsg_virtio.c
-index c555101..adc3dbc 100644
---- a/lib/rpmsg/rpmsg_virtio.c
-+++ open-amp/lib/rpmsg/rpmsg_virtio.c
-@@ -24,6 +24,7 @@
- (&(const struct rpmsg_virtio_config) { \
- .h2r_buf_size = RPMSG_BUFFER_SIZE, \
- .r2h_buf_size = RPMSG_BUFFER_SIZE, \
-+ .split_shpool = false, \
- })
- #else
- #define RPMSG_VIRTIO_DEFAULT_CONFIG NULL
-@@ -705,11 +706,11 @@ int rpmsg_init_vdev_with_config(struct rpmsg_virtio_device *rvdev,
- * Since device is RPMSG Remote so we need to manage the
- * shared buffers. Create shared memory pool to handle buffers.
- */
-+ rvdev->shpool = config->split_shpool ? shpool + 1 : shpool;
- if (!shpool)
- return RPMSG_ERR_PARAM;
-- if (!shpool->size)
-+ if (!shpool->size || !rvdev->shpool->size)
- return RPMSG_ERR_NO_BUFF;
-- rvdev->shpool = shpool;
-
- vq_names[0] = "rx_vq";
- vq_names[1] = "tx_vq";
---
-2.25.1
-
diff --git a/openamp/0010-rpmsg-notify-the-user-when-the-remote-address-is-rec.patch b/openamp/0006-rpmsg-notify-the-user-when-the-remote-address-is-rec.patch
similarity index 75%
rename from openamp/0010-rpmsg-notify-the-user-when-the-remote-address-is-rec.patch
rename to openamp/0006-rpmsg-notify-the-user-when-the-remote-address-is-rec.patch
index 688288ad17..79ddaecda4 100644
--- a/openamp/0010-rpmsg-notify-the-user-when-the-remote-address-is-rec.patch
+++ b/openamp/0006-rpmsg-notify-the-user-when-the-remote-address-is-rec.patch
@@ -1,21 +1,21 @@
-From 442ccb015805eb5f7d700f80db9893d319ce5781 Mon Sep 17 00:00:00 2001
+From a2c9d79f9b77f057d89ede1395559c0645169b7a Mon Sep 17 00:00:00 2001
From: ligd <li...@xiaomi.com>
Date: Tue, 19 Oct 2021 19:45:14 +0800
-Subject: [PATCH 10/12] rpmsg: notify the user when the remote address is
+Subject: [PATCH 6/9] rpmsg: notify the user when the remote address is
received
Change-Id: I2f0601fb38944e0cfb8888aa397740161b159e40
Signed-off-by: ligd <li...@xiaomi.com>
---
lib/include/openamp/rpmsg.h | 4 ++++
- lib/rpmsg/rpmsg_virtio.c | 9 +++++++--
- 2 files changed, 11 insertions(+), 2 deletions(-)
+ lib/rpmsg/rpmsg_virtio.c | 6 ++++++
+ 2 files changed, 10 insertions(+)
diff --git a/lib/include/openamp/rpmsg.h open-amp/lib/include/openamp/rpmsg.h
-index 6f546e5..10d4f5b 100644
+index 14440e20..fbd7f619 100644
--- a/lib/include/openamp/rpmsg.h
+++ open-amp/lib/include/openamp/rpmsg.h
-@@ -57,6 +57,7 @@ struct rpmsg_device;
+@@ -58,6 +58,7 @@ struct rpmsg_device;
/* Returns positive value on success or negative error value on failure */
typedef int (*rpmsg_ept_cb)(struct rpmsg_endpoint *ept, void *data,
size_t len, uint32_t src, void *priv);
@@ -23,7 +23,7 @@ index 6f546e5..10d4f5b 100644
typedef void (*rpmsg_ns_unbind_cb)(struct rpmsg_endpoint *ept);
typedef void (*rpmsg_ns_bind_cb)(struct rpmsg_device *rdev,
const char *name, uint32_t dest);
-@@ -69,6 +70,8 @@ typedef void (*rpmsg_ns_bind_cb)(struct rpmsg_device *rdev,
+@@ -70,6 +71,8 @@ typedef void (*rpmsg_ns_bind_cb)(struct rpmsg_device *rdev,
* @dest_addr: address of the default remote endpoint binded.
* @cb: user rx callback, return value of this callback is reserved
* for future use, for now, only allow RPMSG_SUCCESS as return value.
@@ -32,7 +32,7 @@ index 6f546e5..10d4f5b 100644
* @ns_unbind_cb: end point service unbind callback, called when remote
* ept is destroyed.
* @node: end point node.
-@@ -83,6 +86,7 @@ struct rpmsg_endpoint {
+@@ -84,6 +87,7 @@ struct rpmsg_endpoint {
uint32_t addr;
uint32_t dest_addr;
rpmsg_ept_cb cb;
@@ -41,16 +41,13 @@ index 6f546e5..10d4f5b 100644
struct metal_list node;
void *priv;
diff --git a/lib/rpmsg/rpmsg_virtio.c open-amp/lib/rpmsg/rpmsg_virtio.c
-index 4f26b01..e55e135 100644
+index 1f6ce593..efbcd68d 100644
--- a/lib/rpmsg/rpmsg_virtio.c
+++ open-amp/lib/rpmsg/rpmsg_virtio.c
-@@ -598,14 +598,19 @@ static int rpmsg_virtio_ns_callback(struct rpmsg_endpoint *ept, void *data,
- _ept->dest_addr = dest;
- metal_mutex_release(&rdev->lock);
+@@ -658,12 +658,18 @@ static int rpmsg_virtio_ns_callback(struct rpmsg_endpoint *ept, void *data,
if (_ept->name[0] && rdev->support_ack)
-- rpmsg_send_ns_message(_ept,
-- RPMSG_NS_CREATE_ACK);
-+ rpmsg_send_ns_message(_ept, RPMSG_NS_CREATE_ACK);
+ rpmsg_send_ns_message(_ept,
+ RPMSG_NS_CREATE_ACK);
+ /* notify application that the endpoint has been bound */
+ if (_ept->ns_bound_cb)
+ _ept->ns_bound_cb(_ept);
diff --git a/openamp/0011-openamp-avoid-double-calling-ns_bound-when-each-othe.patch b/openamp/0007-openamp-avoid-double-calling-ns_bound-when-each-othe.patch
similarity index 83%
rename from openamp/0011-openamp-avoid-double-calling-ns_bound-when-each-othe.patch
rename to openamp/0007-openamp-avoid-double-calling-ns_bound-when-each-othe.patch
index 8a51530b53..3831c94b35 100644
--- a/openamp/0011-openamp-avoid-double-calling-ns_bound-when-each-othe.patch
+++ b/openamp/0007-openamp-avoid-double-calling-ns_bound-when-each-othe.patch
@@ -1,7 +1,7 @@
-From 8405b71cb738096a223c5f7ca02b9fa0de5ae0d6 Mon Sep 17 00:00:00 2001
+From 0e77783658066c02903cc6693460f3bb577e3030 Mon Sep 17 00:00:00 2001
From: Jiuzhu Dong <do...@xiaomi.com>
Date: Mon, 11 Apr 2022 13:31:35 +0800
-Subject: [PATCH 11/12] openamp: avoid double calling ns_bound when each other
+Subject: [PATCH 7/9] openamp: avoid double calling ns_bound when each other
calls create_ept
VELAPLATFO-1522
@@ -13,10 +13,10 @@ Signed-off-by: Jiuzhu Dong <do...@xiaomi.com>
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/lib/rpmsg/rpmsg_virtio.c open-amp/lib/rpmsg/rpmsg_virtio.c
-index e55e135..cd3a13d 100644
+index efbcd68d..49817799 100644
--- a/lib/rpmsg/rpmsg_virtio.c
+++ open-amp/lib/rpmsg/rpmsg_virtio.c
-@@ -594,7 +594,7 @@ static int rpmsg_virtio_ns_callback(struct rpmsg_endpoint *ept, void *data,
+@@ -652,7 +652,7 @@ static int rpmsg_virtio_ns_callback(struct rpmsg_endpoint *ept, void *data,
metal_mutex_release(&rdev->lock);
if (rdev->ns_bind_cb)
rdev->ns_bind_cb(rdev, name, dest);
@@ -25,7 +25,7 @@ index e55e135..cd3a13d 100644
_ept->dest_addr = dest;
metal_mutex_release(&rdev->lock);
if (_ept->name[0] && rdev->support_ack)
-@@ -603,14 +603,19 @@ static int rpmsg_virtio_ns_callback(struct rpmsg_endpoint *ept, void *data,
+@@ -662,14 +662,19 @@ static int rpmsg_virtio_ns_callback(struct rpmsg_endpoint *ept, void *data,
if (_ept->ns_bound_cb)
_ept->ns_bound_cb(_ept);
}
diff --git a/openamp/0008-openamp-add-available_idx-to-dump.patch b/openamp/0008-openamp-add-available_idx-to-dump.patch
deleted file mode 100644
index 290f96e355..0000000000
--- a/openamp/0008-openamp-add-available_idx-to-dump.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 3ae038f84432e657dff78ed135204210b42a33a9 Mon Sep 17 00:00:00 2001
-From: Guiding Li <li...@xiaomi.com>
-Date: Tue, 31 May 2022 23:04:01 +0800
-Subject: [PATCH 08/12] openamp: add available_idx to dump
-
-Just update debug logs
-
-Signed-off-by: Guiding Li <li...@xiaomi.com>
----
- lib/virtio/virtqueue.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/lib/virtio/virtqueue.c open-amp/lib/virtio/virtqueue.c
-index d989533..2d243b8 100644
---- a/lib/virtio/virtqueue.c
-+++ open-amp/lib/virtio/virtqueue.c
-@@ -421,11 +421,11 @@ void virtqueue_dump(struct virtqueue *vq)
- VRING_INVALIDATE(vq->vq_ring.used);
-
- metal_log(METAL_LOG_DEBUG,
-- "VQ: %s - size=%d; free=%d; queued=%d; "
-- "desc_head_idx=%d; avail.idx=%d; used_cons_idx=%d; "
-+ "VQ: %s - size=%d; free=%d; queued=%d; desc_head_idx=%d; "
-+ "available_idx=%d; avail.idx=%d; used_cons_idx=%d; "
- "used.idx=%d; avail.flags=0x%x; used.flags=0x%x\r\n",
- vq->vq_name, vq->vq_nentries, vq->vq_free_cnt,
-- vq->vq_queued_cnt, vq->vq_desc_head_idx,
-+ vq->vq_queued_cnt, vq->vq_desc_head_idx, vq->vq_available_idx,
- vq->vq_ring.avail->idx, vq->vq_used_cons_idx,
- vq->vq_ring.used->idx, vq->vq_ring.avail->flags,
- vq->vq_ring.used->flags);
---
-2.25.1
-
diff --git a/openamp/0012-remoteproc-make-all-elf_-functions-static-except-elf.patch b/openamp/0008-remoteproc-make-all-elf_-functions-static-except-elf.patch
similarity index 97%
rename from openamp/0012-remoteproc-make-all-elf_-functions-static-except-elf.patch
rename to openamp/0008-remoteproc-make-all-elf_-functions-static-except-elf.patch
index 6e25df2204..8bb09a716d 100644
--- a/openamp/0012-remoteproc-make-all-elf_-functions-static-except-elf.patch
+++ b/openamp/0008-remoteproc-make-all-elf_-functions-static-except-elf.patch
@@ -1,7 +1,7 @@
-From fb046d85d5e098f58af037322f0de2f663e8f460 Mon Sep 17 00:00:00 2001
+From bcd10078fe4266cadbc437b130832dd90c00df33 Mon Sep 17 00:00:00 2001
From: Xiang Xiao <xi...@xiaomi.com>
Date: Fri, 15 Nov 2019 19:01:49 +0800
-Subject: [PATCH 12/12] remoteproc: make all elf_* functions static except
+Subject: [PATCH 8/9] remoteproc: make all elf_* functions static except
elf_identify
it's the best practice to reduce the name scope as small as possible
@@ -13,7 +13,7 @@ Signed-off-by: Xiang Xiao <xi...@xiaomi.com>
2 files changed, 14 insertions(+), 107 deletions(-)
diff --git a/lib/include/openamp/elf_loader.h open-amp/lib/include/openamp/elf_loader.h
-index e7dda74..916a23f 100644
+index e7dda748..916a23f9 100644
--- a/lib/include/openamp/elf_loader.h
+++ open-amp/lib/include/openamp/elf_loader.h
@@ -323,99 +323,6 @@ extern const struct loader_ops elf_ops;
@@ -117,7 +117,7 @@ index e7dda74..916a23f 100644
#if defined __cplusplus
}
diff --git a/lib/remoteproc/elf_loader.c open-amp/lib/remoteproc/elf_loader.c
-index c90b8d4..ffb253f 100644
+index c90b8d46..ffb253fb 100644
--- a/lib/remoteproc/elf_loader.c
+++ open-amp/lib/remoteproc/elf_loader.c
@@ -392,9 +392,9 @@ int elf_identify(const void *img_data, size_t len)
diff --git a/openamp/0009-Fix-warn-declaration-of-vring_rsc-shadows-a-previous.patch b/openamp/0009-Fix-warn-declaration-of-vring_rsc-shadows-a-previous.patch
new file mode 100644
index 0000000000..caa360fcc1
--- /dev/null
+++ b/openamp/0009-Fix-warn-declaration-of-vring_rsc-shadows-a-previous.patch
@@ -0,0 +1,27 @@
+From 3af4aed5e9f7d0299ded056adcdd1259fc44f64c Mon Sep 17 00:00:00 2001
+From: Xiang Xiao <xi...@xiaomi.com>
+Date: Sun, 6 Nov 2022 00:51:35 +0800
+Subject: [PATCH 9/9] Fix warn: declaration of 'vring_rsc' shadows a previous
+ local
+
+Signed-off-by: Xiang Xiao <xi...@xiaomi.com>
+---
+ lib/remoteproc/rsc_table_parser.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/lib/remoteproc/rsc_table_parser.c open-amp/lib/remoteproc/rsc_table_parser.c
+index 80879380..4cccf4f1 100644
+--- a/lib/remoteproc/rsc_table_parser.c
++++ open-amp/lib/remoteproc/rsc_table_parser.c
+@@ -144,8 +144,6 @@ int handle_vdev_rsc(struct remoteproc *rproc, void *rsc)
+
+ num_vrings = vdev_rsc->num_of_vrings;
+ for (i = 0; i < num_vrings; i++) {
+- struct fw_rsc_vdev_vring *vring_rsc;
+-
+ vring_rsc = &vdev_rsc->vring[i];
+ notifyid = vring_rsc->notifyid;
+ notifyid = remoteproc_allocate_id(rproc,
+--
+2.25.1
+
diff --git a/openamp/0009-openamp-firstly-take-all-buffer-from-shram-pool.patch b/openamp/0009-openamp-firstly-take-all-buffer-from-shram-pool.patch
deleted file mode 100644
index c22cf3138e..0000000000
--- a/openamp/0009-openamp-firstly-take-all-buffer-from-shram-pool.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 8aff77d4ceea809da273b68763aea737ed81da38 Mon Sep 17 00:00:00 2001
-From: Guiding Li <li...@xiaomi.com>
-Date: Tue, 2 Aug 2022 11:12:19 +0800
-Subject: [PATCH 09/12] openamp: firstly take all buffer from shram pool
-
-1. the memory already alloced for shram
-2. this can help dump the right free cnt
-
-Signed-off-by: Guiding Li <li...@xiaomi.com>
----
- lib/rpmsg/rpmsg_virtio.c | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/lib/rpmsg/rpmsg_virtio.c open-amp/lib/rpmsg/rpmsg_virtio.c
-index 92f5883..4f26b01 100644
---- a/lib/rpmsg/rpmsg_virtio.c
-+++ open-amp/lib/rpmsg/rpmsg_virtio.c
-@@ -154,12 +154,13 @@ static void *rpmsg_virtio_get_tx_buffer(struct rpmsg_virtio_device *rvdev,
-
- #ifndef VIRTIO_DEVICE_ONLY
- if (role == RPMSG_HOST) {
-- data = virtqueue_get_buffer(rvdev->svq, len, idx);
-- if (!data && rvdev->svq->vq_free_cnt) {
-- data = rpmsg_virtio_shm_pool_get_buffer(rvdev->shpool,
-- rvdev->config.h2r_buf_size);
-+ data = rpmsg_virtio_shm_pool_get_buffer(rvdev->shpool,
-+ rvdev->config.h2r_buf_size);
-+ if (data) {
- *len = rvdev->config.h2r_buf_size;
- *idx = 0;
-+ } else {
-+ data = virtqueue_get_buffer(rvdev->svq, len, idx);
- }
- }
- #endif /*!VIRTIO_DEVICE_ONLY*/
---
-2.25.1
-
diff --git a/openamp/Makefile b/openamp/Makefile
index 2313df27fd..4bf73b0c52 100644
--- a/openamp/Makefile
+++ b/openamp/Makefile
@@ -20,7 +20,7 @@
include $(TOPDIR)/Make.defs
-VERSION ?= 2022.04.0
+VERSION ?= 2022.10.0
include libmetal.defs
include open-amp.defs
diff --git a/openamp/open-amp.defs b/openamp/open-amp.defs
index e0fcf76fe3..fa65b60f60 100644
--- a/openamp/open-amp.defs
+++ b/openamp/open-amp.defs
@@ -35,18 +35,15 @@ ifeq ($(wildcard open-amp/.git),)
$(Q) curl -L https://github.com/OpenAMP/open-amp/archive/v$(VERSION).zip -o open-amp.zip
$(Q) unzip -o open-amp.zip
$(Q) mv open-amp-$(VERSION) open-amp
- $(Q) patch -p0 < 0001-openamp-add-ns_unbind_notify-support.patch
- $(Q) patch -p0 < 0002-ns-acknowledge-the-received-creation-message.patch
- $(Q) patch -p0 < 0003-Negotiate-individual-buffer-size-dynamically.patch
- $(Q) patch -p0 < 0004-rpmsg-wait-endpoint-ready-in-rpmsg_send-and-rpmsg_se.patch
- $(Q) patch -p0 < 0005-openamp-add-new-ops-notify_wait-support.patch
- $(Q) patch -p0 < 0006-openamp-divide-shram-to-TX-shram-RX-shram-by-config-.patch
- $(Q) patch -p0 < 0007-openamp-don-t-need-check-status-when-get_tx_payload.patch
- $(Q) patch -p0 < 0008-openamp-add-available_idx-to-dump.patch
- $(Q) patch -p0 < 0009-openamp-firstly-take-all-buffer-from-shram-pool.patch
- $(Q) patch -p0 < 0010-rpmsg-notify-the-user-when-the-remote-address-is-rec.patch
- $(Q) patch -p0 < 0011-openamp-avoid-double-calling-ns_bound-when-each-othe.patch
- $(Q) patch -p0 < 0012-remoteproc-make-all-elf_-functions-static-except-elf.patch
+ $(Q) patch -p0 < 0001-ns-acknowledge-the-received-creation-message.patch
+ $(Q) patch -p0 < 0002-Negotiate-individual-buffer-size-dynamically.patch
+ $(Q) patch -p0 < 0003-rpmsg-wait-endpoint-ready-in-rpmsg_send-and-rpmsg_se.patch
+ $(Q) patch -p0 < 0004-openamp-add-new-ops-notify_wait-support.patch
+ $(Q) patch -p0 < 0005-rpmsg_virtio-don-t-need-check-status-when-get_tx_pay.patch
+ $(Q) patch -p0 < 0006-rpmsg-notify-the-user-when-the-remote-address-is-rec.patch
+ $(Q) patch -p0 < 0007-openamp-avoid-double-calling-ns_bound-when-each-othe.patch
+ $(Q) patch -p0 < 0008-remoteproc-make-all-elf_-functions-static-except-elf.patch
+ $(Q) patch -p0 < 0009-Fix-warn-declaration-of-vring_rsc-shadows-a-previous.patch
endif
.openamp_headers: open-amp.zip