forked from luck/tmp_suning_uos_patched
remoteproc: configure IOMMU only if device address requested
If there is no IOMMU associate to remote processor device, remoteproc_core won't be able to satisfy device address requested in firmware resource table. Return an error as configuration won't be coherent. Signed-off-by: Loic Pallardy <loic.pallardy@st.com> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
This commit is contained in:
parent
bbcda30271
commit
3bc8140b15
|
@ -657,7 +657,15 @@ static int rproc_handle_carveout(struct rproc *rproc,
|
||||||
* to use the iommu-based DMA API: we expect 'dma' to contain the
|
* to use the iommu-based DMA API: we expect 'dma' to contain the
|
||||||
* physical address in this case.
|
* physical address in this case.
|
||||||
*/
|
*/
|
||||||
if (rproc->domain) {
|
|
||||||
|
if (rsc->da != FW_RSC_ADDR_ANY && !rproc->domain) {
|
||||||
|
dev_err(dev->parent,
|
||||||
|
"Bad carveout rsc configuration\n");
|
||||||
|
ret = -ENOMEM;
|
||||||
|
goto dma_free;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (rsc->da != FW_RSC_ADDR_ANY && rproc->domain) {
|
||||||
mapping = kzalloc(sizeof(*mapping), GFP_KERNEL);
|
mapping = kzalloc(sizeof(*mapping), GFP_KERNEL);
|
||||||
if (!mapping) {
|
if (!mapping) {
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user