Skip to content
  1. Mar 27, 2020
  2. Mar 24, 2020
  3. Mar 22, 2020
    • Doug Berger's avatar
      net: bcmgenet: always enable status blocks · 9a9ba2a4
      Doug Berger authored
      
      
      The hardware offloading of the NETIF_F_HW_CSUM and NETIF_F_RXCSUM
      features requires the use of Transmit Status Blocks before transmit
      frame data and Receive Status Blocks before receive frame data to
      carry the checksum information.
      
      Unfortunately, these status blocks are currently only enabled when
      the NETIF_F_HW_CSUM feature is enabled. As a result NETIF_F_RXCSUM
      will not actually be offloaded to the hardware unless both it and
      NETIF_F_HW_CSUM are enabled. Fortunately, that is the default
      configuration.
      
      This commit addresses this issue by always enabling the use of
      status blocks on both transmit and receive frames. Further, it
      replaces the use of a dedicated flag within the driver private
      data structure with direct use of the netdev features flags.
      
      Fixes: 81015539 ("net: bcmgenet: use CHECKSUM_COMPLETE for NETIF_F_RXCSUM")
      Signed-off-by: default avatarDoug Berger <opendmb@gmail.com>
      Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9a9ba2a4
  4. Mar 18, 2020
  5. Mar 12, 2020
  6. Mar 10, 2020
  7. Mar 09, 2020
  8. Mar 06, 2020
    • Jacob Keller's avatar
      bnxt_en: Use pci_get_dsn() · 8d85b75b
      Jacob Keller authored
      
      
      Replace the open-coded implementation for reading the PCIe DSN with
      pci_get_dsn().
      
      Use of put_unaligned_le64 should be correct. pci_get_dsn() will perform
      two pci_read_config_dword calls. The first dword will be placed in the
      first 32 bits of the u64, while the second dword will be placed in the
      upper 32 bits of the u64.
      
      On Little Endian systems, the least significant byte comes first, which
      will be the least significant byte of the first dword, followed by the
      least significant byte of the second dword. Since the _le32 variations
      do not perform byte swapping, we will correctly copy the dwords into the
      dsn[] array in the same order as before.
      
      On Big Endian systems, the most significant byte of the second dword
      will come first. put_unaligned_le64 will perform a CPU_TO_LE64, which
      will swap things correctly before copying. This should also end up with
      the correct bytes in the dsn[] array.
      
      While at it, fix a small typo in the netdev_info error message when the
      DSN cannot be read.
      
      Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
      Cc: Michael Chan <michael.chan@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8d85b75b
  9. Mar 05, 2020
  10. Mar 04, 2020
  11. Mar 02, 2020
  12. Feb 27, 2020
  13. Feb 26, 2020
  14. Feb 24, 2020
Loading