1. 19 8月, 2019 3 次提交
    • M
      bnxt_en: Improve RX doorbell sequence. · e8f267b0
      Michael Chan 提交于
      When both RX buffers and RX aggregation buffers have to be
      replenished at the end of NAPI, post the RX aggregation buffers first
      before RX buffers.  Otherwise, we may run into a situation where
      there are only RX buffers without RX aggregation buffers for a split
      second.  This will cause the hardware to abort the RX packet and
      report buffer errors, which will cause unnecessary cleanup by the
      driver.
      
      Ringing the Aggregation ring doorbell first before the RX ring doorbell
      will prevent some of these buffer errors.  Use the same sequence during
      ring initialization as well.
      
      Fixes: 697197e5 ("bnxt_en: Re-structure doorbells.")
      Signed-off-by: NMichael Chan <michael.chan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e8f267b0
    • M
      bnxt_en: Fix VNIC clearing logic for 57500 chips. · a46ecb11
      Michael Chan 提交于
      During device shutdown, the VNIC clearing sequence needs to be modified
      to free the VNIC first before freeing the RSS contexts.  The current
      code is doing the reverse and we can get mis-directed RX completions
      to CP ring ID 0 when the RSS contexts are freed and zeroed.  The clearing
      of RSS contexts is not required with the new sequence.
      
      Refactor the VNIC clearing logic into a new function bnxt_clear_vnic()
      and do the chip specific VNIC clearing sequence.
      
      Fixes: 7b3af4f7 ("bnxt_en: Add RSS support for 57500 chips.")
      Signed-off-by: NMichael Chan <michael.chan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a46ecb11
    • M
      bnx2x: Fix VF's VLAN reconfiguration in reload. · 4a4d2d37
      Manish Chopra 提交于
      Commit 04f05230 ("bnx2x: Remove configured vlans as
      part of unload sequence."), introduced a regression in driver
      that as a part of VF's reload flow, VLANs created on the VF
      doesn't get re-configured in hardware as vlan metadata/info
      was not getting cleared for the VFs which causes vlan PING to stop.
      
      This patch clears the vlan metadata/info so that VLANs gets
      re-configured back in the hardware in VF's reload flow and
      PING/traffic continues for VLANs created over the VFs.
      
      Fixes: 04f05230 ("bnx2x: Remove configured vlans as part of unload sequence.")
      Signed-off-by: NManish Chopra <manishc@marvell.com>
      Signed-off-by: NSudarsana Kalluru <skalluru@marvell.com>
      Signed-off-by: NShahed Shaikh <shshaikh@marvell.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4a4d2d37
  2. 02 8月, 2019 1 次提交
  3. 26 7月, 2019 2 次提交
  4. 22 7月, 2019 1 次提交
  5. 19 7月, 2019 2 次提交
  6. 16 7月, 2019 1 次提交
  7. 10 7月, 2019 4 次提交
  8. 09 7月, 2019 4 次提交
  9. 02 7月, 2019 1 次提交
  10. 01 7月, 2019 5 次提交
  11. 30 6月, 2019 1 次提交
    • G
      bnx2x: Prevent ptp_task to be rescheduled indefinitely · 3c91f25c
      Guilherme G. Piccoli 提交于
      Currently bnx2x ptp worker tries to read a register with timestamp
      information in case of TX packet timestamping and in case it fails,
      the routine reschedules itself indefinitely. This was reported as a
      kworker always at 100% of CPU usage, which was narrowed down to be
      bnx2x ptp_task.
      
      By following the ioctl handler, we could narrow down the problem to
      an NTP tool (chrony) requesting HW timestamping from bnx2x NIC with
      RX filter zeroed; this isn't reproducible for example with ptp4l
      (from linuxptp) since this tool requests a supported RX filter.
      It seems NIC FW timestamp mechanism cannot work well with
      RX_FILTER_NONE - driver's PTP filter init routine skips a register
      write to the adapter if there's not a supported filter request.
      
      This patch addresses the problem of bnx2x ptp thread's everlasting
      reschedule by retrying the register read 10 times; between the read
      attempts the thread sleeps for an increasing amount of time starting
      in 1ms to give FW some time to perform the timestamping. If it still
      fails after all retries, we bail out in order to prevent an unbound
      resource consumption from bnx2x.
      
      The patch also adds an ethtool statistic for accounting the skipped
      TX timestamp packets and it reduces the priority of timestamping
      error messages to prevent log flooding. The code was tested using
      both linuxptp and chrony.
      Reported-and-tested-by: NPrzemyslaw Hausman <przemyslaw.hausman@canonical.com>
      Suggested-by: NSudarsana Reddy Kalluru <skalluru@marvell.com>
      Signed-off-by: NGuilherme G. Piccoli <gpiccoli@canonical.com>
      Acked-by: NSudarsana Reddy Kalluru <skalluru@marvell.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3c91f25c
  12. 26 6月, 2019 4 次提交
  13. 19 6月, 2019 2 次提交
  14. 10 6月, 2019 2 次提交
  15. 24 5月, 2019 1 次提交
  16. 23 5月, 2019 4 次提交
  17. 21 5月, 2019 2 次提交