From patchwork Thu Jul 4 08:08:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lorenzo Bianconi X-Patchwork-Id: 13723379 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 E6EFEC30653 for ; Thu, 4 Jul 2024 08:08:52 +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=eeTP8Awlt1kkiCYj7OdOvuhCGCnqr5nuTwrqfjLogyk=; b=or2hhRwgZJAZWhTWaTpPZN5W4m O9FnYRtSrqAn6BcuNWpmRlhDV1FXJ8a8pOfZ+5cHYEa7Puf4r8F/LYCUWX3uvwroV7Y89JWi8hxcg yWxzSx89HuNW13uZ9v7BcJ0ZOnA6OY3kDwRWPfZKgaJLy3Ka/4UzJw4x/OIxHFxwFapE1clRjqhgN L1Le+1nRyoqoNWKq7FyT2YIS53FnSm0sg4i2h7g4cZ4Y0UwJ/M+nvj7Nq1ZaYHw6veHe788BtKrJy mmwkf817miyfN1IzUaAje8oh8onB8ksCx7jw0bBxE+q31Zz0N0IT8ds98lfkJK5EHee3tHD/0ygJo w1QabmYQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sPHWE-0000000CXx1-0PDp; Thu, 04 Jul 2024 08:08:42 +0000 Received: from sin.source.kernel.org ([2604:1380:40e1:4800::1]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sPHW0-0000000CXte-2y5C for linux-arm-kernel@lists.infradead.org; Thu, 04 Jul 2024 08:08:30 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 088A8CE2A2F; Thu, 4 Jul 2024 08:08:26 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C2358C3277B; Thu, 4 Jul 2024 08:08:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1720080505; bh=J/I/ZDCtfEc50f3py2WXkQJXNaJZrIWNnDDHj5sDshI=; h=From:To:Cc:Subject:Date:From; b=bAkXAZkkVKFUTH4IK+UU2ZZzvBhwnvYnYAWAlwIUnrTewIBcIA2M4NMRrdC6WQdLm lJPaf6UOFuxOguhjb98xSuqaFG/Q1wt2zGh87ys+w6tMol2MpnKdwCJ76Ehq4ey1AD P/lKlI9KvivxCj5BpkphNQyBtv/fNP0cAjkPqYM0/nGgWklNF0M6PCafPXiFo6xm17 x6GQA9KD7VFs8FlG/O/YFzekcV+mfzAh+X4HxarUFq0SSD9fgHsEdGftU+40V/cs7M k8TIBzrHgixQ3dUrVkKhSW0P7NRDmd+kyBEB2N/4ItrcD6NqbFrSJY03HVVLRfacrJ EAlzxipNqBRAg== 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 v5 net-next 0/2] Introduce EN7581 ethernet support Date: Thu, 4 Jul 2024 10:08:09 +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-20240704_010828_944566_55445E1B X-CRM114-Status: GOOD ( 11.63 ) 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 v4: - fix compilation warnings - use airoha_qdma_rr() and not airoha_rr() in airoha_qdma_set_irqmask() - add missing descriptions in dt-binding - remove mdio node in binding example 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 | 146 + MAINTAINERS | 9 + drivers/net/ethernet/mediatek/Kconfig | 11 +- drivers/net/ethernet/mediatek/Makefile | 1 + drivers/net/ethernet/mediatek/airoha_eth.c | 2705 +++++++++++++++++ 5 files changed, 2871 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/net/airoha,en7581-eth.yaml create mode 100644 drivers/net/ethernet/mediatek/airoha_eth.c