Skip to content
  • Julius Werner's avatar
    usb: asix: Move software resets to basic_init · 4edcf0a3
    Julius Werner authored
    
    
    The ASIX driver calls a basic_init() function during get_info(), so that
    not all initialization tasks need to be redone on every init().
    Unfortunately, the most important one is still triggered too often: the
    driver does a full port and MII reset on every asix_init(), requiring up
    to several seconds to reestablish the link.
    
    This patch confines that software reset into the asix_basic_init()
    function so that it will only be executed once. This saves about a
    second of boot time on systems using BOOTP.
    
    Note: this patch was previously submitted many moons ago as:
    
       usb: usbeth: asix: Do a fast init if link already established
    
    That patch seens to have been lost or forgotten, so this is a rebased
    version. It is tested on snow with a Asix USB dongle (Cisco).
    
    Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
    Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
    Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
    Reviewed-by: default avatarVadim Bendebury <vbendeb@chromium.org>
    4edcf0a3