diff options
| -rw-r--r-- | drivers/accel/ivpu/ivpu_fw.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/accel/ivpu/ivpu_fw.c b/drivers/accel/ivpu/ivpu_fw.c index 6037ec0b3096..6cf1fb826d1b 100644 --- a/drivers/accel/ivpu/ivpu_fw.c +++ b/drivers/accel/ivpu/ivpu_fw.c @@ -145,7 +145,18 @@ ivpu_fw_sched_mode_select(struct ivpu_device *vdev, const struct vpu_firmware_he if (ivpu_sched_mode != IVPU_SCHED_MODE_AUTO) return ivpu_sched_mode; - return VPU_SCHEDULING_MODE_OS; + if (IVPU_FW_CHECK_API_VER_LT(vdev, fw_hdr, JSM, 3, 24)) + return VPU_SCHEDULING_MODE_OS; + + switch (ivpu_device_id(vdev)) { + case PCI_DEVICE_ID_MTL: + case PCI_DEVICE_ID_ARL: + case PCI_DEVICE_ID_LNL: + case PCI_DEVICE_ID_PTL_P: + return VPU_SCHEDULING_MODE_HW; + default: + return VPU_SCHEDULING_MODE_OS; + } } static int ivpu_fw_parse(struct ivpu_device *vdev) |
