From patchwork Thu Feb 7 09:49:29 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxime Chevallier X-Patchwork-Id: 1037929 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=bootlin.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43wD9F3Kltz9s6w for ; Thu, 7 Feb 2019 20:51:29 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726700AbfBGJt7 (ORCPT ); Thu, 7 Feb 2019 04:49:59 -0500 Received: from relay11.mail.gandi.net ([217.70.178.231]:32859 "EHLO relay11.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726186AbfBGJt7 (ORCPT ); Thu, 7 Feb 2019 04:49:59 -0500 Received: from mc-bl-xps13.lan (aaubervilliers-681-1-80-177.w90-88.abo.wanadoo.fr [90.88.22.177]) (Authenticated sender: maxime.chevallier@bootlin.com) by relay11.mail.gandi.net (Postfix) with ESMTPSA id 8FBB610000B; Thu, 7 Feb 2019 09:49:52 +0000 (UTC) From: Maxime Chevallier To: davem@davemloft.net Cc: Maxime Chevallier , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Andrew Lunn , Florian Fainelli , Heiner Kallweit , Russell King , linux-arm-kernel@lists.infradead.org, Antoine Tenart , thomas.petazzoni@bootlin.com, gregory.clement@bootlin.com, miquel.raynal@bootlin.com, nadavh@marvell.com, stefanc@marvell.com, mw@semihalf.com Subject: [PATCH net-next v2 00/10] net: phy: Add support for 2.5GBASET PHYs Date: Thu, 7 Feb 2019 10:49:29 +0100 Message-Id: <20190207094939.27369-1-maxime.chevallier@bootlin.com> X-Mailer: git-send-email 2.19.2 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Hello everyone, This is the second iteration of the series introducing support for 2.5GBASET and 5GBASET to the network PHY infrastructure. These 2 modes are described in the 802.3bz specifications, and allow to use 2.5G and 5G speeds on cat5e/cat6 cables. The required infrastructure code is added for 2.5GBASET and 5GBASET, but only 2.5GBASET support is added to the Marvell10G driver. The reason is because the 5GBASER interface mode used to communicate with the MAC isn't implemented yet, and therefore this can't be tested. This series has seen some rework since last time, see the full details in the patches changelog. The main highlights are : - Patch 1 moves the Pause ans Asym_Pause parameters update after calling config_init. This allows us to change the phydev->supported modes in config_init, while still forcing some quirks taken from phydrv->features, to disable unsupported Pause modes. This was proposed by Andrew. - Patch 2 generalizes the way we mask-out modes we don't want to use when forcing the link speed through DT or ethtool, by walking through the PHY settings table, as proposed by Russell. - Patch 4 implements automatic setting of TM, FIBRE and Backplane bits from the list of supported linkmodes. - In Patch 5, we only read abilities from the PMA. Pause parameters aren't built from the genphy_c45_pma_read_abilities, as it was done in the previous iteration of the patch. We also amke use of linkmode_mod_bit to make sure we mask-out unsupported modes. - In Patch 8, we manually check for the PMA device id to see if we have to use a quirk when reading the 2.5G/5G Extended Abilities Maxime Chevallier (10): net: phy: Update PHY linkmodes after config_init net: phy: Mask-out non-compatible modes when setting the max-speed net: phy: Move of_set_phy_eee_broken to phy-core.c net: phy: Automatically fill the generic TP, FIBRE and Backplane modes net: phy: Extract genphy_c45_pma_read_abilities from marvell10g net: phy: Add generic support for 2.5GBaseT and 5GBaseT net: phy: marvell10g: Add support for 2.5GBASET net: phy: marvell10g: Force reading of 2.5/5G net: mvpp2: Add 2.5GBaseT support net: phy: marvell10g: add support for the 88x2110 PHY .../net/ethernet/marvell/mvpp2/mvpp2_main.c | 1 + drivers/net/phy/marvell10g.c | 142 +++++------ drivers/net/phy/phy-c45.c | 111 ++++++++ drivers/net/phy/phy-core.c | 72 ++++++ drivers/net/phy/phy_device.c | 237 +++++++++--------- include/linux/linkmode.h | 6 + include/linux/marvell_phy.h | 2 + include/linux/phy.h | 3 + include/uapi/linux/mdio.h | 16 ++ 9 files changed, 405 insertions(+), 185 deletions(-)