Commit 3f440e0b authored by Maciej Falkowski's avatar Maciej Falkowski Committed by Jacek Lawrynowicz

accel/ivpu: Add test mode flag for disabling timeouts

Add new test mode flag that will disable all timeouts
defined in timeout fields of struct ivpu_device.
Remove also reschedule_suspend field as it is unused.
Signed-off-by: default avatarMaciej Falkowski <maciej.falkowski@linux.intel.com>
Reviewed-by: default avatarJacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Signed-off-by: default avatarJacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240611120433.1012423-11-jacek.lawrynowicz@linux.intel.com
parent 72b96ec6
...@@ -150,7 +150,6 @@ struct ivpu_device { ...@@ -150,7 +150,6 @@ struct ivpu_device {
int boot; int boot;
int jsm; int jsm;
int tdr; int tdr;
int reschedule_suspend;
int autosuspend; int autosuspend;
int d0i3_entry_msg; int d0i3_entry_msg;
} timeout; } timeout;
...@@ -188,6 +187,7 @@ extern bool ivpu_force_snoop; ...@@ -188,6 +187,7 @@ extern bool ivpu_force_snoop;
#define IVPU_TEST_MODE_D0I3_MSG_ENABLE BIT(5) #define IVPU_TEST_MODE_D0I3_MSG_ENABLE BIT(5)
#define IVPU_TEST_MODE_PREEMPTION_DISABLE BIT(6) #define IVPU_TEST_MODE_PREEMPTION_DISABLE BIT(6)
#define IVPU_TEST_MODE_HWS_EXTRA_EVENTS BIT(7) #define IVPU_TEST_MODE_HWS_EXTRA_EVENTS BIT(7)
#define IVPU_TEST_MODE_DISABLE_TIMEOUTS BIT(8)
extern int ivpu_test_mode; extern int ivpu_test_mode;
struct ivpu_file_priv *ivpu_file_priv_get(struct ivpu_file_priv *file_priv); struct ivpu_file_priv *ivpu_file_priv_get(struct ivpu_file_priv *file_priv);
......
...@@ -77,25 +77,28 @@ static void wa_init(struct ivpu_device *vdev) ...@@ -77,25 +77,28 @@ static void wa_init(struct ivpu_device *vdev)
static void timeouts_init(struct ivpu_device *vdev) static void timeouts_init(struct ivpu_device *vdev)
{ {
if (ivpu_is_fpga(vdev)) { if (ivpu_test_mode & IVPU_TEST_MODE_DISABLE_TIMEOUTS) {
vdev->timeout.boot = -1;
vdev->timeout.jsm = -1;
vdev->timeout.tdr = -1;
vdev->timeout.autosuspend = -1;
vdev->timeout.d0i3_entry_msg = -1;
} else if (ivpu_is_fpga(vdev)) {
vdev->timeout.boot = 100000; vdev->timeout.boot = 100000;
vdev->timeout.jsm = 50000; vdev->timeout.jsm = 50000;
vdev->timeout.tdr = 2000000; vdev->timeout.tdr = 2000000;
vdev->timeout.reschedule_suspend = 1000;
vdev->timeout.autosuspend = -1; vdev->timeout.autosuspend = -1;
vdev->timeout.d0i3_entry_msg = 500; vdev->timeout.d0i3_entry_msg = 500;
} else if (ivpu_is_simics(vdev)) { } else if (ivpu_is_simics(vdev)) {
vdev->timeout.boot = 50; vdev->timeout.boot = 50;
vdev->timeout.jsm = 500; vdev->timeout.jsm = 500;
vdev->timeout.tdr = 10000; vdev->timeout.tdr = 10000;
vdev->timeout.reschedule_suspend = 10;
vdev->timeout.autosuspend = -1; vdev->timeout.autosuspend = -1;
vdev->timeout.d0i3_entry_msg = 100; vdev->timeout.d0i3_entry_msg = 100;
} else { } else {
vdev->timeout.boot = 1000; vdev->timeout.boot = 1000;
vdev->timeout.jsm = 500; vdev->timeout.jsm = 500;
vdev->timeout.tdr = 2000; vdev->timeout.tdr = 2000;
vdev->timeout.reschedule_suspend = 10;
vdev->timeout.autosuspend = 10; vdev->timeout.autosuspend = 10;
vdev->timeout.d0i3_entry_msg = 5; vdev->timeout.d0i3_entry_msg = 5;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment