Commit b43cb668 authored by Stanislaw Gruszka's avatar Stanislaw Gruszka
Browse files

accel/ivpu/37xx: Remove support for FPGA and simics



We do not run 37xx VPU on non-silicon platforms any longer.
Remove deprecated code to make it cleaner.

Reviewed-by: default avatarJeffrey Hugo <quic_jhugo@quicinc.com>
Signed-off-by: default avatarStanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231020104501.697763-7-stanislaw.gruszka@linux.intel.com
parent f956bf20
Loading
Loading
Loading
Loading
+8 −49
Original line number Diff line number Diff line
@@ -68,37 +68,9 @@
				     (REG_FLD(VPU_37XX_HOST_SS_FW_SOC_IRQ_EN, MSS_MBI)) | \
				     (REG_FLD(VPU_37XX_HOST_SS_FW_SOC_IRQ_EN, MSS_MBI_CMX)))

static char *ivpu_platform_to_str(u32 platform)
{
	switch (platform) {
	case IVPU_PLATFORM_SILICON:
		return "IVPU_PLATFORM_SILICON";
	case IVPU_PLATFORM_SIMICS:
		return "IVPU_PLATFORM_SIMICS";
	case IVPU_PLATFORM_FPGA:
		return "IVPU_PLATFORM_FPGA";
	default:
		return "Invalid platform";
	}
}

static void ivpu_hw_read_platform(struct ivpu_device *vdev)
{
	u32 gen_ctrl = REGV_RD32(VPU_37XX_HOST_SS_GEN_CTRL);
	u32 platform = REG_GET_FLD(VPU_37XX_HOST_SS_GEN_CTRL, PS, gen_ctrl);

	if  (platform == IVPU_PLATFORM_SIMICS || platform == IVPU_PLATFORM_FPGA)
		vdev->platform = platform;
	else
		vdev->platform = IVPU_PLATFORM_SILICON;

	ivpu_dbg(vdev, MISC, "Platform type: %s (%d)\n",
		 ivpu_platform_to_str(vdev->platform), vdev->platform);
}

static void ivpu_hw_wa_init(struct ivpu_device *vdev)
{
	vdev->wa.punit_disabled = ivpu_is_fpga(vdev);
	vdev->wa.punit_disabled = false;
	vdev->wa.clear_runtime_mem = false;
	vdev->wa.d3hot_after_power_off = true;

@@ -113,20 +85,12 @@ static void ivpu_hw_wa_init(struct ivpu_device *vdev)

static void ivpu_hw_timeouts_init(struct ivpu_device *vdev)
{
	if (ivpu_is_simics(vdev) || ivpu_is_fpga(vdev)) {
		vdev->timeout.boot = 100000;
		vdev->timeout.jsm = 50000;
		vdev->timeout.tdr = 2000000;
		vdev->timeout.reschedule_suspend = 1000;
		vdev->timeout.autosuspend = -1;
	} else {
	vdev->timeout.boot = 1000;
	vdev->timeout.jsm = 500;
	vdev->timeout.tdr = 2000;
	vdev->timeout.reschedule_suspend = 10;
	vdev->timeout.autosuspend = 10;
}
}

static int ivpu_pll_wait_for_cmd_send(struct ivpu_device *vdev)
{
@@ -220,8 +184,7 @@ static int ivpu_pll_drive(struct ivpu_device *vdev, bool enable)
	int ret;

	if (IVPU_WA(punit_disabled)) {
		ivpu_dbg(vdev, PM, "Skipping PLL request on %s\n",
			 ivpu_platform_to_str(vdev->platform));
		ivpu_dbg(vdev, PM, "Skipping PLL request\n");
		return 0;
	}

@@ -484,10 +447,6 @@ static void ivpu_boot_pwr_island_drive(struct ivpu_device *vdev, bool enable)

static int ivpu_boot_wait_for_pwr_island_status(struct ivpu_device *vdev, u32 exp_val)
{
	/* FPGA model (UPF) is not power aware, skipped Power Island polling */
	if (ivpu_is_fpga(vdev))
		return 0;

	return REGV_POLL_FLD(VPU_37XX_HOST_SS_AON_PWR_ISLAND_STATUS0, MSS_CPU,
			     exp_val, PWR_ISLAND_STATUS_TIMEOUT_US);
}
@@ -632,7 +591,7 @@ static int ivpu_hw_37xx_info_init(struct ivpu_device *vdev)
	ivpu_hw_init_range(&hw->ranges.shave, 0x180000000, SZ_2G);
	ivpu_hw_init_range(&hw->ranges.dma,   0x200000000, SZ_8G);

	ivpu_hw_read_platform(vdev);
	vdev->platform = IVPU_PLATFORM_SILICON;
	ivpu_hw_wa_init(vdev);
	ivpu_hw_timeouts_init(vdev);