1. 21 Nov, 2020 1 commit
    • Heiner Kallweit's avatar
      r8169: reduce number of workaround doorbell rings · 94d8a98e
      Heiner Kallweit authored
      Some chip versions have a hw bug resulting in lost door bell rings.
      To work around this the doorbell is also rung whenever we still have
      tx descriptors in flight after having cleaned up tx descriptors.
      These PCI(e) writes come at a cost, therefore let's reduce the number
      of extra doorbell rings.
      If skb is NULL then this means:
      - last cleaned-up descriptor belongs to a skb with at least one fragment
        and last fragment isn't marked as sent yet
      - hw is in progress sending the skb, therefore no extra doorbell ring
        is needed for this skb
      - once last fragment is marked as transmitted hw will trigger
        a tx done interrupt and we come here again (with skb != NULL)
        and ring the doorbell if needed
      Therefore skip the workaround doorbell ring if skb is NULL.
      Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
      Link: https://lore.kernel.org/r/0a15a83c-aecf-ab51-8071-b29d9dcd529a@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      94d8a98e
  2. 20 Nov, 2020 39 commits