Received: by 2002:a05:7412:798b:b0:fc:a2b0:25d7 with SMTP id fb11csp850006rdb; Fri, 23 Feb 2024 01:47:04 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCX7RxVt0IGjUVXL4HMVkIyZFshRKgyI5SnNalZAkb2mUS3SjONMM84mSDBsyOO1s3JZsnhC+4dUR4WlpVbCeMv36kB6kE5PdvJxrDMHYw== X-Google-Smtp-Source: AGHT+IF+LcHUDL/UeDg6EBDAJ/gCmhPiRT9e/wssdzQdzg+tQ1Gd+pzhkxIz6r0q9jQDi5z+FoTv X-Received: by 2002:a05:6a20:c401:b0:19c:ac7f:c3e4 with SMTP id en1-20020a056a20c40100b0019cac7fc3e4mr1029669pzb.42.1708681623873; Fri, 23 Feb 2024 01:47:03 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708681623; cv=pass; d=google.com; s=arc-20160816; b=NVmqLYJ91JtKA55BJjsjCwHOdcAshaAf0ZMMvEDBjp+tLKcoPuvcQl7h2Oufnew6Nw 2DglUtoUplLYzKMXgn9YhCcGuRAcX5+xGhcKLRAmxyXCV7tTsT5F0Gfx8gKlJX7Luuuu TFqkxIRsRTA5Eg20wQO0XqFwVCzeJns8smnhlGF1mCLy+SqjeVPXiwAJWtkfUoNCOWsl CykWp2MBhGH/9YehBEbG6W+VCMxaYMM+MFXfk0ZicOPcVdWj97mN08d6ZXaHXnOGZMqN Roy6e1k2S9YPCrttH9dnFloIT2Tt0iApWFAsdDGQdCKVEvmz4pqcRsataTO8KLaPczx2 SeQw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from; bh=S3zen7RnA7iKCazEh9TUjl6C7hptKP8Cr09o43Kk47Q=; fh=Ie8Lg/4B6LRJEAkd22XcdyKITG9FXA4PEPaBJgtxF+0=; b=fuHLd8/l4Efcqt6AVr1uXaVFyBJQgj1Xok0RorTrZjyDoC5PF8SgjmPH38mB9tk8gT 7tB5oCMbDEfdbPGF3zOYnquB2w7mMNmLy+smtp4EUdRxcZ67Ijvzv1bdGHIQFi2q7F3J s1nsiAHasNQuCnqvSlCE6t4XECfkYDiCcW3HqwhVcM+sy+lg1TGpniyb2i4rJ7hY5Lud iiBD2T5FX4WyhRwutD4gqs6SFPLwVx8p2Q95zD+8yrJ1ckhUkrleBkY5gGvwpWwrh9U6 B3Bml/YPU1pWbQPk/tPdOurcXHMP5qvlqLa91D0cwqY2M2sOGS8UltnSXrktWdgNTRko KEMw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=pengutronix.de); spf=pass (google.com: domain of linux-kernel+bounces-78060-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-78060-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id qj13-20020a17090b28cd00b0029a79b47a6asi784741pjb.130.2024.02.23.01.47.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 Feb 2024 01:47:03 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-78060-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=pengutronix.de); spf=pass (google.com: domain of linux-kernel+bounces-78060-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-78060-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 32F4C281F7C for ; Fri, 23 Feb 2024 09:47:03 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id E50B15EE9D; Fri, 23 Feb 2024 09:44:55 +0000 (UTC) Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [185.203.201.7]) (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 7B9B85D47A for ; Fri, 23 Feb 2024 09:44:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.203.201.7 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708681490; cv=none; b=k6Uvjov9e3CI4H9n6m6+DYaLZyzCg9Ipfll3vUfIGcCCwNXFnxOwxGOnfw7DCOWnGOMtXk2KgosMwvg+wg+razfrxVwiTkdcZv5pTIEcm3SPa3u5CrycqcQK2n6HMj1P6JM1KKHbqFH62sYJQl0VF4l4yQfS4tjBOP4l6l+glrM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708681490; c=relaxed/simple; bh=eGUoNpbhiUhfaIC/5XPE9QhKDcsiwIWCzFlVBZJ3nJM=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=sXyuzVCdCBxpSKH0hxr1o0Ff0ECS7rW3P6BMA7Bike4YDL2vzhFZFD8vanzDpSI3WxrYlaM0G7t3YUD4s9pezbVE16+VSyTHotHnq2T14dXIc3fdO8NpJT2eQ5IGnqXtXnwGylLz3Usduz09FAjc5O8BV2kyLvOA1AZhFHrM/K8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de; spf=pass smtp.mailfrom=pengutronix.de; arc=none smtp.client-ip=185.203.201.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pengutronix.de 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 1rdS6W-00080j-F4; Fri, 23 Feb 2024 10:44:28 +0100 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 1rdS6V-002OkR-8m; Fri, 23 Feb 2024 10:44:27 +0100 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.96) (envelope-from ) id 1rdS6V-002tpH-0e; Fri, 23 Feb 2024 10:44:27 +0100 From: Oleksij Rempel To: Wei Fang , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Andrew Lunn , Heiner Kallweit , Russell King Cc: Oleksij Rempel , kernel@pengutronix.de, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Shenwei Wang , Clark Wang , NXP Linux Team Subject: [PATCH net-next v6 0/8] net: ethernet: Rework EEE Date: Fri, 23 Feb 2024 10:44:17 +0100 Message-Id: <20240223094425.691209-1-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.39.2 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 Hello all, with Andrew's permission I'll continue mainlining this patches: ============================================================== Most MAC drivers get EEE wrong. The API to the PHY is not very obvious, which is probably why. Rework the API, pushing most of the EEE handling into phylib core, leaving the MAC drivers to just enable/disable support for EEE in there change_link call back. MAC drivers are now expect to indicate to phylib if they support EEE. This will allow future patches to configure the PHY to advertise no EEE link modes when EEE is not supported. The information could also be used to enable SmartEEE if the PHY supports it. With these changes, the uAPI configuration eee_enable becomes a global on/off. tx-lpi must also be enabled before EEE is enabled. This fits the discussion here: https://lore.kernel.org/netdev/af880ce8-a7b8-138e-1ab9-8c89e662eecf@gmail.com/T/ This patchset puts in place all the infrastructure, and converts one MAC driver to the new API. Following patchsets will convert other MAC drivers, extend support into phylink, and when all MAC drivers are converted to the new scheme, clean up some unneeded code. v6: -- Reword different comments. See per patch change comments. v5: -- Rebase against latest netdev-next Use keee instead of eee struct v4 -- Only convert one MAC driver Drop all phylink code Conform to the uAPI discision. v3 -- Rework phylink code to add a new callback. Rework function to indicate clock should be stopped during LPI Andrew Lunn (7): net: phy: Add phydev->enable_tx_lpi to simplify adjust link callbacks net: phy: Add helper to set EEE Clock stop enable bit net: phy: Keep track of EEE configuration net: phy: Immediately call adjust_link if only tx_lpi_enabled changes net: phy: Add phy_support_eee() indicating MAC support EEE net: fec: Move fec_enet_eee_mode_set() and helper earlier net: fec: Fixup EEE Russell King (1): net: add helpers for EEE configuration drivers/net/ethernet/freescale/fec_main.c | 84 ++++++++++------------- drivers/net/phy/phy-c45.c | 11 ++- drivers/net/phy/phy.c | 55 ++++++++++++++- drivers/net/phy/phy_device.c | 28 ++++++++ include/linux/phy.h | 9 ++- include/net/eee.h | 38 ++++++++++ 6 files changed, 170 insertions(+), 55 deletions(-) create mode 100644 include/net/eee.h -- 2.39.2