1. 18 8月, 2021 1 次提交
  2. 28 7月, 2021 1 次提交
    • A
      dev_ioctl: split out ndo_eth_ioctl · a7605370
      Arnd Bergmann 提交于
      Most users of ndo_do_ioctl are ethernet drivers that implement
      the MII commands SIOCGMIIPHY/SIOCGMIIREG/SIOCSMIIREG, or hardware
      timestamping with SIOCSHWTSTAMP/SIOCGHWTSTAMP.
      
      Separate these from the few drivers that use ndo_do_ioctl to
      implement SIOCBOND, SIOCBR and SIOCWANDEV commands.
      
      This is a purely cosmetic change intended to help readers find
      their way through the implementation.
      
      Cc: Doug Ledford <dledford@redhat.com>
      Cc: Jason Gunthorpe <jgg@ziepe.ca>
      Cc: Jay Vosburgh <j.vosburgh@gmail.com>
      Cc: Veaceslav Falico <vfalico@gmail.com>
      Cc: Andy Gospodarek <andy@greyhouse.net>
      Cc: Andrew Lunn <andrew@lunn.ch>
      Cc: Vivien Didelot <vivien.didelot@gmail.com>
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: Vladimir Oltean <olteanv@gmail.com>
      Cc: Leon Romanovsky <leon@kernel.org>
      Cc: linux-rdma@vger.kernel.org
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NJason Gunthorpe <jgg@nvidia.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a7605370
  3. 23 7月, 2021 3 次提交
  4. 21 7月, 2021 1 次提交
    • P
      i40e: add support for PTP external synchronization clock · 10507130
      Piotr Kwapulinski 提交于
      Add support for external synchronization clock via GPIOs.
      1PPS signals are handled via the dedicated 3 GPIOs: SDP3_2,
      SDP3_3 and GPIO_4.
      Previously it was not possible to use the external PTP
      synchronization clock.
      All possible HW configurations are supported.
      	SDP3_2,	SDP3_3,	GPIO_4
      	off,	off,	off
      	off,	in_A,	off
      	off,	out_A,	off
      	off,	in_B,	off
      	off,	out_B,	off
      	in_A,	off,	off
      	in_A,	in_B,	off
      	in_A,	out_B,	off
      	out_A,	off,	off
      	out_A,	in_B,	off
      	in_B,	off,	off
      	in_B,	in_A,	off
      	in_B,	out_A,	off
      	out_B,	off,	off
      	out_B,	in_A,	off
      	off,	off,	in_A
      	off,	out_A,	in_A
      	off,	in_B,	in_A
      	off,	out_B,	in_A
      	out_A,	off,	in_A
      	out_A,	in_B,	in_A
      	in_B,	off,	in_A
      	in_B,	out_A,	in_A
      	out_B,	off,	in_A
      	off,	off,	out_A
      	off,	in_A,	out_A
      	off,	in_B,	out_A
      	off,	out_B,	out_A
      	in_A,	off,	out_A
      	in_A,	in_B,	out_A
      	in_A,	out_B,	out_A
      	in_B,	off,	out_A
      	in_B,	in_A,	out_A
      	out_B,	off,	out_A
      	out_B,	in_A,	out_A
      	off,	off,	in_B
      	off,	in_A,	in_B
      	off,	out_A,	in_B
      	off,	out_B,	in_B
      	in_A,	off,	in_B
      	in_A,	out_B,	in_B
      	out_A,	off,	in_B
      	out_B,	off,	in_B
      	out_B,	in_A,	in_B
      	off,	off,	out_B
      	off,	in_A,	out_B
      	off,	out_A,	out_B
      	off,	in_B,	out_B
      	in_A,	off,	out_B
      	in_A,	in_B,	out_B
      	out_A,	off,	out_B
      	out_A,	in_B,	out_B
      	in_B,	off,	out_B
      	in_B,	in_A,	out_B
      	in_B,	out_A,	out_B
      
      Tested with oscilloscope, 1PPS generator and ts2phc.
      Reviewed-by: NAleksandr Loktionov <aleksandr.loktionov@intel.com>
      Reviewed-by: NArkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
      Signed-off-by: NPiotr Kwapulinski <piotr.kwapulinski@intel.com>
      Tested-by: NAshish K <ashishx.k@intel.com>
      Signed-off-by: NTony Nguyen <anthony.l.nguyen@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      10507130
  5. 25 6月, 2021 2 次提交
  6. 29 5月, 2021 1 次提交
  7. 08 5月, 2021 1 次提交
  8. 24 4月, 2021 3 次提交
  9. 16 4月, 2021 1 次提交
    • J
      i40e: fix the panic when running bpf in xdpdrv mode · 4e39a072
      Jason Xing 提交于
      Fix this panic by adding more rules to calculate the value of @rss_size_max
      which could be used in allocating the queues when bpf is loaded, which,
      however, could cause the failure and then trigger the NULL pointer of
      vsi->rx_rings. Prio to this fix, the machine doesn't care about how many
      cpus are online and then allocates 256 queues on the machine with 32 cpus
      online actually.
      
      Once the load of bpf begins, the log will go like this "failed to get
      tracking for 256 queues for VSI 0 err -12" and this "setup of MAIN VSI
      failed".
      
      Thus, I attach the key information of the crash-log here.
      
      BUG: unable to handle kernel NULL pointer dereference at
      0000000000000000
      RIP: 0010:i40e_xdp+0xdd/0x1b0 [i40e]
      Call Trace:
      [2160294.717292]  ? i40e_reconfig_rss_queues+0x170/0x170 [i40e]
      [2160294.717666]  dev_xdp_install+0x4f/0x70
      [2160294.718036]  dev_change_xdp_fd+0x11f/0x230
      [2160294.718380]  ? dev_disable_lro+0xe0/0xe0
      [2160294.718705]  do_setlink+0xac7/0xe70
      [2160294.719035]  ? __nla_parse+0xed/0x120
      [2160294.719365]  rtnl_newlink+0x73b/0x860
      
      Fixes: 41c445ff ("i40e: main driver core")
      Co-developed-by: NShujin Li <lishujin@kuaishou.com>
      Signed-off-by: NShujin Li <lishujin@kuaishou.com>
      Signed-off-by: NJason Xing <xingwanli@kuaishou.com>
      Reviewed-by: NJesse Brandeburg <jesse.brandeburg@intel.com>
      Acked-by: NJesper Dangaard Brouer <brouer@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4e39a072
  10. 09 4月, 2021 2 次提交
  11. 02 4月, 2021 1 次提交
  12. 31 3月, 2021 1 次提交
  13. 26 3月, 2021 1 次提交
  14. 24 3月, 2021 1 次提交
  15. 12 3月, 2021 1 次提交
  16. 20 2月, 2021 2 次提交
  17. 19 2月, 2021 5 次提交
  18. 13 2月, 2021 1 次提交
  19. 11 2月, 2021 3 次提交
    • K
      i40e: remove the useless value assignment in i40e_clean_adminq_subtask · bfe2e5c4
      Kaixu Xia 提交于
      The variable ret is overwritten by the following call
      i40e_clean_arq_element() and the assignment is useless, so remove it.
      Reported-by: NTosk Robot <tencent_os_robot@tencent.com>
      Signed-off-by: NKaixu Xia <kaixuxia@tencent.com>
      Tested-by: NTony Brelinski <tonyx.brelinski@intel.com>
      Signed-off-by: NTony Nguyen <anthony.l.nguyen@intel.com>
      bfe2e5c4
    • P
      i40e: Add flow director support for IPv6 · efca91e8
      Przemyslaw Patynowski 提交于
      Flow director for IPv6 is not supported.
      1) Implementation of support for IPv6 flow director.
      2) Added handlers for addition of TCP6, UDP6, SCTP6, IPv6.
      3) Refactored legacy code to make it more generic.
      4) Added packet templates for TCP6, UDP6, SCTP6, IPv6.
      5) Added handling of IPv6 source and destination address for flow director.
      6) Improved argument passing for source and destination portin TCP6, UDP6
         and SCTP6.
      7) Added handling of ethtool -n for IPv6, TCP6,UDP6, SCTP6.
      8) Used correct bit flag regarding FLEXOFF field of flow director data
         descriptor.
      
      Without this patch, there would be no support for flow director on IPv6,
      TCP6, UDP6, SCTP6.
      Tested based on x710 datasheet by using:
      ethtool -N enp133s0f0 flow-type tcp4 src-port 13 dst-port 37 user-def 0x44142 action 1
      ethtool -N enp133s0f0 flow-type tcp6 src-port 13 dst-port 40 user-def 0x44142 action 2
      ethtool -N enp133s0f0 flow-type udp4 src-port 20 dst-port 40 user-def 0x44142 action 3
      ethtool -N enp133s0f0 flow-type udp6 src-port 25 dst-port 40 user-def 0x44142 action 4
      ethtool -N enp133s0f0 flow-type sctp4 src-port 55 dst-port 65 user-def 0x44142 action 5
      ethtool -N enp133s0f0 flow-type sctp6 src-port 60 dst-port 40 user-def 0x44142 action 6
      ethtool -N enp133s0f0 flow-type ip4 src-ip 1.1.1.1 dst-ip 1.1.1.4 user-def 0x44142 action 7
      ethtool -N enp133s0f0 flow-type ip6 src-ip fe80::3efd:feff:fe6f:bbbb dst-ip fe80::3efd:feff:fe6f:aaaa user-def 0x44142 action 8
      Then send traffic from client which matches the criteria provided to ethtool.
      Observe that packets are redirected to user set queues with ethtool -S <interface>
      Signed-off-by: NPrzemyslaw Patynowski <przemyslawx.patynowski@intel.com>
      Tested-by: NTony Brelinski <tonyx.brelinski@intel.com>
      Signed-off-by: NTony Nguyen <anthony.l.nguyen@intel.com>
      efca91e8
    • A
      i40e: Add init and default config of software based DCB · 4b208eaa
      Arkadiusz Kubalewski 提交于
      Add extra handling on changing the "disable-fw-lldp" private
      flag to properly initialize software based DCB feature.
      
      Add default configuration of DCB functionality when Firmware
      LLDP agent is turned off, in case of driver probe and device
      reset on reconfiguration.
      
      Update copyright dates as appropriate.
      
      Software based DCB is a brand-new feature in i40e driver.
      Before, DCB was implemented by Firmware LLDP agent only. The agent was
      responsible for handling incoming DCB-related LLDP frames and
      applying received DCB configuration to hardware.
      
      Default configuration and new initialization flow for software based
      DCB is required. If LLDP agent is turned off in BIOS, or after
      setting private flag ("disable-fw-lldp on"). The driver initializes
      DCB functionality with default values, one traffic class with 100%
      bandwidth allocated.
      Signed-off-by: NAleksandr Loktionov <aleksandr.loktionov@intel.com>
      Signed-off-by: NArkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
      Tested-by: NTony Brelinski <tonyx.brelinski@intel.com>
      Signed-off-by: NTony Nguyen <anthony.l.nguyen@intel.com>
      4b208eaa
  20. 09 2月, 2021 1 次提交
  21. 08 1月, 2021 1 次提交
  22. 18 12月, 2020 1 次提交
  23. 24 11月, 2020 1 次提交
  24. 14 10月, 2020 1 次提交
  25. 30 9月, 2020 1 次提交
  26. 29 9月, 2020 1 次提交
  27. 26 9月, 2020 1 次提交
    • J
      intel-ethernet: clean up W=1 warnings in kdoc · b50f7bca
      Jesse Brandeburg 提交于
      This takes care of all of the trivial W=1 fixes in the Intel
      Ethernet drivers, which allows developers and maintainers to
      build more of the networking tree with more complete warning
      checks.
      
      There are three classes of kdoc warnings fixed:
       - cannot understand function prototype: 'x'
       - Excess function parameter 'x' description in 'y'
       - Function parameter or member 'x' not described in 'y'
      
      All of the changes were trivial comment updates on
      function headers.
      
      Inspired by Lee Jones' series of wireless work to do the same.
      Compile tested only, and passes simple test of
      $ git ls-files *.[ch] | egrep drivers/net/ethernet/intel | \
        xargs scripts/kernel-doc -none
      Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b50f7bca