accel/habanalabs: check fw version using sw version
authorDafna Hirschfeld <dhirschfeld@habana.ai>
Tue, 18 Apr 2023 08:39:44 +0000 (11:39 +0300)
committerOded Gabbay <ogabbay@kernel.org>
Mon, 5 Jun 2023 12:31:33 +0000 (15:31 +0300)
The fw inner version is less trustable, instead use the fw general
sw release version.

Signed-off-by: Dafna Hirschfeld <dhirschfeld@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
drivers/accel/habanalabs/common/habanalabs.h
drivers/accel/habanalabs/gaudi2/gaudi2.c

index d6f454b..0262065 100644 (file)
@@ -3553,9 +3553,15 @@ struct hl_ioctl_desc {
        hl_ioctl_t *func;
 };
 
-static inline bool hl_is_fw_ver_below_1_9(struct hl_device *hdev)
+static inline bool hl_is_fw_sw_ver_below(struct hl_device *hdev, u32 fw_sw_major, u32 fw_sw_minor)
 {
-       return (hdev->fw_inner_major_ver < 42);
+       if (hdev->fw_sw_major_ver < fw_sw_major)
+               return true;
+       if (hdev->fw_sw_major_ver > fw_sw_major)
+               return false;
+       if (hdev->fw_sw_minor_ver < fw_sw_minor)
+               return true;
+       return false;
 }
 
 /*
index acc304e..6e3aa89 100644 (file)
@@ -8043,7 +8043,7 @@ static void gaudi2_ack_module_razwi_event_handler(struct hl_device *hdev,
        case RAZWI_TPC:
                hbw_rtr_id = gaudi2_tpc_initiator_hbw_rtr_id[module_idx];
 
-               if (hl_is_fw_ver_below_1_9(hdev) &&
+               if (hl_is_fw_sw_ver_below(hdev, 1, 9) &&
                                !hdev->asic_prop.fw_security_enabled &&
                                ((module_idx == 0) || (module_idx == 1)))
                        lbw_rtr_id = DCORE0_RTR0;