Commit 8c173dc4 authored by Oded Gabbay's avatar Oded Gabbay
Browse files

habanalabs: remove dead code in habanalabs_drv.c



This patch removes some dead code that performs checks about variables
with hard-coded values.

The patch also moves the initialization of those variables to a separate
function, that will possibly have different values per ASIC.

Signed-off-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
parent 19734970
Loading
Loading
Loading
Loading
+26 −30
Original line number Diff line number Diff line
@@ -172,6 +172,17 @@ int hl_device_open(struct inode *inode, struct file *filp)
	return rc;
}

static void set_driver_behavior_per_device(struct hl_device *hdev)
{
	hdev->mmu_enable = 1;
	hdev->cpu_enable = 1;
	hdev->fw_loading = 1;
	hdev->cpu_queues_enable = 1;
	hdev->heartbeat = 1;

	hdev->reset_pcilink = 0;
}

/*
 * create_hdev - create habanalabs device instance
 *
@@ -196,29 +207,25 @@ int create_hdev(struct hl_device **dev, struct pci_dev *pdev,
	if (!hdev)
		return -ENOMEM;

	/* First, we must find out which ASIC are we handling. This is needed
	 * to configure the behavior of the driver (kernel parameters)
	 */
	if (pdev) {
		hdev->asic_type = get_asic_type(pdev->device);
		if (hdev->asic_type == ASIC_INVALID) {
			dev_err(&pdev->dev, "Unsupported ASIC\n");
			rc = -ENODEV;
			goto free_hdev;
		}
	} else {
		hdev->asic_type = asic_type;
	}

	hdev->major = hl_major;
	hdev->reset_on_lockup = reset_on_lockup;

	/* Parameters for bring-up - set them to defaults */
	hdev->mmu_enable = 1;
	hdev->cpu_enable = 1;
	hdev->reset_pcilink = 0;
	hdev->cpu_queues_enable = 1;
	hdev->fw_loading = 1;
	hdev->pldm = 0;
	hdev->heartbeat = 1;

	/* If CPU is disabled, no point in loading FW */
	if (!hdev->cpu_enable)
		hdev->fw_loading = 0;

	/* If we don't load FW, no need to initialize CPU queues */
	if (!hdev->fw_loading)
		hdev->cpu_queues_enable = 0;

	/* If CPU queues not enabled, no way to do heartbeat */
	if (!hdev->cpu_queues_enable)
		hdev->heartbeat = 0;
	set_driver_behavior_per_device(hdev);

	if (timeout_locked)
		hdev->timeout_jiffies = msecs_to_jiffies(timeout_locked * 1000);
@@ -228,17 +235,6 @@ int create_hdev(struct hl_device **dev, struct pci_dev *pdev,
	hdev->disabled = true;
	hdev->pdev = pdev; /* can be NULL in case of simulator device */

	if (pdev) {
		hdev->asic_type = get_asic_type(pdev->device);
		if (hdev->asic_type == ASIC_INVALID) {
			dev_err(&pdev->dev, "Unsupported ASIC\n");
			rc = -ENODEV;
			goto free_hdev;
		}
	} else {
		hdev->asic_type = asic_type;
	}

	/* Set default DMA mask to 32 bits */
	hdev->dma_mask = 32;