From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BCCD6CA1002 for ; Mon, 1 Sep 2025 23:19:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To: Content-Transfer-Encoding:Content-Type:MIME-Version:Message-Id:Date:Subject: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=m+J+n2NOKFg9L9/ZyjhMxEskn4FU3wfPmyt3s0CRQh4=; b=BHitgPROVV/ceP QYbDvjw7T/ghdX55gznilhUxBy7kDXTIrWclBcQ+IM+RvsPV6UVQ5DWe/cInRJMBEKiMa2xG4Qtrd fbcaEq3EH7m/QCz/j3yFcZBjbeDEE0nXEBvr3IXGzJ5hFDjdAYWH+8IcNkBjh8bB89BAmZcIB6JZI egWJVHwgQH8/IFidKfuerHRZmhwO5ZFj21p4RIU9Xq+1L9sQF7HPiPNMZAxcji2yySo38aYSaY2B0 uAoDsByB3RTHbeAqnZVwLcQhXax4aWauWpaBv6YFejLpj0vEalmHCPO6A4XG+3Cp8VTPshdln+vOi 3zUrFAVPyr+9OsWGKEPQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1utDni-0000000EJ0u-2dT3; Mon, 01 Sep 2025 23:19:02 +0000 Received: from tor.source.kernel.org ([172.105.4.254]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1utBbb-0000000DtFm-0sFx; Mon, 01 Sep 2025 20:58:23 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 67D1C600BB; Mon, 1 Sep 2025 20:58:22 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id BC79CC4CEF0; Mon, 1 Sep 2025 20:58:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756760302; bh=wF92u9Joc2AuDrhH1zBbRWs4j5eARuYiRn0/M2503aE=; h=From:Subject:Date:To:Cc:From; b=B3zVbZU3MKwDl7Y3iQaH8GnuotGg66HQ2TWvAII1euSxhIS2UTKy+izgk/TvdsnJ0 r+wmB91YJOPXmsKqPyncFHwSkcbbRGzFaqbX6YwLUZtqg431i9kXGkpWUs3KLH0jcm AdC8rbCqB+pXpLEIsvjjnjoLCarh0yaked3n4Lsmxp1J8wB0VNeEgp9c2+S50lcd70 pAc9UKsA/UG6iUUi+Pwnh3WsZz84lP1R31OIihWyW4+3NpO3ls8BY7WIh89vyDsRrr O3cAmUpyTjMx16R0J8k95Og7TSsiznUURNSURj4/SzS2H93tJi0jOOlko8G+q3KIn8 r83dbnFqvEi+w== From: Lorenzo Bianconi Subject: [PATCH mt76 v2 00/14] wifi: mt76: mt7996: Decouple RRO logic from WED support Date: Mon, 01 Sep 2025 22:57:56 +0200 Message-Id: <20250901-mt7996-rro-rework-v2-0-1f95086b51d1@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIANQItmgC/32NQQ6CMBBFr0Jm7ZjSILSuvIdhQdopNCglU1I1p He3cgCX7yX//R0isacI12oHpuSjD0sBearATMMyEnpbGKSQF6Fkjc+t07pF5oBMr8AzykYLQyS csArKbmVy/n00733hycct8Oe4SPXP/qulGgW2RjVdN1jdanebiRd6nAOP0OecvwhPAf6zAAAA X-Change-ID: 20250821-mt7996-rro-rework-2490cee0f0d8 To: Felix Fietkau , Ryder Lee , Shayne Chen , Sean Wang , Matthias Brugger , AngeloGioacchino Del Regno , Sujuan Chen , Lorenzo Bianconi Cc: linux-wireless@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Rex Lu , Benjamin Lin X-Mailer: b4 0.14.2 X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Decouple RRO logic (v3.0 and v3.1) from WED support in MT7996 driver in order to reuse it when WED module is not available. Introduce WED offload support for MT7992 chipset in MT7996 driver. --- Changes in v2: - Fix SER when Wireless Ethernet Dispatcher (WED) is disabled - Rebase on top of mt76 main branch - Link to v1: https://lore.kernel.org/r/20250821-mt7996-rro-rework-v1-0-6c8477ad969f@kernel.org --- Lorenzo Bianconi (6): wifi: mt76: Add reset_idx to reset_q mt76_queue_ops signature. wifi: mt76: Remove q->ndesc check in mt76_dma_rx_fill() wifi: mt76: mt7996: Fix tx-queues initialization for second phy on mt7996 wifi: mt76: mt7996: Fix RX packets configuration for primary WED device wifi: mt76: Add rx_queue_init callback wifi: mt76: Add mt76_dma_get_rxdmad_c_buf utility routione Rex Lu (8): wifi: mt76: Differentiate between RRO data and RRO MSDU queues wifi: mt76: mt7996: Initial DMA configuration for MT7992 WED support wifi: mt76: mt7996: Enable HW RRO for MT7992 chipset wifi: mt76: mt7996: Introduce the capability to reset MT7992 WED device wifi: mt76: mt7996: Enable WED for MT7992 chipset wifi: mt76: mt7996: Introduce RRO MSDU callbacks wifi: mt76: mt7996: Decouple RRO logic from WED support wifi: mt76: mt7996: Add SW path for HW-RRO v3.1 drivers/net/wireless/mediatek/mt76/dma.c | 215 +++++++++--- drivers/net/wireless/mediatek/mt76/dma.h | 47 ++- drivers/net/wireless/mediatek/mt76/mt76.h | 54 ++- drivers/net/wireless/mediatek/mt76/mt7915/dma.c | 4 +- drivers/net/wireless/mediatek/mt76/mt792x_dma.c | 6 +- drivers/net/wireless/mediatek/mt76/mt7996/dma.c | 326 ++++++++++++++---- drivers/net/wireless/mediatek/mt76/mt7996/init.c | 310 ++++++++++++----- drivers/net/wireless/mediatek/mt76/mt7996/mac.c | 367 ++++++++++++++++++++- drivers/net/wireless/mediatek/mt76/mt7996/main.c | 19 +- drivers/net/wireless/mediatek/mt76/mt7996/mcu.c | 4 +- drivers/net/wireless/mediatek/mt76/mt7996/mmio.c | 89 +++-- drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h | 91 ++++- drivers/net/wireless/mediatek/mt76/mt7996/pci.c | 3 +- drivers/net/wireless/mediatek/mt76/mt7996/regs.h | 32 +- drivers/net/wireless/mediatek/mt76/wed.c | 8 +- 15 files changed, 1306 insertions(+), 269 deletions(-) --- base-commit: 533a336bdd8154e69439c5f157fdc69a448942a3 change-id: 20250821-mt7996-rro-rework-2490cee0f0d8 Best regards, -- Lorenzo Bianconi