Skip to content

Commit c0dcedc

Browse files
bentheredonethatzeddii
authored andcommitted
openamp: xlnx: simplify xlnx_rpmsg_update_tree
Signed-off-by: Ben Levinsky <[email protected]>
1 parent 9115871 commit c0dcedc

File tree

1 file changed

+13
-46
lines changed

1 file changed

+13
-46
lines changed

lopper/assists/openamp_xlnx.py

Lines changed: 13 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -321,73 +321,40 @@ def xlnx_rpmsg_update_tree(tree, node, channel_id, openamp_channel_info, verbose
321321
print(" -> xlnx_rpmsg_update_tree", node, channel_id)
322322

323323
platform = openamp_channel_info["platform"]
324-
cpu_config = None
325324
host_ipi = None
326325
remote_ipi = None
327-
rpu_core = None
328326
carveouts_nodes = openamp_channel_info["carveouts_"+ channel_id]
329-
amba_node = None
330327
native = False
331328
rpmsg_carveouts = []
332-
core_node = None
333-
334-
if platform in [ SOC_TYPE.VERSAL, SOC_TYPE.ZYNQMP, SOC_TYPE.VERSAL_NET, SOC_TYPE.VERSAL2 ]:
335-
native = openamp_channel_info["rpmsg_native_"+ channel_id]
336-
cpu_config = openamp_channel_info["cpu_config"+channel_id]
337-
rpu_core = openamp_channel_info["rpu_core" + channel_id]
329+
cpu_config = openamp_channel_info["cpu_config"+channel_id]
330+
rpu_core = openamp_channel_info["rpu_core" + channel_id]
338331

339332
elfload_node = None
340-
if native:
341-
amba_node = openamp_channel_info["amba_node"]
342333

343-
# if Amba node exists, then this is for RPMsg native.
344-
# in this case find elfload node in case of native RPMsg as it may be contiguous
345-
# for AMBA Shm Node
346-
if native:
347-
for node in openamp_channel_info["elfload"+ channel_id]:
348-
if node.props("start") != []:
349-
elfload_node = node
350-
351-
ret = xlnx_rpmsg_construct_carveouts(tree, carveouts_nodes, rpmsg_carveouts, native, channel_id, openamp_channel_info,
352-
amba_node=amba_node, elfload_node=elfload_node, verbose=verbose)
353-
if ret == False:
334+
if not xlnx_rpmsg_construct_carveouts(tree, carveouts_nodes, rpmsg_carveouts, native, channel_id, openamp_channel_info,
335+
amba_node=None, elfload_node=elfload_node, verbose=verbose):
354336
return ret
355337

356-
if platform in [ SOC_TYPE.VERSAL, SOC_TYPE.ZYNQMP, SOC_TYPE.VERSAL_NET, SOC_TYPE.VERSAL2]:
357-
core_node = openamp_channel_info["core_node"+channel_id]
358-
else:
359-
core_node = tree["/remoteproc@0"]
360-
361-
mem_region_prop = core_node.props("memory-region")[0]
362-
363-
# add rpmsg carveouts to cluster core node if using rpmsg kernel driver
364-
365-
vdev0buf = [ index for index, rc in enumerate(rpmsg_carveouts) if "vdev0buffer" in rc.name ][0]
338+
core_node = openamp_channel_info["core_node"+channel_id]
366339

367340
# vdev0buf should be first after the ELF load prop already in memory-region
341+
vdev0buf = [ index for index, rc in enumerate(rpmsg_carveouts) if "vdev0buffer" in rc.name ][0]
368342
vdev0buf = rpmsg_carveouts.pop(vdev0buf)
369343
rpmsg_carveouts.insert(0, vdev0buf)
370344

371-
new_mem_region_prop_val = mem_region_prop.value
372-
if not native:
373-
for rc in rpmsg_carveouts:
374-
new_mem_region_prop_val.append(rc.phandle)
345+
new_mem_region_prop_val = core_node.propval("memory-region")
346+
[ new_mem_region_prop_val.append(rc.phandle) for rc in rpmsg_carveouts ]
375347

376348
# If DDRBOOT, ensure that it is after RPMSG carveouts
349+
# # save ddrboot node and add to end of list
377350
if openamp_channel_info["ddrboot"+channel_id]:
378-
ddrboot_node = None
379-
for index, phandle in enumerate(new_mem_region_prop_val):
380-
if "ddrboot" in tree.pnode(phandle).name:
381-
ddrboot_node = index
382-
break
383-
ddrboot_node = new_mem_region_prop_val.pop(ddrboot_node)
384-
new_mem_region_prop_val.append(ddrboot_node)
351+
ddrboot_node_index = [ index for index, phandle in enumerate(new_mem_region_prop_val) if "ddrboot" in tree.pnode(phandle).name ]
352+
new_mem_region_prop_val.append( new_mem_region_prop_val.pop(ddrboot_node_index[0]) )
385353

386354
# update property with new values
387-
mem_region_prop.value = new_mem_region_prop_val
355+
core_node["memory-region"].value = new_mem_region_prop_val
388356

389-
ret = xlnx_rpmsg_update_ipis(tree, channel_id, openamp_channel_info, verbose)
390-
if ret != True:
357+
if not xlnx_rpmsg_update_ipis(tree, channel_id, openamp_channel_info, verbose):
391358
return False
392359

393360
return True

0 commit comments

Comments
 (0)