From nobody Thu Apr 2 18:50:54 2026 Received: from flow-a1-smtp.messagingengine.com (flow-a1-smtp.messagingengine.com [103.168.172.136]) (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 3AD2739DBD8; Thu, 26 Mar 2026 21:12:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.136 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774559552; cv=none; b=E+CwTuNQ3AXZLfC0eOPMHpg0adwAHMgTO7OvJxwQQsM9GMsjNX4KEUkq1FY739tKk2/Ah0kFCLUDjSKxKP3+ZAIJYgnH45pP3b6qAhX5PlTHg/HqDKWNZcmn9zYXNDi++u75CR57fjYdRGdoRFvFd9ru3bBjyN1eFDvlvhySmkM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774559552; c=relaxed/simple; bh=DizT/ddlZFD7KX9YeoKrBVdFFWkgs3dXjw0pBgdRG1k=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc: In-Reply-To:References; b=T/HeF8AB7c1NwjY/2xmygOUaBVynzJtUxouWk6RLUM8PMR7HLuS2JLEdYWjxU5ANEohBwOZcbBFbD4jlDYGF9XsKa5nDtphJ8bnjJ+WNijMOw5A3W4Hhb/UBE8LEU8Mj9gXbIcMVKB+Mh4TrOxr1xRd6GVHCNgv2EGj9g2EWujE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=jetm.me; spf=pass smtp.mailfrom=jetm.me; dkim=pass (2048-bit key) header.d=jetm.me header.i=@jetm.me header.b=E0sMQAhh; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=UeIXJwOp; arc=none smtp.client-ip=103.168.172.136 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=jetm.me Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=jetm.me Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=jetm.me header.i=@jetm.me header.b="E0sMQAhh"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="UeIXJwOp" Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailflow.phl.internal (Postfix) with ESMTP id 70588138014E; Thu, 26 Mar 2026 17:12:30 -0400 (EDT) Received: from phl-imap-07 ([10.202.2.97]) by phl-compute-02.internal (MEProxy); Thu, 26 Mar 2026 17:12:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jetm.me; h=cc:cc :content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1774559550; x=1774566750; bh=cvt3lJ9bUn/nS9x0h5+rL6WI6mE1I309IFcyKJoRia4=; b= E0sMQAhh0TkOQjOZsniK4kPP1PcoLWV2KYRNxET3sGKeLs16s1BbfxFO8/aQQ/lX l7XQushoQdALzy6LAp0eo+EtZSHskCUa7mQjZU+A/GlEOH2jr2jj1WTFsl1f6Re9 j/VHZBhBw+yKeW+vl2ECZyhI3TPznv+iGkcgU6BvVyr1rIYehcyMUc8HdCPvJ51D Gblbvcp/tqX6QIdhU0HMb9vBl7FsrD8LR7JdCvDPlAwkvqJ78t4HLftLk8CCi8ZQ qmVvKdQUKy7fdu8TmrHOoIJ//eZikstkzzQ288/JEx+FlqVO+fcxilJKMYc+PFmw MEFVVT4Fo7JPfmg40FAgrA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1774559550; x= 1774566750; bh=cvt3lJ9bUn/nS9x0h5+rL6WI6mE1I309IFcyKJoRia4=; b=U eIXJwOpPl3cUAUutZr89x1lkdQUbj+f97ECwm3X08pHjAj7+fd1N0k1Pu/MGbSQC lNyJLGq1vd0ynJlViIC6Lu8QctAlqV5cUIffff+OSLobUPRp8zX5H5UTIcJshDvD D4K3952AzOTtGul///Umvd3ojJFl9B/Bi+Af8xT8Ne0CJzrv3aZpl+DM1CESl6aO ZgCZjpIHdmZoE9sZ8BByJH+WBiAlgLe7zl79YL4NhitK0SIm4VTzq5LEYl+fcrip S+mBkVyOQXmsv1lnnGfGMKrpz4xIVXVDDZkrpAkZmhpdiYhU+ndCU6jBvhCzmJvt 1kwRpG1Sm6nQqe7i4HEkg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdefvdekgedvucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepoffhfffugggtgffkvfevofgjfhesthekredtredtjeenucfhrhhomheplfgrvhhi vghrucfvihgruceofhhlohhsshesjhgvthhmrdhmvgeqnecuggftrfgrthhtvghrnhepve ektdfhffevuddtgfetieevtddvheduhfeggfekveejlefhleefieevueefiefhnecuvehl uhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepfhhlohhsshesjh gvthhmrdhmvgdpnhgspghrtghpthhtohepvddvpdhmohguvgepshhmthhpohhuthdprhgt phhtthhopegrnhhgvghlohhgihhorggttghhihhnohdruggvlhhrvghgnhhosegtohhllh grsghorhgrrdgtohhmpdhrtghpthhtohepfeduleefieefudesghhmrghilhdrtghomhdp rhgtphhtthhopehlohhonhhgrddtgidttdesghhmrghilhdrtghomhdprhgtphhtthhope grrhhivghlrdhrohhsvghnfhgvlhgurdejhedtsehgmhgrihhlrdgtohhmpdhrtghpthht oheptghhrghpuhhishgurghrihhogeesghhmrghilhdrtghomhdprhgtphhtthhopehgih hoshgrlheltdesghhmrghilhdrtghomhdprhgtphhtthhopehmrghtthhhihgrshdrsghg ghesghhmrghilhdrtghomhdprhgtphhtthhopehrrgguohhirdgthhhrihhssehgmhgrih hlrdgtohhmpdhrtghpthhtohepshgrmhhurdhtohhljhgrmhhosehgmhgrihhlrdgtohhm X-ME-Proxy: Feedback-ID: i9dde48b3:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 4263E1EA006B; Thu, 26 Mar 2026 17:12:30 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface From: Javier Tia Date: Thu, 26 Mar 2026 15:12:25 -0600 Subject: [PATCH v4 1/9] wifi: mt76: mt7925: fix stale pointer comparisons in change_vif_links Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260326-mt7927-wifi-support-v4-v4-1-8ab465addcfe@jetm.me> To: Felix Fietkau , Lorenzo Bianconi , Ryder Lee , Shayne Chen , Sean Wang , Matthias Brugger , AngeloGioacchino Del Regno , Ming Yen Hsieh , Deren Wu Cc: linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Marcin FM , Cristian-Florin Radoi , George Salukvadze , Evgeny Kapusta <3193631@gmail.com>, Samu Toljamo , Ariel Rosenfeld , Chapuis Dario , =?utf-8?q?Thibaut_Fran=C3=A7ois?= , =?utf-8?q?=E5=BC=A0=E6=97=AD=E6=B6=B5?= X-Mailer: b4 0.15.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1810; i=floss@jetm.me; h=from:subject:message-id; bh=DizT/ddlZFD7KX9YeoKrBVdFFWkgs3dXjw0pBgdRG1k=; b=owEB7QES/pANAwAKAbXuwwuoZ3cfAcsmYgBpxaE4l7WE3ZFIZQ9RG3yAHeILkdCfnys0Gihiz L5KH/OLmTGJAbMEAAEKAB0WIQSbE7ILzw7eI0VKk8m17sMLqGd3HwUCacWhOAAKCRC17sMLqGd3 H6leC/9wtLfOoljzuG6wmMdGF3XfSkujHVEyLZ7StGb+C/pcFHrJw51iyUKFHqVDc8GKLXuNsDw F+V+tlL5kgouXGeuHOJgQvwlYiH94+rOhaZr7a8bYBsMH2f4nX+A8IkN101/fhR8b3YebcI3U8d 5dQy0T78MBfVBINaqJoAK/nfPvh/PFiUu1JUeiuIK4k+qGyzYmuxPgS4ig1+AWLUizhM/0QLAeD kXL2AjMaSH/Nb7pRNDe/+QGYAmyrbQljZdMgWD+LRpJv6e2n/lmIdPEzhGkcO8VgRqQ0Z8l1ZSX 7d5t3zLQE8UH6DiMDT5IxczbMy+5fymEZXiIUvEKnO9iQKKwKBAkJQqQHCCxFWPUYv/ZHIoN3s4 6K67Gtgrvgyz6NohMT+YBSeZla9BqRz+BGGdWFEQNp+Ca9VjmsZUXN4Pvx7Ko1vbOC3xKdk6bLX 1SYAq6yVY9YJAm6FILWRrh8jyzsFk4qzYTkQ4u1xsr7syvOos30wnHfNRjEXhb8h8HMQw= X-Developer-Key: i=floss@jetm.me; a=openpgp; fpr=9B13B20BCF0EDE23454A93C9B5EEC30BA867771F In-Reply-To: <20260326-mt7927-wifi-support-v4-v4-0-8ab465addcfe@jetm.me> References: <20260326-mt7927-wifi-support-v4-v4-0-8ab465addcfe@jetm.me> In the error path of mt7925_change_vif_links(), the free: label iterates over link_ids to clean up, but compares against `mconf` and `mlink` which hold stale values from the last loop iteration rather than the current link_id being freed. Use array-indexed access (mconfs[link_id] / mlinks[link_id]) to compare against the correct per-link pointers. Fixes: 69acd6d910b0 ("wifi: mt76: mt7925: add mt7925_change_vif_links") Tested-by: Marcin FM Tested-by: Cristian-Florin Radoi Tested-by: George Salukvadze Tested-by: Evgeny Kapusta <3193631@gmail.com> Tested-by: Samu Toljamo Tested-by: Ariel Rosenfeld Tested-by: Chapuis Dario Tested-by: Thibaut Fran=C3=A7ois Tested-by: =E5=BC=A0=E6=97=AD=E6=B6=B5 Signed-off-by: Javier Tia --- drivers/net/wireless/mediatek/mt76/mt7925/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/main.c b/drivers/net= /wireless/mediatek/mt76/mt7925/main.c index 2d358a96640c..f128a198f81d 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7925/main.c +++ b/drivers/net/wireless/mediatek/mt76/mt7925/main.c @@ -2047,9 +2047,9 @@ mt7925_change_vif_links(struct ieee80211_hw *hw, stru= ct ieee80211_vif *vif, rcu_assign_pointer(mvif->link_conf[link_id], NULL); rcu_assign_pointer(mvif->sta.link[link_id], NULL); =20 - if (mconf !=3D &mvif->bss_conf) + if (mconfs[link_id] !=3D &mvif->bss_conf) devm_kfree(dev->mt76.dev, mconfs[link_id]); - if (mlink !=3D &mvif->sta.deflink) + if (mlinks[link_id] !=3D &mvif->sta.deflink) devm_kfree(dev->mt76.dev, mlinks[link_id]); } =20 --=20 2.53.0 From nobody Thu Apr 2 18:50:54 2026 Received: from flow-a1-smtp.messagingengine.com (flow-a1-smtp.messagingengine.com [103.168.172.136]) (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 C02AA3A7586; Thu, 26 Mar 2026 21:12:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.136 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774559554; cv=none; b=flQSeELB8k/zE3m0LHPof9KBEPTrqqivGBSmuAzh8tievpeN0jyovBstCWM4g2RxLBJ7bLbdSJ6vDMAkPUHM11AHcb2IxlpXCRleoWU51SHqrcQoaObv1NntL1s5nbMCRT5PMgA5X4ZKOp/HkNZAjEGOhRcqz5CbrgnfvWv5HSA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774559554; c=relaxed/simple; bh=oL0xrbX2LUVp9Q4JBTD78nnciF3VWT3fiWIhBG52oaU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc: In-Reply-To:References; b=ZTV7gyV1smORMrZEvr0mfCOHrHlCD6aP4ycjwaFx/7vWTIi3pBHJAHzemz5hv8JpVaT1gZT/ZNkK2++cn/q3AK53QIa+sauB0dv6tbKeN+FLGSoq391rHvpkGJFvq1CYTvxl509iMBDXEODPjKR4TMwOi+6yh3HnXjQJjxNMDuU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=jetm.me; spf=pass smtp.mailfrom=jetm.me; dkim=pass (2048-bit key) header.d=jetm.me header.i=@jetm.me header.b=N/Td8TvW; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=cNJFHR97; arc=none smtp.client-ip=103.168.172.136 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=jetm.me Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=jetm.me Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=jetm.me header.i=@jetm.me header.b="N/Td8TvW"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="cNJFHR97" Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailflow.phl.internal (Postfix) with ESMTP id 0E13C138014F; Thu, 26 Mar 2026 17:12:32 -0400 (EDT) Received: from phl-imap-07 ([10.202.2.97]) by phl-compute-02.internal (MEProxy); Thu, 26 Mar 2026 17:12:32 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jetm.me; h=cc:cc :content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1774559552; x=1774566752; bh=HOxwP/LFDi9G4GG/ESf696AKYCs6uY6IFgrUHF+9MxA=; b= N/Td8TvWPrRBCT4UmRikJVm4u4hjXJujVyRbfmqewYl9zBJ68HcqJzPK/3u+c2XQ QVLtmwMX+UhxAijbn+IrwwUqV4eHR80YfbBng/6m7T7un237Wgr0/qfLBZtBbjHy Nc5NguTGEg8sefV5gKO9UWvjXJqq5V46KVRitAvFLIu8dcfomSd+N3zyYDBrVlvA tiIPOKnFzIoEiiuwP0t3ZBn8oYesLNDfmRvzOZk3CnlRjfegu6V2JxC1Y3Nsoi1I Q3u3KCrRNgLdyQcvYp+mffYID/dUYakPG0VQBs6RO0m7z6l1Br54uVq/6cCs93jc 0Vj4+wsh/ziSTu1JjXRhIA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1774559552; x= 1774566752; bh=HOxwP/LFDi9G4GG/ESf696AKYCs6uY6IFgrUHF+9MxA=; b=c NJFHR97oPOnHRwW9Lo+Ieivv8qr3rkPXYy0zXV9+wKENw+W18W9OzQ9B1ZGSS7V7 WpAijZtjzGp8Yrd5eokaxaoEGCUi2Dah2YDeLXICZzxNuFGfaKAZl9JQWWIq0Wsm Z5gIS5BGCVJHCIFzR8dCTpstu0FSZu7Y3Dh0tUVkCSWt+MloSpIY6CNXCleCYzfc Vod8VgLOgXj4uTc9E1DungcRGRBP9ZRYPOJv9zhL1JKjW06d/ywMo1Nj+jxVd6iL kPxnEv3ev3mNrFN6xFKzMtNUGdinB42Tnrs1aUnbLX5B5d1nnRf5O4yZa9YokqUy 7UCLxGdooWjx4JlcrvNmQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdefvdekgedvucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepoffhfffugggtgffkvfevofgjfhesthekredtredtjeenucfhrhhomheplfgrvhhi vghrucfvihgruceofhhlohhsshesjhgvthhmrdhmvgeqnecuggftrfgrthhtvghrnhepue dttdfggfdufeeiueetffegveefffevjeehvdelfeevhffhteekgfegveeuiefhnecuffho mhgrihhnpehgihhthhhusgdrtghomhenucevlhhushhtvghrufhiiigvpedtnecurfgrrh grmhepmhgrihhlfhhrohhmpehflhhoshhssehjvghtmhdrmhgvpdhnsggprhgtphhtthho pedvvddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtoheprghnghgvlhhoghhiohgrtg gthhhinhhordguvghlrhgvghhnohestgholhhlrggsohhrrgdrtghomhdprhgtphhtthho peefudelfeeifedusehgmhgrihhlrdgtohhmpdhrtghpthhtoheplhhoohhnghdrtdigtd dtsehgmhgrihhlrdgtohhmpdhrtghpthhtoheprghrihgvlhdrrhhoshgvnhhfvghlugdr jeehtdesghhmrghilhdrtghomhdprhgtphhtthhopegthhgrphhuihhsuggrrhhiohegse hgmhgrihhlrdgtohhmpdhrtghpthhtohepghhiohhsrghlledtsehgmhgrihhlrdgtohhm pdhrtghpthhtohepmhgrthhthhhirghsrdgsghhgsehgmhgrihhlrdgtohhmpdhrtghpth htoheprhgrughoihdrtghhrhhishesghhmrghilhdrtghomhdprhgtphhtthhopehsrghm uhdrthholhhjrghmohesghhmrghilhdrtghomh X-ME-Proxy: Feedback-ID: i9dde48b3:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id DBCD51EA006B; Thu, 26 Mar 2026 17:12:31 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface From: Javier Tia Date: Thu, 26 Mar 2026 15:12:26 -0600 Subject: [PATCH v4 2/9] wifi: mt76: mt7925: add 320MHz bandwidth to bss_rlm_tlv Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260326-mt7927-wifi-support-v4-v4-2-8ab465addcfe@jetm.me> To: Felix Fietkau , Lorenzo Bianconi , Ryder Lee , Shayne Chen , Sean Wang , Matthias Brugger , AngeloGioacchino Del Regno , Ming Yen Hsieh , Deren Wu Cc: linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, =?utf-8?q?=E5=BC=A0=E6=97=AD=E6=B6=B5?= , Marcin FM , Cristian-Florin Radoi , George Salukvadze , Evgeny Kapusta <3193631@gmail.com>, Samu Toljamo , Ariel Rosenfeld , Chapuis Dario , =?utf-8?q?Thibaut_Fran=C3=A7ois?= X-Mailer: b4 0.15.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1913; i=floss@jetm.me; h=from:subject:message-id; bh=oL0xrbX2LUVp9Q4JBTD78nnciF3VWT3fiWIhBG52oaU=; b=owEB7QES/pANAwAKAbXuwwuoZ3cfAcsmYgBpxaE45JhSnc/J5oCpgtFJJoPpHiK6vkch8y345 yuAeH5aXU6JAbMEAAEKAB0WIQSbE7ILzw7eI0VKk8m17sMLqGd3HwUCacWhOAAKCRC17sMLqGd3 Hx9iC/43Gcu5nDAXTOrqictzohkwauPGpa+JwvfObi2x5ike6vlLV/iG5bAkArKYCcF6JInqYA0 MJhVlVFZvddy81x0f3wU94Jg2QPZ2cE3HQ2y7ZZd9wpqEUYD+RWnpub8ixGijPmP9acnfTlsCea b8rEiCU4klmZSnlIbLHMli77J3rowsriAUPo3u0zq+hdCGxX47jVGQvdOUkD6lUEG8lhlejjljL lfICcqhDvTTb4ZtDk0ZvXHoU31fvBXvkcecq1nsHuzAYkOp2rKBJ6AWrYfU8DeS5qFcC2MoYShW htjoMZgmciqWKgifVqOBAqxKNBOBHMu1T+VoFB9uAkNy/9qDkk/nLpMHn70TgkF+o2TUAjVhqYE /gURfXt/6eA5Bd73gI1B9pvWTLBPdK4PsERZE8lJSwvex4RECZ9pVqk6U4d71BuTvy0ZvZyuFEM mB2UmABwv+6DH+mKnkWeXww+hUfGY8QOl0Ue/Dnx6bWnOOF52VA430SqnPTv70d6cNxtc= X-Developer-Key: i=floss@jetm.me; a=openpgp; fpr=9B13B20BCF0EDE23454A93C9B5EEC30BA867771F In-Reply-To: <20260326-mt7927-wifi-support-v4-v4-0-8ab465addcfe@jetm.me> References: <20260326-mt7927-wifi-support-v4-v4-0-8ab465addcfe@jetm.me> bss_rlm_tlv() in mt7925_mcu_bss_rlm_tlv() has no case for NL80211_CHAN_WIDTH_320. When associated to a 320MHz BSS, the switch falls through to default and sends bw=3D0 (CMD_CBW_20MHZ) to firmware via BSS_RLM TLV. Firmware then configures the RX radio for 20MHz and cannot decode the AP's 320MHz frames, resulting in complete data path failure at 320MHz. Add the missing NL80211_CHAN_WIDTH_320 case with CMD_CBW_320MHZ and center_chan2. Tested on ASUS RT-BE92U: 320MHz throughput goes from 0 Mbps to 841 Mbps (iperf3 -t30 -P8), PHY 4803 Mbps EHT-MCS11. Reported-by: =E5=BC=A0=E6=97=AD=E6=B6=B5 Closes: https://github.com/openwrt/mt76/issues/927 Tested-by: =E5=BC=A0=E6=97=AD=E6=B6=B5 Tested-by: Marcin FM Tested-by: Cristian-Florin Radoi Tested-by: George Salukvadze Tested-by: Evgeny Kapusta <3193631@gmail.com> Tested-by: Samu Toljamo Tested-by: Ariel Rosenfeld Tested-by: Chapuis Dario Tested-by: Thibaut Fran=C3=A7ois Signed-off-by: Javier Tia --- drivers/net/wireless/mediatek/mt76/mt7925/mcu.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c b/drivers/net/= wireless/mediatek/mt76/mt7925/mcu.c index cf0fdea45cf7..dd5ecb07947b 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c +++ b/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c @@ -2331,6 +2331,10 @@ void mt7925_mcu_bss_rlm_tlv(struct sk_buff *skb, str= uct mt76_phy *phy, case NL80211_CHAN_WIDTH_160: req->bw =3D CMD_CBW_160MHZ; break; + case NL80211_CHAN_WIDTH_320: + req->bw =3D CMD_CBW_320MHZ; + req->center_chan2 =3D ieee80211_frequency_to_channel(freq2); + break; case NL80211_CHAN_WIDTH_5: req->bw =3D CMD_CBW_5MHZ; break; --=20 2.53.0 From nobody Thu Apr 2 18:50:54 2026 Received: from flow-a1-smtp.messagingengine.com (flow-a1-smtp.messagingengine.com [103.168.172.136]) (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 8A8B13A783F; Thu, 26 Mar 2026 21:12:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.136 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774559555; cv=none; b=BLvHYoIquIZXnFHHwoWxIcYZQKql55ePoHuJWyei9ep8VZug6R+j8Dj8r/oGJF4kV77NDhC7B5dABIVQhl59IziJvnqBPEUmNSV44HAnM7ne8dXoPFim+5NavqV6nMHakU5rnlWW4lZC1HYQmUmo0eSnUUXvsW//wWKEF0+cJYQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774559555; c=relaxed/simple; bh=BZB4eayi5CQeKoa7X5LI8ihvLOiSO2F3JQGoBG3iu4g=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc: In-Reply-To:References; b=j9t89MIDaRhuh2eGXjmfwyLJe6Nk2FHuu6yxWOoHF7KAbewAoEy7wHRn6/jc32iCQbp10hQRhNB7vojn0RtY9YBdpOleF9pWivVoW85El+t55BPkB429Y2mcHrvdr9CWfS2YjGSzUyOL4OVKEW7/Kxi5rGU3AhrbuQKRPOc4/iY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=jetm.me; spf=pass smtp.mailfrom=jetm.me; dkim=pass (2048-bit key) header.d=jetm.me header.i=@jetm.me header.b=DqzaVL3e; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=Xgdbsf+m; arc=none smtp.client-ip=103.168.172.136 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=jetm.me Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=jetm.me Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=jetm.me header.i=@jetm.me header.b="DqzaVL3e"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="Xgdbsf+m" Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailflow.phl.internal (Postfix) with ESMTP id CA3CE1380150; Thu, 26 Mar 2026 17:12:33 -0400 (EDT) Received: from phl-imap-07 ([10.202.2.97]) by phl-compute-02.internal (MEProxy); Thu, 26 Mar 2026 17:12:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jetm.me; h=cc:cc :content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1774559553; x=1774566753; bh=e5QLbR8nQwufqPNpMgHuGuZt5CzJuoJvqK1picXhn/k=; b= DqzaVL3ebYJKfqA99kI8FaxmJt1Jc1FzHmdK6II0AhTb/kOcy0RVARlAk92n4i6A JoDJsnxjGvmuy/oJBheQXah1SdP0H943RBj9iEgOlyvRkbheAAgMzIKr2PHyCvI2 AqOPu0nwA0sv8nfMz2QZxgpZecs8W7hyBila8PdrkbERyhBVcYxyuuPWmWeOyhrR adYRdntXEacnO1lr5KwqMCDFiYr4eCN8oF0wXKny41EBcfxdXvIwq+HG2nBdSNHo vUW0EYXWvf493/cxBwEH9gDuF8gi9FJXTv+i9JUsUdO/0QsrrFLjnE+eTw8eRufF b4ykESWznU/7WD2GuE5ZJw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1774559553; x= 1774566753; bh=e5QLbR8nQwufqPNpMgHuGuZt5CzJuoJvqK1picXhn/k=; b=X gdbsf+mYBF5okhDjs0D5YLjPLBjAlV+6+OVV9t8poZ1UYqt8Scklsjm0aWm3yYJo k8yeEeRXaDlMJmwk94ED6LspVzgg/BdGkVPGh4inkpRtu8UsBIDkIdPJdEkNN1ru NAm1U/lcwKKgnHzUhnc/+oZ0INoH6wemkJPhdZwlTYaZM55+HmDs8kcLlMQrj5TO C0VSWL8SHhSdzc+LZ8N7NZkpbay439coOZ1hOlmYFZI8dl6NIrtNgPD5ytzi6u0r PmMkKIGmLF/cazVJE+WqHL/C/BA05sURDozn6Bl6UFfU6B3zOEsGkVG2G8Gu4uoQ aDRdREWBvySyL2zbUBVIA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdefvdekgedvucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepoffhfffugggtgffkvfevofgjfhesthekredtredtjeenucfhrhhomheplfgrvhhi vghrucfvihgruceofhhlohhsshesjhgvthhmrdhmvgeqnecuggftrfgrthhtvghrnhepve ektdfhffevuddtgfetieevtddvheduhfeggfekveejlefhleefieevueefiefhnecuvehl uhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepfhhlohhsshesjh gvthhmrdhmvgdpnhgspghrtghpthhtohepvddvpdhmohguvgepshhmthhpohhuthdprhgt phhtthhopegrnhhgvghlohhgihhorggttghhihhnohdruggvlhhrvghgnhhosegtohhllh grsghorhgrrdgtohhmpdhrtghpthhtohepfeduleefieefudesghhmrghilhdrtghomhdp rhgtphhtthhopehlohhonhhgrddtgidttdesghhmrghilhdrtghomhdprhgtphhtthhope grrhhivghlrdhrohhsvghnfhgvlhgurdejhedtsehgmhgrihhlrdgtohhmpdhrtghpthht oheptghhrghpuhhishgurghrihhogeesghhmrghilhdrtghomhdprhgtphhtthhopehgih hoshgrlheltdesghhmrghilhdrtghomhdprhgtphhtthhopehmrghtthhhihgrshdrsghg ghesghhmrghilhdrtghomhdprhgtphhtthhopehrrgguohhirdgthhhrihhssehgmhgrih hlrdgtohhmpdhrtghpthhtohepshgrmhhurdhtohhljhgrmhhosehgmhgrihhlrdgtohhm X-ME-Proxy: Feedback-ID: i9dde48b3:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id A16B91EA006B; Thu, 26 Mar 2026 17:12:33 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface From: Javier Tia Date: Thu, 26 Mar 2026 15:12:27 -0600 Subject: [PATCH v4 3/9] wifi: mt76: mt7925: handle 320MHz bandwidth in RXV and TXS Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260326-mt7927-wifi-support-v4-v4-3-8ab465addcfe@jetm.me> To: Felix Fietkau , Lorenzo Bianconi , Ryder Lee , Shayne Chen , Sean Wang , Matthias Brugger , AngeloGioacchino Del Regno , Ming Yen Hsieh , Deren Wu Cc: linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Marcin FM , Cristian-Florin Radoi , George Salukvadze , Evgeny Kapusta <3193631@gmail.com>, Samu Toljamo , Ariel Rosenfeld , Chapuis Dario , =?utf-8?q?Thibaut_Fran=C3=A7ois?= , =?utf-8?q?=E5=BC=A0=E6=97=AD=E6=B6=B5?= X-Mailer: b4 0.15.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2005; i=floss@jetm.me; h=from:subject:message-id; bh=BZB4eayi5CQeKoa7X5LI8ihvLOiSO2F3JQGoBG3iu4g=; b=owEB7QES/pANAwAKAbXuwwuoZ3cfAcsmYgBpxaE43mYqYvjLKfFiKw/xDraf9On4ZhVZC9zX5 CgZ/PlCnY+JAbMEAAEKAB0WIQSbE7ILzw7eI0VKk8m17sMLqGd3HwUCacWhOAAKCRC17sMLqGd3 H/4LDACtHZzKRKfSiDyTKRDfgF+YxZdhtWscYyilTOCuhcyrdfCpsXzL0zeqfThofcrcuCFq254 mQh5V+OJ334wEm1fZmpwLBjj7VGK9f1OcwJ2LDgLC0oEXsgtyWz5LvKKrucY3SWlXt8tl0GKnC3 nA5TdRnE8YRAzuUTRalXX6tp2J1IWM+ffOi9BMpkFdWl5Fsl/NMlsFwGLdulf3cA3BCySgGxmaI k+2VzoFfZlUXQjx2mpzBOh2hmQ3Jwi6PnhcHllvKwTmdqIhaqYc7Up8E7nti3yA1rk/Wrg+Kcip Af8tJSu8hcX8yaTPBXNGUg5IpvRqhpFz/eNepR9a7KHHgspXieXv7UNhmbNsaiw4az2bHI0nhip FeieLZgSZYCUS3qIBJm60tnSEB1JQuG05P6/X+jQBoqcHJTy7pcpSsuaE9XZZrMhhX+9MD/C0HK YZstmB5ppRWjlQAXQj3X7D/q6y9b5v5dvwevmKz8eTi6UFFOcITNto9+xac9QIhWJ0Ubk= X-Developer-Key: i=floss@jetm.me; a=openpgp; fpr=9B13B20BCF0EDE23454A93C9B5EEC30BA867771F In-Reply-To: <20260326-mt7927-wifi-support-v4-v4-0-8ab465addcfe@jetm.me> References: <20260326-mt7927-wifi-support-v4-v4-0-8ab465addcfe@jetm.me> The RX vector (RXV) and TX status (TXS) parsing in mac.c lack handling for 320MHz channel width. When the hardware reports 320MHz in the bandwidth field, mt7925_mac_fill_rx_rate() returns -EINVAL and mt7925_mac_add_txs_skb() records no bandwidth stats. Add IEEE80211_STA_RX_BW_320 cases to both functions. The RXV parser also handles BW_320+1 since the hardware can report 320MHz in two adjacent encoding positions. Tested-by: Marcin FM Tested-by: Cristian-Florin Radoi Tested-by: George Salukvadze Tested-by: Evgeny Kapusta <3193631@gmail.com> Tested-by: Samu Toljamo Tested-by: Ariel Rosenfeld Tested-by: Chapuis Dario Tested-by: Thibaut Fran=C3=A7ois Tested-by: =E5=BC=A0=E6=97=AD=E6=B6=B5 Signed-off-by: Javier Tia --- drivers/net/wireless/mediatek/mt76/mt7925/mac.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/mac.c b/drivers/net/= wireless/mediatek/mt76/mt7925/mac.c index caaf71c31480..ad03fc554b69 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7925/mac.c +++ b/drivers/net/wireless/mediatek/mt76/mt7925/mac.c @@ -339,6 +339,11 @@ mt7925_mac_fill_rx_rate(struct mt792x_dev *dev, case IEEE80211_STA_RX_BW_160: status->bw =3D RATE_INFO_BW_160; break; + /* RXV can report 320 in two positions */ + case IEEE80211_STA_RX_BW_320: + case IEEE80211_STA_RX_BW_320 + 1: + status->bw =3D RATE_INFO_BW_320; + break; default: return -EINVAL; } @@ -992,6 +997,10 @@ mt7925_mac_add_txs_skb(struct mt792x_dev *dev, struct = mt76_wcid *wcid, stats->tx_mode[mode]++; =20 switch (FIELD_GET(MT_TXS0_BW, txs)) { + case IEEE80211_STA_RX_BW_320: + rate.bw =3D RATE_INFO_BW_320; + stats->tx_bw[4]++; + break; case IEEE80211_STA_RX_BW_160: rate.bw =3D RATE_INFO_BW_160; stats->tx_bw[3]++; --=20 2.53.0 From nobody Thu Apr 2 18:50:54 2026 Received: from flow-a1-smtp.messagingengine.com (flow-a1-smtp.messagingengine.com [103.168.172.136]) (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 35E503A874C; Thu, 26 Mar 2026 21:12:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.136 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774559557; cv=none; b=FUQrVHGD52atOnjIcQcrzIGhAZ2eyDt3QikaWEop15vk3JEQn1WYBsQ/lmrWKVTWFhIa0DPnIs2UIUVa7F0Q1uhthE0b3cCAtARWIhjUk+t4zgOtAosSswg+IbtO8NTacno+pQ539PLn2I2VrBCNElXteqzFKi27EPytYgm9Omw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774559557; c=relaxed/simple; bh=b6wuUqMM9LRMdvCkKcW9uEToGwJgCsTkr6DKPTvA7cE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc: In-Reply-To:References; b=uPUNYTGo3jPHn/MA3ZYrlceWhVa7n3cC2Uk40nqyf7qp3RLijLMmMz75LfCmuKDDyq1IoDSiyooW5VT5htlOQmUTgNE1W02t6MJaYozIJdGW2iTgVKkKNVbnCNL91YpVeR6J8V7o1oz4h47uJ+CK6yb29Mrzn9ZqQPxrG39QOdc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=jetm.me; spf=pass smtp.mailfrom=jetm.me; dkim=pass (2048-bit key) header.d=jetm.me header.i=@jetm.me header.b=mrsZhwOz; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=1XzLCZa+; arc=none smtp.client-ip=103.168.172.136 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=jetm.me Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=jetm.me Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=jetm.me header.i=@jetm.me header.b="mrsZhwOz"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="1XzLCZa+" Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailflow.phl.internal (Postfix) with ESMTP id 6EA371380151; Thu, 26 Mar 2026 17:12:35 -0400 (EDT) Received: from phl-imap-07 ([10.202.2.97]) by phl-compute-02.internal (MEProxy); Thu, 26 Mar 2026 17:12:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jetm.me; h=cc:cc :content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1774559555; x=1774566755; bh=3c3om6+sjsXCFA8fMVuyG6m2PTBcXdiHeFZPaFuV0Us=; b= mrsZhwOzgcPr9dphzmhExpP+pIM7+mJwll960UL/GxF7bdVAZ5QgE+fYHMy7+c/o 6PpDBN19PAW7Rk+IKqqvjVAMGkiIPuAQSgJy/dDd0mQF/Z29u6XyGq3417Li1Ovf i6U7K1V6nNZSnOSaCdSzUj+H/u+YT7+PKH9qSlKKZWUbUqWev7EQMD763z9M9MnN evK1/Rk6ZUOCVY5jF/aVwqRoZskVh0EKRYeSIhkROHJYbkmCnNMyMq9ObFNejWUQ D7AYWvtQ604j/rJ8FsaHDT8U5QOfI6Y9XOOoKg5QRHagFOcfG23L4Ofl9Msnyj7O gCzTAfmw4vFWNcxayqcM6g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1774559555; x= 1774566755; bh=3c3om6+sjsXCFA8fMVuyG6m2PTBcXdiHeFZPaFuV0Us=; b=1 XzLCZa+lypjYYA1FEUvVXwCTkOcD6y7SpT6voyzeEd3zhqqZsOutw1e5y51OtG7V lzztd/KY+UlCr5RgwWh26lXfg7Y+xY3jrFwMm5EmUNOSV4SXIByz7Y9Glci/zOih jYrvgqVhAmbNu4YCuFdXQh2lEDMWdsClz8bNo6k9K3d5c+V/FJzkq7wI5CSwWOTP 2XZArrwK7hJpH9Kl+CKBkANvZOyTBgOI4wAM3MOW5cMbctnksKf60YOOB0Jdp4An RhNce8EIR+518MCOBpmGgswyGqX24HZGpDeSEQzZi0zV3OVlXgxy7RiyBsM+1G+F Kbd4AVM78gVqsstuMfvrg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdefvdekgedvucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepoffhfffugggtgffkvfevofgjfhesthekredtredtjeenucfhrhhomheplfgrvhhi vghrucfvihgruceofhhlohhsshesjhgvthhmrdhmvgeqnecuggftrfgrthhtvghrnhepve ektdfhffevuddtgfetieevtddvheduhfeggfekveejlefhleefieevueefiefhnecuvehl uhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepfhhlohhsshesjh gvthhmrdhmvgdpnhgspghrtghpthhtohepvddvpdhmohguvgepshhmthhpohhuthdprhgt phhtthhopegrnhhgvghlohhgihhorggttghhihhnohdruggvlhhrvghgnhhosegtohhllh grsghorhgrrdgtohhmpdhrtghpthhtohepfeduleefieefudesghhmrghilhdrtghomhdp rhgtphhtthhopehlohhonhhgrddtgidttdesghhmrghilhdrtghomhdprhgtphhtthhope grrhhivghlrdhrohhsvghnfhgvlhgurdejhedtsehgmhgrihhlrdgtohhmpdhrtghpthht oheptghhrghpuhhishgurghrihhogeesghhmrghilhdrtghomhdprhgtphhtthhopehgih hoshgrlheltdesghhmrghilhdrtghomhdprhgtphhtthhopehmrghtthhhihgrshdrsghg ghesghhmrghilhdrtghomhdprhgtphhtthhopehrrgguohhirdgthhhrihhssehgmhgrih hlrdgtohhmpdhrtghpthhtohepshgrmhhurdhtohhljhgrmhhosehgmhgrihhlrdgtohhm X-ME-Proxy: Feedback-ID: i9dde48b3:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 406961EA006B; Thu, 26 Mar 2026 17:12:35 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface From: Javier Tia Date: Thu, 26 Mar 2026 15:12:28 -0600 Subject: [PATCH v4 4/9] wifi: mt76: mt7925: populate EHT 320MHz MCS map in sta_rec Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260326-mt7927-wifi-support-v4-v4-4-8ab465addcfe@jetm.me> To: Felix Fietkau , Lorenzo Bianconi , Ryder Lee , Shayne Chen , Sean Wang , Matthias Brugger , AngeloGioacchino Del Regno , Ming Yen Hsieh , Deren Wu Cc: linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Marcin FM , Cristian-Florin Radoi , George Salukvadze , Evgeny Kapusta <3193631@gmail.com>, Samu Toljamo , Ariel Rosenfeld , Chapuis Dario , =?utf-8?q?Thibaut_Fran=C3=A7ois?= , =?utf-8?q?=E5=BC=A0=E6=97=AD=E6=B6=B5?= X-Mailer: b4 0.15.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1751; i=floss@jetm.me; h=from:subject:message-id; bh=b6wuUqMM9LRMdvCkKcW9uEToGwJgCsTkr6DKPTvA7cE=; b=owEB7QES/pANAwAKAbXuwwuoZ3cfAcsmYgBpxaE4VlACD2f9ty4mlsbzwGy0NEwbgy6c4WFYF 8lR4kQZQCCJAbMEAAEKAB0WIQSbE7ILzw7eI0VKk8m17sMLqGd3HwUCacWhOAAKCRC17sMLqGd3 H4kfC/9KZLfgtUqSRYhbjzjUEaTO+NJNxIJ0l8g8fyZLKBpgPH+l587G1knB3e28L+Zi1C25vNu 1tK3NTnxKFJmsOWDbM4aGzl3f5n9sdWEb//6JG4/OWgVIJYivtGeOWvV93PtTxdPaEeZsKAn055 lLInTHEwF0Y/C3WEj8q71x54AalLIffT9IASc1Q4dRsM4L0PtR0Gibe/M0kcItULF8PZtWthOsm iEx0aOTdXDN1s0wWzxo0LWnjjwq8DeLreszR2ggix2hRbP4CbrSg6sLNfDDvDYVP1MMVc7nmStY juUMAgjHn6xX00XCuSE71ANjvdj3QTCphfcEfo+dG6b/IIEiRO74Mf6s0aK77iMaSVDxKVDTgmR +/Po3fFghyfJo2TSp2dQIPb4fo/gbFJPmGjGVtZrt10WmlgPtuh+j/oQC2+4nO1oSR2hB9G37EE ngz1QrgKkjydGeCjtyO38KlYd/anmE/xwwclZr4ZNweXVfds9yRUD3+OeqJ6guWpXX8Ig= X-Developer-Key: i=floss@jetm.me; a=openpgp; fpr=9B13B20BCF0EDE23454A93C9B5EEC30BA867771F In-Reply-To: <20260326-mt7927-wifi-support-v4-v4-0-8ab465addcfe@jetm.me> References: <20260326-mt7927-wifi-support-v4-v4-0-8ab465addcfe@jetm.me> The sta_rec_eht structure has a mcs_map_bw320 field, and the channel width mapping includes NL80211_CHAN_WIDTH_320, but the 320MHz MCS/NSS map was never copied from the station's EHT capabilities to the MCU TLV. This prevents negotiation of 320MHz channel width even when both the hardware and firmware advertise support for it. Add the missing memcpy for the 320MHz MCS map, matching the existing pattern for BW20, BW80, and BW160. Tested-by: Marcin FM Tested-by: Cristian-Florin Radoi Tested-by: George Salukvadze Tested-by: Evgeny Kapusta <3193631@gmail.com> Tested-by: Samu Toljamo Tested-by: Ariel Rosenfeld Tested-by: Chapuis Dario Tested-by: Thibaut Fran=C3=A7ois Tested-by: =E5=BC=A0=E6=97=AD=E6=B6=B5 Signed-off-by: Javier Tia --- drivers/net/wireless/mediatek/mt76/mt7925/mcu.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c b/drivers/net/= wireless/mediatek/mt76/mt7925/mcu.c index dd5ecb07947b..a7f27c5014d5 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c +++ b/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c @@ -1683,6 +1683,7 @@ mt7925_mcu_sta_eht_tlv(struct sk_buff *skb, struct ie= ee80211_link_sta *link_sta) memcpy(eht->mcs_map_bw20, &mcs_map->only_20mhz, sizeof(eht->mcs_map_bw20= )); memcpy(eht->mcs_map_bw80, &mcs_map->bw._80, sizeof(eht->mcs_map_bw80)); memcpy(eht->mcs_map_bw160, &mcs_map->bw._160, sizeof(eht->mcs_map_bw160)); + memcpy(eht->mcs_map_bw320, &mcs_map->bw._320, sizeof(eht->mcs_map_bw320)); } =20 static void --=20 2.53.0 From nobody Thu Apr 2 18:50:54 2026 Received: from flow-a1-smtp.messagingengine.com (flow-a1-smtp.messagingengine.com [103.168.172.136]) (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 9E0283AA1A7; Thu, 26 Mar 2026 21:12:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.136 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774559558; cv=none; b=g9e5szBpASoNkuKkFOZCLHKbWgiDcp0rWsNhEU7yqYPmTCrnzT8SA+8hglqrYPKfIjahPhBO21koUpeNrrbVLuiNVUG7RCzz1tyg6zybbLTqGAv+NQ3imJhycZyuP4wzAVnK3pzt97aMz32jYYOCoiGPuEnckCmsrmGaMRv3aOI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774559558; c=relaxed/simple; bh=7sKfSMgYBAE2lHy4UYHmoX7t5FfxzJIRdxoV8d7AnaQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc: In-Reply-To:References; b=MiVG5/Q8VRZjifSbaAGZEl19hgR3RmnQJMuBJW9j7Ifh6OBTA7jQI1pROXDlfHQXacAPkvFV2ioE8ytWayycdg693Ec2jf5J/3RcDqgrL5cQyGLir5SFqDMasobFbFDYweHUK411KSkIJpYHQVxuW6lLR7X9y1zfA9GZqcOxrBI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=jetm.me; spf=pass smtp.mailfrom=jetm.me; dkim=pass (2048-bit key) header.d=jetm.me header.i=@jetm.me header.b=gklpjtoV; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=R8W6jflH; arc=none smtp.client-ip=103.168.172.136 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=jetm.me Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=jetm.me Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=jetm.me header.i=@jetm.me header.b="gklpjtoV"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="R8W6jflH" Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailflow.phl.internal (Postfix) with ESMTP id 1BA331380152; Thu, 26 Mar 2026 17:12:37 -0400 (EDT) Received: from phl-imap-07 ([10.202.2.97]) by phl-compute-02.internal (MEProxy); Thu, 26 Mar 2026 17:12:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jetm.me; h=cc:cc :content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1774559557; x=1774566757; bh=N3dmHBJtWcH4aVH4pX6EfK6KRYUSDVkPQKuxD2W990A=; b= gklpjtoVjcj9oIinOqFY/pOXhSaEqJgFusBFEm00BNsoaO54QVQOQL3d0qFEuaqi CJ5t0w5WohMU97fW1WYerapPf0NEOLCzT7Ok9JPbwBUJ0DfvaIkmiCoA1K8vBwAw tEZIWm5ikslBSvCFt7gKsGSsPu/elP+UKjLuG40jdb6vBnKdG/AySYBN15q/+v6R ZiX1KyuvPoqZPsSfbabXpG+Tdplh1k1lLlGj7a/G6Sb71gyFr9pdESeGqRCFcAhc ij5q946c7j5TfqcI5GsKM5oQcgzMxuiHcI4tj4Htr34DlTdiQIlEnz9f+PewVqgM MECIhB5LHL09KA6YO8qrQA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1774559557; x= 1774566757; bh=N3dmHBJtWcH4aVH4pX6EfK6KRYUSDVkPQKuxD2W990A=; b=R 8W6jflHp+g41OdhSUKtiehs86ox7orJik1h1A6K2d436qyWrZ1sFLny5reCIKkbs bdLPL4zMdEjtUCxNoipt5BB+PboTz5twIxMl7Y4izr5dG7Lji5bJI0vcePndYNr9 6S9yjy8OC2Ir8IMWOkEyP8rdOPXubm/IgWYDGWldLVBWSv/8eJWxWmsuZ65e0GTd lnmA6jic8CVJ8/QXJ2OD8b1rL7em9Ddeuzw5QdqgR1pOy0OmYZJKYXw1sfUs41EW qV9aWCsJAustHWkcSxnPZ1l+b3Vq+LygIfY2efqTLK1N/i9UPuJ2AapqAVpcN9St v95ixcuwR5480ZTUEIDsg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdefvdekgeefucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepoffhfffugggtgffkvfevofgjfhesthekredtredtjeenucfhrhhomheplfgrvhhi vghrucfvihgruceofhhlohhsshesjhgvthhmrdhmvgeqnecuggftrfgrthhtvghrnhepve ektdfhffevuddtgfetieevtddvheduhfeggfekveejlefhleefieevueefiefhnecuvehl uhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepfhhlohhsshesjh gvthhmrdhmvgdpnhgspghrtghpthhtohepvddvpdhmohguvgepshhmthhpohhuthdprhgt phhtthhopegrnhhgvghlohhgihhorggttghhihhnohdruggvlhhrvghgnhhosegtohhllh grsghorhgrrdgtohhmpdhrtghpthhtohepfeduleefieefudesghhmrghilhdrtghomhdp rhgtphhtthhopehlohhonhhgrddtgidttdesghhmrghilhdrtghomhdprhgtphhtthhope grrhhivghlrdhrohhsvghnfhgvlhgurdejhedtsehgmhgrihhlrdgtohhmpdhrtghpthht oheptghhrghpuhhishgurghrihhogeesghhmrghilhdrtghomhdprhgtphhtthhopehgih hoshgrlheltdesghhmrghilhdrtghomhdprhgtphhtthhopehmrghtthhhihgrshdrsghg ghesghhmrghilhdrtghomhdprhgtphhtthhopehrrgguohhirdgthhhrihhssehgmhgrih hlrdgtohhmpdhrtghpthhtohepshgrmhhurdhtohhljhgrmhhosehgmhgrihhlrdgtohhm X-ME-Proxy: Feedback-ID: i9dde48b3:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id DEF1B1EA006B; Thu, 26 Mar 2026 17:12:36 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface From: Javier Tia Date: Thu, 26 Mar 2026 15:12:29 -0600 Subject: [PATCH v4 5/9] wifi: mt76: mt7925: advertise EHT 320MHz capabilities for 6GHz band Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260326-mt7927-wifi-support-v4-v4-5-8ab465addcfe@jetm.me> To: Felix Fietkau , Lorenzo Bianconi , Ryder Lee , Shayne Chen , Sean Wang , Matthias Brugger , AngeloGioacchino Del Regno , Ming Yen Hsieh , Deren Wu Cc: linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Marcin FM , Cristian-Florin Radoi , George Salukvadze , Evgeny Kapusta <3193631@gmail.com>, Samu Toljamo , Ariel Rosenfeld , Chapuis Dario , =?utf-8?q?Thibaut_Fran=C3=A7ois?= , =?utf-8?q?=E5=BC=A0=E6=97=AD=E6=B6=B5?= X-Mailer: b4 0.15.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=4614; i=floss@jetm.me; h=from:subject:message-id; bh=7sKfSMgYBAE2lHy4UYHmoX7t5FfxzJIRdxoV8d7AnaQ=; b=owEB7QES/pANAwAKAbXuwwuoZ3cfAcsmYgBpxaE4FpgpvSgVsJlA1KXsjKuNHsYnoCuE/gDkz 7V15J/XoMGJAbMEAAEKAB0WIQSbE7ILzw7eI0VKk8m17sMLqGd3HwUCacWhOAAKCRC17sMLqGd3 H2yJC/9ok/ueHwBJgN/EQwe1zahjF/ofm+2BtKnzj6N9qcsh1q1yGOjnuBsT2tVOhl50u6n3adi qp0341r4RtDTEGrgzIKWyrhYzbc15N06rRL1USHzesggBWwRG/AGudHwkS/ufUiik0sPomAmPe6 UuIVoBfpeS3LUDrq5O8hMayHQ8Dzyzefy4PJxFg/kYZZAKSBva2yO/6JU4UzL1DPLm55PgjjcKm nCUndD4VCTPFf+HFnlrXMbFa7F9NAa7X2d5qNquVaouOhBCF0BGoqYG67pC6V7cuIsy9Y6q72lN kOQvO7p+W9BUFJ8wsq5YF2e4KDnwyS4a5qg3EYLBQam77y1N386cXjaFb0oYzV/yqcNbqOHuGkF rx2z8VbcWBj2KPaGFxVL/rxQcVLnN8J/1U4VO1hICEvHpWaOF8h89Ex0C0SAHEkU9zpFTHXU0oM oOOOF3/u/zYdDVtFhaPEVJHYTp8IWkLTbvYM8ekDvAK4rwQLVPGWPJRb/UmpoiPkKeW7g= X-Developer-Key: i=floss@jetm.me; a=openpgp; fpr=9B13B20BCF0EDE23454A93C9B5EEC30BA867771F In-Reply-To: <20260326-mt7927-wifi-support-v4-v4-0-8ab465addcfe@jetm.me> References: <20260326-mt7927-wifi-support-v4-v4-0-8ab465addcfe@jetm.me> mt7925_init_eht_caps() only populates EHT MCS/NSS maps for BW <=3D 80 and BW =3D 160, but never sets BW =3D 320. This means iw phy shows no 320MHz MCS map entries even though the hardware supports 320MHz operation in the 6GHz band. Add the missing 320MHz capability bits for 6GHz: - PHY_CAP0: IEEE80211_EHT_PHY_CAP0_320MHZ_IN_6GHZ - PHY_CAP1: beamformee SS for 320MHz - PHY_CAP2: sounding dimensions for 320MHz - PHY_CAP6: MCS15 support for 320MHz width - MCS/NSS: populate bw._320 maps for 6GHz band Introduce is_320mhz_supported() to gate 320MHz on MT7927 only, since MT7925 does not support 320MHz operation. Tested-by: Marcin FM Tested-by: Cristian-Florin Radoi Tested-by: George Salukvadze Tested-by: Evgeny Kapusta <3193631@gmail.com> Tested-by: Samu Toljamo Tested-by: Ariel Rosenfeld Tested-by: Chapuis Dario Tested-by: Thibaut Fran=C3=A7ois Tested-by: =E5=BC=A0=E6=97=AD=E6=B6=B5 Signed-off-by: Javier Tia --- drivers/net/wireless/mediatek/mt76/mt76_connac.h | 5 +++++ drivers/net/wireless/mediatek/mt76/mt7925/main.c | 22 ++++++++++++++++++++= +- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/mediatek/mt76/mt76_connac.h b/drivers/net= /wireless/mediatek/mt76/mt76_connac.h index 813d61bffc2c..393a7952f86b 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76_connac.h +++ b/drivers/net/wireless/mediatek/mt76/mt76_connac.h @@ -177,6 +177,11 @@ static inline bool is_mt7925(struct mt76_dev *dev) return mt76_chip(dev) =3D=3D 0x7925; } =20 +static inline bool is_320mhz_supported(struct mt76_dev *dev) +{ + return mt76_chip(dev) =3D=3D 0x7927; +} + static inline bool is_mt7920(struct mt76_dev *dev) { return mt76_chip(dev) =3D=3D 0x7920; diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/main.c b/drivers/net= /wireless/mediatek/mt76/mt7925/main.c index f128a198f81d..cfce851a94e2 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7925/main.c +++ b/drivers/net/wireless/mediatek/mt76/mt7925/main.c @@ -183,6 +183,10 @@ mt7925_init_eht_caps(struct mt792x_phy *phy, enum nl80= 211_band band, IEEE80211_EHT_PHY_CAP0_SU_BEAMFORMER | IEEE80211_EHT_PHY_CAP0_SU_BEAMFORMEE; =20 + if (band =3D=3D NL80211_BAND_6GHZ && is_320mhz_supported(&phy->dev->mt76)) + eht_cap_elem->phy_cap_info[0] |=3D + IEEE80211_EHT_PHY_CAP0_320MHZ_IN_6GHZ; + eht_cap_elem->phy_cap_info[0] |=3D u8_encode_bits(u8_get_bits(sts - 1, BIT(0)), IEEE80211_EHT_PHY_CAP0_BEAMFORMEE_SS_80MHZ_MASK); @@ -193,10 +197,20 @@ mt7925_init_eht_caps(struct mt792x_phy *phy, enum nl8= 0211_band band, u8_encode_bits(sts - 1, IEEE80211_EHT_PHY_CAP1_BEAMFORMEE_SS_160MHZ_MASK); =20 + if (band =3D=3D NL80211_BAND_6GHZ && is_320mhz_supported(&phy->dev->mt76)) + eht_cap_elem->phy_cap_info[1] |=3D + u8_encode_bits(sts - 1, + IEEE80211_EHT_PHY_CAP1_BEAMFORMEE_SS_320MHZ_MASK); + eht_cap_elem->phy_cap_info[2] =3D u8_encode_bits(sts - 1, IEEE80211_EHT_PHY_CAP2_SOUNDING_DIM_80MHZ_MASK) | u8_encode_bits(sts - 1, IEEE80211_EHT_PHY_CAP2_SOUNDING_DIM_160MHZ_MASK); =20 + if (band =3D=3D NL80211_BAND_6GHZ && is_320mhz_supported(&phy->dev->mt76)) + eht_cap_elem->phy_cap_info[2] |=3D + u8_encode_bits(sts - 1, + IEEE80211_EHT_PHY_CAP2_SOUNDING_DIM_320MHZ_MASK); + eht_cap_elem->phy_cap_info[3] =3D IEEE80211_EHT_PHY_CAP3_NG_16_SU_FEEDBACK | IEEE80211_EHT_PHY_CAP3_NG_16_MU_FEEDBACK | @@ -217,7 +231,8 @@ mt7925_init_eht_caps(struct mt792x_phy *phy, enum nl802= 11_band band, u8_encode_bits(u8_get_bits(0x11, GENMASK(1, 0)), IEEE80211_EHT_PHY_CAP5_MAX_NUM_SUPP_EHT_LTF_MASK); =20 - val =3D width =3D=3D NL80211_CHAN_WIDTH_160 ? 0x7 : + val =3D width =3D=3D NL80211_CHAN_WIDTH_320 ? 0xf : + width =3D=3D NL80211_CHAN_WIDTH_160 ? 0x7 : width =3D=3D NL80211_CHAN_WIDTH_80 ? 0x3 : 0x1; eht_cap_elem->phy_cap_info[6] =3D u8_encode_bits(u8_get_bits(0x11, GENMASK(4, 2)), @@ -239,6 +254,11 @@ mt7925_init_eht_caps(struct mt792x_phy *phy, enum nl80= 211_band band, eht_nss->bw._160.rx_tx_mcs9_max_nss =3D val; eht_nss->bw._160.rx_tx_mcs11_max_nss =3D val; eht_nss->bw._160.rx_tx_mcs13_max_nss =3D val; + if (band =3D=3D NL80211_BAND_6GHZ && is_320mhz_supported(&phy->dev->mt76)= ) { + eht_nss->bw._320.rx_tx_mcs9_max_nss =3D val; + eht_nss->bw._320.rx_tx_mcs11_max_nss =3D val; + eht_nss->bw._320.rx_tx_mcs13_max_nss =3D val; + } } =20 int mt7925_init_mlo_caps(struct mt792x_phy *phy) --=20 2.53.0 From nobody Thu Apr 2 18:50:54 2026 Received: from flow-a1-smtp.messagingengine.com (flow-a1-smtp.messagingengine.com [103.168.172.136]) (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 891A53ACA4E; Thu, 26 Mar 2026 21:12:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.136 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774559560; cv=none; b=mGwLFej1eQCFCQ7R97ENoQ82yjKWfc8POReoGZIz2T+efYlV9NHJSmhgaE+MA3sOcVA5eCPCYlorpB29pXD7NdpTKopXQbh7KjduCbArNkqn+RS3bc9dhQDLvigQIOfYhfL/2HcCf3VbQ70VFSK0pobajNRc2Bh0Qvbvot0ueYw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774559560; c=relaxed/simple; bh=9vX1+HCKHr0k2DqRknzuHVDKBxcMWdBFaonJ+C4rfPk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc: In-Reply-To:References; b=VuCQmbMf98FE6Uo4Jg474aoR8Yx4WFzz2zl96S8Yy9ZtyNzCi7MLu+SzDbWQDs9j3RDazOijPivu0H4yKgKJv8shcMefid6HkGAOCn0NK2X/AZPd8u0Ew8GwMPp2a59NkXQvvlP4SwMF5lmTaFX5TWVTtiihLBzqowLKOvPXP/U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=jetm.me; spf=pass smtp.mailfrom=jetm.me; dkim=pass (2048-bit key) header.d=jetm.me header.i=@jetm.me header.b=LrZvBOJF; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=IbXpuAMs; arc=none smtp.client-ip=103.168.172.136 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=jetm.me Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=jetm.me Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=jetm.me header.i=@jetm.me header.b="LrZvBOJF"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="IbXpuAMs" Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailflow.phl.internal (Postfix) with ESMTP id C1FCB1380179; Thu, 26 Mar 2026 17:12:38 -0400 (EDT) Received: from phl-imap-07 ([10.202.2.97]) by phl-compute-02.internal (MEProxy); Thu, 26 Mar 2026 17:12:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jetm.me; h=cc:cc :content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1774559558; x=1774566758; bh=6Jm/52oKcoIIFQozJ/h7Muhk36ukRaDKMKe1v8oJZSc=; b= LrZvBOJFtWtyMLrRnpySZa23FcZF+/iNhYX/F1dhvhUNYz/JeyyODJmirUf2xTI+ K5mfHxuddq64XqSOE45xjSBlzanZ4E4xodbjnYrjDsB1CdEo5EyfH9ZSgO9Oqrmg lRVX4MMSAUGn6Vw7Uf1PJ9O5kugV/GKMwxtAnGCs8G01kuZsLjeu6oI/nvUQzJb5 tNbKrdJl6tUfqBt79w0E+/YDAlD76rem0vU/PpCJbUxpbDXqBe6G8Q/GNpwG78SE S4tLfpjFZePJmCZIEeDlQM57Lc45/DiZmjaReW5oeQIsCO+4NmNURy7s/l97iZ3Y 3ZrJ8wDHtSQrAphkAIEswQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1774559558; x= 1774566758; bh=6Jm/52oKcoIIFQozJ/h7Muhk36ukRaDKMKe1v8oJZSc=; b=I bXpuAMs8LrNRj9QxfVjDeCFRN8G7cVkhaHx8KfzrHy+3gS3tjlrPJCx/58clhShH yfpn2wHpDeAzDWk3IwaxaIzAvWSSH+aesKmOuIT9w3V2WWMC+QC5WFbYpO7nE099 gJR58MJqM0Aoz/afjNQso6PFmCXHTmXCep8rLvknmHWbaHH1/4y28MKVwDY4YnwA H+uqMu6xn9bIUDR1gyOaQC+uXZ0DoI2klWmPnIEJdSMH9pCGYHBhK42zIMRYZfqt voQGq+KFMNul1ru1iTnokg6KlTS/0CwM2M3+bpYddqxNuHySFPd/qJqKvtIUjqIa 2k5+FlRMzZ6zX7soja76A== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdefvdekgeefucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepoffhfffugggtgffkvfevofgjfhesthekredtredtjeenucfhrhhomheplfgrvhhi vghrucfvihgruceofhhlohhsshesjhgvthhmrdhmvgeqnecuggftrfgrthhtvghrnhepve ektdfhffevuddtgfetieevtddvheduhfeggfekveejlefhleefieevueefiefhnecuvehl uhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepfhhlohhsshesjh gvthhmrdhmvgdpnhgspghrtghpthhtohepvddvpdhmohguvgepshhmthhpohhuthdprhgt phhtthhopegrnhhgvghlohhgihhorggttghhihhnohdruggvlhhrvghgnhhosegtohhllh grsghorhgrrdgtohhmpdhrtghpthhtohepfeduleefieefudesghhmrghilhdrtghomhdp rhgtphhtthhopehlohhonhhgrddtgidttdesghhmrghilhdrtghomhdprhgtphhtthhope grrhhivghlrdhrohhsvghnfhgvlhgurdejhedtsehgmhgrihhlrdgtohhmpdhrtghpthht oheptghhrghpuhhishgurghrihhogeesghhmrghilhdrtghomhdprhgtphhtthhopehgih hoshgrlheltdesghhmrghilhdrtghomhdprhgtphhtthhopehmrghtthhhihgrshdrsghg ghesghhmrghilhdrtghomhdprhgtphhtthhopehrrgguohhirdgthhhrihhssehgmhgrih hlrdgtohhmpdhrtghpthhtohepshgrmhhurdhtohhljhgrmhhosehgmhgrihhlrdgtohhm X-ME-Proxy: Feedback-ID: i9dde48b3:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 95BE71EA006B; Thu, 26 Mar 2026 17:12:38 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface From: Javier Tia Date: Thu, 26 Mar 2026 15:12:30 -0600 Subject: [PATCH v4 6/9] wifi: mt76: mt7925: add MT7927 chip ID helpers Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260326-mt7927-wifi-support-v4-v4-6-8ab465addcfe@jetm.me> To: Felix Fietkau , Lorenzo Bianconi , Ryder Lee , Shayne Chen , Sean Wang , Matthias Brugger , AngeloGioacchino Del Regno , Ming Yen Hsieh , Deren Wu Cc: linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Marcin FM , Cristian-Florin Radoi , George Salukvadze , Evgeny Kapusta <3193631@gmail.com>, Samu Toljamo , Ariel Rosenfeld , Chapuis Dario , =?utf-8?q?Thibaut_Fran=C3=A7ois?= , =?utf-8?q?=E5=BC=A0=E6=97=AD=E6=B6=B5?= X-Mailer: b4 0.15.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1819; i=floss@jetm.me; h=from:subject:message-id; bh=9vX1+HCKHr0k2DqRknzuHVDKBxcMWdBFaonJ+C4rfPk=; b=owEB7QES/pANAwAKAbXuwwuoZ3cfAcsmYgBpxaE4csdi7NGlGkgmzmbvvy5NLIyk+EFk7ZBMJ Luxur9lt1SJAbMEAAEKAB0WIQSbE7ILzw7eI0VKk8m17sMLqGd3HwUCacWhOAAKCRC17sMLqGd3 HyaZDACX+4UlGmEHINO9tW7mBzz3mq4T+pI8ONBRbjYvL/BaOjge29LD7smG1+CyHq295gBGmi5 /2klrLLSuMT4JPcppRL+Zom/10oeUgLij997Ib4RYAxLJJD4LO+fWkPg0YBusuHbUc/Q9mZE4kk CDDjzwcOtVifQIW8Y7D6YkzE52SziV1o6EDNHYpfPgGq01JNaOa8x7bmlnsMPQs0pQeCR+LIyqE OnMLZt9YM6xIp4xEJsGvNXHOjCfjJGX2ebhI5kLq6oeDSD2OD8zxXXJvxfby5YvM/yMQQUwpKRG hwA38+hoPGpzZKbxReV3lbjJAbZj9PC4i5ln0jqhTNPLRNbdRoyqF8uz3caKUCb93FVsiJq44MK gAeQDhfahu901gQnX+16dyZqPeS/ic3WWL3m4m0h4/MvyEHd9vLggjXsyjFMdndkrIGs+swlh5X oeovBln4LmR7i3p6O05dA9VpDCCLf7KwpjlSV13W5yOMB6RNvvDTQekuh3s1BI/0LmCNQ= X-Developer-Key: i=floss@jetm.me; a=openpgp; fpr=9B13B20BCF0EDE23454A93C9B5EEC30BA867771F In-Reply-To: <20260326-mt7927-wifi-support-v4-v4-0-8ab465addcfe@jetm.me> References: <20260326-mt7927-wifi-support-v4-v4-0-8ab465addcfe@jetm.me> The MediaTek MT7927 (Filogic 380) combo chip uses MT7927 WiFi silicon that is architecturally compatible with MT7925. Extend is_mt7925() to match chip ID 0x7927, and add is_mt7927() for code paths that need MT7927-specific handling. Also add 0x7927 to is_mt76_fw_txp() to match MT7925's TXP format. Tested-by: Marcin FM Tested-by: Cristian-Florin Radoi Tested-by: George Salukvadze Tested-by: Evgeny Kapusta <3193631@gmail.com> Tested-by: Samu Toljamo Tested-by: Ariel Rosenfeld Tested-by: Chapuis Dario Tested-by: Thibaut Fran=C3=A7ois Tested-by: =E5=BC=A0=E6=97=AD=E6=B6=B5 Signed-off-by: Javier Tia --- drivers/net/wireless/mediatek/mt76/mt76_connac.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/mediatek/mt76/mt76_connac.h b/drivers/net= /wireless/mediatek/mt76/mt76_connac.h index 393a7952f86b..4a63ef4e5c34 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76_connac.h +++ b/drivers/net/wireless/mediatek/mt76/mt76_connac.h @@ -174,7 +174,12 @@ extern const struct wiphy_wowlan_support mt76_connac_w= owlan_support; =20 static inline bool is_mt7925(struct mt76_dev *dev) { - return mt76_chip(dev) =3D=3D 0x7925; + return mt76_chip(dev) =3D=3D 0x7925 || mt76_chip(dev) =3D=3D 0x7927; +} + +static inline bool is_mt7927(struct mt76_dev *dev) +{ + return mt76_chip(dev) =3D=3D 0x7927; } =20 static inline bool is_320mhz_supported(struct mt76_dev *dev) @@ -277,6 +282,7 @@ static inline bool is_mt76_fw_txp(struct mt76_dev *dev) case 0x7920: case 0x7922: case 0x7925: + case 0x7927: case 0x7663: case 0x7622: return false; --=20 2.53.0 From nobody Thu Apr 2 18:50:54 2026 Received: from flow-a1-smtp.messagingengine.com (flow-a1-smtp.messagingengine.com [103.168.172.136]) (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 46A523AE71E; Thu, 26 Mar 2026 21:12:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.136 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774559562; cv=none; b=WzvkddDfOXHpjSoXC4N6XGFvL5hQ+AOFD3Cz61MH6ddIRmD/Qt4UbiA2Nu+G/UTLvfLFoU9yzzml2PtWNSe3NVfqJLpnl9IIWcbfDyyWRmuByuEL1xrtC+5jvoXMXQ9cd0H2uY/mLCg/vdS5yfbsKBjne5zify/SbRjXhXWeAyU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774559562; c=relaxed/simple; bh=nWa4qRu3K/oLEzDqawtOQqtIO8UuGhdZfXRs4iLq41o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc: In-Reply-To:References; b=bOY/gxOM3qw4mOLjkCzr55xPsU+eQd0fgetjTa+mRb91SMGkpuw34fODNJPQRFUbhUgKYjj1iMx2EogyWLVvF8yMse+oy2qVU2bmhDQe/3aLe/a4csNABhzihdpzOLxj/Rc7XoqBQ33vyaj4sKTVgsVNHA6lyetdmdjh7PBj85g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=jetm.me; spf=pass smtp.mailfrom=jetm.me; dkim=pass (2048-bit key) header.d=jetm.me header.i=@jetm.me header.b=nHtzQb+o; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=jYR2QCkV; arc=none smtp.client-ip=103.168.172.136 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=jetm.me Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=jetm.me Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=jetm.me header.i=@jetm.me header.b="nHtzQb+o"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="jYR2QCkV" Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailflow.phl.internal (Postfix) with ESMTP id 6DC181380154; Thu, 26 Mar 2026 17:12:40 -0400 (EDT) Received: from phl-imap-07 ([10.202.2.97]) by phl-compute-02.internal (MEProxy); Thu, 26 Mar 2026 17:12:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jetm.me; h=cc:cc :content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1774559560; x=1774566760; bh=RgdC5kt5k6hG8v7cip1AuvGjq20kUgYnV+A5Mrl16mo=; b= nHtzQb+ooL6CWejvDDqx+gMjZ7gaZIARUwpZX0b5zJDfPUnk8DhGCnhg3nYGjTbT GtytB/lJaadoKFMvi/SmTsK1WDDHUvI0FA/JwH2kYLG/Laj5m1Rz+pm3X1oWD+1g KEYgOuS+w7s009kD9X5Yhm9rs/SvO9YudDO+yRd+eQpbzS3SQiw+HQgvLjc4q0fW aDnuGv2mmD6xTH+2pSje98gwT53INzlVrMqYlLKoGuJK8/nZ9YgVwZp9FdnJTc8E IGUIV5hokug0z2hT2Pj91XGiZmAk4nfCvqe7HXFZ7NMjy5sDW/co9pF9LeiV8NGt 5kV4Ym6xAW2txysrflMeQA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1774559560; x= 1774566760; bh=RgdC5kt5k6hG8v7cip1AuvGjq20kUgYnV+A5Mrl16mo=; b=j YR2QCkVO3zUSylGhmtgtgZ6LouyXz5oNuejKqROiKPZHjiHyso5TUX3B09t6viYO D78XqhOShsvgASMwytj2vHPUDJ0ANZQsKCxzWoVBPhX/9WINcSht5nHrQWC0evnT IPLNGBhXGkefyGmLieYXIjplawxEkmt7CgJRrhRf8hjC3k8eF/hRMww6iqRH9vx4 +phIDKXjZt7utwucnGWnuODVrbHPBIiOcLAG4EZzfz3Xytt1sUat039mbPAg6OE7 tVG0sShIBl2OWlgY21VxmZaESEta8s8GfvEhOdrT6B04fwaOOUQZBHp+CBGGwdHx Uo2EpOiRwiPl3qtLVZ4/g== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdefvdekgeefucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepoffhfffugggtgffkvfevofgjfhesthekredtredtjeenucfhrhhomheplfgrvhhi vghrucfvihgruceofhhlohhsshesjhgvthhmrdhmvgeqnecuggftrfgrthhtvghrnhepve ektdfhffevuddtgfetieevtddvheduhfeggfekveejlefhleefieevueefiefhnecuvehl uhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepfhhlohhsshesjh gvthhmrdhmvgdpnhgspghrtghpthhtohepvddvpdhmohguvgepshhmthhpohhuthdprhgt phhtthhopegrnhhgvghlohhgihhorggttghhihhnohdruggvlhhrvghgnhhosegtohhllh grsghorhgrrdgtohhmpdhrtghpthhtohepfeduleefieefudesghhmrghilhdrtghomhdp rhgtphhtthhopehlohhonhhgrddtgidttdesghhmrghilhdrtghomhdprhgtphhtthhope grrhhivghlrdhrohhsvghnfhgvlhgurdejhedtsehgmhgrihhlrdgtohhmpdhrtghpthht oheptghhrghpuhhishgurghrihhogeesghhmrghilhdrtghomhdprhgtphhtthhopehgih hoshgrlheltdesghhmrghilhdrtghomhdprhgtphhtthhopehmrghtthhhihgrshdrsghg ghesghhmrghilhdrtghomhdprhgtphhtthhopehrrgguohhirdgthhhrihhssehgmhgrih hlrdgtohhmpdhrtghpthhtohepshgrmhhurdhtohhljhgrmhhosehgmhgrihhlrdgtohhm X-ME-Proxy: Feedback-ID: i9dde48b3:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 44B311EA006B; Thu, 26 Mar 2026 17:12:40 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface From: Javier Tia Date: Thu, 26 Mar 2026 15:12:31 -0600 Subject: [PATCH v4 7/9] wifi: mt76: mt7925: add MT7927 firmware paths Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260326-mt7927-wifi-support-v4-v4-7-8ab465addcfe@jetm.me> To: Felix Fietkau , Lorenzo Bianconi , Ryder Lee , Shayne Chen , Sean Wang , Matthias Brugger , AngeloGioacchino Del Regno , Ming Yen Hsieh , Deren Wu Cc: linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Marcin FM , Cristian-Florin Radoi , George Salukvadze , Evgeny Kapusta <3193631@gmail.com>, Samu Toljamo , Ariel Rosenfeld , Chapuis Dario , =?utf-8?q?Thibaut_Fran=C3=A7ois?= , =?utf-8?q?=E5=BC=A0=E6=97=AD=E6=B6=B5?= X-Mailer: b4 0.15.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=3298; i=floss@jetm.me; h=from:subject:message-id; bh=nWa4qRu3K/oLEzDqawtOQqtIO8UuGhdZfXRs4iLq41o=; b=owEB7QES/pANAwAKAbXuwwuoZ3cfAcsmYgBpxaE4Z4QGjHWFpDUbkgYQcX+KCxtMF0VbBGt7Q OBpnDkyhduJAbMEAAEKAB0WIQSbE7ILzw7eI0VKk8m17sMLqGd3HwUCacWhOAAKCRC17sMLqGd3 H7r2C/97PZa1x2s1vJCzuJAqPYMEQADPRD5bdDsISGBDBaDCngYb6quYte2x1TSRqtUNpFn9M98 J3zE3/9vUXy7pwJ/QsNN4++VanUrKHnBqs04YjHJmAhauwRTKIN38XhzUoVtZQ/0RH2b6xZyOxk A1VYj8kyFjzLeZbb5JrkNUzFtLVx4hbY7xZkBDpkmo9VsJm5v06cXMyEtn0xuqKHx8PeQV1Y8bV buniosAx9JyB811CVCuBvD6Piiz1C0Qb7oy7m+nBC3Mg7jqQP3M9Bj6bN87fb8epOUuJ6fm+QDg bNpyt8vSoEapBdwvJb86MZ5Zy01O1VNDGbHzlho3FDh4kJOWdH9jKrs4QGXxkJHQqa4uFCjAZqQ qfKsZVXZYPAgnNhnBbuNHrRa2QLIEixWu/3LB+98svERyqJLW4Bq1qn2Uif1f/LKUz65m5Sljlu SIqMkvhL2xW7rQJ+tokSb7NyP/Drp4X3eSN8j/y+SQ4ydKm4l1Nt5rIHnnE2OsHUvC9qw= X-Developer-Key: i=floss@jetm.me; a=openpgp; fpr=9B13B20BCF0EDE23454A93C9B5EEC30BA867771F In-Reply-To: <20260326-mt7927-wifi-support-v4-v4-0-8ab465addcfe@jetm.me> References: <20260326-mt7927-wifi-support-v4-v4-0-8ab465addcfe@jetm.me> Add firmware path definitions for MT7927 WiFi firmware (WIFI_RAM_CODE and PATCH_MCU) and the corresponding MODULE_FIRMWARE declarations. Add MT7927 cases to mt792x_ram_name() and mt792x_patch_name() so the driver loads the correct firmware for the 0x7927 chip ID. PCI device table entries are deferred to a later patch to allow infrastructure setup before device enablement. Tested-by: Marcin FM Tested-by: Cristian-Florin Radoi Tested-by: George Salukvadze Tested-by: Evgeny Kapusta <3193631@gmail.com> Tested-by: Samu Toljamo Tested-by: Ariel Rosenfeld Tested-by: Chapuis Dario Tested-by: Thibaut Fran=C3=A7ois Tested-by: =E5=BC=A0=E6=97=AD=E6=B6=B5 Signed-off-by: Javier Tia --- drivers/net/wireless/mediatek/mt76/mt7925/pci.c | 2 ++ drivers/net/wireless/mediatek/mt76/mt792x.h | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/pci.c b/drivers/net/= wireless/mediatek/mt76/mt7925/pci.c index c4161754c01d..f820d5aeb723 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7925/pci.c +++ b/drivers/net/wireless/mediatek/mt76/mt7925/pci.c @@ -633,6 +633,8 @@ module_pci_driver(mt7925_pci_driver); MODULE_DEVICE_TABLE(pci, mt7925_pci_device_table); MODULE_FIRMWARE(MT7925_FIRMWARE_WM); MODULE_FIRMWARE(MT7925_ROM_PATCH); +MODULE_FIRMWARE(MT7927_FIRMWARE_WM); +MODULE_FIRMWARE(MT7927_ROM_PATCH); MODULE_AUTHOR("Deren Wu "); MODULE_AUTHOR("Lorenzo Bianconi "); MODULE_DESCRIPTION("MediaTek MT7925E (PCIe) wireless driver"); diff --git a/drivers/net/wireless/mediatek/mt76/mt792x.h b/drivers/net/wire= less/mediatek/mt76/mt792x.h index 8388638ed550..38790ef83e51 100644 --- a/drivers/net/wireless/mediatek/mt76/mt792x.h +++ b/drivers/net/wireless/mediatek/mt76/mt792x.h @@ -45,11 +45,13 @@ #define MT7921_FIRMWARE_WM "mediatek/WIFI_RAM_CODE_MT7961_1.bin" #define MT7922_FIRMWARE_WM "mediatek/WIFI_RAM_CODE_MT7922_1.bin" #define MT7925_FIRMWARE_WM "mediatek/mt7925/WIFI_RAM_CODE_MT7925_1_1.bin" +#define MT7927_FIRMWARE_WM "mediatek/mt7927/WIFI_RAM_CODE_MT6639_2_1.bin" =20 #define MT7920_ROM_PATCH "mediatek/WIFI_MT7961_patch_mcu_1a_2_hdr.bin" #define MT7921_ROM_PATCH "mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin" #define MT7922_ROM_PATCH "mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin" #define MT7925_ROM_PATCH "mediatek/mt7925/WIFI_MT7925_PATCH_MCU_1_1_hdr.bi= n" +#define MT7927_ROM_PATCH "mediatek/mt7927/WIFI_MT6639_PATCH_MCU_2_1_hdr.bi= n" =20 #define MT792x_SDIO_HDR_TX_BYTES GENMASK(15, 0) #define MT792x_SDIO_HDR_PKT_TYPE GENMASK(17, 16) @@ -454,6 +456,8 @@ static inline char *mt792x_ram_name(struct mt792x_dev *= dev) return MT7922_FIRMWARE_WM; case 0x7925: return MT7925_FIRMWARE_WM; + case 0x7927: + return MT7927_FIRMWARE_WM; default: return MT7921_FIRMWARE_WM; } @@ -468,6 +472,8 @@ static inline char *mt792x_patch_name(struct mt792x_dev= *dev) return MT7922_ROM_PATCH; case 0x7925: return MT7925_ROM_PATCH; + case 0x7927: + return MT7927_ROM_PATCH; default: return MT7921_ROM_PATCH; } --=20 2.53.0 From nobody Thu Apr 2 18:50:54 2026 Received: from flow-a1-smtp.messagingengine.com (flow-a1-smtp.messagingengine.com [103.168.172.136]) (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 0A7863B38A3; Thu, 26 Mar 2026 21:12:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.136 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774559564; cv=none; b=D4Vw4c1D339CczBdNawg+PEweQ30pJcs6yFXjwV5uAfSZNIhai+RrDLk6mQ96L+dfxjTnRgN/7IHIqiiExllY6DeA43oaX6QuT4gI3QiTmJdgT5DxQE2Q1Fy/peMBqXnGAtx5stPtWkknb/W5Dr55jMKcTHmVwMZUllWc8FSwgk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774559564; c=relaxed/simple; bh=d/HKmmehbZuZuFy6yrEQuL+8MJqGQNMTKPsrWPbucdg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc: In-Reply-To:References; b=TbnFEDpOBqv0z1WHFN8xwKEeL4O/5mSgFtbmKzbxEPS00UHnXatI8dRclogYnjNAgxEMcTGk3ttZG/NygNTF4U0MG3T8DGLyq6y1lpUm84cNlcLXtDfvakj85lxT4GO6WSl+BnQtZRfExBSJt4wc9PONVF4rehoJHeveRrZ6av0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=jetm.me; spf=pass smtp.mailfrom=jetm.me; dkim=pass (2048-bit key) header.d=jetm.me header.i=@jetm.me header.b=OZG5H7uG; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=aICUo7Xo; arc=none smtp.client-ip=103.168.172.136 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=jetm.me Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=jetm.me Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=jetm.me header.i=@jetm.me header.b="OZG5H7uG"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="aICUo7Xo" Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailflow.phl.internal (Postfix) with ESMTP id 7AE75138017E; Thu, 26 Mar 2026 17:12:42 -0400 (EDT) Received: from phl-imap-07 ([10.202.2.97]) by phl-compute-02.internal (MEProxy); Thu, 26 Mar 2026 17:12:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jetm.me; h=cc:cc :content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1774559562; x=1774566762; bh=wh4REqgnKzyEzUI/NBTjswi8jAEeySuPefhD1zQxSo0=; b= OZG5H7uG8A0x+up+a3yxbN7cETFHaZygZxY1fb4sB+L2NA/bxhkhov074Qthh24f 4CEN4lvbRWP7TBWFzxaSYggi6O7ElyjOA1OyRVmi7sO4f23eqBhhs4DLST0MDEQT YYfHdlsxhFcIk0NigFNN2a8GmZbLc9QVc/7iE8GU86VbyYum1XPEJ4Q7m4VLlMRm AoFUi5JNTpoMq82kMQKPnzCWucqY2fzONJnxwL1InPt+ryNhCdh6pCh/MgbBl/9g j1nfPQKy2dhef12HU/CM7P4KzQmWnfyLcNuoIdVZcM2VS2QqT9csKJrm6ehCr//a 4Eo3m3E2xkzUe0MUtGXc0Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1774559562; x= 1774566762; bh=wh4REqgnKzyEzUI/NBTjswi8jAEeySuPefhD1zQxSo0=; b=a ICUo7XoYqh5yZh2M/CE42yeZwO5jrETorta12Nc7/4k5jttNbUNJK69cIqYVotQY EDf34pR+kG0Df9LLhrx+oq2LZyMKmFTxHrrGn/cHC9AuRA6zAer/kI6pw4hpR0S5 TH8r+zQLrcmu3/54m9ZKA35x23wM9KvgrXct9BRUh7eI1CIse7W4xasTUlBkwYvR GppWX57QpVBL9ktJN0QwY5hEGYlqIvZWs7bc9RHhZ5EnnS6af5vdNHYwEErcSlC9 NXCHL7TMUjtLzD7Z6YLwkuOIPH3edu5SuS6/tg+8cB/wdZ0fLLCgFMp1GzhiE9QE 2i1laXpA0hhUeXuRZT6Ow== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdefvdekgeefucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepoffhfffugggtgffkvfevofgjfhesthekredtredtjeenucfhrhhomheplfgrvhhi vghrucfvihgruceofhhlohhsshesjhgvthhmrdhmvgeqnecuggftrfgrthhtvghrnhepve ektdfhffevuddtgfetieevtddvheduhfeggfekveejlefhleefieevueefiefhnecuvehl uhhsthgvrhfuihiivgepfeenucfrrghrrghmpehmrghilhhfrhhomhepfhhlohhsshesjh gvthhmrdhmvgdpnhgspghrtghpthhtohepvddvpdhmohguvgepshhmthhpohhuthdprhgt phhtthhopegrnhhgvghlohhgihhorggttghhihhnohdruggvlhhrvghgnhhosegtohhllh grsghorhgrrdgtohhmpdhrtghpthhtohepfeduleefieefudesghhmrghilhdrtghomhdp rhgtphhtthhopehlohhonhhgrddtgidttdesghhmrghilhdrtghomhdprhgtphhtthhope grrhhivghlrdhrohhsvghnfhgvlhgurdejhedtsehgmhgrihhlrdgtohhmpdhrtghpthht oheptghhrghpuhhishgurghrihhogeesghhmrghilhdrtghomhdprhgtphhtthhopehgih hoshgrlheltdesghhmrghilhdrtghomhdprhgtphhtthhopehmrghtthhhihgrshdrsghg ghesghhmrghilhdrtghomhdprhgtphhtthhopehrrgguohhirdgthhhrihhssehgmhgrih hlrdgtohhmpdhrtghpthhtohepshgrmhhurdhtohhljhgrmhhosehgmhgrihhlrdgtohhm X-ME-Proxy: Feedback-ID: i9dde48b3:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id EBDD41EA006B; Thu, 26 Mar 2026 17:12:41 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface From: Javier Tia Date: Thu, 26 Mar 2026 15:12:32 -0600 Subject: [PATCH v4 8/9] wifi: mt76: mt7925: use irq_map for chip-specific interrupt handling Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260326-mt7927-wifi-support-v4-v4-8-8ab465addcfe@jetm.me> To: Felix Fietkau , Lorenzo Bianconi , Ryder Lee , Shayne Chen , Sean Wang , Matthias Brugger , AngeloGioacchino Del Regno , Ming Yen Hsieh , Deren Wu Cc: linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Marcin FM , Cristian-Florin Radoi , George Salukvadze , Evgeny Kapusta <3193631@gmail.com>, Samu Toljamo , Ariel Rosenfeld , Chapuis Dario , =?utf-8?q?Thibaut_Fran=C3=A7ois?= , =?utf-8?q?=E5=BC=A0=E6=97=AD=E6=B6=B5?= X-Mailer: b4 0.15.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=4873; i=floss@jetm.me; h=from:subject:message-id; bh=d/HKmmehbZuZuFy6yrEQuL+8MJqGQNMTKPsrWPbucdg=; b=owEB7QES/pANAwAKAbXuwwuoZ3cfAcsmYgBpxaE4LrOfgn7JrGIyhpnuRTieuHLaNG2kd2xsJ 6hhpNjoFaGJAbMEAAEKAB0WIQSbE7ILzw7eI0VKk8m17sMLqGd3HwUCacWhOAAKCRC17sMLqGd3 H2vwC/9QvmHMCgKq53HN/wxY8m/JZbWRiNIjKuLpLQdXbvy8R55Eq+kbZrkyYZ+iWupwgouuBoE dmT1PwvSltfy+NE0huOlAfg4QMBvFbH9PH/40spsSpNpxxbb0H4aRzOPWUoajbY51Ct55MBXuvY pzkd/y/4tvoeMIsI9BvKpsEIEMxXdSpVw977T/NRLWzL/EdWai1O4j0YVyFgJdUjbU4IuW0rEq7 I56pQIGK1GEE7R1/1HaksJOvt3okCSbgNTZiosbmuarg57oiow4EIqf7R8UXyOpKX7rP1/YmxbZ 2NDpzm3/dPZj3cOZgrnackAyhirOfEoPaDtkVhO4EZGh2RLiiip+FLcMb4WRWtlhFt+CYuHPWIT SZNx7OTQMY7szXw32giTT2antBx/ND9esCe3H+akeAfRktwwDI5ffI3Npoli2KPz0cgZhiUZXh+ E67KbD7S8DGmZwxRzHGwLjoFfm0tY6BFHbcxIsicyDfNdRYZnuRKhVemCkXIBSDhvsrW4= X-Developer-Key: i=floss@jetm.me; a=openpgp; fpr=9B13B20BCF0EDE23454A93C9B5EEC30BA867771F In-Reply-To: <20260326-mt7927-wifi-support-v4-v4-0-8ab465addcfe@jetm.me> References: <20260326-mt7927-wifi-support-v4-v4-0-8ab465addcfe@jetm.me> The mac_reset and resume paths use the hardcoded MT_INT_RX_DONE_ALL constant (bits 0-2) to re-enable RX interrupts. This is correct for MT7925 (RX rings 0, 1, 2) but wrong for chips using different ring indices. Define a per-chip irq_map with the correct RX interrupt enable bits and replace hardcoded MT_INT_RX_DONE_ALL with irq_map field reads in the resume and mac_reset paths. Add the MT7927 irq_map with interrupt bits matching its RX ring layout (rings 4, 6, 7), selected at probe time based on PCI device ID. This ensures the correct interrupt bits are enabled regardless of the chip variant. Tested-by: Marcin FM Tested-by: Cristian-Florin Radoi Tested-by: George Salukvadze Tested-by: Evgeny Kapusta <3193631@gmail.com> Tested-by: Samu Toljamo Tested-by: Ariel Rosenfeld Tested-by: Chapuis Dario Tested-by: Thibaut Fran=C3=A7ois Tested-by: =E5=BC=A0=E6=97=AD=E6=B6=B5 Signed-off-by: Javier Tia --- drivers/net/wireless/mediatek/mt76/mt7925/pci.c | 21 +++++++++++++++++= ++-- drivers/net/wireless/mediatek/mt76/mt7925/pci_mac.c | 5 ++++- drivers/net/wireless/mediatek/mt76/mt792x_regs.h | 3 +++ 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/pci.c b/drivers/net/= wireless/mediatek/mt76/mt7925/pci.c index f820d5aeb723..604c0e9ae7ba 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7925/pci.c +++ b/drivers/net/wireless/mediatek/mt76/mt7925/pci.c @@ -266,6 +266,18 @@ static int mt7925_dma_init(struct mt792x_dev *dev) return mt792x_dma_enable(dev); } =20 +static const struct mt792x_irq_map mt7927_irq_map =3D { + .host_irq_enable =3D MT_WFDMA0_HOST_INT_ENA, + .tx =3D { + .all_complete_mask =3D MT_INT_TX_DONE_ALL, + .mcu_complete_mask =3D MT_INT_TX_DONE_MCU, + }, + .rx =3D { + .data_complete_mask =3D MT7927_RX_DONE_INT_ENA4, + .wm_complete_mask =3D MT7927_RX_DONE_INT_ENA6, + .wm2_complete_mask =3D MT7927_RX_DONE_INT_ENA7, + }, +}; static int mt7925_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) { @@ -310,6 +322,7 @@ static int mt7925_pci_probe(struct pci_dev *pdev, struct mt76_bus_ops *bus_ops; struct mt792x_dev *dev; struct mt76_dev *mdev; + bool is_mt7927_hw; u8 features; int ret; u16 cmd; @@ -358,7 +371,8 @@ static int mt7925_pci_probe(struct pci_dev *pdev, dev =3D container_of(mdev, struct mt792x_dev, mt76); dev->fw_features =3D features; dev->hif_ops =3D &mt7925_pcie_ops; - dev->irq_map =3D &irq_map; + is_mt7927_hw =3D (pdev->device =3D=3D 0x6639 || pdev->device =3D=3D 0x792= 7); + dev->irq_map =3D is_mt7927_hw ? &mt7927_irq_map : &irq_map; mt76_mmio_init(&dev->mt76, pcim_iomap_table(pdev)[0]); tasklet_init(&mdev->irq_tasklet, mt792x_irq_tasklet, (unsigned long)dev); =20 @@ -549,7 +563,10 @@ static int _mt7925_pci_resume(struct device *device, b= ool restore) mt76_wr(dev, MT_PCIE_MAC_INT_ENABLE, 0xff); mt76_connac_irq_enable(&dev->mt76, dev->irq_map->tx.all_complete_mask | - MT_INT_RX_DONE_ALL | MT_INT_MCU_CMD); + dev->irq_map->rx.data_complete_mask | + dev->irq_map->rx.wm_complete_mask | + dev->irq_map->rx.wm2_complete_mask | + MT_INT_MCU_CMD); mt76_set(dev, MT_MCU2HOST_SW_INT_ENA, MT_MCU_CMD_WAKE_RX_PCIE); =20 /* put dma enabled */ diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/pci_mac.c b/drivers/= net/wireless/mediatek/mt76/mt7925/pci_mac.c index 3072850c2752..1626a3684082 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7925/pci_mac.c +++ b/drivers/net/wireless/mediatek/mt76/mt7925/pci_mac.c @@ -118,7 +118,10 @@ int mt7925e_mac_reset(struct mt792x_dev *dev) =20 mt76_wr(dev, dev->irq_map->host_irq_enable, dev->irq_map->tx.all_complete_mask | - MT_INT_RX_DONE_ALL | MT_INT_MCU_CMD); + dev->irq_map->rx.data_complete_mask | + dev->irq_map->rx.wm_complete_mask | + dev->irq_map->rx.wm2_complete_mask | + MT_INT_MCU_CMD); mt76_wr(dev, MT_PCIE_MAC_INT_ENABLE, 0xff); =20 err =3D mt792xe_mcu_fw_pmctrl(dev); diff --git a/drivers/net/wireless/mediatek/mt76/mt792x_regs.h b/drivers/net= /wireless/mediatek/mt76/mt792x_regs.h index acf627aed609..a8c8d7d6f565 100644 --- a/drivers/net/wireless/mediatek/mt76/mt792x_regs.h +++ b/drivers/net/wireless/mediatek/mt76/mt792x_regs.h @@ -308,6 +308,9 @@ #define HOST_RX_DONE_INT_ENA1 BIT(1) #define HOST_RX_DONE_INT_ENA2 BIT(2) #define HOST_RX_DONE_INT_ENA3 BIT(3) +#define MT7927_RX_DONE_INT_ENA4 BIT(12) +#define MT7927_RX_DONE_INT_ENA6 BIT(14) +#define MT7927_RX_DONE_INT_ENA7 BIT(15) #define HOST_TX_DONE_INT_ENA0 BIT(4) #define HOST_TX_DONE_INT_ENA1 BIT(5) #define HOST_TX_DONE_INT_ENA2 BIT(6) --=20 2.53.0 From nobody Thu Apr 2 18:50:54 2026 Received: from fout-a8-smtp.messagingengine.com (fout-a8-smtp.messagingengine.com [103.168.172.151]) (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 706F83B4E8B; Thu, 26 Mar 2026 21:12:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.151 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774559565; cv=none; b=ZMeCFaKk1/AAdq0clDW3y5iKDdE+J0qnO//NKXGt5uTV4+wPvHDwqXFNOpuO346Ih26Rblul9Xu5fMixnY1+wMNGtAfYAbEXnfStlvo/rRp59cmfIuQFwBWWkuXmDMt06yaZKHpkO25VL4ngioKOsJ10Ebqsn83pxxVuF08aatg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774559565; c=relaxed/simple; bh=EttSMB/87XiHGZhWtMpgNAtlCMJydT4Yjw9bIPiDhNI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc: In-Reply-To:References; b=gkDbFncVuI/j+33BhrnVOUZPGzKUHsmspcMxgb0fFTxz+LjHvPg9SFuxApTvPCth+tsM4vBDKNtNd4XTjJeHipEZqyAA35jWIvzC4IzQsP8O7rPqXezlx+WAAv/entN245mgf9Nz9+k5yvazxn3DHwDqL/H+DmSKnkZ6+yBXdOg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=jetm.me; spf=pass smtp.mailfrom=jetm.me; dkim=pass (2048-bit key) header.d=jetm.me header.i=@jetm.me header.b=hnzdRHBI; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=ZRCdhSoA; arc=none smtp.client-ip=103.168.172.151 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=jetm.me Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=jetm.me Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=jetm.me header.i=@jetm.me header.b="hnzdRHBI"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="ZRCdhSoA" Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailfout.phl.internal (Postfix) with ESMTP id BB1A0EC0218; Thu, 26 Mar 2026 17:12:43 -0400 (EDT) Received: from phl-imap-07 ([10.202.2.97]) by phl-compute-02.internal (MEProxy); Thu, 26 Mar 2026 17:12:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jetm.me; h=cc:cc :content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1774559563; x=1774645963; bh=JD0LmIz415XLpZYRfQu0zc+Gi+UZQoc1q5KNADfTGZk=; b= hnzdRHBIHG1/9WJtKjE6nR9fL+CuiqPH/7Ehd77ZDJkHY2s7UHSnDa/VLqpXXd51 UTpboA7P+8qX/+wr8vH7TGa/jctnVhDnVzCMV8m+gPEqaK+m9rCMi2cKS8CvCSEV Lt4aiestcJpMdGms2VK68OhXJVwq2bb4bvU+iv08vBRa/GNupJPlIZtRP1JQ7uof B720PqzFPxhEiMBvB+rPecY2lxoku1K9vaQYMEoGQsAfjRsoHHlJsGwohGKURsmR EOSd2LN2JKW5KoCMc5C78i8ErplKaaJZjeFsZpX/t34v928K009QtWtPgXyCBCsF E+Kw7bJSiuaQMPG6Jq5XFg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1774559563; x= 1774645963; bh=JD0LmIz415XLpZYRfQu0zc+Gi+UZQoc1q5KNADfTGZk=; b=Z RCdhSoAuZUUlREC6M7rMNec53ZcIUf9a2vSORueVzo2Eb7tdIXcVf9UqkGcRY+W0 P766JJjUdAcckzx1V88ZoCj6/cQDypNwl9TP9LapKFdlAzg6rPF8uT5Izw3VFM8F cqR+BocczyUGySPrqOGkmqGLkaKRVIOUEJJ3kYRarqbydh58fpEQxGD7FuWkJkSC twppcipovYE9MLA10XWIQxmjPWEwCTnzGXVkUJwVnpWqVAatDVTEbZp0hhiKUJfa PZhT6YSfukgFKIigBGeijvFBJ7v9lQnqGzT8caZpoJUA/LWYTQRCWMFY74QU3ZRn gRxjVpTDp18Z1F9d8srdw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdefvdekgeefucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepoffhfffugggtgffkvfevofgjfhesthejredtredtjeenucfhrhhomheplfgrvhhi vghrucfvihgruceofhhlohhsshesjhgvthhmrdhmvgeqnecuggftrfgrthhtvghrnhepvd dtjeeiheeijedtveeujeevvdekjeeuveekleeijeekfeejhfefveeiffffvdeinecuvehl uhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepfhhlohhsshesjh gvthhmrdhmvgdpnhgspghrtghpthhtohepudefpdhmohguvgepshhmthhpohhuthdprhgt phhtthhopegrnhhgvghlohhgihhorggttghhihhnohdruggvlhhrvghgnhhosegtohhllh grsghorhgrrdgtohhmpdhrtghpthhtohepmhgrthhthhhirghsrdgsghhgsehgmhgrihhl rdgtohhmpdhrtghpthhtoheplhhorhgvnhiioheskhgvrhhnvghlrdhorhhgpdhrtghpth htoheplhhinhhugidqrghrmhdqkhgvrhhnvghlsehlihhsthhsrdhinhhfrhgruggvrggu rdhorhhgpdhrtghpthhtoheplhhinhhugidqmhgvughirghtvghksehlihhsthhsrdhinh hfrhgruggvrggurdhorhhgpdhrtghpthhtohepuggvrhgvnhdrfihusehmvgguihgrthgv khdrtghomhdprhgtphhtthhopehmihhnghihvghnrdhhshhivghhsehmvgguihgrthgvkh drtghomhdprhgtphhtthhopehrhiguvghrrdhlvggvsehmvgguihgrthgvkhdrtghomhdp rhgtphhtthhopehsvggrnhdrfigrnhhgsehmvgguihgrthgvkhdrtghomh X-ME-Proxy: Feedback-ID: i9dde48b3:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 8D0811EA006B; Thu, 26 Mar 2026 17:12:43 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface From: Javier Tia Date: Thu, 26 Mar 2026 15:12:33 -0600 Subject: [PATCH v4 9/9] wifi: mt76: mt7925: disable ASPM and runtime PM for MT7927 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260326-mt7927-wifi-support-v4-v4-9-8ab465addcfe@jetm.me> To: Felix Fietkau , Lorenzo Bianconi , Ryder Lee , Shayne Chen , Sean Wang , Matthias Brugger , AngeloGioacchino Del Regno , Ming Yen Hsieh , Deren Wu Cc: linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org X-Mailer: b4 0.15.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2658; i=floss@jetm.me; h=from:subject:message-id; bh=EttSMB/87XiHGZhWtMpgNAtlCMJydT4Yjw9bIPiDhNI=; b=owEB7QES/pANAwAKAbXuwwuoZ3cfAcsmYgBpxaE4XROHqnZuTIUqW2OvGZAnfVNg6oApkpJue J8Tatn7ChSJAbMEAAEKAB0WIQSbE7ILzw7eI0VKk8m17sMLqGd3HwUCacWhOAAKCRC17sMLqGd3 H2JRC/wIb29AaG8RxZb+OShZ8cdeLylHN774vajS6QDNxzxJsJ1dK7saQwA2JNCjeaa3sCbB519 gLAjXEk9BiJ+r+KDX89Awezkobz19vwr9BB+gVt0sTiefzWyGdpQau4OTQOtr5YBIQcs1a4QKq/ vr/vdqJvm3GdwpM8DEJ/9SIPaAbQ3jLaq3XtWOGIb9lDZwlSqjVRYHRhlg9RdPi3kXbxu7WUqx8 DnOYGtfJ15g7MDzUsGiZwGxPa+7M0T8EwClgslKsaxebOx2mZR4VKqxTnVfcDXfqbpGsbCmM4K3 H8puUFKH3VqtqQonPfORsLaYdX2i/yHI4tiUEqkX/I2b1wll/0bIm9ioTEoxdrD4tXOJ4hJuWS0 9SP3umUsT+d0P6J62C7acUnAhnUM51U3F++RkgahzaUKdu/Grt/jhd37pBAdFNgLiACOih7RXCn N8hbJOTygBMxhGQD85nw1R/LBJKF/q2k7yQDRHPPhsKUEicJ2W9mlqjrM1hV78To6AXBI= X-Developer-Key: i=floss@jetm.me; a=openpgp; fpr=9B13B20BCF0EDE23454A93C9B5EEC30BA867771F In-Reply-To: <20260326-mt7927-wifi-support-v4-v4-0-8ab465addcfe@jetm.me> References: <20260326-mt7927-wifi-support-v4-v4-0-8ab465addcfe@jetm.me> Disable PCIe ASPM unconditionally for MT7927. The CONNINFRA power domain and WFDMA register access are unreliable with PCIe L1 active, causing throughput to drop from 1+ Gbps to ~200 Mbps. Disable runtime PM and deep sleep for MT7927. The combo chip shares a CONNINFRA power domain between WiFi (PCIe) and BT (USB). SET_OWN/CLR_OWN transitions on the LPCTL register crash the BT firmware, requiring a full power cycle to recover. PM enablement will be addressed in a follow-up once safe power state transitions are determined. Signed-off-by: Javier Tia --- drivers/net/wireless/mediatek/mt76/mt7925/init.c | 3 ++- drivers/net/wireless/mediatek/mt76/mt7925/pci.c | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/init.c b/drivers/net= /wireless/mediatek/mt76/mt7925/init.c index 3ce5d6fcc69d..4766b9343953 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7925/init.c +++ b/drivers/net/wireless/mediatek/mt76/mt7925/init.c @@ -230,7 +230,8 @@ int mt7925_register_device(struct mt792x_dev *dev) dev->pm.idle_timeout =3D MT792x_PM_TIMEOUT; dev->pm.stats.last_wake_event =3D jiffies; dev->pm.stats.last_doze_event =3D jiffies; - if (!mt76_is_usb(&dev->mt76)) { + /* MT7927: runtime PM crashes BT firmware on the shared CONNINFRA domain = */ + if (!mt76_is_usb(&dev->mt76) && !is_mt7927(&dev->mt76)) { dev->pm.enable_user =3D true; dev->pm.enable =3D true; dev->pm.ds_enable_user =3D true; diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/pci.c b/drivers/net/= wireless/mediatek/mt76/mt7925/pci.c index 604c0e9ae7ba..1f05c212be02 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7925/pci.c +++ b/drivers/net/wireless/mediatek/mt76/mt7925/pci.c @@ -350,7 +350,10 @@ static int mt7925_pci_probe(struct pci_dev *pdev, if (ret) goto err_free_pci_vec; =20 - if (mt7925_disable_aspm) + is_mt7927_hw =3D (pdev->device =3D=3D 0x6639 || pdev->device =3D=3D 0x792= 7); + + /* MT7927: ASPM L1 causes unreliable WFDMA register access */ + if (mt7925_disable_aspm || is_mt7927_hw) mt76_pci_disable_aspm(pdev); =20 ops =3D mt792x_get_mac80211_ops(&pdev->dev, &mt7925_ops, @@ -371,7 +374,6 @@ static int mt7925_pci_probe(struct pci_dev *pdev, dev =3D container_of(mdev, struct mt792x_dev, mt76); dev->fw_features =3D features; dev->hif_ops =3D &mt7925_pcie_ops; - is_mt7927_hw =3D (pdev->device =3D=3D 0x6639 || pdev->device =3D=3D 0x792= 7); dev->irq_map =3D is_mt7927_hw ? &mt7927_irq_map : &irq_map; mt76_mmio_init(&dev->mt76, pcim_iomap_table(pdev)[0]); tasklet_init(&mdev->irq_tasklet, mt792x_irq_tasklet, (unsigned long)dev); --=20 2.53.0