1. 10 Feb, 2021 4 commits
  2. 09 Feb, 2021 1 commit
  3. 08 Feb, 2021 24 commits
  4. 07 Feb, 2021 1 commit
    • Jakub Kicinski's avatar
      Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue · badc6ac3
      Jakub Kicinski authored
      Tony Nguyen says:
      
      ====================
      100GbE Intel Wired LAN Driver Updates 2021-02-05
      
      This series contains updates to ice driver only.
      
      Jake adds adds reporting of timeout length during devlink flash and
      implements support to report devlink info regarding the version of
      firmware that is stored (downloaded) to the device, but is not yet active.
      ice_devlink_info_get will report "stored" versions when there is no
      pending flash update. Version info includes the UNDI Option ROM, the
      Netlist module, and the fw.bundle_id.
      
      Gustavo A. R. Silva replaces a one-element array to flexible-array
      member.
      
      Bruce utilizes flex_array_size() helper and removes dead code on a check
      for a condition that can't occur.
      
      v2:
      * removed security revision implementation, and re-ordered patches to
      account for this removal
      * squashed patches implementing ice_read_flash_module to avoid patches
      refactoring the implementation of a previous patch in the series
      * modify ice_devlink_info_get to always report "stored" versions instead
      of only reporting them when a pending flash update is ready.
      
      * '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue:
        ice: remove dead code
        ice: use flex_array_size where possible
        ice: Replace one-element array with flexible-array member
        ice: display stored UNDI firmware version via devlink info
        ice: display stored netlist versions via devlink info
        ice: display some stored NVM versions via devlink info
        ice: introduce function for reading from flash modules
        ice: cache NVM module bank information
        ice: introduce context struct for info report
        ice: create flash_info structure and separate NVM version
        ice: report timeout length for erasing during devlink flash
      ====================
      
      Link: https://lore.kernel.org/r/20210206044101.636242-1-anthony.l.nguyen@intel.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      badc6ac3
  5. 06 Feb, 2021 10 commits
    • Jakub Kicinski's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next · c273a20c
      Jakub Kicinski authored
      Pablo Neira Ayuso says:
      
      ====================
      Netfilter/IPVS updates for net-next
      
      1) Remove indirection and use nf_ct_get() instead from nfnetlink_log
         and nfnetlink_queue, from Florian Westphal.
      
      2) Add weighted random twos choice least-connection scheduling for IPVS,
         from Darby Payne.
      
      3) Add a __hash placeholder in the flow tuple structure to identify
         the field to be included in the rhashtable key hash calculation.
      
      4) Add a new nft_parse_register_load() and nft_parse_register_store()
         to consolidate register load and store in the core.
      
      5) Statify nft_parse_register() since it has no more module clients.
      
      6) Remove redundant assignment in nft_cmp, from Colin Ian King.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next:
        netfilter: nftables: remove redundant assignment of variable err
        netfilter: nftables: statify nft_parse_register()
        netfilter: nftables: add nft_parse_register_store() and use it
        netfilter: nftables: add nft_parse_register_load() and use it
        netfilter: flowtable: add hash offset field to tuple
        ipvs: add weighted random twos choice algorithm
        netfilter: ctnetlink: remove get_ct indirection
      ====================
      
      Link: https://lore.kernel.org/r/20210206015005.23037-1-pablo@netfilter.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      c273a20c
    • Heiner Kallweit's avatar
      r8169: don't try to disable interrupts if NAPI is scheduled already · 7274c414
      Heiner Kallweit authored
      There's no benefit in trying to disable interrupts if NAPI is
      scheduled already. This allows us to save a PCI write in this case.
      Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
      Link: https://lore.kernel.org/r/78c7f2fb-9772-1015-8c1d-632cbdff253f@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      7274c414
    • Xie He's avatar
      net/packet: Improve the comment about LL header visibility criteria · 21c85974
      Xie He authored
      The "dev_has_header" function, recently added in
      commit d5496990 ("net/packet: fix packet receive on L3 devices
      without visible hard header"),
      is more accurate as criteria for determining whether a device exposes
      the LL header to upper layers, because in addition to dev->header_ops,
      it also checks for dev->header_ops->create.
      
      When transmitting an skb on a device, dev_hard_header can be called to
      generate an LL header. dev_hard_header will only generate a header if
      dev->header_ops->create is present.
      Signed-off-by: default avatarXie He <xie.he.0141@gmail.com>
      Acked-by: default avatarWillem de Bruijn <willemb@google.com>
      Link: https://lore.kernel.org/r/20210205224124.21345-1-xie.he.0141@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      21c85974
    • Jakub Kicinski's avatar
      Merge branch 'net-ipa-a-mix-of-small-improvements' · 163a1802
      Jakub Kicinski authored
      Alex Elder says:
      
      ====================
      net: ipa: a mix of small improvements
      
      Version 2 of this series restructures a couple of the changed
      functions (in patches 1 and 2) to avoid blocks of indented code
      by returning early when possible, as suggested by Jakub.  The
      description of the first patch was changed as a result, to better
      reflect what the updated patch does.  It also fixes one spot I
      identified when updating the code, where gsi_channel_stop() was
      doing the wrong thing on error.
      
      The original description for this series is below.
      
      This series contains a sort of unrelated set of code cleanups.
      
      The first two are things I wanted to do in a series that updated
      some NAPI code recently.  I didn't want to change things in a way
      that affected existing testing so I set these aside for later
      (i.e., now).
      
      The third makes a change to event ring handling that's similar to
      what was done a while back for channels.  There's little benefit to
      cacheing the current state of an event ring, so with this we'll just
      fetch the state from hardware whenever we need it.
      
      The fourth patch removes the definitions of two unused symbols.
      
      The fifth replaces a count that is always 0 or 1 with a Boolean.
      
      The sixth removes a build-time validation check that doesn't really
      provide benefit.
      
      And the last one fixes a problem (in two spots) that could cause a
      build-time check to fail "bogusly".
      ====================
      
      Link: https://lore.kernel.org/r/20210205221100.1738-1-elder@linaro.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      163a1802
    • Alex Elder's avatar
      net: ipa: avoid field overflow · cd115009
      Alex Elder authored
      It's possible that the length passed to ipa_header_size_encoded()
      is larger than what can be represented by the HDR_LEN field alone
      (starting with IPA v4.5).  If we attempted that, u32_encode_bits()
      would trigger a build-time error.
      
      Avoid this problem by masking off high-order bits of the value
      encoded as the lower portion of the header length.
      
      The same sort of problem exists in ipa_metadata_offset_encoded(),
      so implement the same fix there.
      Signed-off-by: default avatarAlex Elder <elder@linaro.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      cd115009
    • Alex Elder's avatar
      net: ipa: get rid of status size constraint · 48735374
      Alex Elder authored
      There is a build-time check that the packet status structure is a
      multiple of 4 bytes in size.  It's not clear where that constraint
      comes from, but the structure defines what hardware provides so its
      definition won't change.  Get rid of the check; it adds no value.
      Signed-off-by: default avatarAlex Elder <elder@linaro.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      48735374
    • Alex Elder's avatar
      net: ipa: use a Boolean rather than count when replenishing · 9af5ccf3
      Alex Elder authored
      The count argument to ipa_endpoint_replenish() is only ever 0 or 1,
      and always will be (because we always handle each receive buffer in
      a single transaction).  Rename the argument to be add_one and change
      it to be Boolean.
      
      Update the function description to reflect the current code.
      Signed-off-by: default avatarAlex Elder <elder@linaro.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      9af5ccf3
    • Alex Elder's avatar
      net: ipa: remove two unused register definitions · d5bc5015
      Alex Elder authored
      We do not support inter-EE channel or event ring commands.  Inter-EE
      interrupts are disabled (and never re-enabled) for all channels and
      event rings, so we have no need for the GSI registers that clear
      those interrupt conditions.  So remove their definitions.
      Signed-off-by: default avatarAlex Elder <elder@linaro.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      d5bc5015
    • Alex Elder's avatar
      net: ipa: do not cache event ring state · 3f77c926
      Alex Elder authored
      An event ring's state only needs to be known when it is allocated,
      reset, or deallocated.  We check an event ring's state both before
      and after performing an event ring control command that changes
      its state.  These are only issued at startup and shutdown, so there
      is very little value in caching the state.
      
      Stop recording a copy of the channel's last known state, and instead
      fetch the true state from hardware whenever it's needed.  In such
      cases, *do* record the state in a local variable, in case an error
      message reports it (so the value reported is the value seen).
      Signed-off-by: default avatarAlex Elder <elder@linaro.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      3f77c926
    • Alex Elder's avatar
      net: ipa: synchronize NAPI only for suspend · b1750723
      Alex Elder authored
      When stopping a channel, gsi_channel_stop() will ensure NAPI
      polling is complete when it calls napi_disable().  So there is no
      need to call napi_synchronize() in that case.
      
      Move the call to napi_synchronize() out of __gsi_channel_stop()
      and into gsi_channel_suspend(), so it's only used where needed.
      Signed-off-by: default avatarAlex Elder <elder@linaro.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      b1750723