Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1570683

[PATCH v3 4/4] remoteproc: core: don't allocate carveout if pa or da are defined

From Loic Pallardy <loic.pallardy@st.com>
Newsgroups linux.kernel
Subject [PATCH v3 4/4] remoteproc: core: don't allocate carveout if pa or da are defined
Date 2017-01-31 13:40 +0100
Message-ID <t5FT4-Ha-19@gated-at.bofh.it> (permalink)
References <t5FT3-Ha-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Remoteproc doesn't check if firmware requests fixed
addresses for carveout regions.
Current assumption is that platform specific driver is in
charge of coprocessor specific memory region allocation and
remoteproc core doesn't have to handle them.
If a da or a pa is specified in firmware resource table, remoteproc
core doesn't have to perform any allocation.
Access to carveout will be done thanks to rproc_da_to_pa function,
which will provide virtual address on carveout region allocated
by platform specific driver.

Signed-off-by: Loic Pallardy <loic.pallardy@st.com>
---
No change since V1

 drivers/remoteproc/remoteproc_core.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c
index 90b05c7..dd63ceed 100644
--- a/drivers/remoteproc/remoteproc_core.c
+++ b/drivers/remoteproc/remoteproc_core.c
@@ -622,6 +622,11 @@ static int rproc_handle_carveout(struct rproc *rproc,
 	dev_dbg(dev, "carveout rsc: name: %s, da 0x%x, pa 0x%x, len 0x%x, flags 0x%x\n",
 		rsc->name, rsc->da, rsc->pa, rsc->len, rsc->flags);
 
+	if (rsc->pa != FW_RSC_ADDR_ANY || rsc->da != FW_RSC_ADDR_ANY) {
+		dev_dbg(dev, "carveout already allocated by low level driver\n");
+		return 0;
+	}
+
 	carveout = kzalloc(sizeof(*carveout), GFP_KERNEL);
 	if (!carveout)
 		return -ENOMEM;
-- 
1.9.1

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v3 0/4] remoteproc: st: add virtio_rpmsg support Loic Pallardy <loic.pallardy@st.com> - 2017-01-31 13:40 +0100
  [PATCH v3 3/4] remoteproc: st: add da to va support Loic Pallardy <loic.pallardy@st.com> - 2017-01-31 13:40 +0100
    Re: [v3,3/4] remoteproc: st: add da to va support Hugues FRUCHET <hugues.fruchet@st.com> - 2017-02-08 10:20 +0100
  [PATCH v3 1/4] remoteproc: st: correct probe error management Loic Pallardy <loic.pallardy@st.com> - 2017-01-31 13:40 +0100
    Re: [PATCH v3 1/4] remoteproc: st: correct probe error management Bjorn Andersson <bjorn.andersson@linaro.org> - 2017-02-07 06:20 +0100
      RE: [PATCH v3 1/4] remoteproc: st: correct probe error management Loic PALLARDY <loic.pallardy@st.com> - 2017-02-07 23:30 +0100
  [PATCH v3 2/4] remoteproc: st: add virtio communication support Loic Pallardy <loic.pallardy@st.com> - 2017-01-31 13:40 +0100
  [PATCH v3 4/4] remoteproc: core: don't allocate carveout if pa or da are defined Loic Pallardy <loic.pallardy@st.com> - 2017-01-31 13:40 +0100
    Re: [v3, 4/4] remoteproc: core: don't allocate carveout if pa or da  are defined Hugues FRUCHET <hugues.fruchet@st.com> - 2017-02-08 10:20 +0100
    Re: [PATCH v3 4/4] remoteproc: core: don't allocate carveout if pa  or da are defined Bjorn Andersson <bjorn.andersson@linaro.org> - 2017-02-09 03:30 +0100
      RE: [PATCH v3 4/4] remoteproc: core: don't allocate carveout if pa or  da are defined Loic PALLARDY <loic.pallardy@st.com> - 2017-02-09 22:40 +0100

csiph-web