Commit b726a2f7 authored by Igor Grinberg's avatar Igor Grinberg Committed by Oded Gabbay
Browse files

habanalabs/gaudi: remove pcie_en strap toggle



Since the very large grace period is over and this functionality
prevents us to implement the new reset sequence and apply security
settings, we need to remove the code toggling the PCIE_EN bit in the
straps register.
Remove it for good.

Signed-off-by: default avatarIgor Grinberg <igrinberg@habana.ai>
Reviewed-by: default avatarOded Gabbay <ogabbay@kernel.org>
Signed-off-by: default avatarOded Gabbay <ogabbay@kernel.org>
parent 66bfcccd
Loading
Loading
Loading
Loading
+1 −13
Original line number Diff line number Diff line
@@ -3859,7 +3859,7 @@ static int gaudi_hw_init(struct hl_device *hdev)
static void gaudi_hw_fini(struct hl_device *hdev, bool hard_reset)
{
	struct gaudi_device *gaudi = hdev->asic_specific;
	u32 status, reset_timeout_ms, cpu_timeout_ms, boot_strap = 0;
	u32 status, reset_timeout_ms, cpu_timeout_ms;

	if (!hard_reset) {
		dev_err(hdev->dev, "GAUDI doesn't support soft-reset\n");
@@ -3891,16 +3891,6 @@ static void gaudi_hw_fini(struct hl_device *hdev, bool hard_reset)
	/* Tell ASIC not to re-initialize PCIe */
	WREG32(mmPREBOOT_PCIE_EN, LKD_HARD_RESET_MAGIC);

	boot_strap = RREG32(mmPSOC_GLOBAL_CONF_BOOT_STRAP_PINS);

	/* H/W bug WA:
	 * rdata[31:0] = strap_read_val;
	 * wdata[31:0] = rdata[30:21],1'b0,rdata[20:0]
	 */
	boot_strap = (((boot_strap & 0x7FE00000) << 1) |
			(boot_strap & 0x001FFFFF));
	WREG32(mmPSOC_GLOBAL_CONF_BOOT_STRAP_PINS, boot_strap & ~0x2);

	/* Restart BTL/BLR upon hard-reset */
	if (hdev->asic_prop.fw_security_disabled)
		WREG32(mmPSOC_GLOBAL_CONF_BOOT_SEQ_RE_START, 1);
@@ -3923,8 +3913,6 @@ static void gaudi_hw_fini(struct hl_device *hdev, bool hard_reset)
			"Timeout while waiting for device to reset 0x%x\n",
			status);

	WREG32(mmPSOC_GLOBAL_CONF_BOOT_STRAP_PINS, boot_strap);

	if (gaudi) {
		gaudi->hw_cap_initialized &= ~(HW_CAP_CPU | HW_CAP_CPU_Q |
				HW_CAP_HBM | HW_CAP_PCI_DMA |