From patchwork Sun Jun 5 17:39:43 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yaniv Rosner X-Patchwork-Id: 98773 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 089CDB6F95 for ; Mon, 6 Jun 2011 03:39:53 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754868Ab1FERjs (ORCPT ); Sun, 5 Jun 2011 13:39:48 -0400 Received: from mms2.broadcom.com ([216.31.210.18]:3489 "EHLO mms2.broadcom.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754277Ab1FERjr (ORCPT ); Sun, 5 Jun 2011 13:39:47 -0400 Received: from [10.9.200.133] by mms2.broadcom.com with ESMTP (Broadcom SMTP Relay (Email Firewall v6.3.2)); Sun, 05 Jun 2011 10:43:33 -0700 X-Server-Uuid: D3C04415-6FA8-4F2C-93C1-920E106A2031 Received: from mail-irva-13.broadcom.com (10.11.16.103) by IRVEXCHHUB02.corp.ad.broadcom.com (10.9.200.133) with Microsoft SMTP Server id 8.2.247.2; Sun, 5 Jun 2011 10:39:18 -0700 Received: from [10.185.7.55] (lb-tlvb-dmitry.il.broadcom.com [10.185.7.55]) by mail-irva-13.broadcom.com (Postfix) with ESMTP id 473A474D03; Sun, 5 Jun 2011 10:39:26 -0700 (PDT) Subject: [PATCH] ethtool: Add support for 20G link speed From: "Yaniv Rosner" To: "Ben Hutchings" cc: netdev@vger.kernel.org, eilong@broadcom.com Date: Sun, 5 Jun 2011 20:39:43 +0300 Message-ID: <1307295583.20872.123.camel@lb-tlvb-dmitry> MIME-Version: 1.0 X-Mailer: Evolution 2.32.2 X-WSS-ID: 61F51FCF62O4597131-01-01 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Hi Ben, I'm resubmitting the addition of 20G with your corrections to ethtool. Thanks, Yaniv Signed-off-by: Yaniv Rosner --- ethtool.8.in | 2 ++ ethtool.c | 18 +++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletions(-) diff --git a/ethtool.8.in b/ethtool.8.in index 7b1cdf5..2983b3e 100644 --- a/ethtool.8.in +++ b/ethtool.8.in @@ -499,6 +499,8 @@ lB l lB. 0x020 1000 Full 0x8000 2500 Full (not supported by IEEE standards) 0x1000 10000 Full +0x20000 20000MLD2 Full (not supported by IEEE standards) +0x40000 20000KR2 Full (not supported by IEEE standards) .TE .TP .BI phyad \ N diff --git a/ethtool.c b/ethtool.c index c189c78..35c3733 100644 --- a/ethtool.c +++ b/ethtool.c @@ -1244,6 +1244,20 @@ dump_link_caps(const char *prefix, const char *an_prefix, u32 mask) if (mask & ADVERTISED_10000baseT_Full) { did1++; fprintf(stdout, "10000baseT/Full "); } + if (did1 && (mask & ADVERTISED_20000baseMLD2_Full)) { + fprintf(stdout, "\n"); + fprintf(stdout, " %*s", indent, ""); + } + if (mask & ADVERTISED_20000baseMLD2_Full) { + did1++; fprintf(stdout, "20000baseMLD2/Full "); + } + if (did1 && (mask & ADVERTISED_20000baseKR2_Full)) { + fprintf(stdout, "\n"); + fprintf(stdout, " %*s", indent, ""); + } + if (mask & ADVERTISED_20000baseKR2_Full) { + did1++; fprintf(stdout, "20000baseKR2/Full "); + } if (did1 == 0) fprintf(stdout, "Not reported"); fprintf(stdout, "\n"); @@ -2474,7 +2488,9 @@ static int do_sset(int fd, struct ifreq *ifr) ADVERTISED_1000baseT_Half | ADVERTISED_1000baseT_Full | ADVERTISED_2500baseX_Full | - ADVERTISED_10000baseT_Full); + ADVERTISED_10000baseT_Full | + ADVERTISED_20000baseMLD2_Full | + ADVERTISED_20000baseKR2_Full); } else if (advertising_wanted > 0) { ecmd.advertising = advertising_wanted; }