From patchwork Thu Jun 12 11:48:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 896242 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) (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 37F43231825 for ; Thu, 12 Jun 2025 11:49:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.10 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728960; cv=none; b=ieIihsi0HF6kScHGwDV8LKCebGYyboqZEfss47VwLJxpZGWtSTetZ6JzGwDR+RVGjAQtw3WMm1Hfc6fjlC6OKAyspSmEagK6BqPpmvRhak+uiyGdBawKNBlRIw42baCO83XNgVO1YdSi+BZg4RIwY3rfHfAqnuGX860Vm+EMVKg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728960; c=relaxed/simple; bh=TuLtIJyr02/VJFEvpI0QjQ0m+8WNPNUdtfkuk4llNBo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=X9lfTjBAu1Ui2OWWhCzTIVY/lmLwfJzTMgJNPUscTpJ5NzkjTIZw09bd5SiDO5vscMgaIUEu2CYUPGxis101Y7ceakJ+/RVX6YMTIYApQXXz8HVuVw5kA7OnXr19cxTiuSyeLrqEore3oHJCXt+Hjpd8CO8I0ZqoRdTb4P5Dx/U= 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=YtzAsLpG; arc=none smtp.client-ip=192.198.163.10 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="YtzAsLpG" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749728959; x=1781264959; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=TuLtIJyr02/VJFEvpI0QjQ0m+8WNPNUdtfkuk4llNBo=; b=YtzAsLpGBM/p8KHfAwjKySG0g34qtpVlkvbZoIYK2oVay5yxOqWlEb+u auNoeBaCs9E7asZQaZ94lYDLbMgtWs3FZRhNApl0c62BnSP4lxRHGGzzy 44+aJsngw9ngpD8LATFzuTNWVUBX56B2Ba6ntJhLLTJUXj8UH3+XrqUwe slxty4ettYqj70HAYnSuMKy4XFnCgm6rSQxZF/YthdKwDz8QYpNBZzI5H ALU6y1rSK9xk/irtX7fk3EAkQCUvSGJ3QhguRITBD4GtoDnjKSzn/H791 hW7EAeKB4bcd2y7QO8IiHpgow8fXSXQdXuB2ZCq9g+bzSVL4UH8Bu3X/p w==; X-CSE-ConnectionGUID: 5QVkSEQaQLGIwcv5j8VeGw== X-CSE-MsgGUID: GHEDe1FDTGmukAyXwveT6w== X-IronPort-AV: E=McAfee;i="6800,10657,11461"; a="63248323" X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="63248323" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:18 -0700 X-CSE-ConnectionGUID: qUfiYYlDQ+uA7r1roEhsMw== X-CSE-MsgGUID: Yc2MUnq/Q8qvTkeIfNxfog== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="147382093" Received: from weis0040.iil.intel.com ([10.12.217.108]) by fmviesa007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:16 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Johannes Berg Subject: [PATCH iwlwifi-next 01/13] wifi: iwlwifi: make FSEQ version a debug message Date: Thu, 12 Jun 2025 14:48:47 +0300 Message-Id: <20250612144707.dce85795612b.I24807178fa7ddc7c2edfce3dc30f81bced846b35@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250612114859.3094387-1-miriam.rachel.korenblit@intel.com> References: <20250612114859.3094387-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 means nothing to a normal user and really has no value for most people, print it as a debug message instead. Signed-off-by: Johannes Berg Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/iwl-drv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c index 9504a0cb8b13..6492bc7d1680 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c @@ -1276,8 +1276,8 @@ static int iwl_parse_tlv_firmware(struct iwl_drv *drv, if (tlv_len != sizeof(*fseq_ver)) goto invalid_tlv_len; - IWL_INFO(drv, "TLV_FW_FSEQ_VERSION: %.32s\n", - fseq_ver->version); + IWL_DEBUG_INFO(drv, "TLV_FW_FSEQ_VERSION: %.32s\n", + fseq_ver->version); } break; case IWL_UCODE_TLV_FW_NUM_STATIONS: From patchwork Thu Jun 12 11:48:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 896241 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) (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 6F9FA239562 for ; Thu, 12 Jun 2025 11:49:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.10 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728960; cv=none; b=VpIxI2KtGQudysuOl8VWG8iLdAEnXyr3a4KUGqa67JfEBLB4ijEdtxk8mu6WwDUdCMTsqTuD0xxX25pWjYZiiRicrtirRl3NgFrQI3rrUi7Og7BUGoLqOXAQpG6jRWJaAeVdMAtFSEkJzYtSxloPsjjIqhahoK80qYtJ9g6xoTw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728960; c=relaxed/simple; bh=BANYJwEArmKp6Zf/0v7rJtpYLiS1lJ5vDe5WFrDUJxo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=gowJdS5eSgGJtBQ8QWbcpvmedFY5WXmm6rCq6yFhceqwZPF+Or09KkSXG8f5yWeny0Pstd3ttSUMjDbuxhVV2xUK11jBxKdXqV2pBaZns0lSK8k3R1oyfQgD1avi3ichBUMIAlMOQM28+GzNXZORwuLwxotI7D+YYyBmRRvMQo4= 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=ftyMGAgY; arc=none smtp.client-ip=192.198.163.10 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="ftyMGAgY" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749728960; x=1781264960; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=BANYJwEArmKp6Zf/0v7rJtpYLiS1lJ5vDe5WFrDUJxo=; b=ftyMGAgY/aJVkJOpxeCedvpsODiVnPUYkuCjYG0v3ZMZVDeYPQ/wKahO PiWpFo1dk3I/jRD1qcHy/1ZOoxRLS/KNBx2/5zfTgH3skHEfhw0OVP5Uv N2loHzrAFrYO20HnoneEhb3pGEYsBoAIHgKueleJg1JzGRrue0BE7Icl6 hBrhtl9gIdaTPQqu0lXkq+FeZxhCgv3sccd3IdJnO5adgEr+BdaQlMksJ UR5D1kEaDpurw+thnDJD2XypOH4uOlrCIz2o0XABIQd1lGR2jEfeGyXiN F5D1Gv2BKr8G3EIksRJlJlYgo5NXUHQxc2YUDjVU7oLFvxPONEcjrn7Fa w==; X-CSE-ConnectionGUID: T6J+gWZfRtaOQgaxRQ6ACQ== X-CSE-MsgGUID: IK/qCeGORgGpXMfmkCx0+Q== X-IronPort-AV: E=McAfee;i="6800,10657,11461"; a="63248325" X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="63248325" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:20 -0700 X-CSE-ConnectionGUID: x+XoHHK4ReOuEDRzHKCCEw== X-CSE-MsgGUID: Mvculz5XQSWZS68TcxIn1A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="147382100" Received: from weis0040.iil.intel.com ([10.12.217.108]) by fmviesa007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:17 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Johannes Berg Subject: [PATCH iwlwifi-next 02/13] wifi: iwlwifi: add HE 1024QAM for <242-tone RU for PE Date: Thu, 12 Jun 2025 14:48:48 +0300 Message-Id: <20250612144708.5716b631c59a.If81456c73a2d5834c29cbf410f7e642184c32b82@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250612114859.3094387-1-miriam.rachel.korenblit@intel.com> References: <20250612114859.3094387-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 For the new PE RF, this should also be supported. Signed-off-by: Johannes Berg Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c index c5c80f72696f..1e4162f1bb44 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c @@ -1047,6 +1047,7 @@ iwl_nvm_fixup_sband_iftd(struct iwl_trans *trans, case IWL_CFG_RF_TYPE_GF: case IWL_CFG_RF_TYPE_FM: case IWL_CFG_RF_TYPE_WH: + case IWL_CFG_RF_TYPE_PE: iftype_data->he_cap.he_cap_elem.phy_cap_info[9] |= IEEE80211_HE_PHY_CAP9_TX_1024_QAM_LESS_THAN_242_TONE_RU; if (!is_ap) From patchwork Thu Jun 12 11:48:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 895910 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) (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 1EDB8239E8B for ; Thu, 12 Jun 2025 11:49:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.10 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728961; cv=none; b=jcbxwSWUyhLZFwPUo4IMP4j+SDVPUzGXfwdh/jauJ5n3EJNEpoe8cAhzVtzcplQaYJbY9o+tss6lpjeGV75NojUXoQEE1gdHbOQULwWkMp7UWNq4M7iix6ytjoWJb8Ef5qnuayVwLuLRPALH6SzxIZrKkIkBUr4Ykqt3O+LxBHs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728961; c=relaxed/simple; bh=vXfvkRcwrv23a/YURCR2qfK5qj7J5ZZBCerlfNLsiFY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=dCvye9AToRgU3YhDjE8JJ/Yk4WkwIGzdOovPG9PT8MF+rZogIMwe4F00nRwvrRrDHs/e/aD8iRYUd1bmymwp1SBcv5lVf2+kCADuBRh15Z9VfrnPqMNcJvIHxrOE9dm+nkzIvPiV1S51mJNvwZgGc7FBnCbTepDJcZUPEt5kxT8= 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=QG73wr1C; arc=none smtp.client-ip=192.198.163.10 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="QG73wr1C" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749728961; x=1781264961; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=vXfvkRcwrv23a/YURCR2qfK5qj7J5ZZBCerlfNLsiFY=; b=QG73wr1C2t8KEIR2qWWXojS9QsC0gVeyPUP2VoN2Uv/1VCArz/p1dewg 4T0PwI5FIXDPyOXJe+8EufrM2eKjvUo7ivDwenxasvyWSLnYBuD9uCHRg rS/Smy9yDK3bNOU/y5eCQKre5kBBxxLoUjkxT0TrAkPD9l1WOloXeP4KI H1ddGTdZROgafAFXo2x1fFHF+J/440uqMzJxhBG2edgAbiYMD+ertqg6V 5Hud6eTV2F/tzf4QelV6tn9BAlXKidhs5eMDXCBedDgLrRzhzt5cY/7SD 8BW1JXgi+r3I01nDh/ZtIjYaP+pqpHeJsGjKX41+BiTc4xhb7eEUWV6PM A==; X-CSE-ConnectionGUID: I/sbgOINT8m1QT+8I+bSlQ== X-CSE-MsgGUID: 2Mq3l8T/SpqvRA6oa1W/TQ== X-IronPort-AV: E=McAfee;i="6800,10657,11461"; a="63248327" X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="63248327" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:21 -0700 X-CSE-ConnectionGUID: dcu4EYKpQbqtGH6uKZGKxA== X-CSE-MsgGUID: stLNIof/QG2ohnwwUhzxKQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="147382105" Received: from weis0040.iil.intel.com ([10.12.217.108]) by fmviesa007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:19 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Johannes Berg Subject: [PATCH iwlwifi-next 03/13] wifi: iwlwifi: support RZL platform device ID Date: Thu, 12 Jun 2025 14:48:49 +0300 Message-Id: <20250612144708.0c509d05fc51.I462e2ca5b636b88764177b9e41a63f7717f50793@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250612114859.3094387-1-miriam.rachel.korenblit@intel.com> References: <20250612114859.3094387-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 Add support for a new device ID that we will have on RZL. Reviewed-by: Johannes Berg Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c index a42a6da5d2ea..4201c4b07e3b 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c @@ -545,6 +545,7 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct pci_device_id iwl_hw_card_ids[] = { {IWL_PCI_DEVICE(0xE340, PCI_ANY_ID, iwl_sc_mac_cfg)}, {IWL_PCI_DEVICE(0xD340, PCI_ANY_ID, iwl_sc_mac_cfg)}, {IWL_PCI_DEVICE(0x6E70, PCI_ANY_ID, iwl_sc_mac_cfg)}, + {IWL_PCI_DEVICE(0xD240, PCI_ANY_ID, iwl_sc_mac_cfg)}, #endif /* CONFIG_IWLMLD */ {0} From patchwork Thu Jun 12 11:48:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 896240 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) (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 5F4AA231825 for ; Thu, 12 Jun 2025 11:49:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.10 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728962; cv=none; b=fKSNupMKeN6KK1SwapkdNFJKVF3dTXO4PGQ5H0KhuO7rEQMLLLpqvAhajMHO6imRgbakCSDozkiC7tuPBC7tshpkKk+YRKTG8KB/woFuHMEyZjy0i0S0baU2kTf0A0BvUySyRzLxSUhUyW0FJfWs63KsQkpH/oYBFPxN3uOXLcM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728962; c=relaxed/simple; bh=DfJ7ydQOXiwg936MX/3lo+ODXSqxviJ30Kp1uOiNaBo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=eQnA6dxw8YnMydZssolaeNbVH/6vmQ0uEtXymj8b5jHKHl52sk8OtzrkRFAQ/wlrrjMZpoHTD2bH+9pK8uujQh0UPU6KmahMuAzfZgjFblHFs2bGNCEeOTbRxu76JTGE6eoAFrT//W8+/kAUzYh4NXAsr4DP1Iextk57lqJXjuQ= 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=LmW4w0Kf; arc=none smtp.client-ip=192.198.163.10 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="LmW4w0Kf" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749728962; x=1781264962; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=DfJ7ydQOXiwg936MX/3lo+ODXSqxviJ30Kp1uOiNaBo=; b=LmW4w0Kf/DS28eWMsvD3xJrGrJmBwTogSHWBvE3gii9pcgRoCiCo/0E9 mMIUa1HAmdQ6fW8oZWLicPjalv5Pkj5CEsKxA9/hI3UxX3RBZvtKvp+3G R1qmZUheuKbHf9eyv3Akr/QjqnwWIo5uG44dfxvvhM6awU7ekQ6q2v6Ix kCoQIq0nqvFsR4NvJ1u/yb9MkUN0I415Fda0GclHCQzszxQGq02szzii+ e/XEfuDrY61E3d+8HZItMUoUEaYG8S9CFpDB+UQnLgLGfUShy5DQnVMnN 4EUp9lKzfc/ekQ0zFcVb1btPGw4xR3z5b/kbEDeVo6e/pSevlCTYZTpxS Q==; X-CSE-ConnectionGUID: jvYEuLqNRoWbSN6fjD5f0g== X-CSE-MsgGUID: VtB6ZRQRTaq9xECHwgLJlA== X-IronPort-AV: E=McAfee;i="6800,10657,11461"; a="63248328" X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="63248328" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:22 -0700 X-CSE-ConnectionGUID: kkpOKY/yRbydvj0mYJ/pUw== X-CSE-MsgGUID: ng/4afEATTKCFUkzM+7WEA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="147382110" Received: from weis0040.iil.intel.com ([10.12.217.108]) by fmviesa007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:20 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Benjamin Berg Subject: [PATCH iwlwifi-next 04/13] wifi: iwlwifi: mld: use the correct struct size for tracing Date: Thu, 12 Jun 2025 14:48:50 +0300 Message-Id: <20250612144708.688d95d99ff3.Id3055ca6c19cf8c821cbbd80c09ca2a21d9acec7@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250612114859.3094387-1-miriam.rachel.korenblit@intel.com> References: <20250612114859.3094387-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 For the iwlmld driver the RX command is using struct iwl_rx_mpdu_desc and not the much older struct iwl_rx_mpdu_res_start. Adjust the value of rx_mpdu_cmd_hdr_size accordingly so that the trace data is correct. Signed-off-by: Benjamin Berg Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/mld/mld.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mld/mld.c b/drivers/net/wireless/intel/iwlwifi/mld/mld.c index 103912c4e4cc..73bb32ec8076 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/mld.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/mld.c @@ -356,7 +356,7 @@ iwl_mld_configure_trans(struct iwl_op_mode *op_mode) trans->conf.n_no_reclaim_cmds = ARRAY_SIZE(no_reclaim_cmds); trans->conf.rx_mpdu_cmd = REPLY_RX_MPDU_CMD; - trans->conf.rx_mpdu_cmd_hdr_size = sizeof(struct iwl_rx_mpdu_res_start); + trans->conf.rx_mpdu_cmd_hdr_size = sizeof(struct iwl_rx_mpdu_desc); trans->conf.wide_cmd_header = true; iwl_trans_op_mode_enter(trans, op_mode); From patchwork Thu Jun 12 11:48:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 895909 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) (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 52688223DF6 for ; Thu, 12 Jun 2025 11:49:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.10 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728963; cv=none; b=li9MjwOGQHjGsypvtBb6qp5vJ8sp3Qo9Btj9AgkBFbn88oU9PMoESLtthiXAXvhtvel1BQubYa0mlFZj4yeQiUpGp/2GZSqD6F9D2tzjSMozRut985PnE5yZF1x7nCgrDU/oGQMfRYlbBaW2RUhIbKHcI/WiEHS1wLaHE+A8gmk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728963; c=relaxed/simple; bh=r+tBw0qxGq/2Pa7snel7AkFmqWNSnOuEyBwrt4yYSi8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Zr2HX/tWyldxGeVlFS5YzL+Ot8lzqNj9JUrea8EKAn1juMR+r98piSpu93hZI2XWLmY44XhMGYoDyyZOO5JOlH0SfPXKAkAZKRCFbWXFryzbvdmRQyFrH7S8zkqhkLRF44YYROs41UFKtNtCLoCdJlwa6tONo0FQ4r6KWVLldaY= 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=SvMUqw/k; arc=none smtp.client-ip=192.198.163.10 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="SvMUqw/k" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749728963; x=1781264963; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=r+tBw0qxGq/2Pa7snel7AkFmqWNSnOuEyBwrt4yYSi8=; b=SvMUqw/k0fy7sT6Xtcg8VAurezWxZcomKgzQmyD38GzuPSMtJo/INcWC uiCmw1s3ZwRMnBHqACsQOtiVj/cuiWzcVEloqwJqJJMWH3WN0t2L/l/us Pq21dRh76XVP3vYy+uAiAx4FY5IEdQHCwuIUv3jxM/iCkIl7nnuc7gv1l gJBJU9mnHtQALISEAtEnWMbidSZfnz9gP8BSUUEfIxVY4rG9G4529m0ug M24oAuSmtpAl9uU1RSNe0by0LiU2ra+2zlSOx6hEb5mGswnLocCHiVC0p +XIoHnEI6o1KtKiAaSIWj04hpRfMALFNZ13KCO033QcSnPTrbUNOdrjtY Q==; X-CSE-ConnectionGUID: sV1BiqnYSrGoxzAAD4IuXA== X-CSE-MsgGUID: KvV0lDmoSpmI8LD0Ndhyrg== X-IronPort-AV: E=McAfee;i="6800,10657,11461"; a="63248330" X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="63248330" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:23 -0700 X-CSE-ConnectionGUID: 1XPH6PC+SuSI01ynVZcbCQ== X-CSE-MsgGUID: 8IjFnBoeQo6l9EVuy5YvAA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="147382115" Received: from weis0040.iil.intel.com ([10.12.217.108]) by fmviesa007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:21 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Ilan Peer Subject: [PATCH iwlwifi-next 05/13] wifi: iwlwifi: mld: Block EMLSR when scanning on P2P Device Date: Thu, 12 Jun 2025 14:48:51 +0300 Message-Id: <20250612144708.85fb79d537fe.I27523f8d3f00f2b66f5f555f098e323be29465ea@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250612114859.3094387-1-miriam.rachel.korenblit@intel.com> References: <20250612114859.3094387-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: Ilan Peer Temporarily block EMLSR when scanning on a P2P Device interface, as this is an indication that P2P activity is about to start, e.g., P2P client connection to a P2P GO. Since a P2P scan while a station interface connection is active might be long, increase the EMLSR blocking timeout to 10 seconds. Signed-off-by: Ilan Peer Signed-off-by: Miri Korenblit --- .../net/wireless/intel/iwlwifi/mld/mac80211.c | 27 +---------------- drivers/net/wireless/intel/iwlwifi/mld/mlo.c | 30 +++++++++++++++++++ drivers/net/wireless/intel/iwlwifi/mld/mlo.h | 2 ++ drivers/net/wireless/intel/iwlwifi/mld/scan.c | 4 +++ 4 files changed, 37 insertions(+), 26 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c index 0f156e868504..1eb4dfb83778 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c @@ -2580,28 +2580,6 @@ static int iwl_mld_mac80211_tx_last_beacon(struct ieee80211_hw *hw) return mld->ibss_manager; } -#define IWL_MLD_EMLSR_BLOCKED_TMP_NON_BSS_TIMEOUT (5 * HZ) - -static void iwl_mld_vif_iter_emlsr_block_tmp_non_bss(void *_data, u8 *mac, - struct ieee80211_vif *vif) -{ - struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); - int ret; - - if (!iwl_mld_vif_has_emlsr_cap(vif)) - return; - - ret = iwl_mld_block_emlsr_sync(mld_vif->mld, vif, - IWL_MLD_EMLSR_BLOCKED_TMP_NON_BSS, - iwl_mld_get_primary_link(vif)); - if (ret) - return; - - wiphy_delayed_work_queue(mld_vif->mld->wiphy, - &mld_vif->emlsr.tmp_non_bss_done_wk, - IWL_MLD_EMLSR_BLOCKED_TMP_NON_BSS_TIMEOUT); -} - static void iwl_mld_prep_add_interface(struct ieee80211_hw *hw, enum nl80211_iftype type) { @@ -2614,10 +2592,7 @@ static void iwl_mld_prep_add_interface(struct ieee80211_hw *hw, type == NL80211_IFTYPE_P2P_CLIENT)) return; - ieee80211_iterate_active_interfaces_mtx(mld->hw, - IEEE80211_IFACE_ITER_NORMAL, - iwl_mld_vif_iter_emlsr_block_tmp_non_bss, - NULL); + iwl_mld_emlsr_block_tmp_non_bss(mld); } static int iwl_mld_set_hw_timestamp(struct ieee80211_hw *hw, diff --git a/drivers/net/wireless/intel/iwlwifi/mld/mlo.c b/drivers/net/wireless/intel/iwlwifi/mld/mlo.c index 20c2b436039a..8ed2c6de1282 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/mlo.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/mlo.c @@ -287,6 +287,36 @@ int iwl_mld_block_emlsr_sync(struct iwl_mld *mld, struct ieee80211_vif *vif, return _iwl_mld_emlsr_block(mld, vif, reason, link_to_keep, true); } +#define IWL_MLD_EMLSR_BLOCKED_TMP_NON_BSS_TIMEOUT (10 * HZ) + +static void iwl_mld_vif_iter_emlsr_block_tmp_non_bss(void *_data, u8 *mac, + struct ieee80211_vif *vif) +{ + struct iwl_mld_vif *mld_vif = iwl_mld_vif_from_mac80211(vif); + int ret; + + if (!iwl_mld_vif_has_emlsr_cap(vif)) + return; + + ret = iwl_mld_block_emlsr_sync(mld_vif->mld, vif, + IWL_MLD_EMLSR_BLOCKED_TMP_NON_BSS, + iwl_mld_get_primary_link(vif)); + if (ret) + return; + + wiphy_delayed_work_queue(mld_vif->mld->wiphy, + &mld_vif->emlsr.tmp_non_bss_done_wk, + IWL_MLD_EMLSR_BLOCKED_TMP_NON_BSS_TIMEOUT); +} + +void iwl_mld_emlsr_block_tmp_non_bss(struct iwl_mld *mld) +{ + ieee80211_iterate_active_interfaces_mtx(mld->hw, + IEEE80211_IFACE_ITER_NORMAL, + iwl_mld_vif_iter_emlsr_block_tmp_non_bss, + NULL); +} + static void _iwl_mld_select_links(struct iwl_mld *mld, struct ieee80211_vif *vif); diff --git a/drivers/net/wireless/intel/iwlwifi/mld/mlo.h b/drivers/net/wireless/intel/iwlwifi/mld/mlo.h index 9afa3d6ea649..704f64134798 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/mlo.h +++ b/drivers/net/wireless/intel/iwlwifi/mld/mlo.h @@ -157,6 +157,8 @@ struct iwl_mld_link_sel_data { u16 grade; }; +void iwl_mld_emlsr_block_tmp_non_bss(struct iwl_mld *mld); + #if IS_ENABLED(CONFIG_IWLWIFI_KUNIT_TESTS) u32 iwl_mld_emlsr_pair_state(struct ieee80211_vif *vif, struct iwl_mld_link_sel_data *a, diff --git a/drivers/net/wireless/intel/iwlwifi/mld/scan.c b/drivers/net/wireless/intel/iwlwifi/mld/scan.c index cf3063e6ec53..63d5d39bb083 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/scan.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/scan.c @@ -1752,6 +1752,10 @@ int iwl_mld_regular_scan_start(struct iwl_mld *mld, struct ieee80211_vif *vif, struct cfg80211_scan_request *req, struct ieee80211_scan_ies *ies) { + + if (vif->type == NL80211_IFTYPE_P2P_DEVICE) + iwl_mld_emlsr_block_tmp_non_bss(mld); + return _iwl_mld_single_scan_start(mld, vif, req, ies, IWL_MLD_SCAN_REGULAR); } From patchwork Thu Jun 12 11:48:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 896239 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) (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 7407723C51E for ; Thu, 12 Jun 2025 11:49:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.10 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728965; cv=none; b=Ap4/TbSTRYCh4ROuP4FkVN/G9+OCPmxKMOiv0u0BrUVw1zIRmeTeK/JUCIfafwPQmjDUyhgItadWpXfUup7u0Md7qxxcLKE2qYJ7JJyLsLCYEXQpVXX/rSOFJ2yIToPr5bSm1xQq+mapzQwwNmktDV8It3bgkfKshovOzsJMiH8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728965; c=relaxed/simple; bh=yUJ6CK/r3WTHQshy7N2SWU4HmSYNEcw5QbtCNdGdjqE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ugf9bHDihM6VUjiKcqi4XjONuJjNTTOGvH2rMGg8nTKMWQ8G+zZq1wwGeeedefi3RTf26ZzUF+HkNl2NhOykTOi0ToLUr/W54dmFGR39vfXg8LVvTz6Dry5KzmKh7sz6G5bT4eurqqV7kEdkNtcEcgxj7OhNI6DfQYnaDdbKJ0k= 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=hUJFxr6w; arc=none smtp.client-ip=192.198.163.10 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="hUJFxr6w" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749728964; x=1781264964; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=yUJ6CK/r3WTHQshy7N2SWU4HmSYNEcw5QbtCNdGdjqE=; b=hUJFxr6wBZrM/iSUwRuHRQ4eyLGrgxzcuyn/zKUfxs1sd8Tw91YiKx+D JGH3h9Gw60y5j8aO/4JXTHFQQeHVZ9f8Jz7v19R8tWkLumACnwHgsnY/h H/JcPQhbnJOrMyEuboQpgXfF4+ZBAt6UsWFyHpZeYpthhi7BiGmgTI4P1 NE06jYRFSETFzDcSNPV83NjuMG/H35v1nlCqEEpeIMMiny1ejTaF2FBr9 9N/NPHJpKyorTGns/X0eJMuM7tPeXITStTc+p3g+jxoAlN3fCqhsqwKju EZSKNGp4UxD5VGdI1lMhQfa8QVwQvV1RsnrysqoPXbq5gr9ikoQcneJyE w==; X-CSE-ConnectionGUID: Brmv1n0RSy2ZFGPr3g7z8g== X-CSE-MsgGUID: ko3bVNhiTsaBEEpwnmBvMg== X-IronPort-AV: E=McAfee;i="6800,10657,11461"; a="63248332" X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="63248332" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:24 -0700 X-CSE-ConnectionGUID: 7wqr9+VgTFqh4idh2qbZmQ== X-CSE-MsgGUID: hPqo4YQPTn24QFPIY6ZmNw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="147382124" Received: from weis0040.iil.intel.com ([10.12.217.108]) by fmviesa007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:22 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Benjamin Berg Subject: [PATCH iwlwifi-next 06/13] wifi: iwlwifi: mld: advertise support for TTLM changes Date: Thu, 12 Jun 2025 14:48:52 +0300 Message-Id: <20250612144708.3b0a4fd2c12b.I1fab7840f1cc222bd1e8cb58ac1a4177474fcd56@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250612114859.3094387-1-miriam.rachel.korenblit@intel.com> References: <20250612114859.3094387-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 iwlmld driver is able to handle TTLM changes as long as all TIDs have the same TID to Link Mapping. Add the corresponding code so that mac80211 will accept and trigger the TTLM change. Signed-off-by: Benjamin Berg Signed-off-by: Miri Korenblit --- .../net/wireless/intel/iwlwifi/mld/mac80211.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c index 1eb4dfb83778..a8b2e2046d76 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c @@ -2622,6 +2622,23 @@ static int iwl_mld_start_pmsr(struct ieee80211_hw *hw, return iwl_mld_ftm_start(mld, vif, request); } +static enum ieee80211_neg_ttlm_res +iwl_mld_can_neg_ttlm(struct ieee80211_hw *hw, struct ieee80211_vif *vif, + struct ieee80211_neg_ttlm *neg_ttlm) +{ + u16 map; + + /* Verify all TIDs are mapped to the same links set */ + map = neg_ttlm->downlink[0]; + for (int i = 0; i < IEEE80211_TTLM_NUM_TIDS; i++) { + if (neg_ttlm->downlink[i] != neg_ttlm->uplink[i] || + neg_ttlm->uplink[i] != map) + return NEG_TTLM_RES_REJECT; + } + + return NEG_TTLM_RES_ACCEPT; +} + const struct ieee80211_ops iwl_mld_hw_ops = { .tx = iwl_mld_mac80211_tx, .start = iwl_mld_mac80211_start, @@ -2691,4 +2708,5 @@ const struct ieee80211_ops iwl_mld_hw_ops = { .prep_add_interface = iwl_mld_prep_add_interface, .set_hw_timestamp = iwl_mld_set_hw_timestamp, .start_pmsr = iwl_mld_start_pmsr, + .can_neg_ttlm = iwl_mld_can_neg_ttlm, }; From patchwork Thu Jun 12 11:48:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 895908 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) (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 D095423A9B8 for ; Thu, 12 Jun 2025 11:49:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.10 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728966; cv=none; b=cS32jJdMq4lI2Tx0LBqbjsCHHx29yL6aGhEyhyQmzl5p8lEtsLoVDz5a21MZ2lqf94oWwN2tKIT67QpjVnts2GGqvBOSPlSZ2l8iWolnOtABroFlHayiRB7SBE6rfaOutVkhj5bxUXyHScdpC7GzFhGQRKKMehfHQQ27ldhWvZs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728966; c=relaxed/simple; bh=hO0uMluhPsFCzrRzd2WWHQsrlo6ugkNNwS7nnVGPy2U=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=LYxYo+9uB4/aMvjQxcr143dJwRMR1XQYXdcuNrzf+wUtAMOCjKDDSyXqg18z2IoeqRfvyJSEwBDmzEHOijOs1l7Ne9pEnsXRKPfzf4ZynhkIuM36JtqpyVJbw2jPrAUKRFKE01fjGVjmRcUNMabC+tJSPp3r5yfPmZEWxaP7ZHw= 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=bUOsZRyX; arc=none smtp.client-ip=192.198.163.10 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="bUOsZRyX" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749728966; x=1781264966; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=hO0uMluhPsFCzrRzd2WWHQsrlo6ugkNNwS7nnVGPy2U=; b=bUOsZRyXsD9Os4sJlAc1eIqmoSMnfrkaE04dJjsdn/MjXkLSN+ZfDdWj pnwzTG8d+sgRM1jFj+fq2x81ltqerLwRuQm7v0RDDzJtyafSjZq7NTPvH FFo3k63wNDdXtW0Edc2zt+ntjCb7SIRqgFoz6DanBTzUDm8QnNBpY2RlG je/88EAhhsBzsEDh6drYMtMzz9W8EsrxOeCH24tAGL983K/KO06OWjIWG j+djq0WV/hgpJW4FJYbZX5Bnqvh0jEZbTzH6HHHTe+9ta/bSNw0NlMGTK eQ/BDls1M1/8rrIrhLV3DCG/DjUczqa7cRmvEYqEgkxUF7qCG6iRm8Mhn g==; X-CSE-ConnectionGUID: CkX53yOjQ/OYy8dh4tauAg== X-CSE-MsgGUID: BJkQqqA+RLiUjC/xBN3ptQ== X-IronPort-AV: E=McAfee;i="6800,10657,11461"; a="63248344" X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="63248344" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:25 -0700 X-CSE-ConnectionGUID: 79sQBzqMQkeuYLglo7P7+g== X-CSE-MsgGUID: dMO1ctHiR9q0dD/MIxtMuw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="147382139" Received: from weis0040.iil.intel.com ([10.12.217.108]) by fmviesa007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:23 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Rotem Kerem Subject: [PATCH iwlwifi-next 07/13] wifi: iwlwifi: pcie: move iwl_trans_pcie_dump_regs() to utils.c Date: Thu, 12 Jun 2025 14:48:53 +0300 Message-Id: <20250612144708.06950459ce97.I3105158eb9ae698efebe4b9ada1093aeb1f1b869@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250612114859.3094387-1-miriam.rachel.korenblit@intel.com> References: <20250612114859.3094387-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: Rotem Kerem Move the iwl_trans_pcie_dump_regs() function to utils.c in the PCIe directory since it operates on PCIe registers and is not hardware-dependent. Refactor the pcie_dbg_dumped_once indicator, previously part of the iwl_trans_pcie struct, into a static variable within the iwl_trans_pcie_dump_regs() function, where it is used. Signed-off-by: Rotem Kerem Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/Makefile | 2 +- .../intel/iwlwifi/pcie/gen1_2/internal.h | 3 - .../intel/iwlwifi/pcie/gen1_2/trans.c | 101 +---------------- .../net/wireless/intel/iwlwifi/pcie/utils.c | 104 ++++++++++++++++++ .../net/wireless/intel/iwlwifi/pcie/utils.h | 11 ++ 5 files changed, 120 insertions(+), 101 deletions(-) create mode 100644 drivers/net/wireless/intel/iwlwifi/pcie/utils.c create mode 100644 drivers/net/wireless/intel/iwlwifi/pcie/utils.h diff --git a/drivers/net/wireless/intel/iwlwifi/Makefile b/drivers/net/wireless/intel/iwlwifi/Makefile index 71101067b889..b82392978b76 100644 --- a/drivers/net/wireless/intel/iwlwifi/Makefile +++ b/drivers/net/wireless/intel/iwlwifi/Makefile @@ -9,7 +9,7 @@ iwlwifi-objs += iwl-utils.o iwlwifi-objs += iwl-phy-db.o iwl-nvm-parse.o # Bus -iwlwifi-objs += pcie/ctxt-info.o pcie/ctxt-info-v2.o pcie/drv.o +iwlwifi-objs += pcie/ctxt-info.o pcie/ctxt-info-v2.o pcie/drv.o pcie/utils.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 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 b1dcaae0dc10..52c6c22e2cc6 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h +++ b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h @@ -384,7 +384,6 @@ struct iwl_pcie_txqs { * @txq_memory: TXQ allocation array * @sx_waitq: waitqueue for Sx transitions * @sx_state: state tracking Sx transitions - * @pcie_dbg_dumped_once: indicates PCIe regs were dumped already * @opmode_down: indicates opmode went away * @num_rx_bufs: number of RX buffers to allocate/use * @affinity_mask: IRQ affinity mask for each RX queue @@ -460,7 +459,6 @@ struct iwl_trans_pcie { u16 num_rx_bufs; - bool pcie_dbg_dumped_once; u32 rx_page_order; u32 rx_buf_bytes; u32 supported_dma_mask; @@ -1069,7 +1067,6 @@ static inline bool iwl_pcie_dbg_on(struct iwl_trans *trans) } void iwl_trans_pcie_rf_kill(struct iwl_trans *trans, bool state, bool from_irq); -void iwl_trans_pcie_dump_regs(struct iwl_trans *trans); #ifdef CONFIG_IWLWIFI_DEBUGFS void iwl_trans_pcie_dbgfs_register(struct iwl_trans *trans); 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 6054ebebd8c8..c31a62b8f925 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c @@ -29,105 +29,12 @@ #include "internal.h" #include "iwl-fh.h" #include "pcie/iwl-context-info-v2.h" +#include "pcie/utils.h" /* extended range in FW SRAM */ #define IWL_FW_MEM_EXTENDED_START 0x40000 #define IWL_FW_MEM_EXTENDED_END 0x57FFF -void iwl_trans_pcie_dump_regs(struct iwl_trans *trans) -{ -#define PCI_DUMP_SIZE 352 -#define PCI_MEM_DUMP_SIZE 64 -#define PCI_PARENT_DUMP_SIZE 524 -#define PREFIX_LEN 32 - struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); - struct pci_dev *pdev = trans_pcie->pci_dev; - u32 i, pos, alloc_size, *ptr, *buf; - char *prefix; - - if (trans_pcie->pcie_dbg_dumped_once) - return; - - /* Should be a multiple of 4 */ - BUILD_BUG_ON(PCI_DUMP_SIZE > 4096 || PCI_DUMP_SIZE & 0x3); - BUILD_BUG_ON(PCI_MEM_DUMP_SIZE > 4096 || PCI_MEM_DUMP_SIZE & 0x3); - BUILD_BUG_ON(PCI_PARENT_DUMP_SIZE > 4096 || PCI_PARENT_DUMP_SIZE & 0x3); - - /* Alloc a max size buffer */ - alloc_size = PCI_ERR_ROOT_ERR_SRC + 4 + PREFIX_LEN; - alloc_size = max_t(u32, alloc_size, PCI_DUMP_SIZE + PREFIX_LEN); - alloc_size = max_t(u32, alloc_size, PCI_MEM_DUMP_SIZE + PREFIX_LEN); - alloc_size = max_t(u32, alloc_size, PCI_PARENT_DUMP_SIZE + PREFIX_LEN); - - buf = kmalloc(alloc_size, GFP_ATOMIC); - if (!buf) - return; - prefix = (char *)buf + alloc_size - PREFIX_LEN; - - IWL_ERR(trans, "iwlwifi transaction failed, dumping registers\n"); - - /* Print wifi device registers */ - sprintf(prefix, "iwlwifi %s: ", pci_name(pdev)); - IWL_ERR(trans, "iwlwifi device config registers:\n"); - for (i = 0, ptr = buf; i < PCI_DUMP_SIZE; i += 4, ptr++) - if (pci_read_config_dword(pdev, i, ptr)) - goto err_read; - print_hex_dump(KERN_ERR, prefix, DUMP_PREFIX_OFFSET, 32, 4, buf, i, 0); - - IWL_ERR(trans, "iwlwifi device memory mapped registers:\n"); - for (i = 0, ptr = buf; i < PCI_MEM_DUMP_SIZE; i += 4, ptr++) - *ptr = iwl_read32(trans, i); - print_hex_dump(KERN_ERR, prefix, DUMP_PREFIX_OFFSET, 32, 4, buf, i, 0); - - pos = pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_ERR); - if (pos) { - IWL_ERR(trans, "iwlwifi device AER capability structure:\n"); - for (i = 0, ptr = buf; i < PCI_ERR_ROOT_COMMAND; i += 4, ptr++) - if (pci_read_config_dword(pdev, pos + i, ptr)) - goto err_read; - print_hex_dump(KERN_ERR, prefix, DUMP_PREFIX_OFFSET, - 32, 4, buf, i, 0); - } - - /* Print parent device registers next */ - if (!pdev->bus->self) - goto out; - - pdev = pdev->bus->self; - sprintf(prefix, "iwlwifi %s: ", pci_name(pdev)); - - IWL_ERR(trans, "iwlwifi parent port (%s) config registers:\n", - pci_name(pdev)); - for (i = 0, ptr = buf; i < PCI_PARENT_DUMP_SIZE; i += 4, ptr++) - if (pci_read_config_dword(pdev, i, ptr)) - goto err_read; - print_hex_dump(KERN_ERR, prefix, DUMP_PREFIX_OFFSET, 32, 4, buf, i, 0); - - /* Print root port AER registers */ - pos = 0; - pdev = pcie_find_root_port(pdev); - if (pdev) - pos = pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_ERR); - if (pos) { - IWL_ERR(trans, "iwlwifi root port (%s) AER cap structure:\n", - pci_name(pdev)); - sprintf(prefix, "iwlwifi %s: ", pci_name(pdev)); - for (i = 0, ptr = buf; i <= PCI_ERR_ROOT_ERR_SRC; i += 4, ptr++) - if (pci_read_config_dword(pdev, pos + i, ptr)) - goto err_read; - print_hex_dump(KERN_ERR, prefix, DUMP_PREFIX_OFFSET, 32, - 4, buf, i, 0); - } - goto out; - -err_read: - print_hex_dump(KERN_ERR, prefix, DUMP_PREFIX_OFFSET, 32, 4, buf, i, 0); - IWL_ERR(trans, "Read failed at 0x%X\n", i); -out: - trans_pcie->pcie_dbg_dumped_once = 1; - kfree(buf); -} - int iwl_trans_pcie_sw_reset(struct iwl_trans *trans, bool retake_ownership) { /* Reset entire device - do controller reset (results in SHRD_HW_RST) */ @@ -704,7 +611,7 @@ static int iwl_pcie_load_firmware_chunk(struct iwl_trans *trans, trans_pcie->ucode_write_complete, 5 * HZ); if (!ret) { IWL_ERR(trans, "Failed to load firmware chunk!\n"); - iwl_trans_pcie_dump_regs(trans); + iwl_trans_pcie_dump_regs(trans, trans_pcie->pci_dev); return -ETIMEDOUT; } @@ -2460,7 +2367,7 @@ bool __iwl_trans_pcie_grab_nic_access(struct iwl_trans *trans, bool silent) "Timeout waiting for hardware access (CSR_GP_CNTRL 0x%08x)\n", cntrl); - iwl_trans_pcie_dump_regs(trans); + iwl_trans_pcie_dump_regs(trans, trans_pcie->pci_dev); if (iwlwifi_mod_params.remove_when_gone && cntrl == ~0U) iwl_trans_pcie_reset(trans, @@ -4057,7 +3964,7 @@ int iwl_trans_pcie_copy_imr(struct iwl_trans *trans, IMR_D2S_REQUESTED, 5 * HZ); if (!ret || trans_pcie->imr_status == IMR_D2S_ERROR) { IWL_ERR(trans, "Failed to copy IMR Memory chunk!\n"); - iwl_trans_pcie_dump_regs(trans); + iwl_trans_pcie_dump_regs(trans, trans_pcie->pci_dev); return -ETIMEDOUT; } trans_pcie->imr_status = IMR_D2S_IDLE; diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/utils.c b/drivers/net/wireless/intel/iwlwifi/pcie/utils.c new file mode 100644 index 000000000000..1bb274d8390c --- /dev/null +++ b/drivers/net/wireless/intel/iwlwifi/pcie/utils.c @@ -0,0 +1,104 @@ +// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause +/* + * Copyright (C) 2025 Intel Corporation + */ + +#include +#include + +#include "iwl-io.h" +#include "pcie/utils.h" + +void iwl_trans_pcie_dump_regs(struct iwl_trans *trans, struct pci_dev *pdev) +{ +#define PCI_DUMP_SIZE 352 +#define PCI_MEM_DUMP_SIZE 64 +#define PCI_PARENT_DUMP_SIZE 524 +#define PREFIX_LEN 32 + + static bool pcie_dbg_dumped_once = 0; + u32 i, pos, alloc_size, *ptr, *buf; + char *prefix; + + if (pcie_dbg_dumped_once) + return; + + /* Should be a multiple of 4 */ + BUILD_BUG_ON(PCI_DUMP_SIZE > 4096 || PCI_DUMP_SIZE & 0x3); + BUILD_BUG_ON(PCI_MEM_DUMP_SIZE > 4096 || PCI_MEM_DUMP_SIZE & 0x3); + BUILD_BUG_ON(PCI_PARENT_DUMP_SIZE > 4096 || PCI_PARENT_DUMP_SIZE & 0x3); + + /* Alloc a max size buffer */ + alloc_size = PCI_ERR_ROOT_ERR_SRC + 4 + PREFIX_LEN; + alloc_size = max_t(u32, alloc_size, PCI_DUMP_SIZE + PREFIX_LEN); + alloc_size = max_t(u32, alloc_size, PCI_MEM_DUMP_SIZE + PREFIX_LEN); + alloc_size = max_t(u32, alloc_size, PCI_PARENT_DUMP_SIZE + PREFIX_LEN); + + buf = kmalloc(alloc_size, GFP_ATOMIC); + if (!buf) + return; + prefix = (char *)buf + alloc_size - PREFIX_LEN; + + IWL_ERR(trans, "iwlwifi transaction failed, dumping registers\n"); + + /* Print wifi device registers */ + sprintf(prefix, "iwlwifi %s: ", pci_name(pdev)); + IWL_ERR(trans, "iwlwifi device config registers:\n"); + for (i = 0, ptr = buf; i < PCI_DUMP_SIZE; i += 4, ptr++) + if (pci_read_config_dword(pdev, i, ptr)) + goto err_read; + print_hex_dump(KERN_ERR, prefix, DUMP_PREFIX_OFFSET, 32, 4, buf, i, 0); + + IWL_ERR(trans, "iwlwifi device memory mapped registers:\n"); + for (i = 0, ptr = buf; i < PCI_MEM_DUMP_SIZE; i += 4, ptr++) + *ptr = iwl_read32(trans, i); + print_hex_dump(KERN_ERR, prefix, DUMP_PREFIX_OFFSET, 32, 4, buf, i, 0); + + pos = pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_ERR); + if (pos) { + IWL_ERR(trans, "iwlwifi device AER capability structure:\n"); + for (i = 0, ptr = buf; i < PCI_ERR_ROOT_COMMAND; i += 4, ptr++) + if (pci_read_config_dword(pdev, pos + i, ptr)) + goto err_read; + print_hex_dump(KERN_ERR, prefix, DUMP_PREFIX_OFFSET, + 32, 4, buf, i, 0); + } + + /* Print parent device registers next */ + if (!pdev->bus->self) + goto out; + + pdev = pdev->bus->self; + sprintf(prefix, "iwlwifi %s: ", pci_name(pdev)); + + IWL_ERR(trans, "iwlwifi parent port (%s) config registers:\n", + pci_name(pdev)); + for (i = 0, ptr = buf; i < PCI_PARENT_DUMP_SIZE; i += 4, ptr++) + if (pci_read_config_dword(pdev, i, ptr)) + goto err_read; + print_hex_dump(KERN_ERR, prefix, DUMP_PREFIX_OFFSET, 32, 4, buf, i, 0); + + /* Print root port AER registers */ + pos = 0; + pdev = pcie_find_root_port(pdev); + if (pdev) + pos = pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_ERR); + if (pos) { + IWL_ERR(trans, "iwlwifi root port (%s) AER cap structure:\n", + pci_name(pdev)); + sprintf(prefix, "iwlwifi %s: ", pci_name(pdev)); + for (i = 0, ptr = buf; i <= PCI_ERR_ROOT_ERR_SRC; i += 4, ptr++) + if (pci_read_config_dword(pdev, pos + i, ptr)) + goto err_read; + print_hex_dump(KERN_ERR, prefix, DUMP_PREFIX_OFFSET, 32, + 4, buf, i, 0); + } + goto out; + +err_read: + print_hex_dump(KERN_ERR, prefix, DUMP_PREFIX_OFFSET, 32, 4, buf, i, 0); + IWL_ERR(trans, "Read failed at 0x%X\n", i); +out: + pcie_dbg_dumped_once = 1; + kfree(buf); +} diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/utils.h b/drivers/net/wireless/intel/iwlwifi/pcie/utils.h new file mode 100644 index 000000000000..af2a2eec7ec5 --- /dev/null +++ b/drivers/net/wireless/intel/iwlwifi/pcie/utils.h @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause +/* + * Copyright (C) 2025 Intel Corporation + */ + +#ifndef __iwl_pcie_utils_h__ +#define __iwl_pcie_utils_h__ + +void iwl_trans_pcie_dump_regs(struct iwl_trans *trans, struct pci_dev *pdev); + +#endif /* __iwl_pcie_utils_h__ */ From patchwork Thu Jun 12 11:48:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 896238 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) (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 E69CD23C8C5 for ; Thu, 12 Jun 2025 11:49:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.10 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728967; cv=none; b=rGDZqkKqp/UpUporqOYXidyF5RtUd94pvPi8IgvMychW2x6Krmp/dkKdUzOQ2ZyhJ8N5C+cWDqI/HwFXeQkjNhDZylkDGIzRxBCmmg6FYAuwLpZZOmAjXaBABoYsuQqIEI65HxihDkF4m5JkPbQBbSX3AIqBlrOlkmmk9tFWJrw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728967; c=relaxed/simple; bh=wDpGeJrC9XIHsmqB3mX31e2G6EU7QjPYeyp6d/F9oRw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=okYnD+w5feHOz8xynWQjZBIkafKGaCXfphm3CAhuCqovl/GTsMewLfg6fpu+QyBh83poFFlFpOCLiZOix/Qj7+LhYTkMwrzaij3wj16Dh5luzMhWM+7sWu9qv8hyXP7TTRavCAbsJkOMNikJMYnzt9BLNMF2Nhen3tJf/vcHFXA= 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=MrldOZ46; arc=none smtp.client-ip=192.198.163.10 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="MrldOZ46" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749728967; x=1781264967; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=wDpGeJrC9XIHsmqB3mX31e2G6EU7QjPYeyp6d/F9oRw=; b=MrldOZ46516m1z0dzjLXHmLMfZE9dXHwOfcdDTjzFG0qvXGX3pXddDBC P26LzNskTw1w2bMleqR/bvTw5EnxzmxRN1GLEdrRtfrXshl+QEptC1Kdh yqIKSZabovY9XnRvA6nO8GYqKO0K9B966zt99WnJ1vYxs9F2VKWDsWiG3 xiJjREACjkcWLLMBgjD0CmeFxsnZZw/XgWN8csM4PPLZrqzKqT9BAXzUi E9iz7iDdNsIVm81qCIGmS7O+gNIHLiUq7llju08QaNSaBQidrhlmfORDR /G6BTqIhjz6KGFPF9hhL19KO5Ugi6jX6pHCA60RCmIUPS4gxhJjCJhCwv A==; X-CSE-ConnectionGUID: R/JF9ziCSwmMzpxjRDClsA== X-CSE-MsgGUID: s8zyigPpR8itSjhKMmy+iA== X-IronPort-AV: E=McAfee;i="6800,10657,11461"; a="63248345" X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="63248345" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:27 -0700 X-CSE-ConnectionGUID: pZ5d14ClTrCDMjJEYEui/Q== X-CSE-MsgGUID: ahJfIdFqQeORuMed7Zbe8Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="147382148" Received: from weis0040.iil.intel.com ([10.12.217.108]) by fmviesa007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:24 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Rotem Kerem Subject: [PATCH iwlwifi-next 08/13] wifi: iwlwifi: move iwl_trans_pcie_write_mem to iwl-trans.c Date: Thu, 12 Jun 2025 14:48:54 +0300 Message-Id: <20250612144708.52034d131773.Ie783304faae7ec3a95a510dfee925838fe6466b4@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250612114859.3094387-1-miriam.rachel.korenblit@intel.com> References: <20250612114859.3094387-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: Rotem Kerem Move the iwl_trans_pcie_write_mem function to iwl_trans_write_mem in iwl-trans.c as it is not specific to PCIe. Signed-off-by: Rotem Kerem Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/iwl-trans.c | 14 +++++++++++++- .../intel/iwlwifi/pcie/gen1_2/internal.h | 2 -- .../wireless/intel/iwlwifi/pcie/gen1_2/trans.c | 18 ------------------ .../wireless/intel/iwlwifi/pcie/gen1_2/tx.c | 11 +++++------ 4 files changed, 18 insertions(+), 27 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-trans.c b/drivers/net/wireless/intel/iwlwifi/iwl-trans.c index 5dba76b009a6..78808c956444 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-trans.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-trans.c @@ -497,7 +497,19 @@ IWL_EXPORT_SYMBOL(iwl_trans_read_mem); int iwl_trans_write_mem(struct iwl_trans *trans, u32 addr, const void *buf, int dwords) { - return iwl_trans_pcie_write_mem(trans, addr, buf, dwords); + int offs, ret = 0; + const u32 *vals = buf; + + if (iwl_trans_grab_nic_access(trans)) { + iwl_write32(trans, HBUS_TARG_MEM_WADDR, addr); + for (offs = 0; offs < dwords; offs++) + iwl_write32(trans, HBUS_TARG_MEM_WDAT, + vals ? vals[offs] : 0); + iwl_trans_release_nic_access(trans); + } else { + ret = -EBUSY; + } + return ret; } IWL_EXPORT_SYMBOL(iwl_trans_write_mem); 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 52c6c22e2cc6..007f63a8d3c8 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h +++ b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h @@ -1089,8 +1089,6 @@ u32 iwl_trans_pcie_read_prph(struct iwl_trans *trans, u32 reg); void iwl_trans_pcie_write_prph(struct iwl_trans *trans, u32 addr, u32 val); int iwl_trans_pcie_read_mem(struct iwl_trans *trans, u32 addr, void *buf, int dwords); -int iwl_trans_pcie_write_mem(struct iwl_trans *trans, u32 addr, - const void *buf, int dwords); int iwl_trans_pcie_sw_reset(struct iwl_trans *trans, bool retake_ownership); struct iwl_trans_dump_data * iwl_trans_pcie_dump_data(struct iwl_trans *trans, u32 dump_mask, 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 c31a62b8f925..174bfc66c285 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c @@ -2485,24 +2485,6 @@ int iwl_trans_pcie_read_mem(struct iwl_trans *trans, u32 addr, return 0; } -int iwl_trans_pcie_write_mem(struct iwl_trans *trans, u32 addr, - const void *buf, int dwords) -{ - int offs, ret = 0; - const u32 *vals = buf; - - if (iwl_trans_grab_nic_access(trans)) { - iwl_write32(trans, HBUS_TARG_MEM_WADDR, addr); - for (offs = 0; offs < dwords; offs++) - iwl_write32(trans, HBUS_TARG_MEM_WDAT, - vals ? vals[offs] : 0); - iwl_trans_release_nic_access(trans); - } else { - ret = -EBUSY; - } - return ret; -} - int iwl_trans_pcie_read_config32(struct iwl_trans *trans, u32 ofs, u32 *val) { diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c index 7abd7c7daa89..e39451d27a93 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c @@ -494,9 +494,9 @@ void iwl_pcie_tx_start(struct iwl_trans *trans) iwl_read_prph(trans, SCD_SRAM_BASE_ADDR); /* reset context data, TX status and translation data */ - iwl_trans_pcie_write_mem(trans, trans_pcie->scd_base_addr + - SCD_CONTEXT_MEM_LOWER_BOUND, - NULL, clear_dwords); + iwl_trans_write_mem(trans, trans_pcie->scd_base_addr + + SCD_CONTEXT_MEM_LOWER_BOUND, + NULL, clear_dwords); iwl_write_prph(trans, SCD_DRAM_BASE_ADDR, trans_pcie->txqs.scd_bc_tbls.dma >> 10); @@ -1292,9 +1292,8 @@ void iwl_trans_pcie_txq_disable(struct iwl_trans *trans, int txq_id, if (configure_scd) { iwl_scd_txq_set_inactive(trans, txq_id); - iwl_trans_pcie_write_mem(trans, stts_addr, - (const void *)zero_val, - ARRAY_SIZE(zero_val)); + iwl_trans_write_mem(trans, stts_addr, (const void *)zero_val, + ARRAY_SIZE(zero_val)); } iwl_pcie_txq_unmap(trans, txq_id); From patchwork Thu Jun 12 11:48:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 895907 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) (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 1AD3B23D29A for ; Thu, 12 Jun 2025 11:49:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.10 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728968; cv=none; b=oAXcaY2Zk6UKotLpFV67WQgVuOhW4Krfa2VxHINkPZv3GXtsuC29ho/ob99KFb4whRIO0tbPZwg88iBnK+z+D4Wgon2f4pXzZKEn9hDmm45lqf8wuLDLfe5WXcdhxmdDPUf5gb5X0bdOIqC21WMzOODTleREJ5CRfssp4DLMYyc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728968; c=relaxed/simple; bh=MfnEMpWbvkY4ZJZwbD91PBh4RTIt9dFlPYMT9b9HAWw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=H1WsfsWSTLTzzdiuidtBMNiG2sUG+OfRp0m7vxipB9nIXeC0YxifZJygzTKX76KnQXQ0CwRP7A+R2mbi69pCxzPmjPe9dkgNAu3hZxK4RfuoGE2k7hDfjomO6STIq+id7SsYGrSFZnVh60Ba9KjrXN7nkPfnWgRhw2qjfe5KJ2E= 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=GcxMsdUF; arc=none smtp.client-ip=192.198.163.10 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="GcxMsdUF" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749728968; x=1781264968; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=MfnEMpWbvkY4ZJZwbD91PBh4RTIt9dFlPYMT9b9HAWw=; b=GcxMsdUFGaVlls5wr2C32CyPNOHqnUVc4JE+Rs/wqJhfDnM9AOu0Bxcs Fd5v8RnO05kyYFc8rk7pqLlijezIN8BcJTquVnNVSsxptZXuFJny1n1fP OjizJMUAPBopmHcmNz6dU14ICGlnIZDaUUdhbpz6oldLYJuN7IQC9G6dz k6FbQ36WU+uC3y3opEmPbuT0+C1rq/rId5IXjzgeagA7YI9Pege1voS5t V33zEx3Q5S2nfwmg5JD3yMjDwCUPimfxRZR+GUC0rAVOJsqwlgIhe3Tlb y3N4r4kuPhEnC0U0hDKK/KTy/OxdgDZ2/ui29lc22BLA+XhdOjw9pCFEF Q==; X-CSE-ConnectionGUID: o99ikrq9TbaPwPVUoQuerg== X-CSE-MsgGUID: Fyqzc8xEQHaRcApHysO1vw== X-IronPort-AV: E=McAfee;i="6800,10657,11461"; a="63248346" X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="63248346" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:28 -0700 X-CSE-ConnectionGUID: f9lVAzPuTfaPdLaT1hz2ng== X-CSE-MsgGUID: fy2+AxslQB+G52ccrsx6LA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="147382160" Received: from weis0040.iil.intel.com ([10.12.217.108]) by fmviesa007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:26 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Johannes Berg Subject: [PATCH iwlwifi-next 09/13] wifi: iwlwifi: mld: make iwl_mld_add_all_rekeys void Date: Thu, 12 Jun 2025 14:48:55 +0300 Message-Id: <20250612144708.4c38fb4c48f4.Ia62100a54370b6af5e528ba10c8f21e177018096@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250612114859.3094387-1-miriam.rachel.korenblit@intel.com> References: <20250612114859.3094387-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 No one checks its return value anyway. Reviewed-by: Johannes Berg Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/mld/d3.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mld/d3.c b/drivers/net/wireless/intel/iwlwifi/mld/d3.c index b156cf56a30d..d9af9a2b1e6b 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/d3.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/d3.c @@ -868,7 +868,7 @@ iwl_mld_add_mcast_rekey(struct ieee80211_vif *vif, return true; } -static bool +static void iwl_mld_add_all_rekeys(struct ieee80211_vif *vif, struct iwl_mld_wowlan_status *wowlan_status, struct iwl_mld_resume_key_iter_data *key_iter_data, @@ -881,21 +881,19 @@ iwl_mld_add_all_rekeys(struct ieee80211_vif *vif, &wowlan_status->gtk[i], link_conf, key_iter_data->gtk_cipher)) - return false; + return; if (!iwl_mld_add_mcast_rekey(vif, key_iter_data->mld, &wowlan_status->igtk, link_conf, key_iter_data->igtk_cipher)) - return false; + return; for (i = 0; i < ARRAY_SIZE(wowlan_status->bigtk); i++) if (!iwl_mld_add_mcast_rekey(vif, key_iter_data->mld, &wowlan_status->bigtk[i], link_conf, key_iter_data->bigtk_cipher)) - return false; - - return true; + return; } static bool From patchwork Thu Jun 12 11:48:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 896237 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) (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 3AEF223E226 for ; Thu, 12 Jun 2025 11:49:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.10 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728969; cv=none; b=lh4oJGcvf4JCl/m0MXQqbu9lP8Jlpf08PDqeXkdRIvVe9CIrYe5f6AgpdI5kXe6rV3wVkN41/csxdL5HybfoHNel79JAT1tk215T+x9/6hYrWDeTN0cqUnR5h8cV63V2wGMGnW3bn3J3cXt/rtEMcgWCVDZsr9IxYjV25Kv9cag= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728969; c=relaxed/simple; bh=OTabgXKvZi6w5k2UoY1Kpq/TjaJ/ZoS6LBcnx5T4xCI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Ns4wE18P+2HULkOLMk03VQutRl/S71wttAyfPPlJ0tx3hxKLNM0JcxlZcSMLQnBtxCWyteg60B3fJgIqBOxmhW4K9CQCcaNyY1xnUPtgKXM5oIes0QvLvTWz4g0Zj5Jzgg1pE1NRxHghr0y139mecWVO7JV0xSZMV/5yFMK+2cU= 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=gPO7n01S; arc=none smtp.client-ip=192.198.163.10 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="gPO7n01S" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749728968; x=1781264968; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=OTabgXKvZi6w5k2UoY1Kpq/TjaJ/ZoS6LBcnx5T4xCI=; b=gPO7n01Sn1PoMD1x7gxoQFASJDI+5lHKyN5n15ZIQdexkm9ABFEt0n/b XKXsoUagrSgPtVyVOj9mVoQGhWftVGJR3w5HYJa5MkrKex9pnzi0OSx0f imaQyqcQ+l9U3Nb0KdgYzhqwLR/a7rYJfQiruJ3uEoC4JTZa2MyeNVYxe J867SgGTaiDtf66+9t9Lxwt+zOV47qFr88zboa7SDWpWiKCIzKzRpKdCh ylz9bbzekQASl4+gFuEZRgPJPqJg3ZlJop6/QDG9fwrDnhqZRrhNlRUZ2 Wo0T+0Jd6zFrZNgcgPLQ6XqGUh04oCa+og5rjPNu/5w0DXusqC42ezqmP A==; X-CSE-ConnectionGUID: pDpAo9wASL6hDGTqwwOWHg== X-CSE-MsgGUID: YJudlm9/QFCLdUF7wBSCRg== X-IronPort-AV: E=McAfee;i="6800,10657,11461"; a="63248347" X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="63248347" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:28 -0700 X-CSE-ConnectionGUID: 3HLBE3toT+m0YVokxue+SA== X-CSE-MsgGUID: j3DDp/SUSqqtkioLayl54Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="147382167" Received: from weis0040.iil.intel.com ([10.12.217.108]) by fmviesa007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:27 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Rotem Kerem Subject: [PATCH iwlwifi-next 10/13] wifi: iwlwifi: move _iwl_trans_set_bits_mask utilities Date: Thu, 12 Jun 2025 14:48:56 +0300 Message-Id: <20250612144708.4049f1eda9fa.Iddcb6f7437beee2cfe232315384d8517b40c56d1@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250612114859.3094387-1-miriam.rachel.korenblit@intel.com> References: <20250612114859.3094387-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: Rotem Kerem Move set_bits_mask utility functions to utils.h as they are generic utilities and is not hardware-dependent. Signed-off-by: Rotem Kerem Signed-off-by: Miri Korenblit --- .../intel/iwlwifi/pcie/gen1_2/internal.h | 27 ------------------ .../intel/iwlwifi/pcie/gen1_2/trans.c | 28 +++++++++---------- .../wireless/intel/iwlwifi/pcie/gen1_2/tx.c | 5 ++-- .../net/wireless/intel/iwlwifi/pcie/utils.h | 27 ++++++++++++++++++ 4 files changed, 44 insertions(+), 43 deletions(-) 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 007f63a8d3c8..23c0771a4231 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h +++ b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h @@ -1034,33 +1034,6 @@ static inline bool iwl_is_rfkill_set(struct iwl_trans *trans) CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW); } -static inline void __iwl_trans_pcie_set_bits_mask(struct iwl_trans *trans, - u32 reg, u32 mask, u32 value) -{ - u32 v; - -#ifdef CONFIG_IWLWIFI_DEBUG - WARN_ON_ONCE(value & ~mask); -#endif - - v = iwl_read32(trans, reg); - v &= ~mask; - v |= value; - iwl_write32(trans, reg, v); -} - -static inline void __iwl_trans_pcie_clear_bit(struct iwl_trans *trans, - u32 reg, u32 mask) -{ - __iwl_trans_pcie_set_bits_mask(trans, reg, mask, 0); -} - -static inline void __iwl_trans_pcie_set_bit(struct iwl_trans *trans, - u32 reg, u32 mask) -{ - __iwl_trans_pcie_set_bits_mask(trans, reg, mask, mask); -} - static inline bool iwl_pcie_dbg_on(struct iwl_trans *trans) { return (trans->dbg.dest_tlv || iwl_trans_dbg_ini_valid(trans)); 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 174bfc66c285..97e90cbeb6cd 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c @@ -294,8 +294,8 @@ static void iwl_pcie_apm_lp_xtal_enable(struct iwl_trans *trans) u32 dl_cfg_reg; /* Force XTAL ON */ - __iwl_trans_pcie_set_bit(trans, CSR_GP_CNTRL, - CSR_GP_CNTRL_REG_FLAG_XTAL_ON); + iwl_trans_set_bit(trans, CSR_GP_CNTRL, + CSR_GP_CNTRL_REG_FLAG_XTAL_ON); ret = iwl_trans_pcie_sw_reset(trans, true); @@ -304,8 +304,8 @@ static void iwl_pcie_apm_lp_xtal_enable(struct iwl_trans *trans) if (WARN_ON(ret)) { /* Release XTAL ON request */ - __iwl_trans_pcie_clear_bit(trans, CSR_GP_CNTRL, - CSR_GP_CNTRL_REG_FLAG_XTAL_ON); + iwl_trans_clear_bit(trans, CSR_GP_CNTRL, + CSR_GP_CNTRL_REG_FLAG_XTAL_ON); return; } @@ -356,12 +356,12 @@ static void iwl_pcie_apm_lp_xtal_enable(struct iwl_trans *trans) iwl_clear_bit(trans, CSR_GP_CNTRL, CSR_GP_CNTRL_REG_FLAG_INIT_DONE); /* Activates XTAL resources monitor */ - __iwl_trans_pcie_set_bit(trans, CSR_MONITOR_CFG_REG, - CSR_MONITOR_XTAL_RESOURCES); + iwl_trans_set_bit(trans, CSR_MONITOR_CFG_REG, + CSR_MONITOR_XTAL_RESOURCES); /* Release XTAL ON request */ - __iwl_trans_pcie_clear_bit(trans, CSR_GP_CNTRL, - CSR_GP_CNTRL_REG_FLAG_XTAL_ON); + iwl_trans_clear_bit(trans, CSR_GP_CNTRL, + CSR_GP_CNTRL_REG_FLAG_XTAL_ON); udelay(10); /* Release APMG XTAL */ @@ -2330,7 +2330,7 @@ bool __iwl_trans_pcie_grab_nic_access(struct iwl_trans *trans, bool silent) } /* this bit wakes up the NIC */ - __iwl_trans_pcie_set_bit(trans, CSR_GP_CNTRL, write); + iwl_trans_set_bit(trans, CSR_GP_CNTRL, write); if (trans->mac_cfg->device_family >= IWL_DEVICE_FAMILY_8000) udelay(2); @@ -2419,11 +2419,11 @@ iwl_trans_pcie_release_nic_access(struct iwl_trans *trans) if (trans_pcie->cmd_hold_nic_awake) goto out; if (trans->mac_cfg->device_family >= IWL_DEVICE_FAMILY_BZ) - __iwl_trans_pcie_clear_bit(trans, CSR_GP_CNTRL, - CSR_GP_CNTRL_REG_FLAG_BZ_MAC_ACCESS_REQ); + iwl_trans_clear_bit(trans, CSR_GP_CNTRL, + CSR_GP_CNTRL_REG_FLAG_BZ_MAC_ACCESS_REQ); else - __iwl_trans_pcie_clear_bit(trans, CSR_GP_CNTRL, - CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ); + iwl_trans_clear_bit(trans, CSR_GP_CNTRL, + CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ); /* * Above we read the CSR_GP_CNTRL register, which will flush * any previous writes, but we need the write that clears the @@ -2604,7 +2604,7 @@ void iwl_trans_pcie_set_bits_mask(struct iwl_trans *trans, u32 reg, struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); spin_lock_bh(&trans_pcie->reg_lock); - __iwl_trans_pcie_set_bits_mask(trans, reg, mask, value); + _iwl_trans_set_bits_mask(trans, reg, mask, value); spin_unlock_bh(&trans_pcie->reg_lock); } diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c index e39451d27a93..6b052b36dfa7 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c @@ -25,6 +25,7 @@ #include "iwl-op-mode.h" #include "internal.h" #include "fw/api/tx.h" +#include "pcie/utils.h" /*************** DMA-QUEUE-GENERAL-FUNCTIONS ***** * DMA services @@ -203,8 +204,8 @@ static void iwl_pcie_clear_cmd_in_flight(struct iwl_trans *trans) } trans_pcie->cmd_hold_nic_awake = false; - __iwl_trans_pcie_clear_bit(trans, CSR_GP_CNTRL, - CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ); + iwl_trans_clear_bit(trans, CSR_GP_CNTRL, + CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ); spin_unlock(&trans_pcie->reg_lock); } diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/utils.h b/drivers/net/wireless/intel/iwlwifi/pcie/utils.h index af2a2eec7ec5..031dfdf4bba4 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/utils.h +++ b/drivers/net/wireless/intel/iwlwifi/pcie/utils.h @@ -8,4 +8,31 @@ void iwl_trans_pcie_dump_regs(struct iwl_trans *trans, struct pci_dev *pdev); +static inline void _iwl_trans_set_bits_mask(struct iwl_trans *trans, + u32 reg, u32 mask, u32 value) +{ + u32 v; + +#ifdef CONFIG_IWLWIFI_DEBUG + WARN_ON_ONCE(value & ~mask); +#endif + + v = iwl_read32(trans, reg); + v &= ~mask; + v |= value; + iwl_write32(trans, reg, v); +} + +static inline void iwl_trans_clear_bit(struct iwl_trans *trans, + u32 reg, u32 mask) +{ + _iwl_trans_set_bits_mask(trans, reg, mask, 0); +} + +static inline void iwl_trans_set_bit(struct iwl_trans *trans, + u32 reg, u32 mask) +{ + _iwl_trans_set_bits_mask(trans, reg, mask, mask); +} + #endif /* __iwl_pcie_utils_h__ */ From patchwork Thu Jun 12 11:48:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 895906 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) (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 4F1FE2417C6 for ; Thu, 12 Jun 2025 11:49:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.10 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728970; cv=none; b=XgRqzenZAs+3Pl43W9ooFt1iDKzVOqm0AyI15ZXFM2GH2kzfApK3ltv6RfQPzmTmOyQbxSDaHTwdQFe4xSVD4cmY3+bjFyjcGvDRtrLr4JFinD3bx1WPiNDaOWFo3Dxda7X7rt5QRZvqBfAD3AaXlSLJtY/E1nY2EPEcYHJqnic= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728970; c=relaxed/simple; bh=DLFcisTYx+sKUi9H0/sbzaYWAWff26U8DExTF8bXn34=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=oHgJ4+3wBKwkpa33h80Zb9Vx58fTaASw62sNBGx365kRDt3/saoomKca3tNYrsF5V44Zn14ARwf2IE1fDLCxFx7SUiGDsLUYHPk4MkI1jXRQzt8QEQN9iVqSZ95nwovvEIzS+NYqd2Sy80cJeP9KN5FCbb+DfqKA3oUwChQkdh8= 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=Mode+mG1; arc=none smtp.client-ip=192.198.163.10 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="Mode+mG1" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749728969; x=1781264969; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=DLFcisTYx+sKUi9H0/sbzaYWAWff26U8DExTF8bXn34=; b=Mode+mG1rLlXhzL/3o4AHOYjuhTUv2MLatDrrizy0MaQduCF6VO5TG/y OVpQ2FgASrr78EyMRv+wzRxvj8/boQjbbjNxNIT61BpXng6U10RwdwR72 pa0HFmdEyvZwCFfFeqwHMIpVjRVDQ6Q733MlM+sIFNg5zyrMZzihom5J0 WqacAB1UlYCmEmjWhEzlQfA2m5Bm7ku43G4I1XDmmC4UP9xHNMBphzdpf efnhgnJmd4/DVXRkbqbxvDqVaI+Ih2ty6k4nH1ZjyuY33OUX6Bu9tueX/ Aeg7Y40a1evAf/+fWH4thnE0hFTjQAomRCvhSj7AdqkGeZJ1v5MdB0Ims w==; X-CSE-ConnectionGUID: fGiD/XYkRgSITlmkOVjthQ== X-CSE-MsgGUID: hFr0U4vaS9achmbPJ8xSIw== X-IronPort-AV: E=McAfee;i="6800,10657,11461"; a="63248348" X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="63248348" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:29 -0700 X-CSE-ConnectionGUID: WGPcv+O9SS26Jbr12YTC6g== X-CSE-MsgGUID: pyNAHrVBQCe5FD5O6yVibg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="147382178" Received: from weis0040.iil.intel.com ([10.12.217.108]) by fmviesa007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:28 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Johannes Berg Subject: [PATCH iwlwifi-next 11/13] wifi: iwlwifi: mld: don't exit EMLSR when we shouldn't Date: Thu, 12 Jun 2025 14:48:57 +0300 Message-Id: <20250612144708.c680f8d7dc37.I8a02d1e8d99df3789da8d5714f19b31a865a61ff@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250612114859.3094387-1-miriam.rachel.korenblit@intel.com> References: <20250612114859.3094387-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 There is a requirement to exit EMLSR if there wasn't enough throughput in the secondary link. This is checked in check_tpt_wk, which runs every 5 seconds in a high throughput scenario (when the throughput blocker isn't set) It can happen that this worker is running immediately after we entered EMLSR, and in that case the secondary link didn't have a chance to have throughput. In that case we will exit EMLSR for no good reason. Fix this by tracking the time we entered EMLSR, and in the worker make sure that 5 seconds passed from when we entered EMLSR. If not, don't check the secondary link throughput. Reviewed-by: Johannes Berg Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/mld/iface.h | 3 +++ drivers/net/wireless/intel/iwlwifi/mld/mac80211.c | 1 + drivers/net/wireless/intel/iwlwifi/mld/mlo.c | 8 +++++--- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mld/iface.h b/drivers/net/wireless/intel/iwlwifi/mld/iface.h index 874e9ef9e798..05dcb63701b1 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/iface.h +++ b/drivers/net/wireless/intel/iwlwifi/mld/iface.h @@ -87,6 +87,8 @@ enum iwl_mld_emlsr_exit { * @last_exit_reason: Reason for the last EMLSR exit * @last_exit_ts: Time of the last EMLSR exit (if @last_exit_reason is non-zero) * @exit_repeat_count: Number of times EMLSR was exited for the same reason + * @last_entry_ts: the time of the last EMLSR entry (if iwl_mld_emlsr_active() + * is true) * @unblock_tpt_wk: Unblock EMLSR because the throughput limit was reached * @check_tpt_wk: a worker to check if IWL_MLD_EMLSR_BLOCKED_TPT should be * added, for example if there is no longer enough traffic. @@ -105,6 +107,7 @@ struct iwl_mld_emlsr { enum iwl_mld_emlsr_exit last_exit_reason; unsigned long last_exit_ts; u8 exit_repeat_count; + unsigned long last_entry_ts; ); struct wiphy_work unblock_tpt_wk; diff --git a/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c index a8b2e2046d76..8a24ca0e1e89 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c @@ -1009,6 +1009,7 @@ int iwl_mld_assign_vif_chanctx(struct ieee80211_hw *hw, /* Indicate to mac80211 that EML is enabled */ vif->driver_flags |= IEEE80211_VIF_EML_ACTIVE; + mld_vif->emlsr.last_entry_ts = jiffies; if (vif->active_links & BIT(mld_vif->emlsr.selected_links)) mld_vif->emlsr.primary = mld_vif->emlsr.selected_primary; diff --git a/drivers/net/wireless/intel/iwlwifi/mld/mlo.c b/drivers/net/wireless/intel/iwlwifi/mld/mlo.c index 8ed2c6de1282..be66a71a0fd7 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/mlo.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/mlo.c @@ -560,10 +560,12 @@ void iwl_mld_emlsr_check_tpt(struct wiphy *wiphy, struct wiphy_work *wk) /* * TPT is unblocked, need to check if the TPT criteria is still met. * - * If EMLSR is active, then we also need to check the secondar link - * requirements. + * If EMLSR is active for at least 5 seconds, then we also + * need to check the secondary link requirements. */ - if (iwl_mld_emlsr_active(vif)) { + if (iwl_mld_emlsr_active(vif) && + time_is_before_jiffies(mld_vif->emlsr.last_entry_ts + + IWL_MLD_TPT_COUNT_WINDOW)) { sec_link_id = iwl_mld_get_other_link(vif, iwl_mld_get_primary_link(vif)); sec_link = iwl_mld_link_dereference_check(mld_vif, sec_link_id); if (WARN_ON_ONCE(!sec_link)) From patchwork Thu Jun 12 11:48:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 896236 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) (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 3BF2C24337C for ; Thu, 12 Jun 2025 11:49:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.10 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728971; cv=none; b=IdwAl6J2EqCdIRARtj5+vFRxyLCN6N8NEBV5JSvvRh4xeN0g4ssWeSFy1x/EuBeHRMwuFkeKmcjm5QcBHq9ASZqTPNrhuyJwL0TYjr5cn5asAWyt4kndc4Rg9M38tfW109N/HvurqiOlclKiM/4JAHnki49o8I2MSn1eGZIog5w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728971; c=relaxed/simple; bh=PH2H5Iy6b5UA2uGzi9GH9Bv+OYejN4iKyi2d+lj6OCE=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=UmUoX8NZwRcgHfqq+e5UtQwKn1Nlwair5wuoMQmf0eJzQPvraT88clJW/H3YziVdCRMwj6D1QwZyya9GwI2Y9MNbi62USA8Ok2QDuLJw1lUBYLKr6M5EjU6XjDryXTM92vTwaGNHS1NM3trRkiG+gqJ0gjckNEwimF/YgSbaU6w= 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=Ro3sAMKI; arc=none smtp.client-ip=192.198.163.10 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="Ro3sAMKI" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749728970; x=1781264970; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=PH2H5Iy6b5UA2uGzi9GH9Bv+OYejN4iKyi2d+lj6OCE=; b=Ro3sAMKIl3JQkR1BQjOzp306juR/JtCaIGYbB9+YO08aZbAj/Roc1/Hj nCY7ZyTZZVKg5xQ157BJnHC7rRyUzkOcuiq1JK87hGAGQ3s+zjeOnLOrp u9dFXqQzgLL1dCTcQBd8YT+gieZxekUfFojvJxGBKZjfkRExXW7JONBQf KBiFVouWfEkTU/j/9OBJObN3d8VTeg1GSdJ7F9KqB9Qdom1knGuDncP5M 4ASlYWaAsZzjTvc5aIazYyToj2iPzlLYYrLPYywPrUgLRYDsEFfoKfoEX 7/O0LQ624XUbe9jblVvYW85XzQmhUkFspgneBsAVcvqVf9jupZWahdo+B A==; X-CSE-ConnectionGUID: ayO3+c2VTci62OwH0th6Ew== X-CSE-MsgGUID: jXnc3NNwS2yOTkBR8f+cVw== X-IronPort-AV: E=McAfee;i="6800,10657,11461"; a="63248349" X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="63248349" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:30 -0700 X-CSE-ConnectionGUID: jWB9FZ0YTVqvV4Isvd1O2A== X-CSE-MsgGUID: W1dKlf+zSwuQ922i0TLYHg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="147382181" Received: from weis0040.iil.intel.com ([10.12.217.108]) by fmviesa007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:29 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Subject: [PATCH iwlwifi-next 12/13] wifi: iwlwifi: bump FW API to 101 for BZ/SC/DR devices Date: Thu, 12 Jun 2025 14:48:58 +0300 Message-Id: <20250612144708.218feea370ba.Iae8edc9212fe5b470a07d8e54db27f2046554fbd@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250612114859.3094387-1-miriam.rachel.korenblit@intel.com> References: <20250612114859.3094387-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 101 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 e616c0381360..cc47fef682fd 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 100 +#define IWL_BZ_UCODE_API_MAX 101 /* Lowest firmware API version supported */ #define IWL_BZ_UCODE_API_MIN 94 diff --git a/drivers/net/wireless/intel/iwlwifi/cfg/dr.c b/drivers/net/wireless/intel/iwlwifi/cfg/dr.c index 4dbf3d3694b0..f7052b396d79 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 100 +#define IWL_DR_UCODE_API_MAX 101 /* Lowest firmware API version supported */ #define IWL_DR_UCODE_API_MIN 98 diff --git a/drivers/net/wireless/intel/iwlwifi/cfg/sc.c b/drivers/net/wireless/intel/iwlwifi/cfg/sc.c index 44bc0274bc47..a9b1932657e2 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 100 +#define IWL_SC_UCODE_API_MAX 101 /* Lowest firmware API version supported */ #define IWL_SC_UCODE_API_MIN 98 From patchwork Thu Jun 12 11:48:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miri Korenblit X-Patchwork-Id: 895905 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) (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 994D323C51E for ; Thu, 12 Jun 2025 11:49:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.10 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728973; cv=none; b=fZu9SnxKnJ7BM2omJqU3PfZXh0qdgCOt3nCguIq49jO6HYmRtJFxVY40BYF6vs7RrcmohmbY1CZgDPc6K6bgHiIFHV4+4adtT+VQ4/p6xXupShj0eIW0r2WUXnPyle5dhsuP4X2o5UwNDsnV91SiiucEMYkfZKAZ9IPouYJp0h8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749728973; c=relaxed/simple; bh=uR1gKbg8EopYdjQ4CuC8hZYiEk/vbZjxZn+RGDAjDQ8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=kC1IqAwPjaKWivyVzbi7I/Z7cg2bchv8VolHit9Rl3fJYKSCjoFhz3xlzX88Ybc8T7mqYPJhwmtQNzyrGE1QlzXOMVnTcDbG3qo7PdKGNcUdw8uBuct9SaypT+jIJcDTjFfFlUqIYi9b8fQjsLpgazFqg+x/gJOhtX98FqJhLbs= 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=NdqnpIPZ; arc=none smtp.client-ip=192.198.163.10 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="NdqnpIPZ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1749728971; x=1781264971; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=uR1gKbg8EopYdjQ4CuC8hZYiEk/vbZjxZn+RGDAjDQ8=; b=NdqnpIPZ6MTImMa14e1u0Hj3O3fs/mY9V3eTX9WFxP2viAgC2rHX+uAk meV8rPLzNeJcTPeEsT/67TKmQGoGPO3ydGbhZDIKwBkWquBXxhFWgJwoY Yb3yOY/rTzLenLAdRcy9JE8JvSatcv+8pJphWPVZM9KDj6/lGg/eeN0tp zk4/XhsIOWkkEnOuDM0YNFrxvXwhYl1c8TMmjfNZgBG/NPH49uLib/Yu4 7GRuPNTs51o2Yi1PJ6tjqFdfkdY2QVflmUMAhsrcI35J+GZ2ZxyL0BQEG YvF3E2BHNmzNkMH2mqkQ8TR0XASKYNTbDbDUeSvznnWGuBVtqnh7LNqmV A==; X-CSE-ConnectionGUID: LCXne6orRlK65YX6UIjSHQ== X-CSE-MsgGUID: 3G1uL0zjR9irE5ic3cC8yw== X-IronPort-AV: E=McAfee;i="6800,10657,11461"; a="63248352" X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="63248352" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:31 -0700 X-CSE-ConnectionGUID: WUSC4e6bTvGWkBX0Xmlnug== X-CSE-MsgGUID: 97FfGEu4SlqxCQo93oiMWQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,230,1744095600"; d="scan'208";a="147382194" Received: from weis0040.iil.intel.com ([10.12.217.108]) by fmviesa007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2025 04:49:30 -0700 From: Miri Korenblit To: linux-wireless@vger.kernel.org Cc: Johannes Berg , Emmanuel Grumbach Subject: [PATCH iwlwifi-next 13/13] wifi: iwlwifi: pcie: fix non-MSIX handshake register Date: Thu, 12 Jun 2025 14:48:59 +0300 Message-Id: <20250612144708.83aafead6061.I2f8571aafa55aa3b936a30b938de9d260592a584@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250612114859.3094387-1-miriam.rachel.korenblit@intel.com> References: <20250612114859.3094387-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 When reading the interrupt status after a FW reset handshake timeout, read the actual value not the mask for the non-MSIX case. Fixes: ab606dea80c4 ("wifi: iwlwifi: pcie: add support for the reset handshake in MSI") Signed-off-by: Johannes Berg Reviewed-by: Emmanuel Grumbach Signed-off-by: Miri Korenblit --- drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans-gen2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 b5e4b60f710c..0df8522ca410 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 @@ -125,7 +125,7 @@ void iwl_trans_pcie_fw_reset_handshake(struct iwl_trans *trans) reset_done = inta_hw & MSIX_HW_INT_CAUSES_REG_RESET_DONE; } else { - inta_hw = iwl_read32(trans, CSR_INT_MASK); + inta_hw = iwl_read32(trans, CSR_INT); reset_done = inta_hw & CSR_INT_BIT_RESET_DONE; }