From patchwork Mon Oct 16 14:12:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oleksij Rempel X-Patchwork-Id: 15431 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp3491058vqb; Mon, 16 Oct 2023 07:13:43 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGkk9ktXed9XYg43u4yPZnMYnUldcDrMf6ssjtPI2/baW4BfEoRopFA+sKkPOulPzIUd6pg X-Received: by 2002:a05:6a00:2e87:b0:690:c79c:1912 with SMTP id fd7-20020a056a002e8700b00690c79c1912mr37875884pfb.0.1697465623023; Mon, 16 Oct 2023 07:13:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697465623; cv=none; d=google.com; s=arc-20160816; b=tdXLLtBkqQk+NlTIbj4VBgnQqo0goBBJb5NvUyS5NRIbm+1cgjHNTiNN0xHUDXG8jw bdf9vckrBOmvYtP3TcCGxTy482Bw4hYHZDDj5C3GRetPfCUhYJz3+YfcYqQ0QCqVTnW8 cV98yrZprmVEt0mMXq6ziLW3dHbpl6Lv5R7PbdLmYlgKoV7YgXccqzLR4X/Ab9ALC5l4 Q+OwgepRGROXGrCHkSIrVziYafyKzLZIadnba3IJvp7nYFXARywifUoKherL5TiEkeRW XDp1AU67EkknOmcPZ1TzlwWo0jcPi1TRBZessSjYhQQ1YOIIGfZAJU5uq7cFyUSUJWsQ muqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=8RraenJ6pVoJGWrHzxNq7fn8QrQOyWKtyYoHSscVPLM=; fh=J4gjwt0mePoRaYCjaHLm28JnUFi5LyPM6ZZbSRFLAL0=; b=aXxpimHY6WT47+oxOysVbTfjev9/qQjV6JvvMslAv9xUJaYvHkpOcMk5rhzQpH5tQp PFz/37HUL3kDP46A2TNfKA7ibWV1xOvZMZQTAY5dtGAjpa7AxksHv1qaM9n/27X1mX4M Guw/+KUfY0XPki9K6x7f5fB5ndr2y2XoiMT+ICuWSJehQv/3UeGsO5zqi43v9PPQs44C ubD+XG1RVCmX9jbtwOJUt8eNLjzPC4Q3qeT1Lglsi6LqjP+xJ4PU/2/OruAGHeUS5ct+ C0/gOkLLBXgHSV2RZx++7xX7Y575aHB9fSwa2QH6LW4z7yg3yQF1qvo6uXrOvO6WtSlh wgnA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from morse.vger.email (morse.vger.email. [23.128.96.31]) by mx.google.com with ESMTPS id h12-20020a056a00170c00b0069341622984si24349644pfc.147.2023.10.16.07.13.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Oct 2023 07:13:43 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) client-ip=23.128.96.31; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id 7F08F80225A7; Mon, 16 Oct 2023 07:13:36 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233542AbjJPONX (ORCPT + 18 others); Mon, 16 Oct 2023 10:13:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50930 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229784AbjJPONW (ORCPT ); Mon, 16 Oct 2023 10:13:22 -0400 Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [IPv6:2a0a:edc0:2:b01:1d::104]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 93B4F83 for ; Mon, 16 Oct 2023 07:13:20 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qsOL4-0002pB-HV; Mon, 16 Oct 2023 16:12:58 +0200 Received: from [2a0a:edc0:0:1101:1d::ac] (helo=dude04.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qsOL3-0026aC-8g; Mon, 16 Oct 2023 16:12:57 +0200 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.96) (envelope-from ) id 1qsOL3-008RNy-0e; Mon, 16 Oct 2023 16:12:57 +0200 From: Oleksij Rempel To: "David S. Miller" , Andrew Lunn , Eric Dumazet , Florian Fainelli , Jakub Kicinski , Paolo Abeni , Vladimir Oltean , Woojung Huh , Arun Ramadoss , Conor Dooley , Krzysztof Kozlowski , Rob Herring Cc: Oleksij Rempel , kernel@pengutronix.de, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, UNGLinuxDriver@microchip.com, "Russell King (Oracle)" , devicetree@vger.kernel.org Subject: [PATCH net-next v4 0/9] net: dsa: microchip: provide Wake on LAN support Date: Mon, 16 Oct 2023 16:12:47 +0200 Message-Id: <20231016141256.2011861-1-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Mon, 16 Oct 2023 07:13:36 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779921712746788383 X-GMAIL-MSGID: 1779921712746788383 This patch series introduces extensive Wake on LAN (WoL) support for the Microchip KSZ9477 family of switches, coupled with some code refactoring and error handling enhancements. The principal aim is to enable and manage Wake on Magic Packet and other PHY event triggers for waking up the system, whilst ensuring that the switch isn't reset during a shutdown if WoL is active. The Wake on LAN functionality is optional and is particularly beneficial if the PME pins are connected to the SoC as a wake source or to a PMIC that can enable or wake the SoC. changes v4: - add ksz_switch_shutdown() and do not skip dsa_switch_shutdown() and etc. - try to configure MAC address on WAKE_MAGIC. If not possible, prevent WAKE_MAGIC configuration - use ksz_switch_macaddr_get() for WAKE_MAGIC. - prevent ksz_port_set_mac_address if WAKE_MAGIC is active - do some more refactoring and patch reordering changes v3: - use ethernet address of DSA master instead from devicetree - use dev_ops->wol* instead of list of supported switch - don't shotdown the switch if WoL is enabled - rework on top of latest HSR changes changes v2: - rebase against latest next Oleksij Rempel (9): net: dsa: microchip: Add missing MAC address register offset for ksz8863 dt-bindings: net: dsa: microchip: add wakeup-source property net: dsa: microchip: use wakeup-source DT property to enable PME output net: dsa: microchip: ksz9477: add Wake on LAN support net: dsa: microchip: ksz9477: Add Wake on Magic Packet support net: dsa: microchip: Refactor comment for ksz_switch_macaddr_get() function net: dsa: microchip: Add error handling for ksz_switch_macaddr_get() net: dsa: microchip: Refactor switch shutdown routine for WoL preparation net: dsa: microchip: do not reset the switch on shutdown if WoL is active .../bindings/net/dsa/microchip,ksz.yaml | 2 + drivers/net/dsa/microchip/ksz9477.c | 122 ++++++++++++++++++ drivers/net/dsa/microchip/ksz9477.h | 4 + drivers/net/dsa/microchip/ksz9477_i2c.c | 5 +- drivers/net/dsa/microchip/ksz_common.c | 115 +++++++++++++++-- drivers/net/dsa/microchip/ksz_common.h | 8 ++ drivers/net/dsa/microchip/ksz_spi.c | 5 +- 7 files changed, 242 insertions(+), 19 deletions(-)