Skip to content
Permalink
Volodymyr-Mytn…
Switch branches/tags

Commits on Oct 15, 2021

  1. net: marvell: prestera: add firmware v4.0 support

    Add firmware (FW) version 4.0 support for Marvell Prestera
    driver. This FW ABI will be compatible with future Prestera
    driver versions and features.
    
    The previous FW support is dropped due to significant changes
    in FW ABI, thus this version of Prestera driver will not be
    compatible with previous FW versions.
    
    Co-developed-by: Vadym Kochan <vkochan@marvell.com>
    Signed-off-by: Vadym Kochan <vkochan@marvell.com>
    Signed-off-by: Yevhen Orlov <yevhen.orlov@plvision.eu>
    Signed-off-by: Taras Chornyi <tchornyi@marvell.com>
    Signed-off-by: Volodymyr Mytnyk <vmytnyk@marvell.com>
    Volodymyr Mytnyk authored and intel-lab-lkp committed Oct 15, 2021
  2. Merge branch 'octeontx2-af-miscellaneous-changes-for-cpt'

    Srujana Challa says:
    
    ====================
    octeontx2-af: Miscellaneous changes for CPT
    
    This patchset consists of miscellaneous changes for CPT.
    First patch enables the CPT HW interrupts, second patch
    adds support for CPT LF teardown in non FLR path and
    final patch does CPT CTX flush in FLR handler.
    
    v2:
    - Fixed a warning reported by kernel test robot.
    ====================
    
    Link: https://lore.kernel.org/r/20211013055621.1812301-1-schalla@marvell.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Oct 15, 2021
  3. octeontx2-af: Add support to flush full CPT CTX cache

    Adds support to flush or invalidate CPT CTX entries as part of FLR
    and also provides a mailbox to flush CPT CTX entries in case of
    graceful exit.
    This patch also adds support for AF -> CPT PF uplink mailbox messages
    and adds a new mbox message to submit a CPT instruction from AF.
    
    Signed-off-by: Srujana Challa <schalla@marvell.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    SruChalla authored and Jakub Kicinski committed Oct 15, 2021
  4. octeontx2-af: Perform cpt lf teardown in non FLR path

    Perform CPT LF teardown in non FLR path as well via cpt_lf_free()
    Currently CPT LF teardown and reset sequence is only
    done when FLR is handled with CPT LF still attached.
    
    This patch also fixes cpt_lf_alloc() to set EXEC_LDWB in
    CPT_AF_LFX_CTL2 when being completely overwritten as that is
    the default value and is better for performance.
    
    Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    nithind1988 authored and Jakub Kicinski committed Oct 15, 2021
  5. octeontx2-af: Enable CPT HW interrupts

    This patch enables and registers interrupt handler for CPT HW
    interrupts.
    
    Signed-off-by: Srujana Challa <schalla@marvell.com>
    Reported-by: kernel test robot <lkp@intel.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    SruChalla authored and Jakub Kicinski committed Oct 15, 2021
  6. net: tulip: winbond-840: fix build for UML

    On i386, when builtin (not a loadable module), the winbond-840 driver
    inspects boot_cpu_data to see what CPU family it is running on, and
    then acts on that data. The "family" struct member (x86) does not exist
    when running on UML, so prevent that test and do the default action.
    
    Prevents this build error on UML + i386:
    
    ../drivers/net/ethernet/dec/tulip/winbond-840.c: In function ‘init_registers’:
    ../drivers/net/ethernet/dec/tulip/winbond-840.c:882:19: error: ‘struct cpuinfo_um’ has no member named ‘x86’
      if (boot_cpu_data.x86 <= 4) {
    
    Fixes: 68f5d3f ("um: add PCI over virtio emulation driver")
    Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
    Cc: linux-um@lists.infradead.org
    Cc: Jeff Dike <jdike@addtoit.com>
    Cc: Richard Weinberger <richard@nod.at>
    Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
    Link: https://lore.kernel.org/r/20211014050606.7288-1-rdunlap@infradead.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    rddunlap authored and Jakub Kicinski committed Oct 15, 2021
  7. net: intel: igc_ptp: fix build for UML

    On a UML build, the igc_ptp driver uses CONFIG_X86_TSC for timestamp
    conversion. The function that is used is not available on UML builds,
    so have the function use the default system_counterval_t timestamp
    instead for UML builds.
    
    Prevents this build error on UML:
    
    ../drivers/net/ethernet/intel/igc/igc_ptp.c: In function ‘igc_device_tstamp_to_system’:
    ../drivers/net/ethernet/intel/igc/igc_ptp.c:777:9: error: implicit declaration of function ‘convert_art_ns_to_tsc’ [-Werror=implicit-function-declaration]
      return convert_art_ns_to_tsc(tstamp);
    ../drivers/net/ethernet/intel/igc/igc_ptp.c:777:9: error: incompatible types when returning type ‘int’ but ‘struct system_counterval_t’ was expected
      return convert_art_ns_to_tsc(tstamp);
    
    Fixes: 68f5d3f ("um: add PCI over virtio emulation driver")
    Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
    Cc: linux-um@lists.infradead.org
    Cc: Jeff Dike <jdike@addtoit.com>
    Cc: Richard Weinberger <richard@nod.at>
    Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
    Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
    Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
    Cc: intel-wired-lan@lists.osuosl.org
    Link: https://lore.kernel.org/r/20211014050516.6846-1-rdunlap@infradead.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    rddunlap authored and Jakub Kicinski committed Oct 15, 2021
  8. net: fealnx: fix build for UML

    On i386, when builtin (not a loadable module), the fealnx driver
    inspects boot_cpu_data to see what CPU family it is running on, and
    then acts on that data. The "family" struct member (x86) does not exist
    when running on UML, so prevent that test and do the default action.
    
    Prevents this build error on UML + i386:
    
    ../drivers/net/ethernet/fealnx.c: In function ‘netdev_open’:
    ../drivers/net/ethernet/fealnx.c:861:19: error: ‘struct cpuinfo_um’ has no member named ‘x86’
    
    Fixes: 68f5d3f ("um: add PCI over virtio emulation driver")
    Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
    Cc: linux-um@lists.infradead.org
    Cc: Jeff Dike <jdike@addtoit.com>
    Cc: Richard Weinberger <richard@nod.at>
    Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
    Link: https://lore.kernel.org/r/20211014050500.5620-1-rdunlap@infradead.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    rddunlap authored and Jakub Kicinski committed Oct 15, 2021
  9. hv_netvsc: Add comment of netvsc_xdp_xmit()

    Adding comment to avoid the misusing of netvsc_xdp_xmit().
    Otherwise the value of skb->queue_mapping could be 0 and
    then the return value of skb_get_rx_queue() could be MAX_U16
    cause by overflow.
    
    Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
    Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
    Link: https://lore.kernel.org/r/1634174786-1810351-1-git-send-email-jiasheng@iscas.ac.cn
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    JiangJias authored and Jakub Kicinski committed Oct 15, 2021
  10. Merge branch 'minor-managed-neighbor-follow-ups'

    Daniel Borkmann says:
    
    ====================
    Minor managed neighbor follow-ups
    
    Minor follow-up series to address prior feedback from David and Jakub.
    Patch 1 adds a build time assertion to prevent overflows when shifting
    in extended flags, patch 2 is a cleanup to use NLA_POLICY_MASK instead
    of open-coding invalid flags rejection and patch 3 rejects creating new
    neighbors with NUD_PERMANENT & NTF_MANAGED. For details, see individual
    patches.
    ====================
    
    Link: https://lore.kernel.org/r/20211013132140.11143-1-daniel@iogearbox.net
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Oct 15, 2021
  11. net, neigh: Reject creating NUD_PERMANENT with NTF_MANAGED entries

    The combination of NUD_PERMANENT + NTF_MANAGED is not supported and does
    not make sense either given the former indicates a static/fixed neighbor
    entry whereas the latter a dynamically resolved one. While it is possible
    to transition from one over to the other, we should however reject such
    creation attempts.
    
    Fixes: 7482e38 ("net, neigh: Add NTF_MANAGED flag for managed neighbor entries")
    Suggested-by: David Ahern <dsahern@kernel.org>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Reviewed-by: David Ahern <dsahern@kernel.org>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    borkmann authored and Jakub Kicinski committed Oct 15, 2021
  12. net, neigh: Use NLA_POLICY_MASK helper for NDA_FLAGS_EXT attribute

    Instead of open-coding a check for invalid bits in NTF_EXT_MASK, we can just
    use the NLA_POLICY_MASK() helper instead, and simplify NDA_FLAGS_EXT sanity
    check this way.
    
    Suggested-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    borkmann authored and Jakub Kicinski committed Oct 15, 2021
  13. net, neigh: Add build-time assertion to avoid neigh->flags overflow

    Currently, NDA_FLAGS_EXT flags allow a maximum of 24 bits to be used for
    extended neighbor flags. These are eventually fed into neigh->flags by
    shifting with NTF_EXT_SHIFT as per commit 2c611ad ("net, neigh:
    Extend neigh->flags to 32 bit to allow for extensions").
    
    If really ever needed in future, the full 32 bits from NDA_FLAGS_EXT can
    be used, it would only require to move neigh->flags from u32 to u64 inside
    the kernel.
    
    Add a build-time assertion such that when extending the NTF_EXT_MASK with
    new bits, we'll trigger an error once we surpass the 24th bit. This assumes
    that no bit holes in new NTF_EXT_* flags will slip in from UAPI, but I
    think this is reasonable to assume.
    
    Suggested-by: David Ahern <dsahern@kernel.org>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Reviewed-by: David Ahern <dsahern@kernel.org>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    borkmann authored and Jakub Kicinski committed Oct 15, 2021
  14. net: mvneta: Delete unused variable

    The variable pp is not in use - delete it.
    
    Signed-off-by: Yuval Shaia <yshaia@marvell.com>
    Link: https://lore.kernel.org/r/20211013064921.26346-1-yshaia@marvell.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Yuval Shaia authored and Jakub Kicinski committed Oct 15, 2021
  15. net: phy: dp83867: introduce critical chip default init for non-of pl…

    …atform
    
    PHY driver dp83867 has rich supports for OF-platform to fine-tune the PHY
    chip during phy configuration. However, for non-OF platform, certain PHY
    tunable parameters such as IO impedance and RX & TX internal delays are
    critical and should be initialized to its default during PHY driver probe.
    
    Tested-by: Clement <clement@intel.com>
    Signed-off-by: Lay, Kuan Loon <kuan.loon.lay@intel.com>
    Co-developed-by: Ong Boon Leong <boon.leong.ong@intel.com>
    Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
    Tested-by: Kurt Kanzenbach <kurt@linutronix.de>
    Link: https://lore.kernel.org/r/20211013065941.2124858-1-boon.leong.ong@intel.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    laykuanloon authored and Jakub Kicinski committed Oct 15, 2021
  16. net: microchip: lan743x: add support for PTP pulse width (duty cycle)

    If the PTP_PEROUT_DUTY_CYCLE flag is set, then check if the
    request_on value in ptp_perout_request matches the pre-defined
    values or a toggle option.
    Return a failure if the value is not supported.
    
    Preserve the old behaviors if the PTP_PEROUT_DUTY_CYCLE flag is not
    set.
    
    Tested with an oscilloscope on EVB-LAN7430:
    e.g., to output PPS 1sec period 500mS on (high) to GPIO 2.
     ./testptp -L 2,2
     ./testptp -p 1000000000 -w 500000000
    
    Signed-off-by: Yuiko Oshino <yuiko.oshino@microchip.com>
    Link: https://lore.kernel.org/r/1634046593-64312-1-git-send-email-yuiko.oshino@microchip.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    microchip1 authored and Jakub Kicinski committed Oct 15, 2021
  17. net: phy: micrel: make *-skew-ps check more lenient

    It seems reasonable to fine-tune only some of the skew values when using
    one of the rgmii-*id PHY modes, and even when all skew values are
    specified, using the correct ID PHY mode makes sense for documentation
    purposes. Such a configuration also appears in the binding docs in
    Documentation/devicetree/bindings/net/micrel-ksz90x1.txt, so the driver
    should not warn about it.
    
    Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
    Link: https://lore.kernel.org/r/20211012103402.21438-1-matthias.schiffer@ew.tq-group.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    schiffermtq authored and Jakub Kicinski committed Oct 15, 2021

Commits on Oct 14, 2021

  1. Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net

    tools/testing/selftests/net/ioam6.sh
      7b1700e ("selftests: net: modify IOAM tests for undef bits")
      bf77b14 ("selftests: net: Test for the IOAM encapsulation with IPv6")
    
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Oct 14, 2021
  2. net: of: fix stub of_net helpers for CONFIG_NET=n

    Moving the of_net code from drivers/of/ to net/core means we
    no longer stub out the helpers when networking is disabled,
    which leads to a randconfig build failure with at least one
    ARM platform that calls this from non-networking code:
    
    arm-linux-gnueabi-ld: arch/arm/mach-mvebu/kirkwood.o: in function `kirkwood_dt_eth_fixup':
    kirkwood.c:(.init.text+0x54): undefined reference to `of_get_mac_address'
    
    Restore the way this worked before by changing that #ifdef
    check back to testing for both CONFIG_OF and CONFIG_NET.
    
    Fixes: e330fb1 ("of: net: move of_net under net/")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Link: https://lore.kernel.org/r/20211014090055.2058949-1-arnd@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    arndb authored and Jakub Kicinski committed Oct 14, 2021
  3. Merge tag 'net-5.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/netdev/net
    
    Pull networking fixes from Jakub Kicinski:
     "Quite calm.
    
      The noisy DSA driver (embedded switches) changes, and adjustment to
      IPv6 IOAM behavior add to diffstat's bottom line but are not scary.
    
      Current release - regressions:
    
       - af_unix: rename UNIX-DGRAM to UNIX to maintain backwards
         compatibility
    
       - procfs: revert "add seq_puts() statement for dev_mcast", minor
         format change broke user space
    
      Current release - new code bugs:
    
       - dsa: fix bridge_num not getting cleared after ports leaving the
         bridge, resource leak
    
       - dsa: tag_dsa: send packets with TX fwd offload from VLAN-unaware
         bridges using VID 0, prevent packet drops if pvid is removed
    
       - dsa: mv88e6xxx: keep the pvid at 0 when VLAN-unaware, prevent HW
         getting confused about station to VLAN mapping
    
      Previous releases - regressions:
    
       - virtio-net: fix for skb_over_panic inside big mode
    
       - phy: do not shutdown PHYs in READY state
    
       - dsa: mv88e6xxx: don't use PHY_DETECT on internal PHY's, fix link
         LED staying lit after ifdown
    
       - mptcp: fix possible infinite wait on recvmsg(MSG_WAITALL)
    
       - mqprio: Correct stats in mqprio_dump_class_stats()
    
       - ice: fix deadlock for Tx timestamp tracking flush
    
       - stmmac: fix feature detection on old hardware
    
      Previous releases - always broken:
    
       - sctp: account stream padding length for reconf chunk
    
       - icmp: fix icmp_ext_echo_iio parsing in icmp_build_probe()
    
       - isdn: cpai: check ctr->cnr to avoid array index out of bound
    
       - isdn: mISDN: fix sleeping function called from invalid context
    
       - nfc: nci: fix potential UAF of rf_conn_info object
    
       - dsa: microchip: prevent ksz_mib_read_work from kicking back in
         after it's canceled in .remove and crashing
    
       - dsa: mv88e6xxx: isolate the ATU databases of standalone and bridged
         ports
    
       - dsa: sja1105, ocelot: break circular dependency between switch and
         tag drivers
    
       - dsa: felix: improve timestamping in presence of packe loss
    
       - mlxsw: thermal: fix out-of-bounds memory accesses
    
      Misc:
    
       - ipv6: ioam: move the check for undefined bits to improve
         interoperability"
    
    * tag 'net-5.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (60 commits)
      icmp: fix icmp_ext_echo_iio parsing in icmp_build_probe
      MAINTAINERS: Update the devicetree documentation path of imx fec driver
      sctp: account stream padding length for reconf chunk
      mlxsw: thermal: Fix out-of-bounds memory accesses
      ethernet: s2io: fix setting mac address during resume
      NFC: digital: fix possible memory leak in digital_in_send_sdd_req()
      NFC: digital: fix possible memory leak in digital_tg_listen_mdaa()
      nfc: fix error handling of nfc_proto_register()
      Revert "net: procfs: add seq_puts() statement for dev_mcast"
      net: encx24j600: check error in devm_regmap_init_encx24j600
      net: korina: select CRC32
      net: arc: select CRC32
      net: dsa: felix: break at first CPU port during init and teardown
      net: dsa: tag_ocelot_8021q: fix inability to inject STP BPDUs into BLOCKING ports
      net: dsa: felix: purge skb from TX timestamping queue if it cannot be sent
      net: dsa: tag_ocelot_8021q: break circular dependency with ocelot switch lib
      net: dsa: tag_ocelot: break circular dependency with ocelot switch lib driver
      net: mscc: ocelot: cross-check the sequence id from the timestamp FIFO with the skb PTP header
      net: mscc: ocelot: deny TX timestamping of non-PTP packets
      net: mscc: ocelot: warn when a PTP IRQ is raised for an unknown skb
      ...
    torvalds committed Oct 14, 2021
  4. ethernet: remove random_ether_addr()

    random_ether_addr() was the original name of the helper which
    was kept for backward compatibility (?) after the rename in
    commit 0a4dd59 ("etherdevice: Rename random_ether_addr
    to eth_random_addr").
    
    We have a single random_ether_addr() caller left in tree
    while there are 70 callers of eth_random_addr().
    Time to drop this define.
    
    Reviewed-by: Simon Horman <simon.horman@corigine.com>
    Link: https://lore.kernel.org/r/20211013205450.328092-1-kuba@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Oct 14, 2021
  5. Merge branch 'ethernet-more-netdev-dev_addr-write-removals'

    Jakub Kicinski says:
    
    ====================
    ethernet: more netdev->dev_addr write removals
    
    Another series removing direct writes to netdev->dev_addr.
    ====================
    
    Link: https://lore.kernel.org/r/20211013204435.322561-1-kuba@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Oct 14, 2021
  6. ethernet: replace netdev->dev_addr 16bit writes

    Commit 406f42f ("net-next: When a bond have a massive amount
    of VLANs...") introduced a rbtree for faster Ethernet address look
    up. To maintain netdev->dev_addr in this tree we need to make all
    the writes to it got through appropriate helpers.
    
    This patch takes care of drivers which cast netdev->dev_addr to
    a 16bit type, often with an explicit byte order.
    
    Acked-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Oct 14, 2021
  7. ethernet: replace netdev->dev_addr assignment loops

    A handful of drivers contains loops assigning the mac
    addr byte by byte. Convert those to eth_hw_addr_set().
    
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Oct 14, 2021
  8. ethernet: ibm/emac: use of_get_ethdev_address() to load dev_addr

    A straggler I somehow missed in the automated conversion in
    commit 9ca01b2 ("ethernet: use of_get_ethdev_address()").
    Use the new helper instead of using netdev->dev_addr directly.
    
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Oct 14, 2021
  9. ethernet: manually convert memcpy(dev_addr,..., sizeof(addr))

    A handful of drivers use sizeof(addr) for the size of
    the address, after manually confirming the size is
    indeed 6 convert them to eth_hw_addr_set().
    
    Acked-by: Florian Fainelli <f.fainelli@gmail.com>
    Acked-by: Petko Manolov <petkan@nucleusys.com>
    Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Oct 14, 2021
  10. ethernet: make use of eth_hw_addr_random() where appropriate

    Number of drivers use eth_random_addr(netdev->dev_addr)
    thus writing to netdev->dev_addr directly, and not setting
    the address type. Switch them to eth_hw_addr_random().
    
      @@
      expression netdev;
      @@
      - eth_random_addr(netdev->dev_addr);
      + eth_hw_addr_random(netdev);
    
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Oct 14, 2021
  11. ethernet: make eth_hw_addr_random() use dev_addr_set()

    Commit 406f42f ("net-next: When a bond have a massive amount
    of VLANs...") introduced a rbtree for faster Ethernet address look
    up. To maintain netdev->dev_addr in this tree we need to make all
    the writes to it got through appropriate helpers.
    
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Oct 14, 2021
  12. ethernet: constify references to netdev->dev_addr in drivers

    This big patch sprinkles const on local variables and
    function arguments which may refer to netdev->dev_addr.
    
    Commit 406f42f ("net-next: When a bond have a massive amount
    of VLANs...") introduced a rbtree for faster Ethernet address look
    up. To maintain netdev->dev_addr in this tree we need to make all
    the writes to it got through appropriate helpers.
    
    Some of the changes here are not strictly required - const
    is sometimes cast off but pointer is not used for writing.
    It seems like it's still better to add the const in case
    the code changes later or relevant -W flags get enabled
    for the build.
    
    No functional changes.
    
    Link: https://lore.kernel.org/r/20211014142432.449314-1-kuba@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Oct 14, 2021
  13. Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/tnguy/next-queue
    
    Maciej Machnikowski says:
    
    ====================
    100GbE Intel Wired LAN Driver Updates 2021-10-14
    
    Extend the driver implementation to support PTP pins on E810-T
    and derivative devices.
    
    E810-T adapters are equipped with:
    - 2 external bidirectional SMA connectors
    - 1 internal TX U.FL shared with SMA1
    - 1 internal RX U.FL shared with SMA2
    
    The SMA and U.FL configuration is controlled by the external
    multiplexer.
    
    E810-T Derivatives are equipped with:
    - 2 1PPS outputs on SDP20 and SDP22
    - 2 1PPS inputs on SDP21 and SDP23
    ====================
    
    Link: https://lore.kernel.org/r/20211014153531.2908804-1-anthony.l.nguyen@intel.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Oct 14, 2021
  14. icmp: fix icmp_ext_echo_iio parsing in icmp_build_probe

    In icmp_build_probe(), the icmp_ext_echo_iio parsing should be done
    step by step and skb_header_pointer() return value should always be
    checked, this patch fixes 3 places in there:
    
      - On case ICMP_EXT_ECHO_CTYPE_NAME, it should only copy ident.name
        from skb by skb_header_pointer(), its len is ident_len. Besides,
        the return value of skb_header_pointer() should always be checked.
    
      - On case ICMP_EXT_ECHO_CTYPE_INDEX, move ident_len check ahead of
        skb_header_pointer(), and also do the return value check for
        skb_header_pointer().
    
      - On case ICMP_EXT_ECHO_CTYPE_ADDR, before accessing iio->ident.addr.
        ctype3_hdr.addrlen, skb_header_pointer() should be called first,
        then check its return value and ident_len.
        On subcases ICMP_AFI_IP and ICMP_AFI_IP6, also do check for ident.
        addr.ctype3_hdr.addrlen and skb_header_pointer()'s return value.
        On subcase ICMP_AFI_IP, the len for skb_header_pointer() should be
        "sizeof(iio->extobj_hdr) + sizeof(iio->ident.addr.ctype3_hdr) +
        sizeof(struct in_addr)" or "ident_len".
    
    v1->v2:
      - To make it more clear, call skb_header_pointer() once only for
        iio->indent's parsing as Jakub Suggested.
    v2->v3:
      - The extobj_hdr.length check against sizeof(_iio) should be done
        before calling skb_header_pointer(), as Eric noticed.
    
    Fixes: d329ea5 ("icmp: add response to RFC 8335 PROBE messages")
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Xin Long <lucien.xin@gmail.com>
    Reviewed-by: Eric Dumazet <edumazet@google.com>
    Link: https://lore.kernel.org/r/31628dd76657ea62f5cf78bb55da6b35240831f1.1634205050.git.lucien.xin@gmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    lxin authored and Jakub Kicinski committed Oct 14, 2021
  15. ice: Implement support for SMA and U.FL on E810-T

    Expose SMA and U.FL connectors as ptp_pins on E810-T based adapters and
    allow controlling them.
    
    E810-T adapters are equipped with:
    - 2 external bidirectional SMA connectors
    - 1 internal TX U.FL
    - 1 internal RX U.FL
    
    U.FL connectors share signal lines with the SMA connectors. The TX U.FL1
    share the line with the SMA1 and the RX U.FL2 share line with the SMA2.
    This dependence is controlled by the ice_verify_pin_e810t.
    
    Additionally add support for the E810-T-based  devices which don't use the
    SMA/U.FL controller. If the IO expander is not detected don't expose pins
    and use 2 predefined 1PPS input and output pins.
    
    Signed-off-by: Maciej Machnikowski <maciej.machnikowski@intel.com>
    Tested-by: Sunitha Mekala <sunithax.d.mekala@intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    Maciej Machnikowski authored and anguy11 committed Oct 14, 2021
  16. ice: Add support for SMA control multiplexer

    E810-T adapters have two external bidirectional SMA connectors and two
    internal unidirectional U.FL connectors. Multiplexing between U.FL and
    SMA and SMA direction is controlled using the PCA9575 expander.
    
    Add support for the PCA9575 detection and control of the respective pins
    of the SMA/U.FL multiplexer using the GPIO AQ API.
    
    Signed-off-by: Maciej Machnikowski <maciej.machnikowski@intel.com>
    Tested-by: Sunitha Mekala <sunithax.d.mekala@intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    Maciej Machnikowski authored and anguy11 committed Oct 14, 2021
  17. ice: Implement functions for reading and setting GPIO pins

    Implement ice_aq_get_gpio and ice_aq_set_gpio for reading and changing
    the state of GPIO pins described in the topology.
    
    Signed-off-by: Maciej Machnikowski <maciej.machnikowski@intel.com>
    Tested-by: Sunitha Mekala <sunithax.d.mekala@intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    Maciej Machnikowski authored and anguy11 committed Oct 14, 2021
  18. ice: Refactor ice_aqc_link_topo_addr

    Separate link topo parameters in struct ice_aqc_link_topo_addr into
    new struct ice_aqc_link_topo_params.
    This keeps input parameters for the get_link_topo command in a separate
    structure and is required by future commands that operate only on link
    topo params without the node handle.
    
    Signed-off-by: Maciej Machnikowski <maciej.machnikowski@intel.com>
    Tested-by: Sunitha Mekala <sunithax.d.mekala@intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    Maciej Machnikowski authored and anguy11 committed Oct 14, 2021
Older