In case the F/W fails to initialize the thermal sensors, print an
appropriate error message to kernel log and fail the device
initialization.

Signed-off-by: Oded Gabbay <oded.gab...@gmail.com>
---
 drivers/misc/habanalabs/goya/goya.c          | 5 +++++
 drivers/misc/habanalabs/include/hl_boot_if.h | 2 ++
 2 files changed, 7 insertions(+)

diff --git a/drivers/misc/habanalabs/goya/goya.c 
b/drivers/misc/habanalabs/goya/goya.c
index 6fba14b81f90..09caef7642fd 100644
--- a/drivers/misc/habanalabs/goya/goya.c
+++ b/drivers/misc/habanalabs/goya/goya.c
@@ -2328,6 +2328,11 @@ static int goya_init_cpu(struct hl_device *hdev, u32 
cpu_timeout)
                                "ARM status %d - u-boot stopped by user\n",
                                status);
                        break;
+               case CPU_BOOT_STATUS_TS_INIT_FAIL:
+                       dev_err(hdev->dev,
+                               "ARM status %d - Thermal Sensor initialization 
failed\n",
+                               status);
+                       break;
                default:
                        dev_err(hdev->dev,
                                "ARM status %d - Invalid status code\n",
diff --git a/drivers/misc/habanalabs/include/hl_boot_if.h 
b/drivers/misc/habanalabs/include/hl_boot_if.h
index 4cd04c090285..2853a2de8cf6 100644
--- a/drivers/misc/habanalabs/include/hl_boot_if.h
+++ b/drivers/misc/habanalabs/include/hl_boot_if.h
@@ -20,6 +20,8 @@ enum cpu_boot_status {
        CPU_BOOT_STATUS_DRAM_INIT_FAIL,
        CPU_BOOT_STATUS_FIT_CORRUPTED,
        CPU_BOOT_STATUS_UBOOT_NOT_READY,
+       CPU_BOOT_STATUS_RESERVED,
+       CPU_BOOT_STATUS_TS_INIT_FAIL,
 };
 
 enum kmd_msg {
-- 
2.17.1

Reply via email to