From patchwork Mon Jun 9 18:21:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 895168 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 38BE22185AA for ; Mon, 9 Jun 2025 18:21:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493311; cv=none; b=ND2k0QJTP5y7/AhDs2QivVE0lS5pdMTR54fDUGh5IJEpfWr+nShec2NUmh1fPJxbShQjczHUyiLjY0VifBTeCqf2Mrmxo5w8P2QfC7QuJqjOPIqVtoT3Q5aFL5DBLEAySzfFiqlozpKAcqJcQKaeH6kvpTVkF8yAZXv3qql12sg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493311; c=relaxed/simple; bh=ZAKej4HduCbX9s00H49OKxBhhiuMFNjBiIilIEVMWQo=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=cDoOZcO65LmcLXUheFASniVVx4c6sCGl0Tm995OLlkBuz1ORnOMcNCUTq6vYE7Rehn1TfqXFkeqFD7+Av6uy2oFrDPaiINAWWuquyZbXy/2ZXVxkQ/5jznobWsKGD3eaZ7xgNfLjRJJR3msPJEj09l7lzNjzYbkNvTno8z52EdY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=Q3S0iFfV; arc=none smtp.client-ip=192.198.163.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Q3S0iFfV" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749493310; x=1781029310; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=ZAKej4HduCbX9s00H49OKxBhhiuMFNjBiIilIEVMWQo=; b=Q3S0iFfVaqxQAeptLSzgkuyL7KTeI4Gya3zApbhPGSBPfLUVEMkQzgk3 XXxpmvzUebYoI3hbwBXuyPIEmxUq42FNv1Ih81767lt+nd1JgHnCVNWAN b9DlhexuTnX078PhrkyCaY3qUpZvefH3bIn9w7z6Z4bfp2k19o/DsMZCM r41nH2jg4SwdduyP8Gl3GdRGFDxDBC4VPtwheK/8xUIiuhI+oGRdxswaz jJbgxB0o0AYl4j5JMW9En8itsk/Iwzk6ERhOIwJMzpvXmYfuJdHBvNxJt hMLXc9rs/yvYJ3QTnNj4bXV6ib4VcWo1EbHDJx3fEGz717rrU7ct6kBeK g==; X-CSE-ConnectionGUID: R6ENsdJkSLOP7v18SZBvKg== X-CSE-MsgGUID: Vl9hzkzNTCyU1GmX9DmrnA== X-IronPort-AV: E=McAfee;i="6800,10657,11459"; a="62237658" X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="62237658" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:21:48 -0700 X-CSE-ConnectionGUID: PsgfR5BJSfu3PmH0TM2GwA== X-CSE-MsgGUID: LxQoq94YTgKsM8nm34FkYw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="146510226" Received: from weis0040.iil.intel.com ([10.12.217.108]) by orviesa010-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:21:47 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Subject: [PATCH iwlwifi-next 01/15] wifi: iwlwifi: mld: remove unneeded compilations Date: Mon, 9 Jun 2025 21:21:07 +0300 Message-Id: <20250609211928.3bfe5222fe79.I1ebd746b0c513e278d231b5c48f5438ca9b9231f@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> References: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited Those are internal files so they should not be compiled. Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/mld/Makefile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mld/Makefile b/drivers/net/wireless/intel/iwlwifi/mld/Makefile index ece66e7a9be4..c966e573f430 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/Makefile +++ b/drivers/net/wireless/intel/iwlwifi/mld/Makefile @@ -9,8 +9,4 @@ iwlmld-$(CONFIG_IWLWIFI_DEBUGFS) += debugfs.o iwlmld-$(CONFIG_IWLWIFI_LEDS) += led.o iwlmld-$(CONFIG_PM_SLEEP) += d3.o -# non-upstream things -iwlmld-$(CONFIG_IWL_VENDOR_CMDS) += vendor-cmd.o -iwlmld-$(CONFIG_IWLMVM_AX_SOFTAP_TESTMODE) += ax-softap-testmode.o - subdir-ccflags-y += -I$(src)/../ From patchwork Mon Jun 9 18:21:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 895984 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A7B9E21CC57 for ; Mon, 9 Jun 2025 18:21:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493313; cv=none; b=fSBtsd6LVlZsb2X5l11h/9lcwg69gX7gNi4cvEgMU1CpvKyufh5VzZI0r5EX+CG/sAHkb5MSLNcAbMHoowNVq86XLW4iIwVsFutqu1A3flqTcn4au//xj5CBxlLY4j7vGwZpcwAefkRTFPStiLCIVXlh5snAADrLZ3M02rNswK4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493313; c=relaxed/simple; bh=OZWryQbdfge8b1gjtUorsOb8XzpJK2PG0AvYNu3XISw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=B9MCTJSFNYEa9DpZX61r+4K1Pu00/HTiHz/0t2Fbhm07izr59zwMpehXq17+XB+Z3mqfVH3clnR9D6sz+1PqdpURpzGbmmU6YuhehYMDwSicOSxPyowwOSA7v9jRRacl0IZ3R+PzRWdDurF34dDEQuw4vHCxeAubc+6wKG8zalY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=cCV0Jfrq; arc=none smtp.client-ip=192.198.163.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="cCV0Jfrq" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749493311; x=1781029311; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=OZWryQbdfge8b1gjtUorsOb8XzpJK2PG0AvYNu3XISw=; b=cCV0Jfrq6BZ+pR4vUgvlFG7YLgqjhtoyXibb6g4/qf5WrcUC3RaAfXAK /bvjkYjG++y7LdzIM8zCdRgWmTPnRhbhmmeMfSBNtfuBkAhLz9STCrw5N Aj0WJz3SxAcc7Imylp8vV6mYopALcCxe1AVFfjIFUkfloDPygGQN6Otdq 9WtbwzYw36/ueCvN/36xHmDNwksLcuGMNqGLqF2j65/kM13+dVK6oJhQ/ jGaf9RuOiAUDzHjMmFQjIiD4BT3xtvCF0q9GnpCLnrY2qWGK3sV3fVdkj dt6Daluv+xovAX2h4rPiGHaFOwEf4XtM88PDrAzqPn3jxuJ73qlQYb03V g==; X-CSE-ConnectionGUID: y+QFUc8dTlqoDRIQLtMnxg== X-CSE-MsgGUID: VyODJMw4Rsmjr5Zerw5qoQ== X-IronPort-AV: E=McAfee;i="6800,10657,11459"; a="62237661" X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="62237661" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:21:50 -0700 X-CSE-ConnectionGUID: t2fiXVY9QkOaMaza3KEspg== X-CSE-MsgGUID: 6EMvFCCVRH6B5MMyfOBkKA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="146510240" Received: from weis0040.iil.intel.com ([10.12.217.108]) by orviesa010-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:21:48 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Daniel Gabay , Emmanuel Grumbach , Johannes Berg Subject: [PATCH iwlwifi-next 02/15] wifi: iwlwifi: mld: respect AUTO_EML_ENABLE in iwl_mld_retry_emlsr() Date: Mon, 9 Jun 2025 21:21:08 +0300 Message-Id: <20250609211928.b5c7fbdcb15c.Iaa176c49142b46b0b896728005357faec6a55fa6@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> References: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited From: Daniel Gabay Respect this flag before initiating MLO scan. Signed-off-by: Daniel Gabay Reviewed-by: Emmanuel Grumbach Reviewed-by: Johannes Berg Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/mld/mlo.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mld/mlo.c b/drivers/net/wireless/intel/iwlwifi/mld/mlo.c index dba5379ed009..20c2b436039a 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/mlo.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/mlo.c @@ -1167,8 +1167,8 @@ void iwl_mld_retry_emlsr(struct iwl_mld *mld, struct ieee80211_vif *vif) { struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); - if (!iwl_mld_vif_has_emlsr_cap(vif) || iwl_mld_emlsr_active(vif) || - mld_vif->emlsr.blocked_reasons) + if (!IWL_MLD_AUTO_EML_ENABLE || !iwl_mld_vif_has_emlsr_cap(vif) || + iwl_mld_emlsr_active(vif) || mld_vif->emlsr.blocked_reasons) return; iwl_mld_int_mlo_scan(mld, vif); From patchwork Mon Jun 9 18:21:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 895167 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1B68621CC71 for ; Mon, 9 Jun 2025 18:21:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493313; cv=none; b=oZ8VUJmg3PizMOoZwBPHWJ5CcDjdOrastaBeXsC7TdIIO902Px+1ceQIqoiiFCOkI10xGG1RuGDqZy4yCgwK3bmnregrXpe9u54D/me0ZvZxR0jeELPWj60ExidSzSknn2yhIMd2swf/kiB80wYFVrdmJoYNlaxV5ILo02QmfDw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493313; c=relaxed/simple; bh=jT/D2fWrLywyxzA/uyUb+aVoRiYd6oYn1ijCynf0qJQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=vE2cFxxULUj8k2T2/gtvsv7dqxoOgsmM38GwP69wirVq21xzg9NCtlKmbnGg59Q3pD8VTQFyUT1YoGsx7der5Ka5cmSDaszGXke1p20cUdb1l6AOSG0j+QQpbsabR4hXoZaRvldbPMeMCuZd1AQqCEUN76k6Uq1fRWfN7EoZjLc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=lQTfTU1W; arc=none smtp.client-ip=192.198.163.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="lQTfTU1W" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749493312; x=1781029312; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=jT/D2fWrLywyxzA/uyUb+aVoRiYd6oYn1ijCynf0qJQ=; b=lQTfTU1WzHQeAKx30mJChY4toTJBDTu8PKjqRjCeAJ9uwBtmqzNNkc/I 87p5ymNLG4wxfigrFvQ/UQ066KIsMbpjrpqq6Upf2NxNkdwR+NKW9pHjG fHupvosQ0lAuu9fE5Ws2kdvoPDhahqPt7FWgrgyBvjHlrISGVgFsU6GDw c6zyvb+p/UjhrJqZCFnP9zd/Mc9lpyTzP/JFzNLbn2WOU4BQ0ju3lXLEQ 2u2CgENxFrtQt06CiZJsMpc/3/oxvA4dGkEFR0L/ong0WGN3tqKSv+yRW t6GDzai5t4MqL4DevizswYvlWBwUjX03RbvlPMBXX3/4l0AJLdgS/9wbL A==; X-CSE-ConnectionGUID: tVte42StSqKzdrxWTHv67A== X-CSE-MsgGUID: manrDY5bScmX25KeRBKQOw== X-IronPort-AV: E=McAfee;i="6800,10657,11459"; a="62237665" X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="62237665" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:21:51 -0700 X-CSE-ConnectionGUID: vB/Dn20eR+yKSevjL+h9Aw== X-CSE-MsgGUID: liNoUaD8RVa76v5Ph0Yu5w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="146510249" Received: from weis0040.iil.intel.com ([10.12.217.108]) by orviesa010-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:21:50 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Itamar Shalev Subject: [PATCH iwlwifi-next 03/15] wifi: iwlwifi: mld: respect AUTO_EML_ENABLE in iwl_mld_int_mlo_scan() Date: Mon, 9 Jun 2025 21:21:09 +0300 Message-Id: <20250609211928.9ecb5c5301d4.I88b37e93d9ba66d4381f4976541b4aca2a20e36e@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> References: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited From: Itamar Shalev Respect this flag and don't scan for another link if it is set. Signed-off-by: Itamar Shalev Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/mld/scan.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mld/scan.c b/drivers/net/wireless/intel/iwlwifi/mld/scan.c index 3fce7cd2d512..55d54bf29eae 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/scan.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/scan.c @@ -1809,8 +1809,8 @@ void iwl_mld_int_mlo_scan(struct iwl_mld *mld, struct ieee80211_vif *vif) lockdep_assert_wiphy(mld->wiphy); - if (!vif->cfg.assoc || !ieee80211_vif_is_mld(vif) || - hweight16(vif->valid_links) == 1) + if (!IWL_MLD_AUTO_EML_ENABLE || !vif->cfg.assoc || + !ieee80211_vif_is_mld(vif) || hweight16(vif->valid_links) == 1) return; if (mld->scan.status & IWL_MLD_SCAN_INT_MLO) { From patchwork Mon Jun 9 18:21:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 895983 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7B72A21D3C5 for ; Mon, 9 Jun 2025 18:21:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493314; cv=none; b=BeSxcKj0ID7gvyM/NF2Uygy/b7s2+DSo5Q1cJG11p9rQ3zN1ijL6Rt1HNQ201rP6PD2QUu2bpo3R78VA0jMvdx9pmgWtqSutKraSG4+pD0nx+0l2qYt/U180YGp/MPmwzeIQgpGOpwdVZPjEwZdgP/SYJmThXY1hMV9gzGLPRVY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493314; c=relaxed/simple; bh=Mwrt7RVuYb0ao+O7vsqss8yMr48BWvDHYKonNy5/Z7g=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=gH/7dygGJTZGAYMFqyXmq87VyLa6xyeO2+HYtR0neZ3zOngM0oup0qcSqdfSOIOPHhLbwjfKt8pz1SPKfaIpCS4b/wtDzpHx+2v/dMefOcm6FdS1ruu9J3r6ZoFYGbcOMIi4cqMayTbC/JN3m7EgizsjYKndj81dK9LkOig+seo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=fewsclRr; arc=none smtp.client-ip=192.198.163.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="fewsclRr" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749493313; x=1781029313; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Mwrt7RVuYb0ao+O7vsqss8yMr48BWvDHYKonNy5/Z7g=; b=fewsclRrcXQQUaM29EmDzy1Az1c7BiphizAxZz5vAL2hnMTokvQ427lC XMOh0zGe508GG1gn0suuFhbjurRxsHUiJrqcH099lswe5tFltQJd+H2Ww pL9zCPLpsw5mJhhs2wNaEUQZ5qItb4fki+nB0DGasp7hY8FTBCA01NCZp s2KDs/6vao7mYOzkiMWHpj5g/E8WuMfNNbYcAUY/0dVH9nKUhYHVbHKvI XDHhJxEt1vYnfA6WOA12gxIUZ9FF5n0UPuRsNjvHii2nacNUhQNKpMb8m kPelzrSPimYkJV+KDUlmA4cVxBoUl5Yhrq7ak65720b9NexthsF2WZRZr Q==; X-CSE-ConnectionGUID: gu5l1Ud5ThGGlJUVPfSNzA== X-CSE-MsgGUID: ouCR+FQxQBKZDVh9RAirMg== X-IronPort-AV: E=McAfee;i="6800,10657,11459"; a="62237673" X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="62237673" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:21:52 -0700 X-CSE-ConnectionGUID: xJMPC4oYQbKD+cnDdavx+g== X-CSE-MsgGUID: L9PfQ8nTSIeFOLJDodmJjw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="146510257" Received: from weis0040.iil.intel.com ([10.12.217.108]) by orviesa010-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:21:52 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Johannes Berg Subject: [PATCH iwlwifi-next 04/15] wifi: iwlwifi: pcie: add missing TOP reset code Date: Mon, 9 Jun 2025 21:21:10 +0300 Message-Id: <20250609211928.3f84eb03cc00.If138ceeb8bb178b3931d96b537f746346227e681@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> References: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited From: Johannes Berg The TOP reset requires code to handle the interrupt, which had been in my patch at some point, but clearly got lost. As the test had been running on the wrong hardware and failing due to that, we missed this. Add the missing code. Signed-off-by: Johannes Berg Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/pcie/rx.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/rx.c b/drivers/net/wireless/intel/iwlwifi/pcie/rx.c index f0405eddc367..fefde167c41b 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/rx.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/rx.c @@ -1852,7 +1852,12 @@ static void iwl_trans_pcie_handle_reset_interrupt(struct iwl_trans *trans) } fallthrough; case CSR_IPC_STATE_RESET_TOP_READY: - /* FIXME: handle this case when requesting TOP reset */ + if (trans_pcie->fw_reset_state == FW_RESET_TOP_REQUESTED) { + IWL_DEBUG_ISR(trans, "TOP Reset continues\n"); + trans_pcie->fw_reset_state = FW_RESET_OK; + wake_up(&trans_pcie->fw_reset_waitq); + break; + } fallthrough; case CSR_IPC_STATE_RESET_NONE: IWL_FW_CHECK_FAILED(trans, From patchwork Mon Jun 9 18:21:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 895166 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BE76721CC71 for ; Mon, 9 Jun 2025 18:21:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493316; cv=none; b=JsksjqvEHOmeefUuahhIlePm0OiZ+iU2Ib1Bs/GD1leBPBnsExroQ4kAKLDuqkHQczhfaJdds+izSaArLFNrFF2aLltADlR5Mrt8PlPR50HJqxr9UdGdSGGhET2Gzekkm1GOsnj/R1b1RhkQE/yKx1mrBTfgQd93xSNTbDmvYNE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493316; c=relaxed/simple; bh=LOWI0PlxHRzqimUkDZzkH21UCUsdC6LKaNEQ2d2xx3A=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=RV3xirXI8MBmsyy1Nw/E5nWZJzXIEeSYj42TB49ola60FaZhDU6JjiIrAtd6AbOG3/c0zIG/iXyUhzM35jdOExnFjZSh1nA0/czccLM+sYfbeLhyCFDhVUjATsY11MpBd7DYokNufTwrf7Bp6m317Nb8HGrwtHY8iVilxtxwCoA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=M1auHHCN; arc=none smtp.client-ip=192.198.163.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="M1auHHCN" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749493314; x=1781029314; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=LOWI0PlxHRzqimUkDZzkH21UCUsdC6LKaNEQ2d2xx3A=; b=M1auHHCNhfTxeXvR3vehXKdubcq6RHkWLXO151+4BP9jGAGO8/qt3yYv rgIy5AKrWCDYIB0W6uA1bCg0STB3pa867VWO6Va1RtZRydt+l4z79FD6j snUhGuEvOlA2ztJg/bFckVB6gFCtyT9f55RdwBHKh5HVos7WaY18k3Q/6 beKd4iC0tq61o+3zkPvuGTAT4aCvO5NZa+B+60dVmAxN+G0EjKY0m8hVA vkI9GXV9vv5n3THN98C6kJxsCmJNVs3W28BOF9tjlcMcbuu3jhcNQByeK RKRgjB68K7wLePRD1aGCMDaT+/9I0pcFCaAP/ZNavfIh4/4K6BbKulTrX A==; X-CSE-ConnectionGUID: LFmHy9F6TOWz5gQpm1wq9w== X-CSE-MsgGUID: shNdbzjATNKXnWAinSzT8A== X-IronPort-AV: E=McAfee;i="6800,10657,11459"; a="62237676" X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="62237676" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:21:54 -0700 X-CSE-ConnectionGUID: t+RHXQF4R7GXr/JiJYKoFg== X-CSE-MsgGUID: H5QnvXEhR5mINOU0XtPWvw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="146510274" Received: from weis0040.iil.intel.com ([10.12.217.108]) by orviesa010-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:21:53 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Johannes Berg Subject: [PATCH iwlwifi-next 05/15] wifi: iwlwifi: move iwl-context-info header files Date: Mon, 9 Jun 2025 21:21:11 +0300 Message-Id: <20250609211928.606f48f72bcd.I4b89d373d961146e5369d1aed9f625150de7bf7d@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> References: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited context info is PCIE specific, so it should be located in pcie directory. The c files are already there, move also the header files. Reviewed-by: Johannes Berg Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/iwl-trans.c | 2 +- .../net/wireless/intel/iwlwifi/{ => pcie}/iwl-context-info-v2.h | 0 .../net/wireless/intel/iwlwifi/{ => pcie}/iwl-context-info.h | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename drivers/net/wireless/intel/iwlwifi/{ => pcie}/iwl-context-info-v2.h (100%) rename drivers/net/wireless/intel/iwlwifi/{ => pcie}/iwl-context-info.h (100%) diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-trans.c b/drivers/net/wireless/intel/iwlwifi/iwl-trans.c index 8a40801cf0dd..221c3997ee87 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-trans.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-trans.c @@ -15,7 +15,7 @@ #include #include "fw/api/commands.h" #include "pcie/internal.h" -#include "iwl-context-info-v2.h" +#include "pcie/iwl-context-info-v2.h" struct iwl_trans_dev_restart_data { struct list_head list; diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-context-info-v2.h b/drivers/net/wireless/intel/iwlwifi/pcie/iwl-context-info-v2.h similarity index 100% rename from drivers/net/wireless/intel/iwlwifi/iwl-context-info-v2.h rename to drivers/net/wireless/intel/iwlwifi/pcie/iwl-context-info-v2.h diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-context-info.h b/drivers/net/wireless/intel/iwlwifi/pcie/iwl-context-info.h similarity index 100% rename from drivers/net/wireless/intel/iwlwifi/iwl-context-info.h rename to drivers/net/wireless/intel/iwlwifi/pcie/iwl-context-info.h From patchwork Mon Jun 9 18:21:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 895982 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 63DD521D58C for ; Mon, 9 Jun 2025 18:21:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493316; cv=none; b=oUEUQng6LwwQt+KRXn/SRYfy1CgdtfqYuQWkwBL47x5tcDF87tGFFJMU+HjE/WgDkmKMUu7QjCbPtQ2rXKP1LI394IsGjSHlT2njHd2wnY6QUy1RPxL/upEpbMWNiX3Ebnsq76DhMeOYshm2qWgQ3CBvxSRucQCW/Qh7SH9xyJc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493316; c=relaxed/simple; bh=OAVKdxtiMVg920yS4evDJMx+iS7vGknf+KvzIj+nEYM=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=I1EEGy2zF1XJv9F3pCsRnDMniEgATAdVVBPPa5MeyUKJLCwvEDj2YYYtTf/Gxmgwh7Dlhev3mPULq69s89EPm7zS/F82QMfjkHfgD9Zo1pL43tdhS8Y9dgZ3h1B1U9AMj2wR/PHKtuSja/mojqDQ99dC0jrVO8VkRybS/klyKc8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=GhWgcR9T; arc=none smtp.client-ip=192.198.163.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="GhWgcR9T" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749493315; x=1781029315; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=OAVKdxtiMVg920yS4evDJMx+iS7vGknf+KvzIj+nEYM=; b=GhWgcR9Th0MvK6R9kj5Lh0Zf7K66EA9qslpDEs7uLi42P7xgUVc19Uug y/l1pJXDe8i5jTFlYqkPh/nBW7wZgWM3o0AKrrk6k4uzy78oizd+y0VRb WyJSFlae9nt5ZONQbX7oOwTh4BAopjwFNAgOM8qbnAY5cvCETqjdMe8MW zGu+Zmorr64Wv8IMhMZAF0Ti6zvaUE0VcuU9t448mpZb4/Rwj7aRdVdjj 6ln0HwoWugxONDhVduO+H42WHh+Xc9nxGD9w9t7xHiTCTctCuCf7knmj8 btpRR6Oi773rrk8sVup3Jo6gStGRGHUjioq9stHn/pyHvOXk1VJnImcXb g==; X-CSE-ConnectionGUID: 2WH6ApJkQ6uyuDEA4VebCg== X-CSE-MsgGUID: pejQVY0mQG+0bdUNYzRM9g== X-IronPort-AV: E=McAfee;i="6800,10657,11459"; a="62237680" X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="62237680" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:21:55 -0700 X-CSE-ConnectionGUID: aNw9vKXeSH+jlUU5eItlRw== X-CSE-MsgGUID: e2fXwFTOSM+HglQzGWxrjw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="146510275" Received: from weis0040.iil.intel.com ([10.12.217.108]) by orviesa010-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:21:54 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Subject: [PATCH iwlwifi-next 06/15] wifi: iwlwifi: bump FW API to 100 for BZ/SC/DR devices Date: Mon, 9 Jun 2025 21:21:12 +0300 Message-Id: <20250609211928.b390724143b1.I53b0c631875af91d6c672d1712260ed2858a1c5d@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> References: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited Start supporting API version 100 for those devices. Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/cfg/bz.c | 2 +- drivers/net/wireless/intel/iwlwifi/cfg/dr.c | 2 +- drivers/net/wireless/intel/iwlwifi/cfg/sc.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/cfg/bz.c b/drivers/net/wireless/intel/iwlwifi/cfg/bz.c index 05e45fff8b36..600206432c25 100644 --- a/drivers/net/wireless/intel/iwlwifi/cfg/bz.c +++ b/drivers/net/wireless/intel/iwlwifi/cfg/bz.c @@ -10,7 +10,7 @@ #include "fw/api/txq.h" /* Highest firmware API version supported */ -#define IWL_BZ_UCODE_API_MAX 99 +#define IWL_BZ_UCODE_API_MAX 100 /* Lowest firmware API version supported */ #define IWL_BZ_UCODE_API_MIN 93 diff --git a/drivers/net/wireless/intel/iwlwifi/cfg/dr.c b/drivers/net/wireless/intel/iwlwifi/cfg/dr.c index 45e55cef42ea..5de7a530ae68 100644 --- a/drivers/net/wireless/intel/iwlwifi/cfg/dr.c +++ b/drivers/net/wireless/intel/iwlwifi/cfg/dr.c @@ -9,7 +9,7 @@ #include "fw/api/txq.h" /* Highest firmware API version supported */ -#define IWL_DR_UCODE_API_MAX 99 +#define IWL_DR_UCODE_API_MAX 100 /* Lowest firmware API version supported */ #define IWL_DR_UCODE_API_MIN 97 diff --git a/drivers/net/wireless/intel/iwlwifi/cfg/sc.c b/drivers/net/wireless/intel/iwlwifi/cfg/sc.c index b2e4d4035296..97545c2a3b00 100644 --- a/drivers/net/wireless/intel/iwlwifi/cfg/sc.c +++ b/drivers/net/wireless/intel/iwlwifi/cfg/sc.c @@ -10,7 +10,7 @@ #include "fw/api/txq.h" /* Highest firmware API version supported */ -#define IWL_SC_UCODE_API_MAX 99 +#define IWL_SC_UCODE_API_MAX 100 /* Lowest firmware API version supported */ #define IWL_SC_UCODE_API_MIN 97 From patchwork Mon Jun 9 18:21:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 895165 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7B6FF21D3C5 for ; Mon, 9 Jun 2025 18:21:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493317; cv=none; b=Yu+5DIjb2U/uKuaA2ftjZMhlNHtylrhL24k9wA7G+RksWp0TN50Dog2RPawWYgpDb4Ycrff+bBcJX1bJWRixaMxY3JkfIbG3wqtxHzfMqHTCQQLF71zugikfc9POyxAKQcUVpiRsEOfv5x7iPQxHBTjZdSe+Dmxla0VNX5Zagd4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493317; c=relaxed/simple; bh=JARJaGnKZOGPnD2K6yvct0srAFjcJWWZFdL0bqvEtUI=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=YMEsYZoAi0QLMBu6+Iqe9LBWT460KPfnJ+jMHTFnj1ne5BN4IGMa8i8BnLtvlO/jeMdyVgdeolN34RzHcjfuJv3Qcbx6GWGi5os7fyqB/prFsdyyMvXJQdflITmNmoRd8TYaAcS2keDd7BPg+osda9ds1JxtEAYyTt1Bo0vMT6A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=S7v21Le0; arc=none smtp.client-ip=192.198.163.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="S7v21Le0" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749493316; x=1781029316; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=JARJaGnKZOGPnD2K6yvct0srAFjcJWWZFdL0bqvEtUI=; b=S7v21Le0U58NMtCYl5FtsUebQ6iAAUYa4Dlml4CgLODgKGOyWdrvrZYO nqoDZkkY8sGe/CBnSCY6TJ9OWGUjYqG0WgPGEd1ZPYi4hTXnlWxRttkV4 /XesY5Ij0fGhGd5/BEG7GKzpBCpHGSEdQmfP58TBC42WjQi9BOJYTk/4L /snxOlsi0L9JRe0IWok/P1RlMndDqiS58SCIv+WrE0qlDdkv6lGQXWzYe I4t4JDm0byVi/1u5B3p/Ch1J2BmTb8lSuA+5hz2Oj1yD5Hqgg3vfWo38G /VFMFnz3U3gjPUNEZQB+ajNihXr++/IlshvGnCvyFLMbVDVhQRE8W6Jsg g==; X-CSE-ConnectionGUID: l6AWDiw7TnS8SGyhQDuuBg== X-CSE-MsgGUID: aiIGTbsCQra+QTDa5AjnNQ== X-IronPort-AV: E=McAfee;i="6800,10657,11459"; a="62237684" X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="62237684" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:21:56 -0700 X-CSE-ConnectionGUID: KMRlzZ/mRDuhE902ddW/Pg== X-CSE-MsgGUID: 9fBLimMAR9yl//GJU59IBw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="146510283" Received: from weis0040.iil.intel.com ([10.12.217.108]) by orviesa010-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:21:55 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Subject: [PATCH iwlwifi-next 07/15] wifi: iwlwifi: bump minimum API version in BZ/SC/DR Date: Mon, 9 Jun 2025 21:21:13 +0300 Message-Id: <20250609211928.aeeef3290d03.I2433bfe9def643b5f4c0e77ff3cf8cd1285f5aad@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> References: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited Stop supporting older FWs. Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/cfg/bz.c | 2 +- drivers/net/wireless/intel/iwlwifi/cfg/dr.c | 2 +- drivers/net/wireless/intel/iwlwifi/cfg/sc.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/cfg/bz.c b/drivers/net/wireless/intel/iwlwifi/cfg/bz.c index 600206432c25..e616c0381360 100644 --- a/drivers/net/wireless/intel/iwlwifi/cfg/bz.c +++ b/drivers/net/wireless/intel/iwlwifi/cfg/bz.c @@ -13,7 +13,7 @@ #define IWL_BZ_UCODE_API_MAX 100 /* Lowest firmware API version supported */ -#define IWL_BZ_UCODE_API_MIN 93 +#define IWL_BZ_UCODE_API_MIN 94 /* Memory offsets and lengths */ #define IWL_BZ_SMEM_OFFSET 0x400000 diff --git a/drivers/net/wireless/intel/iwlwifi/cfg/dr.c b/drivers/net/wireless/intel/iwlwifi/cfg/dr.c index 5de7a530ae68..4dbf3d3694b0 100644 --- a/drivers/net/wireless/intel/iwlwifi/cfg/dr.c +++ b/drivers/net/wireless/intel/iwlwifi/cfg/dr.c @@ -12,7 +12,7 @@ #define IWL_DR_UCODE_API_MAX 100 /* Lowest firmware API version supported */ -#define IWL_DR_UCODE_API_MIN 97 +#define IWL_DR_UCODE_API_MIN 98 /* Memory offsets and lengths */ #define IWL_DR_SMEM_OFFSET 0x400000 diff --git a/drivers/net/wireless/intel/iwlwifi/cfg/sc.c b/drivers/net/wireless/intel/iwlwifi/cfg/sc.c index 97545c2a3b00..44bc0274bc47 100644 --- a/drivers/net/wireless/intel/iwlwifi/cfg/sc.c +++ b/drivers/net/wireless/intel/iwlwifi/cfg/sc.c @@ -13,7 +13,7 @@ #define IWL_SC_UCODE_API_MAX 100 /* Lowest firmware API version supported */ -#define IWL_SC_UCODE_API_MIN 97 +#define IWL_SC_UCODE_API_MIN 98 /* NVM versions */ #define IWL_SC_NVM_VERSION 0x0a1d From patchwork Mon Jun 9 18:21:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 895981 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ED77121CA14 for ; Mon, 9 Jun 2025 18:21:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493319; cv=none; b=Ark0gE1/VWfbB4+Civ7RnIUry6UKldEuprkR6cX2KYFL+How1owaJe8jDmlEOs7U7V8j/xLeeSBVjCMBv989h2lbGsb9M/tXKfsAzpt1oVqKlPLpfsU8TmpPMiLjMKzkGr4wrrmtFzjX6YSzOGZVidwcVQA/8yhLAFw8oOel0CQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493319; c=relaxed/simple; bh=jI/EMHOL9jDiBrDUK8hnsP4ssKNQRkPjNil3bI+doHw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=dYhVaKokCwkQ6jBBSIwj8YphpGBSZgfSl8P+EJMsck5BdrXh3CmeHTRdh0hZzvBje7wQVBXRHW1JEIG9thAKqUol9P66+052Z8y0YbaTJIV83Z4TCmouCrbEJ8nnqeHbTn80MQGmRXUIRRUEq3DZPqVs2vGzfiBPwkhK3uFTMwc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=LNrWK0tg; arc=none smtp.client-ip=192.198.163.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="LNrWK0tg" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749493318; x=1781029318; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=jI/EMHOL9jDiBrDUK8hnsP4ssKNQRkPjNil3bI+doHw=; b=LNrWK0tgPRrKgXoj+4ux0bDanPx2/xeLkvawyjfNth0lrMfQaXzs0gk9 D3Pi1t/io7KgGWuXQfyQRq78k4JmVZQpz6VnmizrkAI34YVeXoze4MTT5 r3a1/k2GMZlMrkApG/O6UcSSsgcCL2WuLbF4oDqsrUE3pNe9Pk6Gd93wt hT7tSOMRuVU/9vuCDbUYh/chPI7Sk5jxPLtiT1ycLct+BYjysA2xlssdW DeX/2wKG1rFH/lEAWrB4xysygzbF6Rjj/ALTP10XJP5U97gdGqxruBw5K PfMWfY2cLMJGNkhNwhcjaWzzaGw0LaMXQp8DuL3/zLWKYT+qJvpbxIeW5 w==; X-CSE-ConnectionGUID: 8FeqG+pCSNyuwFNYfYrP6Q== X-CSE-MsgGUID: 6Q6Vn3WXToafzFrk4nObEQ== X-IronPort-AV: E=McAfee;i="6800,10657,11459"; a="62237686" X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="62237686" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:21:57 -0700 X-CSE-ConnectionGUID: /st1nbnDQVWVyBZctXLkVw== X-CSE-MsgGUID: xzrAdMQsS0+BsVJT6pXBFQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="146510316" Received: from weis0040.iil.intel.com ([10.12.217.108]) by orviesa010-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:21:56 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Pagadala Yesu Anjaneyulu Subject: [PATCH iwlwifi-next 08/15] wifi: iwlwifi: parse VLP AP not allowed nvm channel flag Date: Mon, 9 Jun 2025 21:21:14 +0300 Message-Id: <20250609211928.a433cb0ea0f3.Ifc6d7ba96d200dca0e3d38ec8d71625fd81a10ae@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> References: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited From: Pagadala Yesu Anjaneyulu OEMs need the option to enable/disable VLP AP. Add NVM flag to control VLP AP configuration. Signed-off-by: Pagadala Yesu Anjaneyulu Signed-off-by: Miri Korenblit --- .../wireless/intel/iwlwifi/iwl-nvm-parse.c | 41 +++++++++++-------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c index 0592f0f59d1c..56bac0a9755a 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c @@ -160,23 +160,26 @@ static struct ieee80211_rate iwl_cfg80211_rates[] = { * @NVM_CHANNEL_DC_HIGH: DC HIGH required/allowed (?) * @NVM_CHANNEL_VLP: client support connection to UHB VLP AP * @NVM_CHANNEL_AFC: client support connection to UHB AFC AP + * @NVM_CHANNEL_VLP_AP_NOT_ALLOWED: UHB VLP AP not allowed, + * Valid only when %NVM_CHANNEL_VLP is enabled. */ enum iwl_nvm_channel_flags { - NVM_CHANNEL_VALID = BIT(0), - NVM_CHANNEL_IBSS = BIT(1), - NVM_CHANNEL_ALLOW_20MHZ_ACTIVITY = BIT(2), - NVM_CHANNEL_ACTIVE = BIT(3), - NVM_CHANNEL_RADAR = BIT(4), - NVM_CHANNEL_INDOOR_ONLY = BIT(5), - NVM_CHANNEL_GO_CONCURRENT = BIT(6), - NVM_CHANNEL_UNIFORM = BIT(7), - NVM_CHANNEL_20MHZ = BIT(8), - NVM_CHANNEL_40MHZ = BIT(9), - NVM_CHANNEL_80MHZ = BIT(10), - NVM_CHANNEL_160MHZ = BIT(11), - NVM_CHANNEL_DC_HIGH = BIT(12), - NVM_CHANNEL_VLP = BIT(13), - NVM_CHANNEL_AFC = BIT(14), + NVM_CHANNEL_VALID = BIT(0), + NVM_CHANNEL_IBSS = BIT(1), + NVM_CHANNEL_ALLOW_20MHZ_ACTIVITY = BIT(2), + NVM_CHANNEL_ACTIVE = BIT(3), + NVM_CHANNEL_RADAR = BIT(4), + NVM_CHANNEL_INDOOR_ONLY = BIT(5), + NVM_CHANNEL_GO_CONCURRENT = BIT(6), + NVM_CHANNEL_UNIFORM = BIT(7), + NVM_CHANNEL_20MHZ = BIT(8), + NVM_CHANNEL_40MHZ = BIT(9), + NVM_CHANNEL_80MHZ = BIT(10), + NVM_CHANNEL_160MHZ = BIT(11), + NVM_CHANNEL_DC_HIGH = BIT(12), + NVM_CHANNEL_VLP = BIT(13), + NVM_CHANNEL_AFC = BIT(14), + NVM_CHANNEL_VLP_AP_NOT_ALLOWED = BIT(15), }; /** @@ -1685,10 +1688,12 @@ static u32 iwl_nvm_get_regdom_bw_flags(const u16 *nvm_chan, } /* Set the AP type for the UHB case. */ - if (nvm_flags & NVM_CHANNEL_VLP) - flags |= NL80211_RRF_ALLOW_6GHZ_VLP_AP; - else + if (nvm_flags & NVM_CHANNEL_VLP) { + if (!(nvm_flags & NVM_CHANNEL_VLP_AP_NOT_ALLOWED)) + flags |= NL80211_RRF_ALLOW_6GHZ_VLP_AP; + } else { flags |= NL80211_RRF_NO_6GHZ_VLP_CLIENT; + } if (!(nvm_flags & NVM_CHANNEL_AFC)) flags |= NL80211_RRF_NO_6GHZ_AFC_CLIENT; From patchwork Mon Jun 9 18:21:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 895164 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 82DAE21D3C5 for ; Mon, 9 Jun 2025 18:21:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493322; cv=none; b=WG7ipv8hd7w+Whdl6bzGR+2E/8wPnhFdFzY0uTqPNDKjdya2y6R6OCB49FPhb+KiEughtM7vNaV8WrMj0+YEbMNgwC/UqqzgCHl5+rJTr8oMIEByC8SeI5zBskY+9W5gMCBec+3QzFv7OJtksJdSFwUUcPEemo9dZe1D6J4KS9k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493322; c=relaxed/simple; bh=virmJCT7fXzQotnwZx+AC7fS8g3uf0WsW6o3mTyDq7w=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=UomCFh6MLkctx9NAygqftJy55cI+kqKmyw5Kyu6hZ1eyQQAN/bZu58ZXH8WRIUBfX0b1wgBxxoECufQpQuFkB2/APH4vYZ1/xxp3EzltoTe2vbCBaeIR+d+iEjYnavzVCnkYWQKKlFCOotM3MRdWUw+fI2zcOo25C0pLjQ4t74A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=P6ctE096; arc=none smtp.client-ip=192.198.163.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="P6ctE096" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749493319; x=1781029319; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=virmJCT7fXzQotnwZx+AC7fS8g3uf0WsW6o3mTyDq7w=; b=P6ctE0966d6gYZpvMiyU6vbmHWtxn6O8UUKjTJeBN3/4pIZ/OGsphMyu i2LKDJB4vnJvBB5cp/zsSIP2mZTlzh7bmUsTAnZPIfRz45KOHGQOBlNF5 LpMtU4x21+RMueMaA+55Tn2zfkFxPxlUlWZNtZdioQ9g8CgVE/0lF5XcS VflekGc/OxN6e1syyY0Wzaz/YmQBBF5jxpdXf//lGHNahRu8+Q3j4S+71 fGkOuCe4AfyDilFjxYRn7x2ENilWBzzu7Hu9aAs7pS3AmO7WQZa30NUCn jZwkl64nG72UonrF/ZWxRV6U619gM3UD7Tyff8mjuBp1YhOY8cZtfyH9X A==; X-CSE-ConnectionGUID: vfsbZcebQ8qySKubN9hFkg== X-CSE-MsgGUID: 789tFPiPRjuyY6+bfgPmoQ== X-IronPort-AV: E=McAfee;i="6800,10657,11459"; a="62237689" X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="62237689" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:21:59 -0700 X-CSE-ConnectionGUID: vaDPuXRPTCSbx4mzOdbCMA== X-CSE-MsgGUID: IJEcdeHfQoqHXCR3+D55ZA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="146510338" Received: from weis0040.iil.intel.com ([10.12.217.108]) by orviesa010-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:21:58 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Itamar Shalev , Miriam Rachel Korenblit Subject: [PATCH iwlwifi-next 09/15] wifi: iwlwifi: mvm: enable antenna selection for AX210 family Date: Mon, 9 Jun 2025 21:21:15 +0300 Message-Id: <20250609211928.098c7bc296f6.I1cb4e99aa2f5a3852e24e2d32795bae3a4a73742@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> References: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited From: Itamar Shalev Support for the `set antenna` command on AX210 family. Signed-off-by: Itamar Shalev Tested-by: Miriam Rachel Korenblit Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c index 0f056a6641bd..f99dc8624bd1 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c @@ -312,7 +312,8 @@ int iwl_mvm_op_set_antenna(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant) /* This has been tested on those devices only */ if (mvm->trans->mac_cfg->device_family != IWL_DEVICE_FAMILY_9000 && - mvm->trans->mac_cfg->device_family != IWL_DEVICE_FAMILY_22000) + mvm->trans->mac_cfg->device_family != IWL_DEVICE_FAMILY_22000 && + mvm->trans->mac_cfg->device_family != IWL_DEVICE_FAMILY_AX210) return -EOPNOTSUPP; if (!mvm->nvm_data) From patchwork Mon Jun 9 18:21:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 895980 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 99C9021CA14 for ; Mon, 9 Jun 2025 18:22:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493322; cv=none; b=WmWzeTDcgkn/sUkeBzZ4kxwEb7ohcerC0UTi1p8yMjGa2GWUeIcc3l1oduSr/Es52zibJKyANtLo04qf7fstBs4uSCtgu14iy3nOs+a308qUkBb8eqUmQmDicK+HQLp116juLSqbZCVqIcxz4mgWenLZrkGaM28kgahN7uiWCWU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493322; c=relaxed/simple; bh=LRgemWFWSWjM7MUCohzbJnvRWyOwOzOsQ6m27aDDeMo=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ETDB91Z0lfzoAZE3PvKIQoiU7vqsXbQdnZcQnPyvFMqfFLQCy1/+hzfFE5sMYF1cKBoEI6+e+Vm58B5sVoXc53N9/Yq88l5qabRCQ1BrGV8JDgXtx+hGYMroGMzQwpGNzV5YcEB5CYQFWHj/yKTlQSJVtyQNPw0c3PULVQ60qY8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=F0bu+rEp; arc=none smtp.client-ip=192.198.163.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="F0bu+rEp" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749493320; x=1781029320; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=LRgemWFWSWjM7MUCohzbJnvRWyOwOzOsQ6m27aDDeMo=; b=F0bu+rEpl7nx2Ecxn2Jg1tEE1fB7rtCxwYncPYOWymQKg9JqvNIwXSV6 06JFX5WFIc3Kfvz70MLBrwxuY+9GMcCFVwS4kV/BHXW/y1LlYoBN6g6VK LUNuiKbf8yUyIZ/yUuVE1/g4kKqeeteg2eI/sVNHD07UBLOCrSDe2emDw /0LAWZ9pVfdnJ9FHfKCLCjbn0PbGtpJ95wHEdMQxc40wjFPkrcj5YrS+d cVtRBjOEIRKo6ARrYqfFifxGXBq78Zy2TiO4eN+ViweQtXsHuhaWrNt7W 0VAqhVCDraI5nQ3Pn0GA/b5wI/kD0Y/LmhL/QXdm7lmPCbEOl8wbRCF3A A==; X-CSE-ConnectionGUID: RwS+V2B7Q2eL2NJCb7Brvw== X-CSE-MsgGUID: ctPKHQCYT6SaY9nJcK4KwA== X-IronPort-AV: E=McAfee;i="6800,10657,11459"; a="62237690" X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="62237690" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:22:00 -0700 X-CSE-ConnectionGUID: bUR0qHjcS5yujVHcGDYj3g== X-CSE-MsgGUID: 5Morg1KkSWOf0/9NTcWmsw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="146510340" Received: from weis0040.iil.intel.com ([10.12.217.108]) by orviesa010-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:21:59 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Subject: [PATCH iwlwifi-next 10/15] wifi: iwlwifi: pcie: move generation specific files to a folder Date: Mon, 9 Jun 2025 21:21:16 +0300 Message-Id: <20250609211928.bb0757c326c5.I66345c2b3fda55dcb8ff779c64de72d5c19f6649@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> References: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited As a new generation of pcie is going to be written, we will need a folder for each generation. Since gen1 and gen2 code is tightly coupled and has with shared logic - it is not really separable. Put the code of both in one folder. Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/Makefile | 8 +++++--- drivers/net/wireless/intel/iwlwifi/iwl-trans.c | 2 +- drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-v2.c | 2 +- drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info.c | 2 +- drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 2 +- .../wireless/intel/iwlwifi/pcie/{ => gen1_2}/internal.h | 2 +- drivers/net/wireless/intel/iwlwifi/pcie/{ => gen1_2}/rx.c | 2 +- .../wireless/intel/iwlwifi/pcie/{ => gen1_2}/trans-gen2.c | 4 ++-- .../net/wireless/intel/iwlwifi/pcie/{ => gen1_2}/trans.c | 2 +- .../wireless/intel/iwlwifi/pcie/{ => gen1_2}/tx-gen2.c | 0 drivers/net/wireless/intel/iwlwifi/pcie/{ => gen1_2}/tx.c | 0 11 files changed, 14 insertions(+), 12 deletions(-) rename drivers/net/wireless/intel/iwlwifi/pcie/{ => gen1_2}/internal.h (99%) rename drivers/net/wireless/intel/iwlwifi/pcie/{ => gen1_2}/rx.c (99%) rename drivers/net/wireless/intel/iwlwifi/pcie/{ => gen1_2}/trans-gen2.c (99%) rename drivers/net/wireless/intel/iwlwifi/pcie/{ => gen1_2}/trans.c (99%) rename drivers/net/wireless/intel/iwlwifi/pcie/{ => gen1_2}/tx-gen2.c (100%) rename drivers/net/wireless/intel/iwlwifi/pcie/{ => gen1_2}/tx.c (100%) diff --git a/drivers/net/wireless/intel/iwlwifi/Makefile b/drivers/net/wireless/intel/iwlwifi/Makefile index 3f476e333726..71101067b889 100644 --- a/drivers/net/wireless/intel/iwlwifi/Makefile +++ b/drivers/net/wireless/intel/iwlwifi/Makefile @@ -7,9 +7,11 @@ iwlwifi-objs += iwl-debug.o iwlwifi-objs += iwl-nvm-utils.o iwlwifi-objs += iwl-utils.o iwlwifi-objs += iwl-phy-db.o iwl-nvm-parse.o -iwlwifi-objs += pcie/drv.o pcie/rx.o pcie/tx.o pcie/trans.o -iwlwifi-objs += pcie/ctxt-info.o pcie/ctxt-info-v2.o -iwlwifi-objs += pcie/trans-gen2.o pcie/tx-gen2.o + +# Bus +iwlwifi-objs += pcie/ctxt-info.o pcie/ctxt-info-v2.o pcie/drv.o +iwlwifi-objs += pcie/gen1_2/rx.o pcie/gen1_2/tx.o pcie/gen1_2/trans.o +iwlwifi-objs += pcie/gen1_2/trans-gen2.o pcie/gen1_2/tx-gen2.o CFLAGS_pcie/drv.o += -Wno-override-init diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-trans.c b/drivers/net/wireless/intel/iwlwifi/iwl-trans.c index 221c3997ee87..5dba76b009a6 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-trans.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-trans.c @@ -14,7 +14,7 @@ #include "iwl-fh.h" #include #include "fw/api/commands.h" -#include "pcie/internal.h" +#include "pcie/gen1_2/internal.h" #include "pcie/iwl-context-info-v2.h" struct iwl_trans_dev_restart_data { diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-v2.c b/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-v2.c index 976fd1f58da4..0df379fda463 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-v2.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-v2.c @@ -6,7 +6,7 @@ #include "iwl-trans.h" #include "iwl-fh.h" #include "iwl-context-info-v2.h" -#include "internal.h" +#include "gen1_2/internal.h" #include "iwl-prph.h" static const struct dmi_system_id dmi_force_scu_active_approved_list[] = { diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info.c b/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info.c index cb36baac14da..d53dab95c3e7 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info.c @@ -6,7 +6,7 @@ #include "iwl-trans.h" #include "iwl-fh.h" #include "iwl-context-info.h" -#include "internal.h" +#include "gen1_2/internal.h" #include "iwl-prph.h" static void *_iwl_pcie_ctxt_info_dma_alloc_coherent(struct iwl_trans *trans, diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c index 656f8b06c27b..44e19b27f36a 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c @@ -15,7 +15,7 @@ #include "iwl-trans.h" #include "iwl-drv.h" #include "iwl-prph.h" -#include "internal.h" +#include "gen1_2/internal.h" #define _IS_A(cfg, _struct) __builtin_types_compatible_p(typeof(cfg), \ struct _struct) diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/internal.h b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h similarity index 99% rename from drivers/net/wireless/intel/iwlwifi/pcie/internal.h rename to drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h index 3b7c12fc4f9e..c90707cfd351 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/internal.h +++ b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h @@ -22,7 +22,7 @@ #include "iwl-io.h" #include "iwl-op-mode.h" #include "iwl-drv.h" -#include "iwl-context-info.h" +#include "pcie/iwl-context-info.h" /* * RX related structures and functions diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/rx.c b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/rx.c similarity index 99% rename from drivers/net/wireless/intel/iwlwifi/pcie/rx.c rename to drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/rx.c index fefde167c41b..7b56eb78663c 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/rx.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/rx.c @@ -12,7 +12,7 @@ #include "iwl-io.h" #include "internal.h" #include "iwl-op-mode.h" -#include "iwl-context-info-v2.h" +#include "pcie/iwl-context-info-v2.h" #include "fw/dbg.h" /****************************************************************************** diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans-gen2.c similarity index 99% rename from drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c rename to drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans-gen2.c index 38ad719161e6..6c5acb7bf643 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans-gen2.c @@ -5,8 +5,8 @@ */ #include "iwl-trans.h" #include "iwl-prph.h" -#include "iwl-context-info.h" -#include "iwl-context-info-v2.h" +#include "pcie/iwl-context-info.h" +#include "pcie/iwl-context-info-v2.h" #include "internal.h" #include "fw/dbg.h" diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c similarity index 99% rename from drivers/net/wireless/intel/iwlwifi/pcie/trans.c rename to drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c index cc4d289b110d..4d2806d071d9 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c @@ -28,7 +28,7 @@ #include "mei/iwl-mei.h" #include "internal.h" #include "iwl-fh.h" -#include "iwl-context-info-v2.h" +#include "pcie/iwl-context-info-v2.h" /* extended range in FW SRAM */ #define IWL_FW_MEM_EXTENDED_START 0x40000 diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c similarity index 100% rename from drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c rename to drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/tx.c b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c similarity index 100% rename from drivers/net/wireless/intel/iwlwifi/pcie/tx.c rename to drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c From patchwork Mon Jun 9 18:21:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 895163 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3063421CC79 for ; Mon, 9 Jun 2025 18:22:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493323; cv=none; b=cgqv6OdbacxI5oMdrRtP+JycxSRoXmp30ckXc+rntBJ9YkBeYsPknPGgmDSU/SYeuf5vLXhymHmYa0XVwf9VTnmq4U1WAfDzf4rJS8iD4NzpHC9UcCeoiV7F2oeUfy+rOWwyTcz6OmfQ9eysUPhMzNYELdVHqKFrBbt+juyObOI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493323; c=relaxed/simple; bh=je8VqrYTM7GyCcWF0UZvDnqaWlZ8VvtSAGumM+PSc4E=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=bqm/K7LvYFkeDIsFNW1SnfZf2hirgarywkm1Zv+IY/wKdZh2DIjibbgrFru37OPQ4aKRYS5toLZFTv0sarv9KA3dQson3vxc0jMAkz/AlqAXEStmeW30lY2kpU24vTJZogwbR475P4xJPVhbgtsiIutr6/BTQcWS4jUBoa9OArA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=AJACasR3; arc=none smtp.client-ip=192.198.163.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="AJACasR3" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749493322; x=1781029322; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=je8VqrYTM7GyCcWF0UZvDnqaWlZ8VvtSAGumM+PSc4E=; b=AJACasR3iP2AHA6L4MdzspuFKk+FS20HIAd0IktJsCI5H1XBGBCQOnVR T/IxzmQ0ycDr1Tyl6Yro2XL5yhXbJW+VPf2RlqTmRqMiy0CCKvqWI0Fjp k1OjJ9XqTD3NPeoLjpNl5wwxPOomIrortIRUBl3GnSr/mJfa0DIMA2eSh pS3LFndkcrzN4q5J5iBuMxmTz1UIypmZA/iZy/4VZv5Mo/fDQ1G1SmixQ FGc0amkhoqLrc0GSDQ9f/858siuqv04Ex/sk6Ic4JGAMXg3hc/Pw7GQDP NkAl12/RJQnfWIABjyNx9U7WStQ8P+qfErGZ8IIZWt/iJdNwzBIFV0PeH g==; X-CSE-ConnectionGUID: Y2LV1HbjTx+1P/qhFstAdw== X-CSE-MsgGUID: b7FM7IG5TGKg5DIDnff6Xw== X-IronPort-AV: E=McAfee;i="6800,10657,11459"; a="62237691" X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="62237691" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:22:01 -0700 X-CSE-ConnectionGUID: pYKENHgGS8yiLUoBbdxSIg== X-CSE-MsgGUID: dkzceQtqQsyFDRcB8CGQAw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="146510359" Received: from weis0040.iil.intel.com ([10.12.217.108]) by orviesa010-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:22:01 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Johannes Berg Subject: [PATCH iwlwifi-next 11/15] wifi: iwlwifi: pcie: initiate TOP reset if requested Date: Mon, 9 Jun 2025 21:21:17 +0300 Message-Id: <20250609211928.0875d5f7e066.I62f14008d89416bc4a3a1056e06762561a7fac57@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> References: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited From: Johannes Berg At load time, the firmware may request a TOP reset via bit 6 in the IPC status register. Handle that and set TOP reset in that case. Since the init will be retried, there's no need to do anything else. Signed-off-by: Johannes Berg Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/iwl-csr.h | 1 + drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/rx.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-csr.h b/drivers/net/wireless/intel/iwlwifi/iwl-csr.h index 0fd452cb94ae..f3fa37fee2e4 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-csr.h +++ b/drivers/net/wireless/intel/iwlwifi/iwl-csr.h @@ -113,6 +113,7 @@ #define CSR_IPC_STATE_RESET_SW_READY 1 #define CSR_IPC_STATE_RESET_TOP_READY 2 #define CSR_IPC_STATE_RESET_TOP_FOLLOWER 3 +#define CSR_IPC_STATE_TOP_RESET_REQ BIT(6) #define CSR_IPC_SLEEP_CONTROL (CSR_BASE + 0x114) #define CSR_IPC_SLEEP_CONTROL_SUSPEND 0x3 diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/rx.c b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/rx.c index 7b56eb78663c..0c73b1fe3645 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/rx.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/rx.c @@ -1700,6 +1700,15 @@ static void iwl_pcie_irq_handle_error(struct iwl_trans *trans) timer_delete(&trans_pcie->txqs.txq[i]->stuck_timer); } + if (trans->mac_cfg->device_family >= IWL_DEVICE_FAMILY_SC) { + u32 val = iwl_read32(trans, CSR_IPC_STATE); + + if (val & CSR_IPC_STATE_TOP_RESET_REQ) { + IWL_ERR(trans, "FW requested TOP reset for FSEQ\n"); + trans->do_top_reset = 1; + } + } + /* The STATUS_FW_ERROR bit is set in this function. This must happen * before we wake up the command caller, to ensure a proper cleanup. */ iwl_trans_fw_error(trans, IWL_ERR_TYPE_IRQ); From patchwork Mon Jun 9 18:21:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 895979 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F1E5D21CC79 for ; Mon, 9 Jun 2025 18:22:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493326; cv=none; b=k5pCtDFcZ/tVRpxcJaCdvKyiM+LdJpLCKxALRsXYHOUR2iy3bXJE2CfnKhgR+U0ZMQjyF7r2oxQw0kN6LNvzmcS2tkWCELfHbqQXHNyKzsn1q5Oiz5Bm2DrS9H/OOJGj0veFltn+fNSwy6Xe1LXhDQ8OSCVgrVO8fr1g4ZqI/+c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493326; c=relaxed/simple; bh=keoQroPYz90GAjM4Q3F2sLDDH17aIfGTxA/GUhggGBw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Hy6I+kBy2t63094hd841Nc04TsWTOJafPXuC7teS+3k4BTO2sLyWF3gg13dKBXvy6H1uKbL1iD6tHswAYdj1aZ8rtH1rQ/5YCCQd6YKQQGr8bI8MUgnimJXpCugoxK6feErynDclP19j75X7QkMsGWECVUFhJ68hX1AzoCCHxbw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=Iw223ZhG; arc=none smtp.client-ip=192.198.163.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Iw223ZhG" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749493325; x=1781029325; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=keoQroPYz90GAjM4Q3F2sLDDH17aIfGTxA/GUhggGBw=; b=Iw223ZhGiYHdIOoewY5RAE6g+chpvWSQTznHEgIWpop1XAkR4ByLTGXh DK6bcKcLpaKvSYABKJ5frD7u6kml+DuXKT14XnZV/E2M6BcvAkPQT8NwB GxiFq8asTsNaSGGGb3pxlEe+Jc0Lj7GGA4sBL8TqoRrFJiNYTnoj21xQV o7SRpLmeAAEgfx1qELVTywxaE0Gv5/tGY52WfcjxiYGVPPh8woQBmWU70 LgNyfeCONDsnucVrDZK9b3V//k+5APNaimdF4PLfoc2EGIDf1IZbB4Xlo JiKTdRJsG4u+vgqenXF5wn2zK/hVHxBrXXn7w05VeRVbgYWlvL3gwSZy3 w==; X-CSE-ConnectionGUID: PS1e25P5Sw2t+zNsw/LPyQ== X-CSE-MsgGUID: SUoBqzi3SO674ai/7nqZjA== X-IronPort-AV: E=McAfee;i="6800,10657,11459"; a="62237692" X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="62237692" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:22:03 -0700 X-CSE-ConnectionGUID: mKI7KnxOTwCgX9za+DyBVA== X-CSE-MsgGUID: LT5ntq8TR2OfMIvunu7Qbw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="146510375" Received: from weis0040.iil.intel.com ([10.12.217.108]) by orviesa010-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:22:02 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Benjamin Berg Subject: [PATCH iwlwifi-next 12/15] wifi: iwlwifi: move dBm averaging function into utils Date: Mon, 9 Jun 2025 21:21:18 +0300 Message-Id: <20250609211928.8cc965af6990.I09bb2137863e888efe756c92d8eb0271ec95456c@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> References: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited From: Benjamin Berg The function really is just a simple math helper. Move it into iwl-utils.c so that it can also be used by iwlmld. Signed-off-by: Benjamin Berg Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/Kconfig | 1 + .../net/wireless/intel/iwlwifi/iwl-utils.c | 113 ++++++++++++++++- .../net/wireless/intel/iwlwifi/iwl-utils.h | 4 +- drivers/net/wireless/intel/iwlwifi/mvm/mvm.h | 1 - drivers/net/wireless/intel/iwlwifi/mvm/scan.c | 117 +----------------- .../wireless/intel/iwlwifi/mvm/tests/Makefile | 2 +- .../net/wireless/intel/iwlwifi/tests/Makefile | 2 +- .../{mvm/tests/scan.c => tests/utils.c} | 43 ++++--- 8 files changed, 143 insertions(+), 140 deletions(-) rename drivers/net/wireless/intel/iwlwifi/{mvm/tests/scan.c => tests/utils.c} (63%) diff --git a/drivers/net/wireless/intel/iwlwifi/Kconfig b/drivers/net/wireless/intel/iwlwifi/Kconfig index 82f577da1a8b..153a8368b412 100644 --- a/drivers/net/wireless/intel/iwlwifi/Kconfig +++ b/drivers/net/wireless/intel/iwlwifi/Kconfig @@ -97,6 +97,7 @@ config IWLWIFI_OPMODE_MODULAR default y if IWLDVM=m default y if IWLMVM=m default y if IWLMLD=m + default y if IWLWIFI_KUNIT_TESTS=m comment "WARNING: iwlwifi is useless without IWLDVM or IWLMVM or IWLMLD" depends on IWLDVM=n && IWLMVM=n && IWLMLD=n diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-utils.c b/drivers/net/wireless/intel/iwlwifi/iwl-utils.c index c5b49851e4b9..d503544fda40 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-utils.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-utils.c @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ /* - * Copyright (C) 2024 Intel Corporation + * Copyright (C) 2024-2025 Intel Corporation */ #include #include @@ -82,3 +82,114 @@ int iwl_tx_tso_segment(struct sk_buff *skb, unsigned int num_subframes, } IWL_EXPORT_SYMBOL(iwl_tx_tso_segment); #endif /* CONFIG_INET */ + +static u32 iwl_div_by_db(u32 value, u8 db) +{ + /* + * 2^32 * 10**(i / 10) for i = [1, 10], skipping 0 and simply stopping + * at 10 dB and looping instead of using a much larger table. + * + * Using 64 bit math is overkill, but means the helper does not require + * a limit on the input range. + */ + static const u32 db_to_val[] = { + 0xcb59185e, 0xa1866ba8, 0x804dce7a, 0x65ea59fe, 0x50f44d89, + 0x404de61f, 0x331426af, 0x2892c18b, 0x203a7e5b, 0x1999999a, + }; + + while (value && db > 0) { + u8 change = min_t(u8, db, ARRAY_SIZE(db_to_val)); + + value = (((u64)value) * db_to_val[change - 1]) >> 32; + + db -= change; + } + + return value; +} + +s8 iwl_average_neg_dbm(const u8 *neg_dbm_values, u8 len) +{ + int average_magnitude; + u32 average_factor; + int sum_magnitude = -128; + u32 sum_factor = 0; + int i, count = 0; + + /* + * To properly average the decibel values (signal values given in dBm) + * we need to do the math in linear space. Doing a linear average of + * dB (dBm) values is a bit annoying though due to the large range of + * at least -10 to -110 dBm that will not fit into a 32 bit integer. + * + * A 64 bit integer should be sufficient, but then we still have the + * problem that there are no directly usable utility functions + * available. + * + * So, lets not deal with that and instead do much of the calculation + * with a 16.16 fixed point integer along with a base in dBm. 16.16 bit + * gives us plenty of head-room for adding up a few values and even + * doing some math on it. And the tail should be accurate enough too + * (1/2^16 is somewhere around -48 dB, so effectively zero). + * + * i.e. the real value of sum is: + * sum = sum_factor / 2^16 * 10^(sum_magnitude / 10) mW + * + * However, that does mean we need to be able to bring two values to + * a common base, so we need a helper for that. + * + * Note that this function takes an input with unsigned negative dBm + * values but returns a signed dBm (i.e. a negative value). + */ + + for (i = 0; i < len; i++) { + int val_magnitude; + u32 val_factor; + + /* Assume invalid */ + if (neg_dbm_values[i] == 0xff) + continue; + + val_factor = 0x10000; + val_magnitude = -neg_dbm_values[i]; + + if (val_magnitude <= sum_magnitude) { + u8 div_db = sum_magnitude - val_magnitude; + + val_factor = iwl_div_by_db(val_factor, div_db); + val_magnitude = sum_magnitude; + } else { + u8 div_db = val_magnitude - sum_magnitude; + + sum_factor = iwl_div_by_db(sum_factor, div_db); + sum_magnitude = val_magnitude; + } + + sum_factor += val_factor; + count++; + } + + /* No valid noise measurement, return a very high noise level */ + if (count == 0) + return 0; + + average_magnitude = sum_magnitude; + average_factor = sum_factor / count; + + /* + * average_factor will be a number smaller than 1.0 (0x10000) at this + * point. What we need to do now is to adjust average_magnitude so that + * average_factor is between -0.5 dB and 0.5 dB. + * + * Just do -1 dB steps and find the point where + * -0.5 dB * -i dB = 0x10000 * 10^(-0.5/10) / i dB + * = div_by_db(0xe429, i) + * is smaller than average_factor. + */ + for (i = 0; average_factor < iwl_div_by_db(0xe429, i); i++) { + /* nothing */ + } + + return clamp(average_magnitude - i, -128, 0); +} +IWL_EXPORT_SYMBOL(iwl_average_neg_dbm); diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-utils.h b/drivers/net/wireless/intel/iwlwifi/iwl-utils.h index 8f1f11d06fbe..5172035e4d26 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-utils.h +++ b/drivers/net/wireless/intel/iwlwifi/iwl-utils.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ /* - * Copyright (C) 2024 Intel Corporation + * Copyright (C) 2024-2025 Intel Corporation */ #ifndef __iwl_utils_h__ #define __iwl_utils_h__ @@ -53,4 +53,6 @@ u32 iwl_find_ie_offset(u8 *beacon, u8 eid, u32 frame_size) return ie - beacon; } +s8 iwl_average_neg_dbm(const u8 *neg_dbm_values, u8 len); + #endif /* __iwl_utils_h__ */ diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h index a4f412e750d0..e8419a2e4c4b 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h @@ -2133,7 +2133,6 @@ bool iwl_mvm_mld_valid_link_pair(struct ieee80211_vif *vif, s8 iwl_mvm_average_dbm_values(const struct iwl_umac_scan_channel_survey_notif *notif); - extern const struct iwl_hcmd_arr iwl_mvm_groups[]; extern const unsigned int iwl_mvm_groups_size; #endif diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/scan.c b/drivers/net/wireless/intel/iwlwifi/mvm/scan.c index 60bd9c7e5f03..5f30109ca18f 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/scan.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/scan.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause /* - * Copyright (C) 2012-2014, 2018-2024 Intel Corporation + * Copyright (C) 2012-2014, 2018-2025 Intel Corporation * Copyright (C) 2013-2015 Intel Mobile Communications GmbH * Copyright (C) 2016-2017 Intel Deutschland GmbH */ @@ -11,6 +11,7 @@ #include "mvm.h" #include "fw/api/scan.h" #include "iwl-io.h" +#include "iwl-utils.h" #define IWL_DENSE_EBS_SCAN_RATIO 5 #define IWL_SPARSE_EBS_SCAN_RATIO 1 @@ -3685,117 +3686,6 @@ static int iwl_mvm_chanidx_from_phy(struct iwl_mvm *mvm, return -EINVAL; } -static u32 iwl_mvm_div_by_db(u32 value, u8 db) -{ - /* - * 2^32 * 10**(i / 10) for i = [1, 10], skipping 0 and simply stopping - * at 10 dB and looping instead of using a much larger table. - * - * Using 64 bit math is overkill, but means the helper does not require - * a limit on the input range. - */ - static const u32 db_to_val[] = { - 0xcb59185e, 0xa1866ba8, 0x804dce7a, 0x65ea59fe, 0x50f44d89, - 0x404de61f, 0x331426af, 0x2892c18b, 0x203a7e5b, 0x1999999a, - }; - - while (value && db > 0) { - u8 change = min_t(u8, db, ARRAY_SIZE(db_to_val)); - - value = (((u64)value) * db_to_val[change - 1]) >> 32; - - db -= change; - } - - return value; -} - -VISIBLE_IF_IWLWIFI_KUNIT s8 -iwl_mvm_average_dbm_values(const struct iwl_umac_scan_channel_survey_notif *notif) -{ - s8 average_magnitude; - u32 average_factor; - s8 sum_magnitude = -128; - u32 sum_factor = 0; - int i, count = 0; - - /* - * To properly average the decibel values (signal values given in dBm) - * we need to do the math in linear space. Doing a linear average of - * dB (dBm) values is a bit annoying though due to the large range of - * at least -10 to -110 dBm that will not fit into a 32 bit integer. - * - * A 64 bit integer should be sufficient, but then we still have the - * problem that there are no directly usable utility functions - * available. - * - * So, lets not deal with that and instead do much of the calculation - * with a 16.16 fixed point integer along with a base in dBm. 16.16 bit - * gives us plenty of head-room for adding up a few values and even - * doing some math on it. And the tail should be accurate enough too - * (1/2^16 is somewhere around -48 dB, so effectively zero). - * - * i.e. the real value of sum is: - * sum = sum_factor / 2^16 * 10^(sum_magnitude / 10) mW - * - * However, that does mean we need to be able to bring two values to - * a common base, so we need a helper for that. - * - * Note that this function takes an input with unsigned negative dBm - * values but returns a signed dBm (i.e. a negative value). - */ - - for (i = 0; i < ARRAY_SIZE(notif->noise); i++) { - s8 val_magnitude; - u32 val_factor; - - if (notif->noise[i] == 0xff) - continue; - - val_factor = 0x10000; - val_magnitude = -notif->noise[i]; - - if (val_magnitude <= sum_magnitude) { - u8 div_db = sum_magnitude - val_magnitude; - - val_factor = iwl_mvm_div_by_db(val_factor, div_db); - val_magnitude = sum_magnitude; - } else { - u8 div_db = val_magnitude - sum_magnitude; - - sum_factor = iwl_mvm_div_by_db(sum_factor, div_db); - sum_magnitude = val_magnitude; - } - - sum_factor += val_factor; - count++; - } - - /* No valid noise measurement, return a very high noise level */ - if (count == 0) - return 0; - - average_magnitude = sum_magnitude; - average_factor = sum_factor / count; - - /* - * average_factor will be a number smaller than 1.0 (0x10000) at this - * point. What we need to do now is to adjust average_magnitude so that - * average_factor is between -0.5 dB and 0.5 dB. - * - * Just do -1 dB steps and find the point where - * -0.5 dB * -i dB = 0x10000 * 10^(-0.5/10) / i dB - * = div_by_db(0xe429, i) - * is smaller than average_factor. - */ - for (i = 0; average_factor < iwl_mvm_div_by_db(0xe429, i); i++) { - /* nothing */ - } - - return average_magnitude - i; -} -EXPORT_SYMBOL_IF_IWLWIFI_KUNIT(iwl_mvm_average_dbm_values); - void iwl_mvm_rx_channel_survey_notif(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb) { @@ -3853,5 +3743,6 @@ void iwl_mvm_rx_channel_survey_notif(struct iwl_mvm *mvm, info->time_busy = le32_to_cpu(notif->busy_time); info->time_rx = le32_to_cpu(notif->rx_time); info->time_tx = le32_to_cpu(notif->tx_time); - info->noise = iwl_mvm_average_dbm_values(notif); + info->noise = + iwl_average_neg_dbm(notif->noise, ARRAY_SIZE(notif->noise)); } diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tests/Makefile b/drivers/net/wireless/intel/iwlwifi/mvm/tests/Makefile index 895d53f223e9..bb33f4a06f1c 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/tests/Makefile +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tests/Makefile @@ -1,3 +1,3 @@ -iwlmvm-tests-y += module.o links.o scan.o hcmd.o +iwlmvm-tests-y += module.o links.o hcmd.o obj-$(CONFIG_IWLWIFI_KUNIT_TESTS) += iwlmvm-tests.o diff --git a/drivers/net/wireless/intel/iwlwifi/tests/Makefile b/drivers/net/wireless/intel/iwlwifi/tests/Makefile index 84491488f589..1b49241c578f 100644 --- a/drivers/net/wireless/intel/iwlwifi/tests/Makefile +++ b/drivers/net/wireless/intel/iwlwifi/tests/Makefile @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause -iwlwifi-tests-y += module.o devinfo.o +iwlwifi-tests-y += module.o devinfo.o utils.o ccflags-y += -I$(src)/../ diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tests/scan.c b/drivers/net/wireless/intel/iwlwifi/tests/utils.c similarity index 63% rename from drivers/net/wireless/intel/iwlwifi/mvm/tests/scan.c rename to drivers/net/wireless/intel/iwlwifi/tests/utils.c index 7a3275199ace..df2c3a891e7e 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/tests/scan.c +++ b/drivers/net/wireless/intel/iwlwifi/tests/utils.c @@ -1,20 +1,19 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * KUnit tests for channel helper functions + * KUnit tests for utilities * - * Copyright (C) 2024 Intel Corporation + * Copyright (C) 2024-2025 Intel Corporation */ -#include -#include "../mvm.h" +#include "../iwl-utils.h" #include -MODULE_IMPORT_NS("EXPORTED_FOR_KUNIT_TESTING"); +MODULE_IMPORT_NS("IWLWIFI"); -static const struct acs_average_db_case { +static const struct average_neg_db_case { const char *desc; u8 neg_dbm[22]; s8 result; -} acs_average_db_cases[] = { +} average_neg_db_cases[] = { { .desc = "Smallest possible value, all filled", .neg_dbm = { @@ -73,38 +72,38 @@ static const struct acs_average_db_case { }, }; -KUNIT_ARRAY_PARAM_DESC(acs_average_db, acs_average_db_cases, desc) +KUNIT_ARRAY_PARAM_DESC(average_neg_db, average_neg_db_cases, desc) -static void test_acs_average_db(struct kunit *test) +static void test_average_neg_db(struct kunit *test) { - const struct acs_average_db_case *params = test->param_value; - struct iwl_umac_scan_channel_survey_notif notif; + const struct average_neg_db_case *params = test->param_value; + u8 reversed[ARRAY_SIZE(params->neg_dbm)]; int i; /* Test the values in the given order */ - for (i = 0; i < ARRAY_SIZE(params->neg_dbm); i++) - notif.noise[i] = params->neg_dbm[i]; KUNIT_ASSERT_EQ(test, - iwl_mvm_average_dbm_values(¬if), + iwl_average_neg_dbm(params->neg_dbm, + ARRAY_SIZE(params->neg_dbm)), params->result); /* Test in reverse order */ for (i = 0; i < ARRAY_SIZE(params->neg_dbm); i++) - notif.noise[ARRAY_SIZE(params->neg_dbm) - i - 1] = + reversed[ARRAY_SIZE(params->neg_dbm) - i - 1] = params->neg_dbm[i]; KUNIT_ASSERT_EQ(test, - iwl_mvm_average_dbm_values(¬if), + iwl_average_neg_dbm(reversed, + ARRAY_SIZE(params->neg_dbm)), params->result); } -static struct kunit_case acs_average_db_case[] = { - KUNIT_CASE_PARAM(test_acs_average_db, acs_average_db_gen_params), +static struct kunit_case average_db_case[] = { + KUNIT_CASE_PARAM(test_average_neg_db, average_neg_db_gen_params), {} }; -static struct kunit_suite acs_average_db = { - .name = "iwlmvm-acs-average-db", - .test_cases = acs_average_db_case, +static struct kunit_suite average_db = { + .name = "iwl-average-db", + .test_cases = average_db_case, }; -kunit_test_suite(acs_average_db); +kunit_test_suite(average_db); From patchwork Mon Jun 9 18:21:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 895162 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8172521D3C9 for ; Mon, 9 Jun 2025 18:22:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493327; cv=none; b=CZuyqLTJAIt9bz8HihZdl1I6AXxyESChGfj+cHkyorMlr6ewtBDjTAmclYIglr7BdJ6zg90hH/ihWzTsR7fzxnOnHkUk4VyB4+Cvbw7cFaBvvXkJNzB4E3p5YzBG/KStbKGr9MTuKM4DwyGbO1Mb2TPpqJ7d1mcZ5ObaeUrVKX4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493327; c=relaxed/simple; bh=WDWr9xitRnUk7uYxWnvreyUG9OR9PkvefvcCk+zudNE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=mPBvl/CKM2dauidUCjgUUC4t/BwDeTw9PFvAIDfEc7EbM4DI7SVueLDP6MZovODdsXjzbrxbdK/j3P8gJjUky6ExffmLWBGaFXJoIfi9bTGZ30awVLeW5OW4Ahobio4vI5D17U7E1XY8qqEWoozMOmxvdLRhlNolrR/SGMIYzX4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=nJsfiQRO; arc=none smtp.client-ip=192.198.163.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="nJsfiQRO" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749493325; x=1781029325; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=WDWr9xitRnUk7uYxWnvreyUG9OR9PkvefvcCk+zudNE=; b=nJsfiQROwKjE9KZd0GOWXgI4Fdus4JHqselgfec8JCRLahc7hhBnODeh TxpowS4uT3N9jb0c8enoiRjWpSbIKYmxKnbIzAqV5wUcO440QtdbvnZVx W+GzgPRUq2XK1J028pEtZsM/b+Qtj3GatGyTtePvgU+cC0kNzHQx7cCln lJAz8Eam8bD7VuHUxYB8sxNr6pqUJrAlTIcNvjdalDCHIOU0BKCk1teUz 3dLav9dkd6dHd4I24VkSwI7GjP+gdyeM+YlKM8epp7yfVAPkzbW0qNYe8 4vvHj6yZDVOn242kkelquRfJzLzS63mZH+Ffap729h1V9mgDQ/PFsMcVc g==; X-CSE-ConnectionGUID: PYI8Wxj5Tlyqqqcc/G53YA== X-CSE-MsgGUID: IiP7IumdTYaBo9iy7GVIvw== X-IronPort-AV: E=McAfee;i="6800,10657,11459"; a="62237693" X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="62237693" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:22:05 -0700 X-CSE-ConnectionGUID: jkaVGi+QQImxb9qfXWF5Uw== X-CSE-MsgGUID: jsFiIY2VQ2uPkBaEySlg/w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="146510389" Received: from weis0040.iil.intel.com ([10.12.217.108]) by orviesa010-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:22:04 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Pagadala Yesu Anjaneyulu Subject: [PATCH iwlwifi-next 13/15] wifi: iwlwifi: Remove unused cfg parameter from iwl_nvm_get_regdom_bw_flags Date: Mon, 9 Jun 2025 21:21:19 +0300 Message-Id: <20250609211928.987b1a749b78.I11a67c0737fb39b594831c10f62de1a195ed24e3@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> References: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited From: Pagadala Yesu Anjaneyulu Refactor iwl_nvm_get_regdom_bw_flags() by removing the unused cfg parameter to enhance code clarity and maintainability Signed-off-by: Pagadala Yesu Anjaneyulu Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c index 56bac0a9755a..c5c80f72696f 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c @@ -1632,8 +1632,7 @@ IWL_EXPORT_SYMBOL(iwl_parse_nvm_data); static u32 iwl_nvm_get_regdom_bw_flags(const u16 *nvm_chan, int ch_idx, u16 nvm_flags, - struct iwl_reg_capa reg_capa, - const struct iwl_rf_cfg *cfg) + struct iwl_reg_capa reg_capa) { u32 flags = NL80211_RRF_NO_HT40; @@ -1820,8 +1819,8 @@ iwl_parse_nvm_mcc_info(struct iwl_trans *trans, } reg_rule_flags = iwl_nvm_get_regdom_bw_flags(nvm_chan, ch_idx, - ch_flags, reg_capa, - cfg); + ch_flags, + reg_capa); /* we can't continue the same rule */ if (ch_idx == 0 || prev_reg_rule_flags != reg_rule_flags || From patchwork Mon Jun 9 18:21:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 895978 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 91F2C21D3CC for ; Mon, 9 Jun 2025 18:22:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493328; cv=none; b=UisQR3GD5/EwNUW/c16M5pJb3KQrmAeCLTHQr/6Gk4jexQmxxcNBlourvoSVsYFPhji0G5/VhmhmrK9afFluYJi+SQ1w4aDzs/kpKprzikyuUP7EkeHFQSuYTW1slrtZyhecxsDP5GBQzXZanK6y+IvgJOp0qWMetNds7YqjJdU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493328; c=relaxed/simple; bh=Ku15rB2WYrkFZHnslgJIczh1RDspwyUf4xcSJab7tf0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=EaXIRTTNIqgGxYkRvyTPewTSlZeMSA4/HkmWvR8YPg/ZHQ1I7eVgKe8Lf34+9dQ02B2xnw7SB6d6T4LYpxT4n4OCT7QvbLlUiXxhXnwd0ezXP95dw9c1S5lhA1H8VMasnnTXXLDA2Z/pE+Y4LzJCe07e7chdLGlPKW6VjPIbAcc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=NpRB90Fp; arc=none smtp.client-ip=192.198.163.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="NpRB90Fp" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749493326; x=1781029326; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Ku15rB2WYrkFZHnslgJIczh1RDspwyUf4xcSJab7tf0=; b=NpRB90FpSvHk0daATuhRlyAIue0Z+spsGWfmbJRlvz1mLSOA6NYK8wGv KSPfJprgR9G4TiqInhJiBgCXK0sDPVtc7Krq5QzFf6Iu01SGnJkv2B3qW WlaDatUKZH3n/sbXu+Pl7u1xak76LaePHdmpW8MKneuStr/Bo9+D1Qhi5 KxVpPWg1fM4nwebMilyNtsMtn7bgjdTMSB3TWO9vPHKhnufrB2kltuzZe RRReKYyJo1/v+xWxD8NDwGY8kZQ4d1gia2eonGupkmsVfAOFT1f63Cnjq 79FvoUDuE366aqWNTJyVhqpJVNiDMWNwFSHIiDgqo4UmqoUjKIncvjHBz A==; X-CSE-ConnectionGUID: V6m620xFRMqarQDwungyWg== X-CSE-MsgGUID: kCQf0zR+SgaeLvCufhgJGw== X-IronPort-AV: E=McAfee;i="6800,10657,11459"; a="62237694" X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="62237694" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:22:06 -0700 X-CSE-ConnectionGUID: 3TJy+MeRTrSnbOwdkDfIhw== X-CSE-MsgGUID: few9+398QOmlC6jS0OQtvg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="146510405" Received: from weis0040.iil.intel.com ([10.12.217.108]) by orviesa010-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:22:05 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Johannes Berg Subject: [PATCH iwlwifi-next 14/15] wifi: iwlwifi: mld: fix misspelling of 'established' Date: Mon, 9 Jun 2025 21:21:20 +0300 Message-Id: <20250609211928.afbb67d4dda9.Id1412d9336740e6101e672b38411641c6e206999@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> References: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited From: Johannes Berg This got pretty mangled, fix the spelling. Signed-off-by: Johannes Berg Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/mld/mac80211.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c index 4ba050397632..9b4bdbf40d4d 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c @@ -1468,7 +1468,7 @@ void iwl_mld_mac80211_mgd_prepare_tx(struct ieee80211_hw *hw, struct iwl_mld *mld = IWL_MAC80211_GET_MLD(hw); u32 duration = IWL_MLD_SESSION_PROTECTION_ASSOC_TIME_MS; - /* After a successful association the connection is etalibeshed + /* After a successful association the connection is established * and we can rely on the quota to send the disassociation frame. */ if (info->was_assoc) From patchwork Mon Jun 9 18:21:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 895161 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1E87421FF3E for ; Mon, 9 Jun 2025 18:22:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493329; cv=none; b=YbivC2lCbULHrGV4gqHlFI811ugsLMsqDGvEZTxAvyGH9wX5vyQtBAml5MkArscdpc/m4UG/vk5nMvK6ybaQF214D36UkB3T8htfuuZ+dWHwG5pJr1BLAZ5/uSucOwfPAB9qBaFDYLM/pypTDp3h6d9keHEkLB7uyr5r/nopdSc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749493329; c=relaxed/simple; bh=4m7Dk3O25FeN9C9YGtdZPNVRD1R8dEtTm80n4CtCi+k=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=fSp0k9kL5fqoDblmbzUYN7yWgXjt2wxKek6TxMf3G/jPDntf7vImTWI3C9vugTJzhYgJ09HrAJjp0XVeAaJ/MOvDGSkAnM32/Vi6PRquv4VRJ07ezGB2ZuI6tM+zfodi9Jx69NLJ45LhYamf5jWJLJZ3xBMXfQ/WYb91GuauPg0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=TVttyJzS; arc=none smtp.client-ip=192.198.163.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="TVttyJzS" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749493328; x=1781029328; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=4m7Dk3O25FeN9C9YGtdZPNVRD1R8dEtTm80n4CtCi+k=; b=TVttyJzSUJPf+qGDFX6EyZ5LYTb/HJxzNGGAODk3MhWYaMQr/0A1SNBR G5G7hElDSbSm8Cu3nBNM3t7elmBHkoZAvxdCoFqEtVykKoeml6dm3kyup 6Vf3BIWLCEpzPNMb0HRSIv13lFEUTQzcW2KnoU0p2FnGy0/A6+ZaWClWQ ja1uwsykAubQruxjzUKgQuu7p6v7Hju8PH21yhB6gmWvv6PZ4qp/a9GVL a+QZenZsHhdNZHMpcR42BUqB9bXMUyhEP3yi4bUFEmm1dEmq0aTjtb3cn Grxz6i991SxUy2KpLuNUVMopn+7jEXDH4k907pPiW9VejdapfRRE4jbsm w==; X-CSE-ConnectionGUID: cob3fQyrQQG8XAyP7T+XBQ== X-CSE-MsgGUID: M4IbLMW+ToK+v4LPM2BumA== X-IronPort-AV: E=McAfee;i="6800,10657,11459"; a="62237697" X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="62237697" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:22:07 -0700 X-CSE-ConnectionGUID: yUKb6uXcTIePyccJERWxrA== X-CSE-MsgGUID: K7qLDN44QuiifdZ2EEUKNg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,223,1744095600"; d="scan'208";a="146510418" Received: from weis0040.iil.intel.com ([10.12.217.108]) by orviesa010-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2025 11:22:06 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Johannes Berg Subject: [PATCH iwlwifi-next 15/15] wifi: iwlwifi: pcie: reinit device properly during TOP reset Date: Mon, 9 Jun 2025 21:21:21 +0300 Message-Id: <20250609211928.903444f8e8e8.I7f70600339abb9d658f97924aef22faf1af00a3c@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> References: <20250609182121.3886519-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited From: Johannes Berg During TOP reset a full _iwl_trans_pcie_start_hw() is needed so the device is properly initialized for operation. Fix that. Signed-off-by: Johannes Berg Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h | 1 + drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans-gen2.c | 5 +++++ drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h index c90707cfd351..796410f2fa48 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h +++ b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h @@ -1074,6 +1074,7 @@ void iwl_pcie_rx_allocator_work(struct work_struct *data); /* common trans ops for all generations transports */ void iwl_trans_pcie_op_mode_enter(struct iwl_trans *trans); +int _iwl_trans_pcie_start_hw(struct iwl_trans *trans); int iwl_trans_pcie_start_hw(struct iwl_trans *trans); void iwl_trans_pcie_op_mode_leave(struct iwl_trans *trans); void iwl_trans_pcie_write8(struct iwl_trans *trans, u32 ofs, u8 val); diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans-gen2.c b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans-gen2.c index 6c5acb7bf643..b5e4b60f710c 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans-gen2.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans-gen2.c @@ -610,6 +610,11 @@ int iwl_trans_pcie_gen2_start_fw(struct iwl_trans *trans, msleep(10); IWL_INFO(trans, "TOP reset successful, reinit now\n"); /* now load the firmware again properly */ + ret = _iwl_trans_pcie_start_hw(trans); + if (ret) { + IWL_ERR(trans, "failed to start HW after TOP reset\n"); + goto out; + } trans_pcie->prph_scratch->ctrl_cfg.control.control_flags &= ~cpu_to_le32(IWL_PRPH_SCRATCH_TOP_RESET); top_reset_done = true; diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c index 4d2806d071d9..bace11a949c8 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c @@ -1845,7 +1845,7 @@ static int iwl_pcie_gen2_force_power_gating(struct iwl_trans *trans) return iwl_trans_pcie_sw_reset(trans, true); } -static int _iwl_trans_pcie_start_hw(struct iwl_trans *trans) +int _iwl_trans_pcie_start_hw(struct iwl_trans *trans) { struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); int err;