Received: by 2002:a05:6358:a55:b0:ec:fcf4:3ecf with SMTP id 21csp994607rwb; Thu, 19 Jan 2023 05:29:07 -0800 (PST) X-Google-Smtp-Source: AMrXdXuhROEl0s+034XmD/uFVrH0WWu+/rYVEsxYZhd4ME0wPZ7FC3inqcExLj1TPdgY+oNuId2K X-Received: by 2002:a17:90a:ad02:b0:226:b783:674 with SMTP id r2-20020a17090aad0200b00226b7830674mr11307884pjq.37.1674134947497; Thu, 19 Jan 2023 05:29:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674134947; cv=none; d=google.com; s=arc-20160816; b=MGDYutw6XdVhtg00AOnL5wEeEHexqv+ulYmsIny5puT5hyqp3FECpxo4cAPh2g5owS yZnIsy2/zPpTPKqKxmUB5OsuFHYpxdAEc0cGsNkojVl7CD2GakoLc48hARxgKqtRKERA kUsvhh0dCZdZIIineig7sI4ZWH2dfsZrjgwtvFnMgN3al/IqqGR0nCfYHZQicUEw2s4m wa5MiWrXn8RfEr79nrLpPr1XqYdMkE2q0nrpgcXI0ew3kgSw2LT4F/80daOxRRI9sTbo S78xWodWMcuS8vyrWQ9QPpSGfnITVXH/ACKQ2Y0bSwFHIHfipUdQ3YYd/TsYjFRpfhpq +eHA== 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 :references:in-reply-to:message-id:date:subject:cc:to:from; bh=du3xkK5btrmcqmg/zH7urTWUAhx9Tn3cHOhl9l2MW/0=; b=lN3NBESNvzzsRqc2izkXwM86I15tjmSBkbQ08MXxqk7KNlUAhPWUlQ7rdh+tOr+cHI ArJXZF6VMw+goyIRfjyqfQzMxA6Q16gdMT66QUTkNqNiXNGyo3xepMnilH1icW5Lyipk HyuRwY0RsN5arsnH7REfFrYKv+nmeicap/w0PJ6ALvDoqNPrFNiXpfiCarPPehyk7TyZ KCAi0oZyxjR3GtmXj8l7YK46snZqTkIo21f3n82Si3Cvii7xFz0EIMUshUXNpfgfRuWX sEQMIZQ9SI30aB9asbf5Gl6VuS44Nw/s3GqEQJAoSW9OMw+n+xCXrH2v9OxhBi8S0CMu 1BdA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s28-20020a63525c000000b0047895cb2289si38092024pgl.644.2023.01.19.05.29.01; Thu, 19 Jan 2023 05:29:07 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231290AbjASNTT (ORCPT + 44 others); Thu, 19 Jan 2023 08:19:19 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57948 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230314AbjASNSf (ORCPT ); Thu, 19 Jan 2023 08:18:35 -0500 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6A8C846A2 for ; Thu, 19 Jan 2023 05:18:34 -0800 (PST) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pIUoC-0005u5-Rn; Thu, 19 Jan 2023 14:18:24 +0100 Received: from [2a0a:edc0:0:1101:1d::ac] (helo=dude04.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1pIUoC-0079jN-5o; Thu, 19 Jan 2023 14:18:24 +0100 Received: from ore by dude04.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pIUoB-00G51C-B9; Thu, 19 Jan 2023 14:18:23 +0100 From: Oleksij Rempel To: Woojung Huh , UNGLinuxDriver@microchip.com, Andrew Lunn , Vivien Didelot , Florian Fainelli , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: Oleksij Rempel , kernel@pengutronix.de, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Arun.Ramadoss@microchip.com Subject: [PATCH net-next v1 3/4] net: phy: micrel: disable 1000Mbit EEE support if 1000Mbit is not supported Date: Thu, 19 Jan 2023 14:18:20 +0100 Message-Id: <20230119131821.3832456-4-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230119131821.3832456-1-o.rempel@pengutronix.de> References: <20230119131821.3832456-1-o.rempel@pengutronix.de> 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.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org KSZ8563 is announcing by default 1000Mbit EEE support, but at same time do not supporting 1000Mbit speed. This patch will disable 1000Mbit EEE advertisement if the PHY is not 1000Mbit capable. Signed-off-by: Oleksij Rempel --- drivers/net/phy/micrel.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c index 099f1e83c08c..11bef217b45a 100644 --- a/drivers/net/phy/micrel.c +++ b/drivers/net/phy/micrel.c @@ -1460,6 +1460,27 @@ static int ksz9477_set_eee(struct phy_device *phydev, struct ethtool_eee *data) return 0; } +static int ksz9477_config_init(struct phy_device *phydev) +{ + int ret; + + /* KSZ8563 is able to advertise not supported MDIO_EEE_1000T. + * We need to test if the PHY is 1Gbit capable. + */ + ret = phy_read(phydev, MII_BMSR); + if (ret < 0) + return ret; + + if (!(ret & BMSR_ERCAP)) { + ret = phy_clear_bits_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV, + MDIO_EEE_1000T); + if (ret) + return ret; + } + + return kszphy_config_init(phydev); +} + #define KSZ8873MLL_GLOBAL_CONTROL_4 0x06 #define KSZ8873MLL_GLOBAL_CONTROL_4_DUPLEX BIT(6) #define KSZ8873MLL_GLOBAL_CONTROL_4_SPEED BIT(4) @@ -3507,7 +3528,7 @@ static struct phy_driver ksphy_driver[] = { .phy_id_mask = MICREL_PHY_ID_MASK, .name = "Microchip KSZ9477", /* PHY_GBIT_FEATURES */ - .config_init = kszphy_config_init, + .config_init = ksz9477_config_init, .config_intr = kszphy_config_intr, .handle_interrupt = kszphy_handle_interrupt, .suspend = genphy_suspend, -- 2.30.2