Re: [PATCH 11/13] accel/habanalabs: handle reserved memory request when working with full FW

2024-02-23 Thread Carl Vanderlip

On 2/20/2024 8:01 AM, Oded Gabbay wrote:

From: Tomer Tayar 

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 
Reviewed-by: Oded Gabbay 
Signed-off-by: Oded Gabbay 


Reviewed-by: Carl Vanderlip 


[PATCH 11/13] accel/habanalabs: handle reserved memory request when working with full FW

2024-02-20 Thread Oded Gabbay
From: Tomer Tayar 

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 
Reviewed-by: Oded Gabbay 
Signed-off-by: Oded Gabbay 
---
 drivers/accel/habanalabs/common/firmware_if.c | 19 ---
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/drivers/accel/habanalabs/common/firmware_if.c 
b/drivers/accel/habanalabs/common/firmware_if.c
index a3df7cf162d8..4246162b6807 100644
--- a/drivers/accel/habanalabs/common/firmware_if.c
+++ b/drivers/accel/habanalabs/common/firmware_if.c
@@ -2743,18 +2743,20 @@ static int hl_fw_dynamic_init_cpu(struct hl_device 
*hdev,
hdev->reset_info.curr_reset_cause = HL_RESET_CAUSE_UNKNOWN;
}
 
+   rc = hl_fw_dynamic_request_descriptor(hdev, fw_loader, sizeof(struct 
lkd_msg_comms));
+   if (rc)
+   goto protocol_err;
+
+   if (hdev->asic_prop.support_dynamic_resereved_fw_size)
+   hdev->asic_prop.reserved_fw_mem_size =
+   
le32_to_cpu(fw_loader->dynamic_loader.comm_desc.rsvd_mem_size_mb);
+
if (!(hdev->fw_components & FW_TYPE_BOOT_CPU)) {
struct lkd_fw_binning_info *binning_info;
 
-   rc = hl_fw_dynamic_request_descriptor(hdev, fw_loader,
-   sizeof(struct 
lkd_msg_comms));
-   if (rc)
-   goto protocol_err;
-
/* read preboot version */
rc = hl_fw_dynamic_read_device_fw_version(hdev, FW_COMP_PREBOOT,
fw_loader->dynamic_loader.comm_desc.cur_fw_ver);
-
if (rc)
return rc;
 
@@ -2781,11 +2783,6 @@ static int hl_fw_dynamic_init_cpu(struct hl_device *hdev,
hdev->decoder_binning, hdev->rotator_binning);
}
 
-   if (hdev->asic_prop.support_dynamic_resereved_fw_size) {
-   hdev->asic_prop.reserved_fw_mem_size =
-   
le32_to_cpu(fw_loader->dynamic_loader.comm_desc.rsvd_mem_size_mb);
-   }
-
return 0;
}
 
-- 
2.34.1