• Benjamin Herrenschmidt's avatar
    ftgmac100: Rework MAC reset and init · 874b55bf
    Benjamin Herrenschmidt authored
    The HW requires a full MAC reset when changing the speed.
    
    Additionally the Aspeed documentation spells out that the
    MAC needs to be reset twice with a 10us interval.
    
    We thus move the speed setting and top level reset code
    into a new ftgmac100_reset_and_config_mac() function which
    handles both. Move the ring pointers initialization there
    too in order to reflect the HW change.
    
    Also reduce the timeout for the MAC reset as it shouldn't
    take more than 300 clock cycles according to the doc.
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    874b55bf
ftgmac100.c 39.6 KB