Skip to content

Commit f9fd43f

Browse files
marcaneiln
authored andcommitted
kboot: Handle ISP/SIO reserved firmware differences
The iova field is different, handle it with a flag. Signed-off-by: Hector Martin <[email protected]> Signed-off-by: Eileen Yoon <[email protected]>
1 parent c28d07d commit f9fd43f

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

src/kboot.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1517,7 +1517,7 @@ static int dt_vram_reserved_region(const char *dcp_alias, const char *disp_alias
15171517
disp_reserved_regions_vram, &region, 1);
15181518
}
15191519

1520-
static int dt_reserve_asc_firmware(const char *adt_path, const char *fdt_path)
1520+
static int dt_reserve_asc_firmware(const char *adt_path, const char *fdt_path, bool remap)
15211521
{
15221522
int ret = 0;
15231523

@@ -1547,7 +1547,7 @@ static int dt_reserve_asc_firmware(const char *adt_path, const char *fdt_path)
15471547
unsigned int num_maps = segments_len / sizeof(*seg);
15481548

15491549
for (unsigned i = 0; i < num_maps; i++) {
1550-
u64 iova = seg->iova;
1550+
u64 iova = remap ? seg->remap : seg->iova;
15511551

15521552
char node_name[64];
15531553
snprintf(node_name, sizeof(node_name), "asc-firmware@%lx", seg->phys);
@@ -2158,13 +2158,13 @@ int kboot_prepare_dt(void *fdt)
21582158
return -1;
21592159
if (dt_disable_missing_devs("i2c", "i2c@", 8))
21602160
return -1;
2161-
if (dt_reserve_asc_firmware("/arm-io/sio", "sio"))
2161+
if (dt_reserve_asc_firmware("/arm-io/sio", "sio", true))
21622162
return -1;
21632163
if (dt_set_sio_fwdata())
21642164
return -1;
2165-
if (dt_set_isp_fwdata())
2165+
if (dt_reserve_asc_firmware("/arm-io/isp", "isp", false))
21662166
return -1;
2167-
if (dt_reserve_asc_firmware("/arm-io/isp", "isp"))
2167+
if (dt_set_isp_fwdata())
21682168
return -1;
21692169
#ifndef RELEASE
21702170
if (dt_transfer_virtios())

0 commit comments

Comments
 (0)