]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop some habanalabs patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 18 Oct 2022 17:24:59 +0000 (19:24 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 18 Oct 2022 17:24:59 +0000 (19:24 +0200)
queue-5.15/habanalabs-remove-some-f-w-descriptor-validations.patch [deleted file]
queue-5.15/series
queue-5.19/habanalabs-ignore-eeprom-errors-during-boot.patch [deleted file]
queue-5.19/habanalabs-remove-some-f-w-descriptor-validations.patch [deleted file]
queue-5.19/series
queue-6.0/habanalabs-ignore-eeprom-errors-during-boot.patch [deleted file]
queue-6.0/habanalabs-remove-some-f-w-descriptor-validations.patch [deleted file]
queue-6.0/series

diff --git a/queue-5.15/habanalabs-remove-some-f-w-descriptor-validations.patch b/queue-5.15/habanalabs-remove-some-f-w-descriptor-validations.patch
deleted file mode 100644 (file)
index d2bdaf8..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-From 57e52a3c274d176e140b1245bbe055cfe2f6cff6 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 30 Aug 2022 13:01:03 +0300
-Subject: habanalabs: remove some f/w descriptor validations
-
-From: farah kassabri <fkassabri@habana.ai>
-
-[ Upstream commit 6b9b9e244fdd0d6c5ee21b7b9d74282d9e43733a ]
-
-To be forward-backward compatible with the firmware in the initial
-communication during preboot, we need to remove the validation of the
-header size. This will allow us to add more fields to the
-lkd_fw_comms_desc structure.
-
-Instead of the validation of the header size, we just print warning
-when some mismatch in descriptor has been revealed, and we calculate
-the CRC base on descriptor size reported by the firmware instead of
-calculating it ourselves.
-
-Signed-off-by: farah kassabri <fkassabri@habana.ai>
-Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
-Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/misc/habanalabs/common/firmware_if.c | 43 +++++++-------------
- 1 file changed, 14 insertions(+), 29 deletions(-)
-
-diff --git a/drivers/misc/habanalabs/common/firmware_if.c b/drivers/misc/habanalabs/common/firmware_if.c
-index a8e683964ab0..5d08c1f660fd 100644
---- a/drivers/misc/habanalabs/common/firmware_if.c
-+++ b/drivers/misc/habanalabs/common/firmware_if.c
-@@ -1638,50 +1638,36 @@ static int hl_fw_dynamic_validate_descriptor(struct hl_device *hdev,
-       u64 addr;
-       int rc;
--      if (le32_to_cpu(fw_desc->header.magic) != HL_COMMS_DESC_MAGIC) {
--              dev_err(hdev->dev, "Invalid magic for dynamic FW descriptor (%x)\n",
-+      if (le32_to_cpu(fw_desc->header.magic) != HL_COMMS_DESC_MAGIC)
-+              dev_warn(hdev->dev, "Invalid magic for dynamic FW descriptor (%x)\n",
-                               fw_desc->header.magic);
--              return -EIO;
--      }
--      if (fw_desc->header.version != HL_COMMS_DESC_VER) {
--              dev_err(hdev->dev, "Invalid version for dynamic FW descriptor (%x)\n",
-+      if (fw_desc->header.version != HL_COMMS_DESC_VER)
-+              dev_warn(hdev->dev, "Invalid version for dynamic FW descriptor (%x)\n",
-                               fw_desc->header.version);
--              return -EIO;
--      }
-       /*
--       * calc CRC32 of data without header.
-+       * Calc CRC32 of data without header. use the size of the descriptor
-+       * reported by firmware, without calculating it ourself, to allow adding
-+       * more fields to the lkd_fw_comms_desc structure.
-        * note that no alignment/stride address issues here as all structures
--       * are 64 bit padded
-+       * are 64 bit padded.
-        */
--      data_size = sizeof(struct lkd_fw_comms_desc) -
--                                      sizeof(struct comms_desc_header);
-       data_ptr = (u8 *)fw_desc + sizeof(struct comms_desc_header);
--
--      if (le16_to_cpu(fw_desc->header.size) != data_size) {
--              dev_err(hdev->dev,
--                      "Invalid descriptor size 0x%x, expected size 0x%zx\n",
--                              le16_to_cpu(fw_desc->header.size), data_size);
--              return -EIO;
--      }
-+      data_size = le16_to_cpu(fw_desc->header.size);
-       data_crc32 = hl_fw_compat_crc32(data_ptr, data_size);
--
-       if (data_crc32 != le32_to_cpu(fw_desc->header.crc32)) {
--              dev_err(hdev->dev,
--                      "CRC32 mismatch for dynamic FW descriptor (%x:%x)\n",
--                                      data_crc32, fw_desc->header.crc32);
-+              dev_err(hdev->dev, "CRC32 mismatch for dynamic FW descriptor (%x:%x)\n",
-+                      data_crc32, fw_desc->header.crc32);
-               return -EIO;
-       }
-       /* find memory region to which to copy the image */
-       addr = le64_to_cpu(fw_desc->img_addr);
-       region_id = hl_get_pci_memory_region(hdev, addr);
--      if ((region_id != PCI_REGION_SRAM) &&
--                      ((region_id != PCI_REGION_DRAM))) {
--              dev_err(hdev->dev,
--                      "Invalid region to copy FW image address=%llx\n", addr);
-+      if ((region_id != PCI_REGION_SRAM) && ((region_id != PCI_REGION_DRAM))) {
-+              dev_err(hdev->dev, "Invalid region to copy FW image address=%llx\n", addr);
-               return -EIO;
-       }
-@@ -1698,8 +1684,7 @@ static int hl_fw_dynamic_validate_descriptor(struct hl_device *hdev,
-                                       fw_loader->dynamic_loader.fw_image_size,
-                                       region);
-       if (rc) {
--              dev_err(hdev->dev,
--                      "invalid mem transfer request for FW image\n");
-+              dev_err(hdev->dev, "invalid mem transfer request for FW image\n");
-               return rc;
-       }
--- 
-2.35.1
-
index 4d81055731d4a2e96ed0317cd3afbaba5009a4ec..b1ea86726c7fe6e72271add107df8fd1538fc5c1 100644 (file)
@@ -566,7 +566,6 @@ bcache-fix-set_at_max_writeback_rate-for-multiple-at.patch
 soundwire-cadence-don-t-overwrite-msg-buf-during-wri.patch
 soundwire-intel-fix-error-handling-on-dai-registrati.patch
 hid-topre-add-driver-fixing-report-descriptor.patch
-habanalabs-remove-some-f-w-descriptor-validations.patch
 hid-roccat-fix-use-after-free-in-roccat_read.patch
 hsi-ssi_protocol-fix-potential-resource-leak-in-ssip.patch
 eventfd-guard-wake_up-in-eventfd-fs-calls-as-well.patch
diff --git a/queue-5.19/habanalabs-ignore-eeprom-errors-during-boot.patch b/queue-5.19/habanalabs-ignore-eeprom-errors-during-boot.patch
deleted file mode 100644 (file)
index fa4d655..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-From d03b18f15be259ab18212e2b9659cdfffd316de5 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 23 Aug 2022 16:23:56 +0300
-Subject: habanalabs: ignore EEPROM errors during boot
-
-From: Ofir Bitton <obitton@habana.ai>
-
-[ Upstream commit d155df4f628a5312a485235aa8cc5ba78e11ea65 ]
-
-EEPROM errors reported by firmware are basically warnings and
-should not fail the boot process.
-
-Signed-off-by: Ofir Bitton <obitton@habana.ai>
-Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
-Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/misc/habanalabs/common/firmware_if.c        | 9 +++++++++
- drivers/misc/habanalabs/include/common/hl_boot_if.h | 5 +++++
- 2 files changed, 14 insertions(+)
-
-diff --git a/drivers/misc/habanalabs/common/firmware_if.c b/drivers/misc/habanalabs/common/firmware_if.c
-index 828a36af5b14..bb1b2d6213a5 100644
---- a/drivers/misc/habanalabs/common/firmware_if.c
-+++ b/drivers/misc/habanalabs/common/firmware_if.c
-@@ -521,6 +521,15 @@ static bool fw_report_boot_dev0(struct hl_device *hdev, u32 err_val,
-               dev_dbg(hdev->dev, "Device status0 %#x\n", sts_val);
-       /* All warnings should go here in order not to reach the unknown error validation */
-+      if (err_val & CPU_BOOT_ERR0_EEPROM_FAIL) {
-+              dev_warn(hdev->dev,
-+                      "Device boot warning - EEPROM failure detected, default settings applied\n");
-+              /* This is a warning so we don't want it to disable the
-+               * device
-+               */
-+              err_val &= ~CPU_BOOT_ERR0_EEPROM_FAIL;
-+      }
-+
-       if (err_val & CPU_BOOT_ERR0_DRAM_SKIPPED) {
-               dev_warn(hdev->dev,
-                       "Device boot warning - Skipped DRAM initialization\n");
-diff --git a/drivers/misc/habanalabs/include/common/hl_boot_if.h b/drivers/misc/habanalabs/include/common/hl_boot_if.h
-index 15f91ae9de6e..d4858e636fa9 100644
---- a/drivers/misc/habanalabs/include/common/hl_boot_if.h
-+++ b/drivers/misc/habanalabs/include/common/hl_boot_if.h
-@@ -34,6 +34,7 @@ enum cpu_boot_err {
-       CPU_BOOT_ERR_BINNING_FAIL = 19,
-       CPU_BOOT_ERR_TPM_FAIL = 20,
-       CPU_BOOT_ERR_TMP_THRESH_INIT_FAIL = 21,
-+      CPU_BOOT_ERR_EEPROM_FAIL = 22,
-       CPU_BOOT_ERR_ENABLED = 31,
-       CPU_BOOT_ERR_SCND_EN = 63,
-       CPU_BOOT_ERR_LAST = 64 /* we have 2 registers of 32 bits */
-@@ -115,6 +116,9 @@ enum cpu_boot_err {
-  * CPU_BOOT_ERR0_TMP_THRESH_INIT_FAIL Failed to set threshold for tmperature
-  *                                    sensor.
-  *
-+ * CPU_BOOT_ERR_EEPROM_FAIL           Failed reading EEPROM data. Defaults
-+ *                                    are used.
-+ *
-  * CPU_BOOT_ERR0_ENABLED              Error registers enabled.
-  *                                    This is a main indication that the
-  *                                    running FW populates the error
-@@ -139,6 +143,7 @@ enum cpu_boot_err {
- #define CPU_BOOT_ERR0_BINNING_FAIL            (1 << CPU_BOOT_ERR_BINNING_FAIL)
- #define CPU_BOOT_ERR0_TPM_FAIL                        (1 << CPU_BOOT_ERR_TPM_FAIL)
- #define CPU_BOOT_ERR0_TMP_THRESH_INIT_FAIL    (1 << CPU_BOOT_ERR_TMP_THRESH_INIT_FAIL)
-+#define CPU_BOOT_ERR0_EEPROM_FAIL             (1 << CPU_BOOT_ERR_EEPROM_FAIL)
- #define CPU_BOOT_ERR0_ENABLED                 (1 << CPU_BOOT_ERR_ENABLED)
- #define CPU_BOOT_ERR1_ENABLED                 (1 << CPU_BOOT_ERR_ENABLED)
--- 
-2.35.1
-
diff --git a/queue-5.19/habanalabs-remove-some-f-w-descriptor-validations.patch b/queue-5.19/habanalabs-remove-some-f-w-descriptor-validations.patch
deleted file mode 100644 (file)
index a1885a3..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-From eaffb37f1c6afab5fbab2aae632df719a3ea83ac Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 30 Aug 2022 13:01:03 +0300
-Subject: habanalabs: remove some f/w descriptor validations
-
-From: farah kassabri <fkassabri@habana.ai>
-
-[ Upstream commit 6b9b9e244fdd0d6c5ee21b7b9d74282d9e43733a ]
-
-To be forward-backward compatible with the firmware in the initial
-communication during preboot, we need to remove the validation of the
-header size. This will allow us to add more fields to the
-lkd_fw_comms_desc structure.
-
-Instead of the validation of the header size, we just print warning
-when some mismatch in descriptor has been revealed, and we calculate
-the CRC base on descriptor size reported by the firmware instead of
-calculating it ourselves.
-
-Signed-off-by: farah kassabri <fkassabri@habana.ai>
-Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
-Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/misc/habanalabs/common/firmware_if.c | 43 +++++++-------------
- 1 file changed, 14 insertions(+), 29 deletions(-)
-
-diff --git a/drivers/misc/habanalabs/common/firmware_if.c b/drivers/misc/habanalabs/common/firmware_if.c
-index bb1b2d6213a5..1758b7187fb4 100644
---- a/drivers/misc/habanalabs/common/firmware_if.c
-+++ b/drivers/misc/habanalabs/common/firmware_if.c
-@@ -1799,50 +1799,36 @@ static int hl_fw_dynamic_validate_descriptor(struct hl_device *hdev,
-       u64 addr;
-       int rc;
--      if (le32_to_cpu(fw_desc->header.magic) != HL_COMMS_DESC_MAGIC) {
--              dev_err(hdev->dev, "Invalid magic for dynamic FW descriptor (%x)\n",
-+      if (le32_to_cpu(fw_desc->header.magic) != HL_COMMS_DESC_MAGIC)
-+              dev_warn(hdev->dev, "Invalid magic for dynamic FW descriptor (%x)\n",
-                               fw_desc->header.magic);
--              return -EIO;
--      }
--      if (fw_desc->header.version != HL_COMMS_DESC_VER) {
--              dev_err(hdev->dev, "Invalid version for dynamic FW descriptor (%x)\n",
-+      if (fw_desc->header.version != HL_COMMS_DESC_VER)
-+              dev_warn(hdev->dev, "Invalid version for dynamic FW descriptor (%x)\n",
-                               fw_desc->header.version);
--              return -EIO;
--      }
-       /*
--       * calc CRC32 of data without header.
-+       * Calc CRC32 of data without header. use the size of the descriptor
-+       * reported by firmware, without calculating it ourself, to allow adding
-+       * more fields to the lkd_fw_comms_desc structure.
-        * note that no alignment/stride address issues here as all structures
--       * are 64 bit padded
-+       * are 64 bit padded.
-        */
--      data_size = sizeof(struct lkd_fw_comms_desc) -
--                                      sizeof(struct comms_desc_header);
-       data_ptr = (u8 *)fw_desc + sizeof(struct comms_desc_header);
--
--      if (le16_to_cpu(fw_desc->header.size) != data_size) {
--              dev_err(hdev->dev,
--                      "Invalid descriptor size 0x%x, expected size 0x%zx\n",
--                              le16_to_cpu(fw_desc->header.size), data_size);
--              return -EIO;
--      }
-+      data_size = le16_to_cpu(fw_desc->header.size);
-       data_crc32 = hl_fw_compat_crc32(data_ptr, data_size);
--
-       if (data_crc32 != le32_to_cpu(fw_desc->header.crc32)) {
--              dev_err(hdev->dev,
--                      "CRC32 mismatch for dynamic FW descriptor (%x:%x)\n",
--                                      data_crc32, fw_desc->header.crc32);
-+              dev_err(hdev->dev, "CRC32 mismatch for dynamic FW descriptor (%x:%x)\n",
-+                      data_crc32, fw_desc->header.crc32);
-               return -EIO;
-       }
-       /* find memory region to which to copy the image */
-       addr = le64_to_cpu(fw_desc->img_addr);
-       region_id = hl_get_pci_memory_region(hdev, addr);
--      if ((region_id != PCI_REGION_SRAM) &&
--                      ((region_id != PCI_REGION_DRAM))) {
--              dev_err(hdev->dev,
--                      "Invalid region to copy FW image address=%llx\n", addr);
-+      if ((region_id != PCI_REGION_SRAM) && ((region_id != PCI_REGION_DRAM))) {
-+              dev_err(hdev->dev, "Invalid region to copy FW image address=%llx\n", addr);
-               return -EIO;
-       }
-@@ -1859,8 +1845,7 @@ static int hl_fw_dynamic_validate_descriptor(struct hl_device *hdev,
-                                       fw_loader->dynamic_loader.fw_image_size,
-                                       region);
-       if (rc) {
--              dev_err(hdev->dev,
--                      "invalid mem transfer request for FW image\n");
-+              dev_err(hdev->dev, "invalid mem transfer request for FW image\n");
-               return rc;
-       }
--- 
-2.35.1
-
index d41cf20455a93025bd75133dc099e52bc1aa12e8..8e5233f1d7b9ac993091b189b357deb3595ddc8d 100644 (file)
@@ -760,12 +760,10 @@ power-supply-adp5061-fix-out-of-bounds-read-in-adp50.patch
 staging-vt6655-fix-potential-memory-leak.patch
 blk-throttle-prevent-overflow-while-calculating-wait.patch
 ata-libahci_platform-sanity-check-the-dt-child-nodes.patch
-habanalabs-ignore-eeprom-errors-during-boot.patch
 bcache-fix-set_at_max_writeback_rate-for-multiple-at.patch
 soundwire-cadence-don-t-overwrite-msg-buf-during-wri.patch
 soundwire-intel-fix-error-handling-on-dai-registrati.patch
 hid-topre-add-driver-fixing-report-descriptor.patch
-habanalabs-remove-some-f-w-descriptor-validations.patch
 hid-roccat-fix-use-after-free-in-roccat_read.patch
 hsi-ssi_protocol-fix-potential-resource-leak-in-ssip.patch
 hid-nintendo-check-analog-user-calibration-for-plaus.patch
diff --git a/queue-6.0/habanalabs-ignore-eeprom-errors-during-boot.patch b/queue-6.0/habanalabs-ignore-eeprom-errors-during-boot.patch
deleted file mode 100644 (file)
index b41cb2f..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-From e067f3eae04f2cd15f85ad1aa5ec1126ed273d06 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 23 Aug 2022 16:23:56 +0300
-Subject: habanalabs: ignore EEPROM errors during boot
-
-From: Ofir Bitton <obitton@habana.ai>
-
-[ Upstream commit d155df4f628a5312a485235aa8cc5ba78e11ea65 ]
-
-EEPROM errors reported by firmware are basically warnings and
-should not fail the boot process.
-
-Signed-off-by: Ofir Bitton <obitton@habana.ai>
-Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
-Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/misc/habanalabs/common/firmware_if.c        | 9 +++++++++
- drivers/misc/habanalabs/include/common/hl_boot_if.h | 5 +++++
- 2 files changed, 14 insertions(+)
-
-diff --git a/drivers/misc/habanalabs/common/firmware_if.c b/drivers/misc/habanalabs/common/firmware_if.c
-index 608ca67527a5..4a3350ee87d3 100644
---- a/drivers/misc/habanalabs/common/firmware_if.c
-+++ b/drivers/misc/habanalabs/common/firmware_if.c
-@@ -581,6 +581,15 @@ static bool fw_report_boot_dev0(struct hl_device *hdev, u32 err_val,
-               dev_dbg(hdev->dev, "Device status0 %#x\n", sts_val);
-       /* All warnings should go here in order not to reach the unknown error validation */
-+      if (err_val & CPU_BOOT_ERR0_EEPROM_FAIL) {
-+              dev_warn(hdev->dev,
-+                      "Device boot warning - EEPROM failure detected, default settings applied\n");
-+              /* This is a warning so we don't want it to disable the
-+               * device
-+               */
-+              err_val &= ~CPU_BOOT_ERR0_EEPROM_FAIL;
-+      }
-+
-       if (err_val & CPU_BOOT_ERR0_DRAM_SKIPPED) {
-               dev_warn(hdev->dev,
-                       "Device boot warning - Skipped DRAM initialization\n");
-diff --git a/drivers/misc/habanalabs/include/common/hl_boot_if.h b/drivers/misc/habanalabs/include/common/hl_boot_if.h
-index a3594119bc51..3e705355c9cc 100644
---- a/drivers/misc/habanalabs/include/common/hl_boot_if.h
-+++ b/drivers/misc/habanalabs/include/common/hl_boot_if.h
-@@ -34,6 +34,7 @@ enum cpu_boot_err {
-       CPU_BOOT_ERR_BINNING_FAIL = 19,
-       CPU_BOOT_ERR_TPM_FAIL = 20,
-       CPU_BOOT_ERR_TMP_THRESH_INIT_FAIL = 21,
-+      CPU_BOOT_ERR_EEPROM_FAIL = 22,
-       CPU_BOOT_ERR_ENABLED = 31,
-       CPU_BOOT_ERR_SCND_EN = 63,
-       CPU_BOOT_ERR_LAST = 64 /* we have 2 registers of 32 bits */
-@@ -115,6 +116,9 @@ enum cpu_boot_err {
-  * CPU_BOOT_ERR0_TMP_THRESH_INIT_FAIL Failed to set threshold for tmperature
-  *                                    sensor.
-  *
-+ * CPU_BOOT_ERR_EEPROM_FAIL           Failed reading EEPROM data. Defaults
-+ *                                    are used.
-+ *
-  * CPU_BOOT_ERR0_ENABLED              Error registers enabled.
-  *                                    This is a main indication that the
-  *                                    running FW populates the error
-@@ -139,6 +143,7 @@ enum cpu_boot_err {
- #define CPU_BOOT_ERR0_BINNING_FAIL            (1 << CPU_BOOT_ERR_BINNING_FAIL)
- #define CPU_BOOT_ERR0_TPM_FAIL                        (1 << CPU_BOOT_ERR_TPM_FAIL)
- #define CPU_BOOT_ERR0_TMP_THRESH_INIT_FAIL    (1 << CPU_BOOT_ERR_TMP_THRESH_INIT_FAIL)
-+#define CPU_BOOT_ERR0_EEPROM_FAIL             (1 << CPU_BOOT_ERR_EEPROM_FAIL)
- #define CPU_BOOT_ERR0_ENABLED                 (1 << CPU_BOOT_ERR_ENABLED)
- #define CPU_BOOT_ERR1_ENABLED                 (1 << CPU_BOOT_ERR_ENABLED)
--- 
-2.35.1
-
diff --git a/queue-6.0/habanalabs-remove-some-f-w-descriptor-validations.patch b/queue-6.0/habanalabs-remove-some-f-w-descriptor-validations.patch
deleted file mode 100644 (file)
index bf7ec5b..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-From a928eb142a44c95f2afeca52d15c285ff4d4bce8 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 30 Aug 2022 13:01:03 +0300
-Subject: habanalabs: remove some f/w descriptor validations
-
-From: farah kassabri <fkassabri@habana.ai>
-
-[ Upstream commit 6b9b9e244fdd0d6c5ee21b7b9d74282d9e43733a ]
-
-To be forward-backward compatible with the firmware in the initial
-communication during preboot, we need to remove the validation of the
-header size. This will allow us to add more fields to the
-lkd_fw_comms_desc structure.
-
-Instead of the validation of the header size, we just print warning
-when some mismatch in descriptor has been revealed, and we calculate
-the CRC base on descriptor size reported by the firmware instead of
-calculating it ourselves.
-
-Signed-off-by: farah kassabri <fkassabri@habana.ai>
-Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
-Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/misc/habanalabs/common/firmware_if.c | 43 +++++++-------------
- 1 file changed, 14 insertions(+), 29 deletions(-)
-
-diff --git a/drivers/misc/habanalabs/common/firmware_if.c b/drivers/misc/habanalabs/common/firmware_if.c
-index 4a3350ee87d3..b89a1e2c19d4 100644
---- a/drivers/misc/habanalabs/common/firmware_if.c
-+++ b/drivers/misc/habanalabs/common/firmware_if.c
-@@ -1863,50 +1863,36 @@ static int hl_fw_dynamic_validate_descriptor(struct hl_device *hdev,
-       u64 addr;
-       int rc;
--      if (le32_to_cpu(fw_desc->header.magic) != HL_COMMS_DESC_MAGIC) {
--              dev_err(hdev->dev, "Invalid magic for dynamic FW descriptor (%x)\n",
-+      if (le32_to_cpu(fw_desc->header.magic) != HL_COMMS_DESC_MAGIC)
-+              dev_warn(hdev->dev, "Invalid magic for dynamic FW descriptor (%x)\n",
-                               fw_desc->header.magic);
--              return -EIO;
--      }
--      if (fw_desc->header.version != HL_COMMS_DESC_VER) {
--              dev_err(hdev->dev, "Invalid version for dynamic FW descriptor (%x)\n",
-+      if (fw_desc->header.version != HL_COMMS_DESC_VER)
-+              dev_warn(hdev->dev, "Invalid version for dynamic FW descriptor (%x)\n",
-                               fw_desc->header.version);
--              return -EIO;
--      }
-       /*
--       * calc CRC32 of data without header.
-+       * Calc CRC32 of data without header. use the size of the descriptor
-+       * reported by firmware, without calculating it ourself, to allow adding
-+       * more fields to the lkd_fw_comms_desc structure.
-        * note that no alignment/stride address issues here as all structures
--       * are 64 bit padded
-+       * are 64 bit padded.
-        */
--      data_size = sizeof(struct lkd_fw_comms_desc) -
--                                      sizeof(struct comms_desc_header);
-       data_ptr = (u8 *)fw_desc + sizeof(struct comms_desc_header);
--
--      if (le16_to_cpu(fw_desc->header.size) != data_size) {
--              dev_err(hdev->dev,
--                      "Invalid descriptor size 0x%x, expected size 0x%zx\n",
--                              le16_to_cpu(fw_desc->header.size), data_size);
--              return -EIO;
--      }
-+      data_size = le16_to_cpu(fw_desc->header.size);
-       data_crc32 = hl_fw_compat_crc32(data_ptr, data_size);
--
-       if (data_crc32 != le32_to_cpu(fw_desc->header.crc32)) {
--              dev_err(hdev->dev,
--                      "CRC32 mismatch for dynamic FW descriptor (%x:%x)\n",
--                                      data_crc32, fw_desc->header.crc32);
-+              dev_err(hdev->dev, "CRC32 mismatch for dynamic FW descriptor (%x:%x)\n",
-+                      data_crc32, fw_desc->header.crc32);
-               return -EIO;
-       }
-       /* find memory region to which to copy the image */
-       addr = le64_to_cpu(fw_desc->img_addr);
-       region_id = hl_get_pci_memory_region(hdev, addr);
--      if ((region_id != PCI_REGION_SRAM) &&
--                      ((region_id != PCI_REGION_DRAM))) {
--              dev_err(hdev->dev,
--                      "Invalid region to copy FW image address=%llx\n", addr);
-+      if ((region_id != PCI_REGION_SRAM) && ((region_id != PCI_REGION_DRAM))) {
-+              dev_err(hdev->dev, "Invalid region to copy FW image address=%llx\n", addr);
-               return -EIO;
-       }
-@@ -1923,8 +1909,7 @@ static int hl_fw_dynamic_validate_descriptor(struct hl_device *hdev,
-                                       fw_loader->dynamic_loader.fw_image_size,
-                                       region);
-       if (rc) {
--              dev_err(hdev->dev,
--                      "invalid mem transfer request for FW image\n");
-+              dev_err(hdev->dev, "invalid mem transfer request for FW image\n");
-               return rc;
-       }
--- 
-2.35.1
-
index c647eac25d1a2894159538ef56a1d3236fe3ad8f..1b1ba6f45dcf2393c8d978bcb4e1ba1bcc7e16ca 100644 (file)
@@ -848,13 +848,11 @@ power-supply-adp5061-fix-out-of-bounds-read-in-adp50.patch
 staging-vt6655-fix-potential-memory-leak.patch
 blk-throttle-prevent-overflow-while-calculating-wait.patch
 ata-libahci_platform-sanity-check-the-dt-child-nodes.patch
-habanalabs-ignore-eeprom-errors-during-boot.patch
 nvmet-auth-clean-up-with-done_kfree.patch
 bcache-fix-set_at_max_writeback_rate-for-multiple-at.patch
 soundwire-cadence-don-t-overwrite-msg-buf-during-wri.patch
 soundwire-intel-fix-error-handling-on-dai-registrati.patch
 hid-topre-add-driver-fixing-report-descriptor.patch
-habanalabs-remove-some-f-w-descriptor-validations.patch
 hid-roccat-fix-use-after-free-in-roccat_read.patch
 hsi-ssi_protocol-fix-potential-resource-leak-in-ssip.patch
 hid-nintendo-check-analog-user-calibration-for-plaus.patch