Skip to content

Commit d76dd3a

Browse files
jannaumarcan
authored andcommitted
kboot: Add param for no-map proterty in dt_get_or_add_reserved_mem()
Signed-off-by: Janne Grunau <[email protected]>
1 parent 2ef60e6 commit d76dd3a

1 file changed

Lines changed: 13 additions & 10 deletions

File tree

src/kboot.c

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1256,8 +1256,8 @@ static int dt_device_set_reserved_mem_from_dart(int node, dart_dev_t *dart, cons
12561256
return dt_device_set_reserved_mem(node, name, phandle, iova, size);
12571257
}
12581258

1259-
static int dt_get_or_add_reserved_mem(const char *node_name, const char *compat, u64 paddr,
1260-
size_t size)
1259+
static int dt_get_or_add_reserved_mem(const char *node_name, const char *compat, bool nomap,
1260+
u64 paddr, size_t size)
12611261
{
12621262
int ret;
12631263
int resv_node = fdt_path_offset(dt, "/reserved-memory");
@@ -1289,9 +1289,11 @@ static int dt_get_or_add_reserved_mem(const char *node_name, const char *compat,
12891289
if (ret != 0)
12901290
bail("FDT: couldn't set '%s.compatible' property: %d\n", node_name, ret);
12911291

1292-
ret = fdt_setprop_empty(dt, node, "no-map");
1293-
if (ret != 0)
1294-
bail("FDT: couldn't set '%s.no-map' property: %d\n", node_name, ret);
1292+
if (nomap) {
1293+
ret = fdt_setprop_empty(dt, node, "no-map");
1294+
if (ret != 0)
1295+
bail("FDT: couldn't set '%s.no-map' property: %d\n", node_name, ret);
1296+
}
12951297

12961298
return node;
12971299
}
@@ -1427,7 +1429,7 @@ static int dt_add_reserved_regions(const char *dcp_alias, const char *disp_alias
14271429

14281430
snprintf(node_name, sizeof(node_name), "%s@%lx", name, region[i].paddr);
14291431
int mem_node =
1430-
dt_get_or_add_reserved_mem(node_name, compat, region[i].paddr, region[i].size);
1432+
dt_get_or_add_reserved_mem(node_name, compat, true, region[i].paddr, region[i].size);
14311433
if (mem_node < 0)
14321434
goto err;
14331435

@@ -1623,7 +1625,8 @@ static int dt_reserve_asc_firmware(const char *adt_path, const char *adt_path_al
16231625
seg_size = ALIGN_UP(seg_size, SZ_16K);
16241626
}
16251627

1626-
int mem_node = dt_get_or_add_reserved_mem(node_name, "apple,asc-mem", seg->phys, seg_size);
1628+
int mem_node =
1629+
dt_get_or_add_reserved_mem(node_name, "apple,asc-mem", true, seg->phys, seg_size);
16271630
if (mem_node < 0)
16281631
return ret;
16291632
uint32_t mem_phandle = fdt_get_phandle(dt, mem_node);
@@ -1872,8 +1875,8 @@ static int dt_set_sio_fwdata(const char *adt_path, const char *fdt_alias)
18721875
char node_name[64];
18731876
snprintf(node_name, sizeof(node_name), "sio-firmware-data@%lx", mapping->phys);
18741877

1875-
int mem_node =
1876-
dt_get_or_add_reserved_mem(node_name, "apple,asc-mem", mapping->phys, mapping->size);
1878+
int mem_node = dt_get_or_add_reserved_mem(node_name, "apple,asc-mem", true, mapping->phys,
1879+
mapping->size);
18771880
if (mem_node < 0)
18781881
return ret;
18791882
uint32_t mem_phandle = fdt_get_phandle(dt, mem_node);
@@ -1997,7 +2000,7 @@ static int dt_set_isp_fwdata(void)
19972000
bail("FDT: couldn't set '%s.phandle' property: %d\n", fdt_path, ret);
19982001
}
19992002

2000-
int mem_node = dt_get_or_add_reserved_mem("isp-heap", "apple,asc-mem", phys, size);
2003+
int mem_node = dt_get_or_add_reserved_mem("isp-heap", "apple,asc-mem", true, phys, size);
20012004
if (mem_node < 0)
20022005
return ret;
20032006

0 commit comments

Comments
 (0)