This patchset adds audiopd support to fastrpc.
The v2 of this patchset is here:
https://lore.kernel.org/all/[email protected]/
Abel Vesa (10):
misc: fastrpc: Rename audio protection domain to root
misc: fastrpc: Add reserved mem support
dt-bindings: misc: fastrpc: Document memory-region property
misc: fastrpc: Add fastrpc_remote_heap_alloc
misc: fastrpc: Use fastrpc_map_put in fastrpc_map_create on fail
misc: fastrpc: Rework fastrpc_req_munmap
misc: fastrpc: Add support for audiopd
misc: fastrpc: Safekeep mmaps on interrupted invoke
misc: fastrpc: Add mmap request assigning for static PD pool
misc: fastrpc: Add dma_mask to fastrpc_channel_ctx
.../bindings/misc/qcom,fastrpc.yaml | 5 +
drivers/misc/fastrpc.c | 260 +++++++++++++++---
include/uapi/misc/fastrpc.h | 7 +
3 files changed, 240 insertions(+), 32 deletions(-)
--
2.34.1
The AUDIO_PD will be done via static pd, so the proper name here is
actually ROOT_PD.
Co-developed-by: Srinivas Kandagatla <[email protected]>
Signed-off-by: Srinivas Kandagatla <[email protected]>
Signed-off-by: Abel Vesa <[email protected]>
---
drivers/misc/fastrpc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
index 58654d394d17..8bcbc560d4a7 100644
--- a/drivers/misc/fastrpc.c
+++ b/drivers/misc/fastrpc.c
@@ -83,7 +83,7 @@
#define FASTRPC_RMID_INIT_MEM_UNMAP 11
/* Protection Domain(PD) ids */
-#define AUDIO_PD (0) /* also GUEST_OS PD? */
+#define ROOT_PD (0)
#define USER_PD (1)
#define SENSORS_PD (2)
@@ -1889,7 +1889,7 @@ static long fastrpc_device_ioctl(struct file *file, unsigned int cmd,
err = fastrpc_invoke(fl, argp);
break;
case FASTRPC_IOCTL_INIT_ATTACH:
- err = fastrpc_init_attach(fl, AUDIO_PD);
+ err = fastrpc_init_attach(fl, ROOT_PD);
break;
case FASTRPC_IOCTL_INIT_ATTACH_SNS:
err = fastrpc_init_attach(fl, SENSORS_PD);
--
2.34.1
If the userspace daemon is killed in the middle of an invoke (e.g.
audiopd listerner invoke), we need to skip the unmapping on device
release, otherwise the DSP will crash. So lets safekeep all the maps
only if there is in invoke interrupted, by attaching them to the channel
context (which is resident until RPMSG driver is removed), and free them
on RPMSG driver remove.
Signed-off-by: Abel Vesa <[email protected]>
---
drivers/misc/fastrpc.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
index 6b2a552dbdba..bc1e8f003d7a 100644
--- a/drivers/misc/fastrpc.c
+++ b/drivers/misc/fastrpc.c
@@ -275,6 +275,7 @@ struct fastrpc_channel_ctx {
struct fastrpc_device *secure_fdevice;
struct fastrpc_device *fdevice;
struct fastrpc_buf *remote_heap;
+ struct list_head invoke_interrupted_mmaps;
bool secure;
bool unsigned_support;
};
@@ -1119,6 +1120,8 @@ static int fastrpc_internal_invoke(struct fastrpc_user *fl, u32 kernel,
struct fastrpc_invoke_args *args)
{
struct fastrpc_invoke_ctx *ctx = NULL;
+ struct fastrpc_buf *buf, *b;
+
int err = 0;
if (!fl->sctx)
@@ -1182,6 +1185,13 @@ static int fastrpc_internal_invoke(struct fastrpc_user *fl, u32 kernel,
fastrpc_context_put(ctx);
}
+ if (err == -ERESTARTSYS) {
+ list_for_each_entry_safe(buf, b, &fl->mmaps, node) {
+ list_del(&buf->node);
+ list_add_tail(&buf->node, &fl->cctx->invoke_interrupted_mmaps);
+ }
+ }
+
if (err)
dev_dbg(fl->sctx->dev, "Error: Invoke Failed %d\n", err);
@@ -2277,6 +2287,7 @@ static int fastrpc_rpmsg_probe(struct rpmsg_device *rpdev)
dev_set_drvdata(&rpdev->dev, data);
dma_set_mask_and_coherent(rdev, DMA_BIT_MASK(32));
INIT_LIST_HEAD(&data->users);
+ INIT_LIST_HEAD(&data->invoke_interrupted_mmaps);
spin_lock_init(&data->lock);
idr_init(&data->ctx_idr);
data->domain_id = domain_id;
@@ -2301,6 +2312,7 @@ static void fastrpc_notify_users(struct fastrpc_user *user)
static void fastrpc_rpmsg_remove(struct rpmsg_device *rpdev)
{
struct fastrpc_channel_ctx *cctx = dev_get_drvdata(&rpdev->dev);
+ struct fastrpc_buf *buf, *b;
struct fastrpc_user *user;
unsigned long flags;
@@ -2315,6 +2327,9 @@ static void fastrpc_rpmsg_remove(struct rpmsg_device *rpdev)
if (cctx->secure_fdevice)
misc_deregister(&cctx->secure_fdevice->miscdev);
+ list_for_each_entry_safe(buf, b, &cctx->invoke_interrupted_mmaps, node)
+ list_del(&buf->node);
+
if (cctx->remote_heap)
fastrpc_buf_free(cctx->remote_heap);
--
2.34.1
If the mmap request is to add pages and thre are VMIDs associated with
that context, do a call to SCM to reassign that memory. Do not do this
for remote heap allocation, that is done on init create static process
only.
Co-developed-by: Srinivas Kandagatla <[email protected]>
Signed-off-by: Srinivas Kandagatla <[email protected]>
Signed-off-by: Abel Vesa <[email protected]>
---
drivers/misc/fastrpc.c | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
index bc1e8f003d7a..b9d9bfad93f6 100644
--- a/drivers/misc/fastrpc.c
+++ b/drivers/misc/fastrpc.c
@@ -1842,8 +1842,9 @@ static int fastrpc_req_mmap(struct fastrpc_user *fl, char __user *argp)
if (copy_from_user(&req, argp, sizeof(req)))
return -EFAULT;
- if (req.flags != ADSP_MMAP_ADD_PAGES) {
+ if (req.flags != ADSP_MMAP_ADD_PAGES && req.flags != ADSP_MMAP_REMOTE_HEAP_ADDR) {
dev_err(dev, "flag not supported 0x%x\n", req.flags);
+
return -EINVAL;
}
@@ -1889,6 +1890,22 @@ static int fastrpc_req_mmap(struct fastrpc_user *fl, char __user *argp)
/* let the client know the address to use */
req.vaddrout = rsp_msg.vaddr;
+ /* Add memory to static PD pool, protection thru hypervisor */
+ if (req.flags != ADSP_MMAP_REMOTE_HEAP_ADDR && fl->cctx->vmcount) {
+ struct qcom_scm_vmperm perm;
+ int err = 0;
+
+ perm.vmid = QCOM_SCM_VMID_HLOS;
+ perm.perm = QCOM_SCM_PERM_RWX;
+ err = qcom_scm_assign_mem(buf->phys, buf->size,
+ &(fl->cctx->vmperms[0].vmid), &perm, 1);
+ if (err) {
+ dev_err(fl->sctx->dev, "Failed to assign memory phys 0x%llx size 0x%llx err %d",
+ buf->phys, buf->size, err);
+ goto err_assign;
+ }
+ }
+
spin_lock(&fl->lock);
list_add_tail(&buf->node, &fl->mmaps);
spin_unlock(&fl->lock);
--
2.34.1
The reserved mem support is needed for CMA heap support, which will be
used by AUDIOPD.
Co-developed-by: Srinivas Kandagatla <[email protected]>
Signed-off-by: Srinivas Kandagatla <[email protected]>
Signed-off-by: Abel Vesa <[email protected]>
---
drivers/misc/fastrpc.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
index 8bcbc560d4a7..9afc3528dab4 100644
--- a/drivers/misc/fastrpc.c
+++ b/drivers/misc/fastrpc.c
@@ -19,6 +19,7 @@
#include <linux/slab.h>
#include <linux/qcom_scm.h>
#include <uapi/misc/fastrpc.h>
+#include <linux/of_reserved_mem.h>
#define ADSP_DOMAIN_ID (0)
#define MDSP_DOMAIN_ID (1)
@@ -2064,6 +2065,9 @@ static int fastrpc_rpmsg_probe(struct rpmsg_device *rpdev)
return -EINVAL;
}
+ if (of_reserved_mem_device_init_by_idx(rdev, rdev->of_node, 0))
+ dev_info(rdev, "no reserved DMA memory for FASTRPC\n");
+
vmcount = of_property_read_variable_u32_array(rdev->of_node,
"qcom,vmids", &vmids[0], 0, FASTRPC_MAX_VMIDS);
if (vmcount < 0)
--
2.34.1
Add memory-region property to the list of optional properties, specify
the value type and a definition. This property is used to specify the
memory region which should be used for remote heap CMA.
Signed-off-by: Abel Vesa <[email protected]>
---
Changes since v2:
* addressed Krzysztof's comment by specifying what's the use of the
memory region
Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml b/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml
index f25924d33fa9..62c8a553b120 100644
--- a/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml
+++ b/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml
@@ -27,6 +27,11 @@ properties:
- sdsp
- cdsp
+ memory-region:
+ maxItems: 1
+ description:
+ Phandle to a node describing memory to be used for remote heap CMA.
+
qcom,glink-channels:
description:
A list of channels tied to this function, used for matching
--
2.34.1
On 09/09/2022 15:39, Abel Vesa wrote:
> Add memory-region property to the list of optional properties, specify
> the value type and a definition. This property is used to specify the
> memory region which should be used for remote heap CMA.
>
> Signed-off-by: Abel Vesa <[email protected]>
Acked-by: Krzysztof Kozlowski <[email protected]>
Best regards,
Krzysztof
On Fri, 09 Sep 2022 16:39:31 +0300, Abel Vesa wrote:
> Add memory-region property to the list of optional properties, specify
> the value type and a definition. This property is used to specify the
> memory region which should be used for remote heap CMA.
>
> Signed-off-by: Abel Vesa <[email protected]>
> ---
>
> Changes since v2:
> * addressed Krzysztof's comment by specifying what's the use of the
> memory region
>
> Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml | 5 +++++
> 1 file changed, 5 insertions(+)
>
Applied, thanks!
On Fri, Sep 09, 2022 at 04:39:28PM +0300, Abel Vesa wrote:
> This patchset adds audiopd support to fastrpc.
>
> The v2 of this patchset is here:
> https://lore.kernel.org/all/[email protected]/
>
> Abel Vesa (10):
> misc: fastrpc: Rename audio protection domain to root
> misc: fastrpc: Add reserved mem support
> dt-bindings: misc: fastrpc: Document memory-region property
> misc: fastrpc: Add fastrpc_remote_heap_alloc
> misc: fastrpc: Use fastrpc_map_put in fastrpc_map_create on fail
> misc: fastrpc: Rework fastrpc_req_munmap
> misc: fastrpc: Add support for audiopd
> misc: fastrpc: Safekeep mmaps on interrupted invoke
> misc: fastrpc: Add mmap request assigning for static PD pool
> misc: fastrpc: Add dma_mask to fastrpc_channel_ctx
How do you expect this series to be merged? Please spell it out to the
maintainers. If you don't, Greg is just going to tell you the series
doesn't apply (because qcom,fastrpc.yaml only exists in my tree), drop
it, and move on to the next thing in his queue.
Anyways, I've applied the binding patch. Who knew fastrpc was going to
be so popular this cycle...
Rob
On 22-09-12 12:08:27, Rob Herring wrote:
> On Fri, Sep 09, 2022 at 04:39:28PM +0300, Abel Vesa wrote:
> > This patchset adds audiopd support to fastrpc.
> >
> > The v2 of this patchset is here:
> > https://lore.kernel.org/all/[email protected]/
> >
> > Abel Vesa (10):
> > misc: fastrpc: Rename audio protection domain to root
> > misc: fastrpc: Add reserved mem support
> > dt-bindings: misc: fastrpc: Document memory-region property
> > misc: fastrpc: Add fastrpc_remote_heap_alloc
> > misc: fastrpc: Use fastrpc_map_put in fastrpc_map_create on fail
> > misc: fastrpc: Rework fastrpc_req_munmap
> > misc: fastrpc: Add support for audiopd
> > misc: fastrpc: Safekeep mmaps on interrupted invoke
> > misc: fastrpc: Add mmap request assigning for static PD pool
> > misc: fastrpc: Add dma_mask to fastrpc_channel_ctx
>
> How do you expect this series to be merged? Please spell it out to the
> maintainers. If you don't, Greg is just going to tell you the series
> doesn't apply (because qcom,fastrpc.yaml only exists in my tree), drop
> it, and move on to the next thing in his queue.
Yeah, you are right. I should've mentioned that dt-bindings patch goes through
your tree while all the others go through Greg's tree. Sorry about that.
Greg, if you want I can resend this patchset without the dt-bindings, now
that it was applied by Rob to his tree.
>
> Anyways, I've applied the binding patch. Who knew fastrpc was going to
> be so popular this cycle...
Thanks for applying the binding patch.
>
> Rob
On 09/09/2022 14:39, Abel Vesa wrote:
> This patchset adds audiopd support to fastrpc.
>
> The v2 of this patchset is here:
> https://lore.kernel.org/all/[email protected]/
>
> Abel Vesa (10):
> misc: fastrpc: Rename audio protection domain to root
> misc: fastrpc: Add reserved mem support
> dt-bindings: misc: fastrpc: Document memory-region property
> misc: fastrpc: Add fastrpc_remote_heap_alloc
> misc: fastrpc: Use fastrpc_map_put in fastrpc_map_create on fail
> misc: fastrpc: Rework fastrpc_req_munmap
> misc: fastrpc: Add support for audiopd
> misc: fastrpc: Safekeep mmaps on interrupted invoke
> misc: fastrpc: Add mmap request assigning for static PD pool
> misc: fastrpc: Add dma_mask to fastrpc_channel_ctx
>
thanks Abel for picking this up...
Tested this series on SM8450 with ECNS.
Tested-by: Srinivas Kandagatla <[email protected]>
--srini
> .../bindings/misc/qcom,fastrpc.yaml | 5 +
> drivers/misc/fastrpc.c | 260 +++++++++++++++---
> include/uapi/misc/fastrpc.h | 7 +
> 3 files changed, 240 insertions(+), 32 deletions(-)
>
On 09/09/2022 14:39, Abel Vesa wrote:
> If the userspace daemon is killed in the middle of an invoke (e.g.
> audiopd listerner invoke), we need to skip the unmapping on device
> release, otherwise the DSP will crash. So lets safekeep all the maps
> only if there is in invoke interrupted, by attaching them to the channel
> context (which is resident until RPMSG driver is removed), and free them
> on RPMSG driver remove.
>
> Signed-off-by: Abel Vesa <[email protected]>
> ---
> drivers/misc/fastrpc.c | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
> index 6b2a552dbdba..bc1e8f003d7a 100644
> --- a/drivers/misc/fastrpc.c
> +++ b/drivers/misc/fastrpc.c
> @@ -275,6 +275,7 @@ struct fastrpc_channel_ctx {
> struct fastrpc_device *secure_fdevice;
> struct fastrpc_device *fdevice;
> struct fastrpc_buf *remote_heap;
> + struct list_head invoke_interrupted_mmaps;
> bool secure;
> bool unsigned_support;
> };
> @@ -1119,6 +1120,8 @@ static int fastrpc_internal_invoke(struct fastrpc_user *fl, u32 kernel,
> struct fastrpc_invoke_args *args)
> {
> struct fastrpc_invoke_ctx *ctx = NULL;
> + struct fastrpc_buf *buf, *b;
> +
> int err = 0;
>
> if (!fl->sctx)
> @@ -1182,6 +1185,13 @@ static int fastrpc_internal_invoke(struct fastrpc_user *fl, u32 kernel,
> fastrpc_context_put(ctx);
> }
>
> + if (err == -ERESTARTSYS) {
> + list_for_each_entry_safe(buf, b, &fl->mmaps, node) {
> + list_del(&buf->node);
> + list_add_tail(&buf->node, &fl->cctx->invoke_interrupted_mmaps);
> + }
> + }
> +
> if (err)
> dev_dbg(fl->sctx->dev, "Error: Invoke Failed %d\n", err);
>
> @@ -2277,6 +2287,7 @@ static int fastrpc_rpmsg_probe(struct rpmsg_device *rpdev)
> dev_set_drvdata(&rpdev->dev, data);
> dma_set_mask_and_coherent(rdev, DMA_BIT_MASK(32));
> INIT_LIST_HEAD(&data->users);
> + INIT_LIST_HEAD(&data->invoke_interrupted_mmaps);
> spin_lock_init(&data->lock);
> idr_init(&data->ctx_idr);
> data->domain_id = domain_id;
> @@ -2301,6 +2312,7 @@ static void fastrpc_notify_users(struct fastrpc_user *user)
> static void fastrpc_rpmsg_remove(struct rpmsg_device *rpdev)
> {
> struct fastrpc_channel_ctx *cctx = dev_get_drvdata(&rpdev->dev);
> + struct fastrpc_buf *buf, *b;
> struct fastrpc_user *user;
> unsigned long flags;
>
> @@ -2315,6 +2327,9 @@ static void fastrpc_rpmsg_remove(struct rpmsg_device *rpdev)
> if (cctx->secure_fdevice)
> misc_deregister(&cctx->secure_fdevice->miscdev);
>
> + list_for_each_entry_safe(buf, b, &cctx->invoke_interrupted_mmaps, node)
> + list_del(&buf->node);
> +
When would you free these?
looks like we are leaking even after dsp is down..
Should we not do fastrpc_buf_free() here?
--srini
> if (cctx->remote_heap)
> fastrpc_buf_free(cctx->remote_heap);
>
On 22-09-16 13:58:35, Srinivas Kandagatla wrote:
>
>
> On 09/09/2022 14:39, Abel Vesa wrote:
> > If the userspace daemon is killed in the middle of an invoke (e.g.
> > audiopd listerner invoke), we need to skip the unmapping on device
> > release, otherwise the DSP will crash. So lets safekeep all the maps
> > only if there is in invoke interrupted, by attaching them to the channel
> > context (which is resident until RPMSG driver is removed), and free them
> > on RPMSG driver remove.
> >
> > Signed-off-by: Abel Vesa <[email protected]>
> > ---
> > drivers/misc/fastrpc.c | 15 +++++++++++++++
> > 1 file changed, 15 insertions(+)
> >
> > diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
> > index 6b2a552dbdba..bc1e8f003d7a 100644
> > --- a/drivers/misc/fastrpc.c
> > +++ b/drivers/misc/fastrpc.c
> > @@ -275,6 +275,7 @@ struct fastrpc_channel_ctx {
> > struct fastrpc_device *secure_fdevice;
> > struct fastrpc_device *fdevice;
> > struct fastrpc_buf *remote_heap;
> > + struct list_head invoke_interrupted_mmaps;
> > bool secure;
> > bool unsigned_support;
> > };
> > @@ -1119,6 +1120,8 @@ static int fastrpc_internal_invoke(struct fastrpc_user *fl, u32 kernel,
> > struct fastrpc_invoke_args *args)
> > {
> > struct fastrpc_invoke_ctx *ctx = NULL;
> > + struct fastrpc_buf *buf, *b;
> > +
> > int err = 0;
> > if (!fl->sctx)
> > @@ -1182,6 +1185,13 @@ static int fastrpc_internal_invoke(struct fastrpc_user *fl, u32 kernel,
> > fastrpc_context_put(ctx);
> > }
> > + if (err == -ERESTARTSYS) {
> > + list_for_each_entry_safe(buf, b, &fl->mmaps, node) {
> > + list_del(&buf->node);
> > + list_add_tail(&buf->node, &fl->cctx->invoke_interrupted_mmaps);
> > + }
> > + }
> > +
> > if (err)
> > dev_dbg(fl->sctx->dev, "Error: Invoke Failed %d\n", err);
> > @@ -2277,6 +2287,7 @@ static int fastrpc_rpmsg_probe(struct rpmsg_device *rpdev)
> > dev_set_drvdata(&rpdev->dev, data);
> > dma_set_mask_and_coherent(rdev, DMA_BIT_MASK(32));
> > INIT_LIST_HEAD(&data->users);
> > + INIT_LIST_HEAD(&data->invoke_interrupted_mmaps);
> > spin_lock_init(&data->lock);
> > idr_init(&data->ctx_idr);
> > data->domain_id = domain_id;
> > @@ -2301,6 +2312,7 @@ static void fastrpc_notify_users(struct fastrpc_user *user)
> > static void fastrpc_rpmsg_remove(struct rpmsg_device *rpdev)
> > {
> > struct fastrpc_channel_ctx *cctx = dev_get_drvdata(&rpdev->dev);
> > + struct fastrpc_buf *buf, *b;
> > struct fastrpc_user *user;
> > unsigned long flags;
> > @@ -2315,6 +2327,9 @@ static void fastrpc_rpmsg_remove(struct rpmsg_device *rpdev)
> > if (cctx->secure_fdevice)
> > misc_deregister(&cctx->secure_fdevice->miscdev);
> > + list_for_each_entry_safe(buf, b, &cctx->invoke_interrupted_mmaps, node)
> > + list_del(&buf->node);
> > +
> When would you free these?
> looks like we are leaking even after dsp is down..
> Should we not do fastrpc_buf_free() here?
Yes, we should. I forgot to add it.
Will send a new version.
Thanks.
>
>
>
> --srini
>
> > if (cctx->remote_heap)
> > fastrpc_buf_free(cctx->remote_heap);
Hi Greg,
On 09/09/2022 14:39, Abel Vesa wrote:
> This patchset adds audiopd support to fastrpc.
>
> The v2 of this patchset is here:
> https://lore.kernel.org/all/[email protected]/
>
> Abel Vesa (10):
> misc: fastrpc: Rename audio protection domain to root
> misc: fastrpc: Add reserved mem support
> dt-bindings: misc: fastrpc: Document memory-region property
> misc: fastrpc: Add fastrpc_remote_heap_alloc
> misc: fastrpc: Use fastrpc_map_put in fastrpc_map_create on fail
> misc: fastrpc: Rework fastrpc_req_munmap
> misc: fastrpc: Add support for audiopd
> misc: fastrpc: Safekeep mmaps on interrupted invoke
> misc: fastrpc: Add mmap request assigning for static PD pool
> misc: fastrpc: Add dma_mask to fastrpc_channel_ctx
>
Do you think you could pick these fastrpc patches as it is or should I
collect these patches with other fastrpc patches on the list and send them?
As there are few more of fastrpc patches that could go in 6.2.
thanks,
Srini
> .../bindings/misc/qcom,fastrpc.yaml | 5 +
> drivers/misc/fastrpc.c | 260 +++++++++++++++---
> include/uapi/misc/fastrpc.h | 7 +
> 3 files changed, 240 insertions(+), 32 deletions(-)
>
On Thu, Nov 24, 2022 at 11:07:55AM +0000, Srinivas Kandagatla wrote:
> Hi Greg,
>
> On 09/09/2022 14:39, Abel Vesa wrote:
> > This patchset adds audiopd support to fastrpc.
> >
> > The v2 of this patchset is here:
> > https://lore.kernel.org/all/[email protected]/
> >
> > Abel Vesa (10):
> > misc: fastrpc: Rename audio protection domain to root
> > misc: fastrpc: Add reserved mem support
> > dt-bindings: misc: fastrpc: Document memory-region property
> > misc: fastrpc: Add fastrpc_remote_heap_alloc
> > misc: fastrpc: Use fastrpc_map_put in fastrpc_map_create on fail
> > misc: fastrpc: Rework fastrpc_req_munmap
> > misc: fastrpc: Add support for audiopd
> > misc: fastrpc: Safekeep mmaps on interrupted invoke
> > misc: fastrpc: Add mmap request assigning for static PD pool
> > misc: fastrpc: Add dma_mask to fastrpc_channel_ctx
> >
>
> Do you think you could pick these fastrpc patches as it is or should I
> collect these patches with other fastrpc patches on the list and send them?
>
> As there are few more of fastrpc patches that could go in 6.2.
Pleasae collect them all up and send them on to me.
thanks,
greg k-h