Skip to content

Commit db45bbd

Browse files
Tomer Tayarogabbay
authored andcommitted
accel/habanalabs: handle reserved memory request when working with full FW
Currently the reserved memory request from FW is handled when running with preboot only, but this request is relevant also when running with full FW. Modify to always handle this reservation request. Signed-off-by: Tomer Tayar <ttayar@habana.ai> Reviewed-by: Oded Gabbay <ogabbay@kernel.org> Reviewed-by: Carl Vanderlip <quic_carlv@quicinc.com> Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
1 parent 5b6658e commit db45bbd

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

drivers/accel/habanalabs/common/firmware_if.c

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2718,18 +2718,20 @@ static int hl_fw_dynamic_init_cpu(struct hl_device *hdev,
27182718
hdev->reset_info.curr_reset_cause = HL_RESET_CAUSE_UNKNOWN;
27192719
}
27202720

2721+
rc = hl_fw_dynamic_request_descriptor(hdev, fw_loader, sizeof(struct lkd_msg_comms));
2722+
if (rc)
2723+
goto protocol_err;
2724+
2725+
if (hdev->asic_prop.support_dynamic_resereved_fw_size)
2726+
hdev->asic_prop.reserved_fw_mem_size =
2727+
le32_to_cpu(fw_loader->dynamic_loader.comm_desc.rsvd_mem_size_mb);
2728+
27212729
if (!(hdev->fw_components & FW_TYPE_BOOT_CPU)) {
27222730
struct lkd_fw_binning_info *binning_info;
27232731

2724-
rc = hl_fw_dynamic_request_descriptor(hdev, fw_loader,
2725-
sizeof(struct lkd_msg_comms));
2726-
if (rc)
2727-
goto protocol_err;
2728-
27292732
/* read preboot version */
27302733
rc = hl_fw_dynamic_read_device_fw_version(hdev, FW_COMP_PREBOOT,
27312734
fw_loader->dynamic_loader.comm_desc.cur_fw_ver);
2732-
27332735
if (rc)
27342736
return rc;
27352737

@@ -2756,11 +2758,6 @@ static int hl_fw_dynamic_init_cpu(struct hl_device *hdev,
27562758
hdev->decoder_binning, hdev->rotator_binning);
27572759
}
27582760

2759-
if (hdev->asic_prop.support_dynamic_resereved_fw_size) {
2760-
hdev->asic_prop.reserved_fw_mem_size =
2761-
le32_to_cpu(fw_loader->dynamic_loader.comm_desc.rsvd_mem_size_mb);
2762-
}
2763-
27642761
return 0;
27652762
}
27662763

0 commit comments

Comments
 (0)