From 103db49a106d1f015a16432eb73cc4046792fbad Mon Sep 17 00:00:00 2001 From: Beniamino Galvani Date: Tue, 25 Mar 2014 19:22:09 +0100 Subject: [PATCH] allwinner-emac: set autonegotiation complete bit on link up Signed-off-by: Beniamino Galvani Reviewed-by: Peter Crosthwaite Message-id: 1395771730-16882-7-git-send-email-b.galvani@gmail.com Signed-off-by: Peter Maydell --- hw/net/allwinner_emac.c | 4 ++-- include/hw/net/allwinner_emac.h | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/hw/net/allwinner_emac.c b/hw/net/allwinner_emac.c index 469f2f0edee..91931acad65 100644 --- a/hw/net/allwinner_emac.c +++ b/hw/net/allwinner_emac.c @@ -27,11 +27,11 @@ static uint8_t padding[60]; static void mii_set_link(RTL8201CPState *mii, bool link_ok) { if (link_ok) { - mii->bmsr |= MII_BMSR_LINK_ST; + mii->bmsr |= MII_BMSR_LINK_ST | MII_BMSR_AN_COMP; mii->anlpar |= MII_ANAR_TXFD | MII_ANAR_10FD | MII_ANAR_10 | MII_ANAR_CSMACD; } else { - mii->bmsr &= ~MII_BMSR_LINK_ST; + mii->bmsr &= ~(MII_BMSR_LINK_ST | MII_BMSR_AN_COMP); mii->anlpar = MII_ANAR_TX; } } diff --git a/include/hw/net/allwinner_emac.h b/include/hw/net/allwinner_emac.h index a5e944af059..5ae7717300a 100644 --- a/include/hw/net/allwinner_emac.h +++ b/include/hw/net/allwinner_emac.h @@ -144,6 +144,7 @@ #define MII_BMSR_10T_FD (1 << 12) #define MII_BMSR_10T_HD (1 << 11) #define MII_BMSR_MFPS (1 << 6) +#define MII_BMSR_AN_COMP (1 << 5) #define MII_BMSR_AUTONEG (1 << 3) #define MII_BMSR_LINK_ST (1 << 2) -- 2.39.5