On 9/27/2024 11:25 PM, Jeffrey Hugo wrote: > On 9/24/2024 2:17 AM, Jacek Lawrynowicz wrote: >> From: Andrzej Kacprowski <Andrzej.Kacprowski@xxxxxxxxx> >> >> Add new test_mode BIT(9) that forces firmware to >> enable turbo burst mode. >> >> Signed-off-by: Andrzej Kacprowski <Andrzej.Kacprowski@xxxxxxxxx> >> Reviewed-by: Jacek Lawrynowicz <jacek.lawrynowicz@xxxxxxxxxxxxxxx> >> Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@xxxxxxxxxxxxxxx> >> --- >> drivers/accel/ivpu/ivpu_drv.h | 1 + >> drivers/accel/ivpu/ivpu_job.c | 5 +++++ >> 2 files changed, 6 insertions(+) >> >> diff --git a/drivers/accel/ivpu/ivpu_drv.h b/drivers/accel/ivpu/ivpu_drv.h >> index 9acef14deab57..151ab9f2ddc9b 100644 >> --- a/drivers/accel/ivpu/ivpu_drv.h >> +++ b/drivers/accel/ivpu/ivpu_drv.h >> @@ -197,6 +197,7 @@ extern bool ivpu_force_snoop; >> #define IVPU_TEST_MODE_PREEMPTION_DISABLE BIT(6) >> #define IVPU_TEST_MODE_HWS_EXTRA_EVENTS BIT(7) >> #define IVPU_TEST_MODE_DISABLE_TIMEOUTS BIT(8) >> +#define IVPU_TEST_MODE_TURBO BIT(9) >> extern int ivpu_test_mode; >> struct ivpu_file_priv *ivpu_file_priv_get(struct ivpu_file_priv *file_priv); >> diff --git a/drivers/accel/ivpu/ivpu_job.c b/drivers/accel/ivpu/ivpu_job.c >> index 8798fb2046abc..dc5cf7ded9439 100644 >> --- a/drivers/accel/ivpu/ivpu_job.c >> +++ b/drivers/accel/ivpu/ivpu_job.c >> @@ -202,6 +202,11 @@ ivpu_cmdq_init(struct ivpu_file_priv *file_priv, struct ivpu_cmdq *cmdq, u16 eng >> jobq_header->engine_idx = engine; >> jobq_header->head = 0; >> jobq_header->tail = 0; >> + if (ivpu_test_mode & IVPU_TEST_MODE_TURBO) { >> + ivpu_dbg(vdev, JOB, "Turbo mode enabled"); >> + jobq_header->flags = VPU_JOB_QUEUE_FLAGS_TURBO_MODE; > > I don't see VPU_JOB_QUEUE_FLAGS_TURBO_MODE defined. What am I missing? > VPU_JOB_QUEUE_FLAGS_TURBO_MODE is defined in FW headers. It was added to the FW years ago and now we've started using it in the Linux driver. >> + } >> + >> wmb(); /* Flush WC buffer for jobq->header */ >> if (vdev->fw->sched_mode == VPU_SCHEDULING_MODE_HW) { >