On 10/29/2025 8:52 PM, Jeff Hugo wrote:
> On 10/28/2025 1:07 AM, Karol Wachowski wrote:
>
> $SUBJECT suggests that HW mode is disallowed, but the commit text says
> OS mode is disallowed. Feels like the subject has a typo, or is
> confusing. Everything else looks ok to me.
Yes, that definitely was unintended. I will send updated v2 in a moment.
>
>> OS scheduling mode gets deprecated starting from NPU6 onward.
>> Print warning and fallback to HW scheduling mode if OS mode is
>> explicitly selected with sched_mode parameter.
>>
>> Signed-off-by: Karol Wachowski <[email protected]>
>> ---
>> drivers/accel/ivpu/ivpu_drv.c | 2 +-
>> drivers/accel/ivpu/ivpu_fw.c | 6 ++++++
>> 2 files changed, 7 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/accel/ivpu/ivpu_drv.c
>> b/drivers/accel/ivpu/ivpu_drv.c
>> index ca68730dee88..b305effcf003 100644
>> --- a/drivers/accel/ivpu/ivpu_drv.c
>> +++ b/drivers/accel/ivpu/ivpu_drv.c
>> @@ -57,7 +57,7 @@ MODULE_PARM_DESC(pll_max_ratio, "Maximum PLL ratio
>> used to set NPU frequency");
>> int ivpu_sched_mode = IVPU_SCHED_MODE_AUTO;
>> module_param_named(sched_mode, ivpu_sched_mode, int, 0444);
>> -MODULE_PARM_DESC(sched_mode, "Scheduler mode: -1 - Use default
>> scheduler, 0 - Use OS scheduler, 1 - Use HW scheduler");
>> +MODULE_PARM_DESC(sched_mode, "Scheduler mode: -1 - Use default
>> scheduler, 0 - Use OS scheduler (supported on 27XX - 50XX), 1 - Use
>> HW scheduler");
>> bool ivpu_disable_mmu_cont_pages;
>> module_param_named(disable_mmu_cont_pages,
>> ivpu_disable_mmu_cont_pages, bool, 0444);
>> diff --git a/drivers/accel/ivpu/ivpu_fw.c b/drivers/accel/ivpu/ivpu_fw.c
>> index aa032b39dbe3..48386d2cddbb 100644
>> --- a/drivers/accel/ivpu/ivpu_fw.c
>> +++ b/drivers/accel/ivpu/ivpu_fw.c
>> @@ -144,6 +144,12 @@ bool ivpu_is_within_range(u64 addr, size_t size,
>> struct ivpu_addr_range *range)
>> static u32
>> ivpu_fw_sched_mode_select(struct ivpu_device *vdev, const struct
>> vpu_firmware_header *fw_hdr)
>> {
>> + if (ivpu_hw_ip_gen(vdev) >= IVPU_HW_IP_60XX &&
>> + ivpu_sched_mode == VPU_SCHEDULING_MODE_OS) {
>> + ivpu_warn(vdev, "OS sched mode is not supported, using HW
>> mode\n");
>> + return VPU_SCHEDULING_MODE_HW;
>> + }
>> +
>> if (ivpu_sched_mode != IVPU_SCHED_MODE_AUTO)
>> return ivpu_sched_mode;
>>
>