habanalabs: update DRAM props according to preboot data
authorOhad Sharabi <osharabi@habana.ai>
Sun, 27 Nov 2022 10:46:23 +0000 (12:46 +0200)
committerOded Gabbay <ogabbay@kernel.org>
Thu, 26 Jan 2023 08:56:20 +0000 (10:56 +0200)
If the f/w reports the binning masks at the preboot stage, the driver
must align its DRAM properties according to the new information.

Signed-off-by: Ohad Sharabi <osharabi@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
drivers/misc/habanalabs/common/firmware_if.c

index 4f364c3085fe518dc312f5dd17b8d7a2ab225b80..046866c673e278997fc0d2217ddb237fc1ece22c 100644 (file)
@@ -2582,6 +2582,10 @@ static int hl_fw_dynamic_init_cpu(struct hl_device *hdev,
                        hdev->decoder_binning = le32_to_cpu(binning_info->dec_mask);
                        hdev->rotator_binning = le32_to_cpu(binning_info->rot_mask);
 
+                       rc = hdev->asic_funcs->set_dram_properties(hdev);
+                       if (rc)
+                               goto out;
+
                        dev_dbg(hdev->dev,
                                "Read binning masks: tpc: 0x%llx, dram: 0x%llx, edma: 0x%x, dec: 0x%x, rot:0x%x\n",
                                hdev->tpc_binning, hdev->dram_binning, hdev->edma_binning,