net/designware: do explicit port selection for 1Gb mode
authorAlexey Brodkin <Alexey.Brodkin@synopsys.com>
Wed, 13 Jan 2016 13:59:36 +0000 (16:59 +0300)
committerJoe Hershberger <joe.hershberger@ni.com>
Thu, 28 Jan 2016 18:32:43 +0000 (12:32 -0600)
Current implementation only sets "port select" bit for non-1Gb mode.
That works fine if GMAC has just exited reset state but we may as well
change connection mode in runtime. Then we'll need to reprogram GMAC for
that new mode of operation and if previous mode was 10 or 100 Mb and new
one is 1 Gb we'll need to reset port mode bit.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Sonic Zhang <sonic.zhang@analog.com>
cc: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
drivers/net/designware.c

index 0fccbc0040a9c8a88a81e7c79c268d92f3ed5a08..f28e825bfc39497e2792eee4c29e6debdc770c99 100644 (file)
@@ -196,6 +196,8 @@ static void dw_adjust_link(struct eth_mac_regs *mac_p,
 
        if (phydev->speed != 1000)
                conf |= MII_PORTSELECT;
+       else
+               conf &= ~MII_PORTSELECT;
 
        if (phydev->speed == 100)
                conf |= FES_100;