[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9929d2390906021602o34ad0814u129c97e9b84886d2@mail.gmail.com>
Date: Tue, 2 Jun 2009 16:02:23 -0700
From: Jeff Kirsher <jeffrey.t.kirsher@...el.com>
To: Chaitanya Lala <clala@...erbed.com>
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH net-next-2.6 1/1] e1000e: Expose MDI-X status via ethtool
change
On Wed, May 27, 2009 at 4:15 PM, Chaitanya Lala <clala@...erbed.com> wrote:
> 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@...erbed.com>
> Signed-off-by: Arthur Jones <ajones@...erbed.com>
> ---
> drivers/net/e1000e/ethtool.c | 8 ++++++++
> include/linux/ethtool.h | 8 +++++++-
> 2 files changed, 15 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/e1000e/ethtool.c b/drivers/net/e1000e/ethtool.c
> index 4d25ede..b6aea6b 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..b553bdb 100644
> --- a/include/linux/ethtool.h
> +++ b/include/linux/ethtool.h
> @@ -30,7 +30,8 @@ struct ethtool_cmd {
> __u32 maxtxpkt; /* Tx pkts before generating tx int */
> __u32 maxrxpkt; /* Rx pkts before generating rx int */
> __u16 speed_hi;
> - __u16 reserved2;
> + __u8 is_mdix;
> + __u8 reserved2;
> __u32 lp_advertising; /* Features the link partner advertises */
> __u32 reserved[2];
> };
> @@ -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
>
I have pulled this into my queue for testing and submission, thanks.
--
Cheers,
Jeff
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists