From patchwork Sat Jun 29 15:01:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lorenzo Bianconi X-Patchwork-Id: 13716952 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 79252C27C4F for ; Sat, 29 Jun 2024 15:02:18 +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:Content-Transfer-Encoding: MIME-Version:Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=hnZ0G5HbslVE6+QsnyPkmwX6PMlXeIhFvBcaxMnthf8=; b=aWityMbLb/BYFKmxhyrfE/AWBK 6p+8Yol1818LElWmK/xKsvbegkfGzsuo8GRdhJUCiOf8AxGARrKCI3VUaa2BWflKUTYlcQtKYmZFJ YEjIriZ5VLvJIHvsdEOND1bLXlHMBtCm8IgUlRMHVUCTDkpCg7oriORWhwam4xIIlLpQEkSYqczHi RXP0+8vGxQfAfzTScJqrt5TgLTQZA2chSRf+6cbuyHAVlbdl6sa7Z/A8egS9ABUYjXp3gQnyCWXEh l6teDXWiM5opswu1g9SZBGwAGhAHlIA4+rdPuJSvirOLDurZR/z5JsjpYHFDMDW0f2t4ySQQR9QH0 gwL2cYrg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sNZaZ-0000000GYbM-1y8v; Sat, 29 Jun 2024 15:02:07 +0000 Received: from sin.source.kernel.org ([145.40.73.55]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sNZaK-0000000GYWA-1Ypv for linux-arm-kernel@lists.infradead.org; Sat, 29 Jun 2024 15:01:53 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 71EBACE102A; Sat, 29 Jun 2024 15:01:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 34216C2BBFC; Sat, 29 Jun 2024 15:01:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1719673308; bh=4Kstz9rsy+u94zzC1fazgssvBzjf5Jv06T1zq8qRh9k=; h=From:To:Cc:Subject:Date:From; b=dWO82SmDihja2S1ZRt8bxCKV9VHd9DbKmW2lphzgREznEo7hBpB67oouX1M+zYnxs 97x0ITucB3KqOOY/ocoS8O1T0QPZ8Lnfn5fiWs4+FvuDKoAoj0zVAaQ/TuMlcBbgx9 AAI4+k840W2Cqs8ivkwTC7CRzqUzqTxA+3NHOwWfHWD6/T/p6mKh+T+kEVQJNmPHQU NSie2TYXfyT1sNKHUBOfc/cjqVfW/IjwTdpS4Ku4PX1c45WNFcTHCNLuxGZj2jBpub 7wvmyzcR8CNGlZMCGFfxHpWUoHgsgkGekY0U4MvNuCvu94v5nkel9vYyxZlj1e4sfL foX65y1COWNiw== From: Lorenzo Bianconi To: netdev@vger.kernel.org Cc: nbd@nbd.name, lorenzo.bianconi83@gmail.com, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, conor@kernel.org, linux-arm-kernel@lists.infradead.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, devicetree@vger.kernel.org, catalin.marinas@arm.com, will@kernel.org, upstream@airoha.com, angelogioacchino.delregno@collabora.com, benjamin.larsson@genexis.eu, rkannoth@marvell.com, sgoutham@marvell.com, andrew@lunn.ch, arnd@arndb.de, horms@kernel.org Subject: [PATCH v4 0/2] Introduce EN7581 ethernet support Date: Sat, 29 Jun 2024 17:01:36 +0200 Message-ID: X-Mailer: git-send-email 2.45.2 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240629_080152_612532_A7E0C435 X-CRM114-Status: GOOD ( 11.11 ) 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 Add airoha_eth driver in order to introduce ethernet support for Airoha EN7581 SoC available on EN7581 development board. EN7581 mac controller is mainly composed by Frame Engine (FE) and QoS-DMA (QDMA) modules. FE is used for traffic offloading (just basic functionalities are supported now) while QDMA is used for DMA operation and QOS functionalities between mac layer and the dsa switch (hw QoS is not available yet and it will be added in the future). Currently only hw lan features are available, hw wan will be added with subsequent patches. Changes since v3: - rework architecture to allow future gdm{1,4} support - read REG_INT_ENABLE() register in airoha_qdma_set_irqmask() to guarantee airoha_qdma_wr() complete in the spinlock critical section - thx Arnd for the clarification - remove unnecessary wmb() - remove debugfs - move register definitions in .c and remove .h - fix warnings - enable NAPI thread by default Changes since v2: - rename airoha,en7581.yaml in airoha,en7581-eth.yaml - remove reset dependency in airoha,en7581-eth.yaml - remove airoha_dev_change_mtu() callback Changes since v1: - drop patch 2/3 - remove queue lock for rx queues - add bql support - add ethtool stats support - fix possible infinite loop in airoha_qdma_rx_process routine - always destroy page_pool in case of error during initialization - cosmetics Lorenzo Bianconi (2): dt-bindings: net: airoha: Add EN7581 ethernet controller net: airoha: Introduce ethernet support for EN7581 SoC .../bindings/net/airoha,en7581-eth.yaml | 171 ++ MAINTAINERS | 9 + drivers/net/ethernet/mediatek/Kconfig | 11 +- drivers/net/ethernet/mediatek/Makefile | 1 + drivers/net/ethernet/mediatek/airoha_eth.c | 2709 +++++++++++++++++ 5 files changed, 2900 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/net/airoha,en7581-eth.yaml create mode 100644 drivers/net/ethernet/mediatek/airoha_eth.c