From: Tomasz Rusinowicz <tomasz.rusinow...@intel.com>

Recovery now works on fpga. JSM state dump timeout needs to
be really long for the new fpga model releases.

Enable punit on fpga.

Reviewed-by: Jacek Lawrynowicz <jacek.lawrynow...@linux.intel.com>
Signed-off-by: Tomasz Rusinowicz <tomasz.rusinow...@intel.com>
Signed-off-by: Jacek Lawrynowicz <jacek.lawrynow...@linux.intel.com>
---
 drivers/accel/ivpu/ivpu_hw.c | 10 +++++-----
 drivers/accel/ivpu/ivpu_pm.c |  5 -----
 2 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/drivers/accel/ivpu/ivpu_hw.c b/drivers/accel/ivpu/ivpu_hw.c
index 4199f0bbb435b..2057907c5aa6a 100644
--- a/drivers/accel/ivpu/ivpu_hw.c
+++ b/drivers/accel/ivpu/ivpu_hw.c
@@ -58,7 +58,7 @@ static void platform_init(struct ivpu_device *vdev)
 
 static void 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;
 
        if (ivpu_hw_btrs_gen(vdev) == IVPU_HW_BTRS_MTL)
@@ -87,12 +87,12 @@ static void timeouts_init(struct ivpu_device *vdev)
                vdev->timeout.autosuspend = -1;
                vdev->timeout.d0i3_entry_msg = -1;
        } else if (ivpu_is_fpga(vdev)) {
-               vdev->timeout.boot = 100000;
-               vdev->timeout.jsm = 50000;
-               vdev->timeout.tdr = 2000000;
+               vdev->timeout.boot = 50;
+               vdev->timeout.jsm = 15000;
+               vdev->timeout.tdr = 30000;
                vdev->timeout.autosuspend = -1;
                vdev->timeout.d0i3_entry_msg = 500;
-               vdev->timeout.state_dump_msg = 10;
+               vdev->timeout.state_dump_msg = 10000;
        } else if (ivpu_is_simics(vdev)) {
                vdev->timeout.boot = 50;
                vdev->timeout.jsm = 500;
diff --git a/drivers/accel/ivpu/ivpu_pm.c b/drivers/accel/ivpu/ivpu_pm.c
index f41b3bfe40af4..8f6222d157204 100644
--- a/drivers/accel/ivpu/ivpu_pm.c
+++ b/drivers/accel/ivpu/ivpu_pm.c
@@ -161,11 +161,6 @@ void ivpu_pm_trigger_recovery(struct ivpu_device *vdev, 
const char *reason)
                return;
        }
 
-       if (ivpu_is_fpga(vdev)) {
-               ivpu_err(vdev, "Recovery not available on FPGA\n");
-               return;
-       }
-
        /* Trigger recovery if it's not in progress */
        if (atomic_cmpxchg(&vdev->pm->reset_pending, 0, 1) == 0) {
                ivpu_hw_diagnose_failure(vdev);
-- 
2.45.1

Reply via email to