• Matt Carlson's avatar
    tg3: Add link state reporting to UMP firmware · 7c5026aa
    Matt Carlson authored
    All variants of the 5714, 5715, and 5780 offer a feature called the
    "Universal Management Port".  This feature is implemented in firmware
    and is largely transparent to the driver, except...
    It turns out that the UMP firmware needs to know the current status
    of the link.  Because the firmware cannot touch the PHY registers while
    the driver is in control of the device, it needs the driver to report
    link status changes through an additional handshaking mechanism.
    Without this handshake, it has been observed in the field that the UMP
    firmware will not operate correctly.
    This patch implements the new handshake with the UMP firmware.  Since
    the handshake uses the same mechanism ASF heartbeats use, code was
    added to detect and wait for completion of a pending previous event.
    Signed-off-by: default avatarMatt Carlson <mcarlson@broadcom.com>
    Signed-off-by: default avatarMichael Chan <mchan@broadcom.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>