Commit db45bbdd authored by Tomer Tayar's avatar Tomer Tayar Committed by Oded Gabbay
Browse files

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: default avatarTomer Tayar <ttayar@habana.ai>
Reviewed-by: default avatarOded Gabbay <ogabbay@kernel.org>
Reviewed-by: default avatarCarl Vanderlip <quic_carlv@quicinc.com>
Signed-off-by: default avatarOded Gabbay <ogabbay@kernel.org>
parent 5b6658eb
Loading
Loading
Loading
Loading
+8 −11
Original line number Diff line number Diff line
@@ -2718,18 +2718,20 @@ static int hl_fw_dynamic_init_cpu(struct hl_device *hdev,
		hdev->reset_info.curr_reset_cause = HL_RESET_CAUSE_UNKNOWN;
	}

	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));
	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;

		/* 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;

@@ -2756,11 +2758,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;
	}