Skip to content
Permalink
Aswath-Govindr…
Switch branches/tags

Commits on Apr 9, 2021

  1. can: m_can_platform: Add support for transceiver as phy

    Add support for implementing transceiver node as phy. The max_bitrate is
    obtained by getting a phy attribute.
    
    Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
    Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
    Faiz-Abbas authored and intel-lab-lkp committed Apr 9, 2021
  2. dt-bindings: net: can: Document transceiver implementation as phy

    Some transceivers need a configuration step (for example, pulling the
    standby or enable lines) for them to start sending messages. The
    transceiver can be implemented as a phy with the configuration done in the
    phy driver. The bit rate limitation can the be obtained by the driver using
    the phy node.
    
    Document the above implementation in the bosch mcan bindings
    
    Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
    Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
    Faiz-Abbas authored and intel-lab-lkp committed Apr 9, 2021
  3. phy: phy-can-transceiver: Add support for generic CAN transceiver driver

    The driver adds support for generic CAN transceivers. Currently
    the modes supported by this driver are standby and normal modes for TI
    TCAN1042 and TCAN1043 CAN transceivers.
    
    The transceiver is modelled as a phy with pins controlled by gpios, to put
    the transceiver in various device functional modes. It also gets the phy
    attribute max_link_rate for the usage of m_can drivers.
    
    Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
    Aswath-Govindraju authored and intel-lab-lkp committed Apr 9, 2021
  4. dt-bindings: phy: Add binding for TI TCAN104x CAN transceivers

    Add binding documentation for TI TCAN104x CAN transceivers.
    
    Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
    Aswath-Govindraju authored and intel-lab-lkp committed Apr 9, 2021

Commits on Apr 6, 2021

  1. can: mcp251xfd: mcp251xfd_regmap_crc_read(): work around broken CRC o…

    …n TBC register
    
    MCP251XFD_REG_TBC is the time base counter register. It increments
    once per SYS clock tick, which is 20 or 40 MHz. Observation shows that
    if the lowest byte (which is transferred first on the SPI bus) of that
    register is 0x00 or 0x80 the calculated CRC doesn't always match the
    transferred one.
    
    To reproduce this problem let the driver read the TBC register in a
    high frequency. This can be done by attaching only the mcp251xfd CAN
    controller to a valid terminated CAN bus and send a single CAN frame.
    As there are no other CAN controller on the bus, the sent CAN frame is
    not ACKed and the mcp251xfd repeats it. If user space enables the bus
    error reporting, each of the NACK errors is reported with a time
    stamp (which is read from the TBC register) to user space.
    
    $ ip link set can0 down
    $ ip link set can0 up type can bitrate 500000 berr-reporting on
    $ cansend can0 4FF#ff.01.00.00.00.00.00.00
    
    This leads to several error messages per second:
    
    | mcp251xfd spi0.0 can0: CRC read error at address 0x0010 (length=4, data=00 3a 86 da, CRC=0x7753) retrying.
    | mcp251xfd spi0.0 can0: CRC read error at address 0x0010 (length=4, data=80 01 b4 da, CRC=0x5830) retrying.
    | mcp251xfd spi0.0 can0: CRC read error at address 0x0010 (length=4, data=00 e9 23 db, CRC=0xa723) retrying.
    | mcp251xfd spi0.0 can0: CRC read error at address 0x0010 (length=4, data=00 8a 30 db, CRC=0x4a9c) retrying.
    | mcp251xfd spi0.0 can0: CRC read error at address 0x0010 (length=4, data=80 f3 43 db, CRC=0x66d2) retrying.
    
    If the highest bit in the lowest byte is flipped the transferred CRC
    matches the calculated one. We assume for now the CRC calculation in
    the chip works on wrong data and the transferred data is correct.
    
    This patch implements the following workaround:
    
    - If a CRC read error on the TBC register is detected and the lowest
      byte is 0x00 or 0x80, the highest bit of the lowest byte is flipped
      and the CRC is calculated again.
    - If the CRC now matches, the _original_ data is passed to the reader.
      For now we assume transferred data was OK.
    
    Link: https://lore.kernel.org/r/20210406110617.1865592-5-mkl@pengutronix.de
    Cc: Manivannan Sadhasivam <mani@kernel.org>
    Cc: Thomas Kopp <thomas.kopp@microchip.com>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    marckleinebudde committed Apr 6, 2021
  2. can: mcp251xfd: mcp251xfd_regmap_crc_read_one(): Factor out crc check…

    … into separate function
    
    This patch factors out the crc check into a separate function. This is
    preparation for the next patch.
    
    Link: https://lore.kernel.org/r/20210406110617.1865592-4-mkl@pengutronix.de
    Cc: Manivannan Sadhasivam <mani@kernel.org>
    Cc: Thomas Kopp <thomas.kopp@microchip.com>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    marckleinebudde committed Apr 6, 2021
  3. can: mcp251xfd: add BQL support

    This patch re-adds BQL support to the driver. Support for
    netdev_xmit_more() will be added in a separate patch series.
    
    Link: https://lore.kernel.org/r/20210406110617.1865592-3-mkl@pengutronix.de
    Cc: Manivannan Sadhasivam <mani@kernel.org>
    Cc: Thomas Kopp <thomas.kopp@microchip.com>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    marckleinebudde committed Apr 6, 2021
  4. can: c_can: remove unused enum BOSCH_C_CAN_PLATFORM

    This patch removes the unused enum BOSCH_C_CAN_PLATFORM.
    
    Link: https://lore.kernel.org/r/20210406110617.1865592-2-mkl@pengutronix.de
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    marckleinebudde committed Apr 6, 2021
  5. can: m_can: m_can_receive_skb(): add missing error handling to can_rx…

    …_offload_queue_sorted() call
    
    In commit 1be37d3 ("can: m_can: fix periph RX path: use
    rx-offload to ensure skbs are sent from softirq context") the RX path
    for peripherals (i.e. SPI based m_can controllers) was converted to
    the rx-offload infrastructure. However, the error handling for
    can_rx_offload_queue_sorted() was forgotten.
    can_rx_offload_queue_sorted() will return with an error if the
    internal queue is full.
    
    This patch adds the missing error handling, by increasing the
    rx_fifo_errors.
    
    Fixes: 1be37d3 ("can: m_can: fix periph RX path: use rx-offload to ensure skbs are sent from softirq context")
    Link: https://lore.kernel.org/r/20210401084515.1455013-1-mkl@pengutronix.de
    Reported-by: coverity-bot <keescook+coverity-bot@chromium.org>
    Addresses-Coverity-ID: 1503583 ("Error handling issues")
    Reviewed-by: Kees Cook <keescook@chromium.org>
    Cc: Torin Cooper-Bennun <torin@maxiluxsystems.com>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    marckleinebudde committed Apr 6, 2021

Commits on Apr 5, 2021

  1. net: smsc911x: skip acpi_device_id table when !CONFIG_ACPI

    The driver can match via multiple methods.  Its acpi_device_id table is
    referenced via ACPI_PTR() so it will be unused for !CONFIG_ACPI builds:
    
      drivers/net/ethernet/smsc/smsc911x.c:2652:36: warning:
        ‘smsc911x_acpi_match’ defined but not used [-Wunused-const-variable=]
    
    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    krzk authored and davem330 committed Apr 5, 2021
  2. net: hns3: Limiting the scope of vector_ring_chain variable

    Limiting the scope of the variable vector_ring_chain to the block where it
    is used.
    
    Fixes: 424eb83 ("net: hns3: Unified HNS3 {VF|PF} Ethernet Driver for hip08 SoC")
    Signed-off-by: Salil Mehta <salil.mehta@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Salil Mehta authored and davem330 committed Apr 5, 2021
  3. net: Allow to specify ifindex when device is moved to another namespace

    Currently, we can specify ifindex on link creation. This change allows
    to specify ifindex when a device is moved to another network namespace.
    
    Even now, a device ifindex can be changed if there is another device
    with the same ifindex in the target namespace. So this change doesn't
    introduce completely new behavior, it adds more control to the process.
    
    CRIU users want to restore containers with pre-created network devices.
    A user will provide network devices and instructions where they have to
    be restored, then CRIU will restore network namespaces and move devices
    into them. The problem is that devices have to be restored with the same
    indexes that they have before C/R.
    
    Cc: Alexander Mikhalitsyn <alexander.mikhalitsyn@virtuozzo.com>
    Suggested-by: Christian Brauner <christian.brauner@ubuntu.com>
    Signed-off-by: Andrei Vagin <avagin@gmail.com>
    Reviewed-by: Christian Brauner <christian.brauner@ubuntu.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    avagin authored and davem330 committed Apr 5, 2021
  4. net: nfc: Fix spelling errors in net/nfc module

    These patches fix a series of spelling errors in net/nfc module.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Zheng Yongjun <zhengyongjun3@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Zheng Yongjun authored and davem330 committed Apr 5, 2021
  5. tipc: Fix a kernel-doc warning in name_table.c

    Fix kernel-doc warning:
    
    Documentation/networking/tipc:66: /home/sfr/next/next/net/tipc/name_table.c
      :558: WARNING: Unexpected indentation.
    Documentation/networking/tipc:66: /home/sfr/next/next/net/tipc/name_table.c
      :559: WARNING: Block quote ends without a blank line; unexpected unindent.
    
    Due to blank line missing.
    
    Fixes: 908148b ("tipc: refactor tipc_sendmsg() and tipc_lookup_anycast()")
    Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Link: https://lore.kernel.org/netdev/20210318172255.63185609@canb.auug.org.au/
    Signed-off-by: Wu XiangCheng <bobwxc@email.cn>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    bobwxc authored and davem330 committed Apr 5, 2021
  6. mld: change lockdep annotation for ip6_sf_socklist and ipv6_mc_socklist

    struct ip6_sf_socklist and ipv6_mc_socklist are per-socket MLD data.
    These data are protected by rtnl lock, socket lock, and RCU.
    So, when these are used, it verifies whether rtnl lock is acquired or not.
    
    ip6_mc_msfget() is called by do_ipv6_getsockopt().
    But caller doesn't acquire rtnl lock.
    So, when these data are used in the ip6_mc_msfget() lockdep warns about it.
    But accessing these is actually safe because socket lock was acquired by
    do_ipv6_getsockopt().
    
    So, it changes lockdep annotation from rtnl lock to socket lock.
    (rtnl_dereference -> sock_dereference)
    
    Locking graph for mld data is like below:
    
    When writing mld data:
    do_ipv6_setsockopt()
        rtnl_lock
        lock_sock
        (mld functions)
            idev->mc_lock(if per-interface mld data is modified)
    
    When reading mld data:
    do_ipv6_getsockopt()
        lock_sock
        ip6_mc_msfget()
    
    Splat looks like:
    =============================
    WARNING: suspicious RCU usage
    5.12.0-rc4+ torvalds#503 Not tainted
    -----------------------------
    net/ipv6/mcast.c:610 suspicious rcu_dereference_protected() usage!
    
    other info that might help us debug this:
    
    rcu_scheduler_active = 2, debug_locks = 1
    1 lock held by mcast-listener-/923:
     #0: ffff888007958a70 (sk_lock-AF_INET6){+.+.}-{0:0}, at:
    ipv6_get_msfilter+0xaf/0x190
    
    stack backtrace:
    CPU: 1 PID: 923 Comm: mcast-listener- Not tainted 5.12.0-rc4+ torvalds#503
    Call Trace:
     dump_stack+0xa4/0xe5
     ip6_mc_msfget+0x553/0x6c0
     ? ipv6_sock_mc_join_ssm+0x10/0x10
     ? lockdep_hardirqs_on_prepare+0x3e0/0x3e0
     ? mark_held_locks+0xb7/0x120
     ? lockdep_hardirqs_on_prepare+0x27c/0x3e0
     ? __local_bh_enable_ip+0xa5/0xf0
     ? lock_sock_nested+0x82/0xf0
     ipv6_get_msfilter+0xc3/0x190
     ? compat_ipv6_get_msfilter+0x300/0x300
     ? lock_downgrade+0x690/0x690
     do_ipv6_getsockopt.isra.6.constprop.13+0x1809/0x29e0
     ? do_ipv6_mcast_group_source+0x150/0x150
     ? register_lock_class+0x1750/0x1750
     ? kvm_sched_clock_read+0x14/0x30
     ? sched_clock+0x5/0x10
     ? sched_clock_cpu+0x18/0x170
     ? find_held_lock+0x3a/0x1c0
     ? lock_downgrade+0x690/0x690
     ? ipv6_getsockopt+0xdb/0x1b0
     ipv6_getsockopt+0xdb/0x1b0
    [ ... ]
    
    Fixes: 88e2ca3 ("mld: convert ifmcaddr6 to RCU")
    Reported-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Taehee Yoo <ap420073@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    TaeheeYoo authored and davem330 committed Apr 5, 2021
  7. qede: Use 'skb_add_rx_frag()' instead of hand coding it

    Some lines of code can be merged into an equivalent 'skb_add_rx_frag()'
    call which is less verbose.
    
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Acked-by: Manish Chopra <manishc@marvell.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    tititiou36 authored and davem330 committed Apr 5, 2021
  8. qede: Remove a erroneous ++ in 'qede_rx_build_jumbo()'

    This ++ is confusing. It looks duplicated with the one already performed in
    'skb_fill_page_desc()'.
    
    In fact, it is harmless. 'nr_frags' is written twice with the same value.
    Once, because of the nr_frags++, and once because of the 'nr_frags = i + 1'
    in 'skb_fill_page_desc()'.
    
    So axe this post-increment to avoid confusion.
    
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Acked-by: Manish Chopra <manishc@marvell.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    tititiou36 authored and davem330 committed Apr 5, 2021
  9. sfc: Use 'skb_add_rx_frag()' instead of hand coding it

    Some lines of code can be merged into an equivalent 'skb_add_rx_frag()'
    call which is less verbose.
    
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    tititiou36 authored and davem330 committed Apr 5, 2021
  10. ibmvnic: Use 'skb_frag_address()' instead of hand coding it

    'page_address(skb_frag_page()) + skb_frag_off()' can be replaced by an
    equivalent 'skb_frag_address()' which is less verbose.
    
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    tititiou36 authored and davem330 committed Apr 5, 2021
  11. net: ag71xx: Slightly simplify 'ag71xx_rx_packets()'

    There is no need to use 'list_for_each_entry_safe' here, as nothing is
    removed from the list in the 'for' loop.
    Use 'list_for_each_entry' instead, it is slightly less verbose.
    
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    tititiou36 authored and davem330 committed Apr 5, 2021
  12. net: x25: Queue received packets in the drivers instead of per-CPU qu…

    …eues
    
    X.25 Layer 3 (the Packet Layer) expects layer 2 to provide a reliable
    datalink service such that no packets are reordered or dropped. And
    X.25 Layer 2 (the LAPB layer) is indeed designed to provide such service.
    
    However, this reliability is not preserved when a driver calls "netif_rx"
    to deliver the received packets to layer 3, because "netif_rx" will put
    the packets into per-CPU queues before they are delivered to layer 3.
    If there are multiple CPUs, the order of the packets may not be preserved.
    The per-CPU queues may also drop packets if there are too many.
    
    Therefore, we should not call "netif_rx" to let it queue the packets.
    Instead, we should use our own queue that won't reorder or drop packets.
    
    This patch changes all X.25 drivers to use their own queues instead of
    calling "netif_rx". The patch also documents this requirement in the
    "x25-iface" documentation.
    
    Cc: Martin Schiller <ms@dev.tdt.de>
    Signed-off-by: Xie He <xie.he.0141@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Xie He authored and davem330 committed Apr 5, 2021

Commits on Apr 4, 2021

  1. net: openvswitch: Use 'skb_push_rcsum()' instead of hand coding it

    'skb_push()'/'skb_postpush_rcsum()' can be replaced by an equivalent
    'skb_push_rcsum()' which is less verbose.
    
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    tititiou36 authored and davem330 committed Apr 4, 2021
  2. Merge tag 'mlx5-updates-2021-04-02' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/saeed/linux
    
    Saeed Mahameed says:
    
    ====================
    mlx5-updates-2021-04-02
    
    This series provides trivial updates and cleanup to mlx5 driver
    
    1) Support for matching on ct_state inv and rel flag in connection tracking
    2) Reject TC rules that redirect from a VF to itself
    3) Parav provided some E-Switch cleanups that could be summarized to:
      3.1) Packing and Reduce structure sizes
      3.2) Dynamic allocation of rate limit tables and structures
    4) Vu Makes the netdev arfs and vlan tables allocation dynamic.
    ====================
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    davem330 committed Apr 4, 2021

Commits on Apr 3, 2021

  1. Merge branch 'stmmac-xdp'

    Ong Boon Leong says:
    
    ====================
    stmmac: Add XDP support
    
    This is the v4 patch series for adding XDP native support to stmmac.
    
    Changes in v4:
    5/6: Move TX clean timer setup to the end of NAPI RX process and
         group it under stmmac_finalize_xdp_rx().
         Also, fixed stmmac_xdp_xmit_back() returns STMMAC_XDP_CONSUMED
         if XDP buffer conversion to XDP frame fails.
    
    6/6: Move xdp_do_flush(0 into stmmac_finalize_xdp_rx() and combine
         the XDP verdict of XDP TX and XDP REDIRECT together.
    
    I retested the patch series on the 'xdp2' and 'xdp_redirect' related to
    changes above and found the result to be satisfactory.
    
    History of previous patch series:
    v3: https://patchwork.kernel.org/project/netdevbpf/cover/20210331154135.8507-1-boon.leong.ong@intel.com/
    v2: https://patchwork.kernel.org/project/netdevbpf/list/?series=457757
    v1: https://patchwork.kernel.org/project/netdevbpf/list/?series=457139
    
    It will be great if community can help to test or review the v4 series
    and provide me any input if any.
    ====================
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    davem330 committed Apr 3, 2021
  2. net: stmmac: Add support for XDP_REDIRECT action

    This patch adds the support of XDP_REDIRECT to another remote cpu for
    further action. It also implements ndo_xdp_xmit ops, enabling the driver
    to transmit packets forwarded to it by XDP program running on another
    interface.
    
    This patch has been tested using "xdp_redirect_cpu" for XDP_REDIRECT
    + drop testing. It also been tested with "xdp_redirect" sample app
    which can be used to exercise ndo_xdp_xmit ops. The burst traffics are
    generated using pktgen_sample03_burst_single_flow.sh in samples/pktgen
    directory.
    
    v4: Move xdp_do_flush() processing into stmmac_finalize_xdp_rx() and
        combined the XDP verdict of XDP TX and REDIRECT together.
    
    v3: Added 'nq->trans_start = jiffies' to avoid TX time-out as we are
        sharing TX queue between slow path and XDP. Thanks to Jakub Kicinski
        for point out.
    
    Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    elvinongbl authored and davem330 committed Apr 3, 2021
  3. net: stmmac: Add support for XDP_TX action

    This patch adds support for XDP_TX action which enables XDP program to
    transmit back received frames.
    
    This patch has been tested with the "xdp2" app located in samples/bpf
    dir. The DUT receives burst traffic packet generated using pktgen script
    'pktgen_sample03_burst_single_flow.sh'.
    
    v4: Moved stmmac_tx_timer_arm() to be done once at the end of NAPI RX.
        Fixed stmmac_xdp_xmit_back() to return STMMAC_XDP_CONSUMED if
        XDP buffer to frame conversion fails. Thanks to Jakub's input.
    
    v3: Added 'nq->trans_start = jiffies' to avoid TX time-out as we are
        sharing TX queue between slow path and XDP. Thanks to Jakub Kicinski
        for pointing out.
    
    Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    elvinongbl authored and davem330 committed Apr 3, 2021
  4. net: stmmac: Add initial XDP support

    This patch adds the initial XDP support to stmmac driver. It supports
    XDP_PASS, XDP_DROP and XDP_ABORTED actions. Upcoming patches will add
    support for XDP_TX and XDP_REDIRECT.
    
    To support XDP headroom, this patch adds page_offset into RX buffer and
    change the dma_sync_single_for_device|cpu(). The DMA address used for
    RX operation are changed to take into page_offset too. As page_pool
    can handle dma_sync_single_for_device() on behalf of driver with
    PP_FLAG_DMA_SYNC_DEV flag, we skip doing that in stmmac driver.
    
    Current stmmac driver supports split header support (SPH) in RX but
    the flexibility of splitting header and payload at different position
    makes it very complex to be supported for XDP processing. In addition,
    jumbo frame is not supported in XDP to keep the initial codes simple.
    
    This patch has been tested with the sample app "xdp1" located in
    samples/bpf directory for both SKB and Native (XDP) mode. The burst
    traffic generated using pktgen_sample03_burst_single_flow.sh in
    samples/pktgen directory.
    
    Changes in v3:
     - factor in xdp header and tail adjustment done by XDP program.
       Thanks to Jakub Kicinski for pointing out the gap in v2.
    
    Changes in v2:
     - fix for "warning: variable 'len' set but not used" reported by lkp.
    
    Reported-by: kernel test robot <lkp@intel.com>
    Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    elvinongbl authored and davem330 committed Apr 3, 2021
  5. net: stmmac: arrange Tx tail pointer update to stmmac_flush_tx_descri…

    …ptors
    
    This patch organizes TX tail pointer update into a new function called
    stmmac_flush_tx_descriptors() so that we can reuse it in stmmac_xmit(),
    stmmac_tso_xmit() and up-coming XDP implementation.
    
    Changes to v2:
     - Fix for warning: unused variable ‘desc_size’
       https://patchwork.hopto.org/static/nipa/457321/12170149/build_32bit/stderr
    
    Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    elvinongbl authored and davem330 committed Apr 3, 2021
  6. net: stmmac: make SPH enable/disable to be configurable

    SPH functionality splits header and payload according to split mode and
    offsef fields (SPLM and SPLOFST). It is beneficials for Linux network
    stack RX processing however it adds a lot of complexity in XDP
    processing.
    
    So, this patch makes the split-header (SPH) capability of the controller
    is stored in "priv->sph_cap" and the enabling/disabling of SPH is decided
    by "priv->sph".
    
    This is to prepare initial XDP enabling for stmmac to disable the use of
    SPH whenever XDP is enabled.
    
    Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    elvinongbl authored and davem330 committed Apr 3, 2021
  7. net: stmmac: set IRQ affinity hint for multi MSI vectors

    Certain platform likes Intel mGBE has independent hardware IRQ resources
    for TX and RX DMA operation. In preparation to support XDP TX, we add IRQ
    affinity hint to group both RX and TX queue of the same queue ID to the
    same CPU.
    
    Changes in v2:
     - IRQ affinity hint need to set to null before IRQ is released.
       Thanks to issue reported by Song, Yoong Siang.
    
    Reported-by: Song, Yoong Siang <yoong.siang.song@intel.com>
    Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    elvinongbl authored and davem330 committed Apr 3, 2021

Commits on Apr 2, 2021

  1. net/mlx5e: Dynamic alloc vlan table for netdev when needed

    Dynamic allocate vlan table in mlx5e_priv for EN netdev
    when needed. Don't allocate it for representor netdev.
    
    Signed-off-by: Vu Pham <vuhuong@nvidia.com>
    Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
    vuhuong authored and Saeed Mahameed committed Apr 2, 2021
  2. net/mlx5e: Dynamic alloc arfs table for netdev when needed

    Dynamic allocate arfs table in mlx5e_priv for EN netdev
    when needed. Don't allocate it for representor netdev.
    
    Signed-off-by: Vu Pham <vuhuong@nvidia.com>
    Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
    vuhuong authored and Saeed Mahameed committed Apr 2, 2021
  3. net/mlx5e: Reject tc rules which redirect from a VF to itself

    Since there are self loopback prevention mechanisms at the
    VF level, offloading such rules which redirect from a VF
    to itself in the eswitch will break the datapath since the
    packets will be dropped once they go back to the vport they
    came from.
    
    Therefore, offloading such rules will be rejected and left to
    be handled by SW.
    
    Signed-off-by: Ariel Levkovich <lariel@nvidia.com>
    Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
    Awik84 authored and Saeed Mahameed committed Apr 2, 2021
  4. net/mlx5: Use ida_alloc_range() instead of ida_simple_alloc()

    ida_simple_alloc() and remove functions are deprecated.
    Related change:
    commit 3264cee ("lib/idr.c: document that ida_simple_{get,remove}() are deprecated")
    
    Signed-off-by: Roi Dayan <roid@nvidia.com>
    Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
    roidayan authored and Saeed Mahameed committed Apr 2, 2021
  5. net/mlx5: E-Switch, move QoS specific fields to existing qos struct

    Function QoS related fields are already defined in qos related struct.
    min and max rate are left out to mlx5_vport_info struct.
    
    Move them to existing qos struct.
    
    Signed-off-by: Parav Pandit <parav@nvidia.com>
    Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
    paravmellanox authored and Saeed Mahameed committed Apr 2, 2021
Older