From: Ben Greear <greearb@candelatech.com>
To: Richard Dawe <rich@phekda.gotadsl.co.uk>
Cc: Francois Romieu <romieu@fr.zoreil.com>,
Linux netdev <netdev@oss.sgi.com>
Subject: Re: [PATCH] r8169: support restricting speed+duplex in autonegotiation
Date: Fri, 27 May 2005 16:59:53 -0700 [thread overview]
Message-ID: <4297B479.1080404@candelatech.com> (raw)
In-Reply-To: <4297A0F7.5070209@phekda.gotadsl.co.uk>
Richard Dawe wrote:
> Hello.
>
> Attached is a patch for drivers/net/r8169.c against Linux 2.6.11 that
> allows adjustment of the speed and duplex advertised via
> autonegotiation. Example usage:
>
> ethtool -s eth0 autoneg on speed 10 duplex half
>
> Also attached is a test script which tries various combinations of
> autoneg, speed and duplex. There is also a log of the test run attache.d
> While the test ran I had an ssh session running "while true; do sleep 1;
> date; done". The ssh session did not drop. Note that I don't have GigE,
> so that part of the test was bogus.
>
> I also tried various speed tests, to check that the speed and duplex
> were actually changed. They were.
>
> Bye, Rich
>
> r8169: Allow adjustment of speed and duplex advertised via autonegotiation
>
> Signed-off-by: Richard Dawe <rich@phekda.gotadsl.co.uk>
>
>
> ------------------------------------------------------------------------
>
> --- r8169.c.orig 2005-05-27 21:12:21.000000000 +0100
> +++ r8169.c 2005-05-27 22:14:59.000000000 +0100
> @@ -407,7 +407,9 @@ struct rtl8169_private {
> #ifdef CONFIG_R8169_VLAN
> struct vlan_group *vlgrp;
> #endif
> - int (*set_speed)(struct net_device *, u8 autoneg, u16 speed, u8 duplex);
> + int (*set_speed)(struct net_device *,
> + u8 autoneg, u16 speed, u8 duplex,
> + u32 advertising);
> void (*get_settings)(struct net_device *, struct ethtool_cmd *);
> void (*phy_reset_enable)(void __iomem *);
> unsigned int (*phy_reset_pending)(void __iomem *);
> @@ -549,7 +551,9 @@ static void rtl8169_check_link_status(st
> spin_unlock_irqrestore(&tp->lock, flags);
> }
>
> -static void rtl8169_link_option(int idx, u8 *autoneg, u16 *speed, u8 *duplex)
> +static void rtl8169_link_option(int idx,
> + u8 *autoneg, u16 *speed, u8 *duplex,
> + u32 *advertising)
> {
> struct {
> u16 speed;
> @@ -579,6 +583,23 @@ static void rtl8169_link_option(int idx,
> *autoneg = p->autoneg;
> *speed = p->speed;
> *duplex = p->duplex;
> +
> + if (p->media == _10_Half)
> + *advertising = ADVERTISED_10baseT_Half;
> + if (p->media == _10_Full)
> + *advertising = ADVERTISED_10baseT_Full;
> + if (p->media == _100_Half)
> + *advertising = ADVERTISED_100baseT_Half;
> + if (p->media == _100_Full)
> + *advertising = ADVERTISED_100baseT_Full;
> + if (p->media == _1000_Full)
> + *advertising = ADVERTISED_1000baseT_Full;
> + if (p->media == 0xff)
> + *advertising = ADVERTISED_10baseT_Half |
> + ADVERTISED_10baseT_Full |
> + ADVERTISED_100baseT_Half |
> + ADVERTISED_100baseT_Full |
> + ADVERTISED_1000baseT_Full;
> }
So, is there no way to advert just 100Mbps-half and -full ?
Seems like you should be able to set each flag by itself and
create a bit-mask of the particular flags that you want...
Ben
--
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc http://www.candelatech.com
next prev parent reply other threads:[~2005-05-27 23:59 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-27 22:36 [PATCH] r8169: support restricting speed+duplex in autonegotiation Richard Dawe
2005-05-27 23:59 ` Ben Greear [this message]
2005-05-28 13:28 ` Richard Dawe
2005-05-28 14:42 ` Francois Romieu
2005-05-28 20:39 ` Richard Dawe
2005-05-29 22:54 ` Francois Romieu
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=4297B479.1080404@candelatech.com \
--to=greearb@candelatech.com \
--cc=netdev@oss.sgi.com \
--cc=rich@phekda.gotadsl.co.uk \
--cc=romieu@fr.zoreil.com \
/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.