All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chaitanya Lala <clala@riverbed.com>
To: jesse.brandeburg@intel.com
Cc: netdev@vger.kernel.org
Subject: [net-next-2.6 PATCH 1/1] e1000e: Expose MDI-X status via ethtool change
Date: Fri, 22 May 2009 07:55:44 -0700	[thread overview]
Message-ID: <20090522145544.GA8508@clala-laptop> (raw)
In-Reply-To: <F169D4F5E1F1974DBFAFABF47F60C10A33527C9D@orsmsx507.amr.corp.intel.com>

Ethtool is a standard way of getting information about ethernet
interfaces. We enhance ethtool kernel interface & e1000e to make
the MDI-X status readable via ethtool in userspace.

Signed-off-by: Chaitanya Lala <clala@riverbed.com>
Signed-off-by: Arthur Jones <ajones@riverbed.com>
---
 drivers/net/e1000e/ethtool.c |    8 ++++++++
 include/linux/ethtool.h      |    6 ++++++
 2 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/drivers/net/e1000e/ethtool.c b/drivers/net/e1000e/ethtool.c
index 4d25ede..8bbade1 100644
--- a/drivers/net/e1000e/ethtool.c
+++ b/drivers/net/e1000e/ethtool.c
@@ -167,6 +167,14 @@ static int e1000_get_settings(struct net_device *netdev,
 
 	ecmd->autoneg = ((hw->phy.media_type == e1000_media_type_fiber) ||
 			 hw->mac.autoneg) ? AUTONEG_ENABLE : AUTONEG_DISABLE;
+
+	/* MDI-X => 2; MDI =>1; Invalid =>0 */
+	if ((hw->phy.media_type == e1000_media_type_copper) &&
+			!hw->mac.get_link_status)
+		ecmd->is_mdix = hw->phy.is_mdix ? MDI_X : MDI;
+	else
+		ecmd->is_mdix = MDI_INVALID;
+
 	return 0;
 }
 
diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
index 380b042..0533d70 100644
--- a/include/linux/ethtool.h
+++ b/include/linux/ethtool.h
@@ -26,6 +26,7 @@ struct ethtool_cmd {
 	__u8	phy_address;
 	__u8	transceiver;	/* Which transceiver to use */
 	__u8	autoneg;	/* Enable or disable autonegotiation */
+	__u8	is_mdix;	/* MDI-X status tri-state value */
 	__u8	mdio_support;
 	__u32	maxtxpkt;	/* Tx pkts before generating tx int */
 	__u32	maxrxpkt;	/* Rx pkts before generating rx int */
@@ -632,6 +633,11 @@ struct ethtool_ops {
 #define AUTONEG_DISABLE		0x00
 #define AUTONEG_ENABLE		0x01
 
+/* Mode MDI or MDI-X */
+#define MDI_INVALID	0x00
+#define MDI		0x01
+#define MDI_X		0x02
+
 /* Wake-On-Lan options. */
 #define WAKE_PHY		(1 << 0)
 #define WAKE_UCAST		(1 << 1)
-- 
1.6.0.4


  parent reply	other threads:[~2009-05-22 14:55 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <F169D4F5E1F1974DBFAFABF47F60C10A33527C9D@orsmsx507.amr.corp.intel.com>
2009-05-22 14:54 ` [PATCH 1/1] ethtool: Expose MDI-X status Chaitanya Lala
2009-05-22 15:02   ` Stephen Hemminger
2009-05-22 15:03   ` Ben Hutchings
2009-05-22 14:55 ` Chaitanya Lala [this message]
2009-05-22 15:05   ` [net-next-2.6 PATCH 1/1] e1000e: Expose MDI-X status via ethtool change Ben Hutchings
2009-05-22 15:24     ` Chaitanya Lala
2009-05-22 17:18     ` [PATCH 1/1] ethtool: Expose MDI-X status Chaitanya Lala
2009-05-23  1:04       ` Ben Hutchings
2009-05-26 15:34         ` Chaitanya Lala
2009-05-26 16:02           ` Ben Hutchings
2009-05-27 23:13             ` Chaitanya Lala
2009-05-27 23:15             ` [PATCH net-next-2.6 1/1] e1000e: Expose MDI-X status via ethtool change Chaitanya Lala
2009-06-02 23:02               ` Jeff Kirsher
2009-06-03 17:34               ` Ben Hutchings
2009-06-03 17:45                 ` Chaitanya Lala
2009-06-03 21:04                   ` Jeff Kirsher
2009-06-03 21:19                     ` Chaitanya Lala
2009-06-03 21:31                       ` Jeff Kirsher
2009-06-03 21:41                         ` Chaitanya Lala
2009-06-10 19:11             ` Re-submit [PATCH 1/1] ethtool: Expose MDI-X status Chaitanya Lala
2009-06-10 19:22               ` Ben Hutchings
2009-05-22 17:20     ` [net-next-2.6 PATCH 1/1] e1000e: Expose MDI-X status via ethtool change Chaitanya Lala

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090522145544.GA8508@clala-laptop \
    --to=clala@riverbed.com \
    --cc=jesse.brandeburg@intel.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.