From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0F54ACCF9EE for ; Wed, 29 Oct 2025 20:16:03 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 72BDA10E833; Wed, 29 Oct 2025 20:16:02 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="PAZMdMrP"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.14]) by gabe.freedesktop.org (Postfix) with ESMTPS id 383F710E833 for ; Wed, 29 Oct 2025 20:16:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1761768961; x=1793304961; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=9ZFQd3zszdUhp1lj3KZZoxs36r1O/AWzObnfDkIZBlI=; b=PAZMdMrPdTRCBxzx645AtRRpGhGNHgVgHww7jkQWi0uKLnNNgAdITYuG tMSu0irx1qG/PF0JRAozeAUPouyH0ujexTXrDheqdnXQ6nopb6mfDIicF guJ5Ipr0fK2l5eZGULuhE0/booXeizsQiYgoUhA9aBCksj+7Gfbpj0JyB VOM59jKqss/yBKw10GKrzjosEserq9DjLv0bBC9O/EgHYEyze/jyWMcRE NOvnHgK3WSTW+8DhtUJKBkQCD0KlNoJUaD6xHTNbJNwi/kxFUZP1GStPx Kzs4ZmCFQUs8np3z8xu9h8FM4Y+j2BVLj1RuEsK1B0w6sxabePCUDIBQy g==; X-CSE-ConnectionGUID: ZFiTKGdUReea4swFREMHHQ== X-CSE-MsgGUID: 1X2g5BPKRwKRHiy2bjIOfA== X-IronPort-AV: E=McAfee;i="6800,10657,11531"; a="67738212" X-IronPort-AV: E=Sophos;i="6.17,312,1747724400"; d="scan'208";a="67738212" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by orvoesa106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Oct 2025 13:16:00 -0700 X-CSE-ConnectionGUID: XqPEknT0Qc+f+qFT66PZFg== X-CSE-MsgGUID: W4XTpyNRQRamjdLrw8aSIw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.19,264,1754982000"; d="scan'208";a="185009914" Received: from pl-npu-pc-kwachow.igk.intel.com ([10.91.220.239]) by orviesa010-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Oct 2025 13:15:59 -0700 From: Karol Wachowski To: dri-devel@lists.freedesktop.org Cc: oded.gabbay@gmail.com, jeff.hugo@oss.qualcomm.com, maciej.falkowski@linux.intel.com, lizhi.hou@amd.com, Karol Wachowski Subject: [PATCH v2] accel/ivpu: Disallow setting sched mode OS starting from NPU6 Date: Wed, 29 Oct 2025 21:15:54 +0100 Message-ID: <20251029201554.257708-1-karol.wachowski@linux.intel.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" 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 --- Changes in v2: - Fix subject description typo mentiniong that HW mode is deprecated instead of OS mode --- 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 c6fe7a408912..20618c552c77 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; -- 2.43.0