Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
authorJakub Kicinski <kuba@kernel.org>
Fri, 13 Aug 2021 13:41:22 +0000 (06:41 -0700)
committerJakub Kicinski <kuba@kernel.org>
Fri, 13 Aug 2021 13:41:22 +0000 (06:41 -0700)
Conflicts:

drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.h
  9e26680733d5 ("bnxt_en: Update firmware call to retrieve TX PTP timestamp")
  9e518f25802c ("bnxt_en: 1PPS functions to configure TSIO pins")
  099fdeda659d ("bnxt_en: Event handler for PPS events")

kernel/bpf/helpers.c
include/linux/bpf-cgroup.h
  a2baf4e8bb0f ("bpf: Fix potentially incorrect results with bpf_get_local_storage()")
  c7603cfa04e7 ("bpf: Add ambient BPF runtime context stored in current")

drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c
  5957cc557dc5 ("net/mlx5: Set all field of mlx5_irq before inserting it to the xarray")
  2d0b41a37679 ("net/mlx5: Refcount mlx5_irq with integer")

MAINTAINERS
  7b637cd52f02 ("MAINTAINERS: fix Microchip CAN BUS Analyzer Tool entry typo")
  7d901a1e878a ("net: phy: add Maxlinear GPY115/21x/24x driver")

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
49 files changed:
1  2 
MAINTAINERS
drivers/infiniband/hw/mlx5/cq.c
drivers/infiniband/hw/mlx5/devx.c
drivers/net/can/m_can/m_can.c
drivers/net/dsa/mt7530.c
drivers/net/dsa/sja1105/sja1105_main.c
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c
drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.h
drivers/net/ethernet/intel/iavf/iavf_main.c
drivers/net/ethernet/intel/ice/ice_main.c
drivers/net/ethernet/marvell/prestera/prestera_switchdev.c
drivers/net/ethernet/mellanox/mlx5/core/cq.c
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c
drivers/net/ethernet/mellanox/mlx5/core/main.c
drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h
drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
drivers/net/ethernet/realtek/r8169_main.c
drivers/net/ethernet/rocker/rocker_main.c
drivers/net/ethernet/rocker/rocker_ofdpa.c
drivers/net/ethernet/ti/cpsw_new.c
drivers/net/ppp/ppp_generic.c
drivers/net/wwan/wwan_core.c
drivers/s390/net/qeth_l2_main.c
drivers/vdpa/mlx5/net/mlx5_vnet.c
include/linux/inetdevice.h
include/linux/mlx5/driver.h
kernel/bpf/core.c
kernel/bpf/hashtab.c
kernel/bpf/helpers.c
kernel/trace/bpf_trace.c
net/bpf/test_run.c
net/bridge/br.c
net/bridge/br_fdb.c
net/bridge/br_if.c
net/bridge/br_private.h
net/core/page_pool.c
net/dsa/slave.c
net/ieee802154/socket.c
net/ipv4/igmp.c
net/netfilter/nf_flow_table_core.c
net/sched/act_mirred.c
net/smc/smc_core.c
tools/lib/bpf/btf.c

diff --cc MAINTAINERS
@@@ -11341,13 -11327,7 +11341,13 @@@ W: https://linuxtv.or
  T:    git git://linuxtv.org/media_tree.git
  F:    drivers/media/radio/radio-maxiradio*
  
- MCAB MICROCHIP CAN BUS ANALYZER TOOL DRIVER
 +MAXLINEAR ETHERNET PHY DRIVER
 +M:    Xu Liang <lxu@maxlinear.com>
 +L:    netdev@vger.kernel.org
 +S:    Supported
 +F:    drivers/net/phy/mxl-gpy.c
 +
+ MCBA MICROCHIP CAN BUS ANALYZER TOOL DRIVER
  R:    Yasushi SHOJI <yashi@spacecubics.com>
  L:    linux-can@vger.kernel.org
  S:    Maintained
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -1787,9 -1633,11 +1787,11 @@@ static int sja1105_fdb_dump(struct dsa_
                u64_to_ether_addr(l2_lookup.macaddr, macaddr);
  
                /* We need to hide the dsa_8021q VLANs from the user. */
 -              if (priv->vlan_state == SJA1105_VLAN_UNAWARE)
 +              if (!priv->vlan_aware)
                        l2_lookup.vlanid = 0;
-               cb(macaddr, l2_lookup.vlanid, l2_lookup.lockeds, data);
+               rc = cb(macaddr, l2_lookup.vlanid, l2_lookup.lockeds, data);
+               if (rc)
+                       return rc;
        }
        return 0;
  }
  
  #define BNXT_PTP_QTS_TIMEOUT  1000
  #define BNXT_PTP_QTS_TX_ENABLES       (PORT_TS_QUERY_REQ_ENABLES_PTP_SEQ_ID | \
-                                PORT_TS_QUERY_REQ_ENABLES_TS_REQ_TIMEOUT)
+                                PORT_TS_QUERY_REQ_ENABLES_TS_REQ_TIMEOUT | \
+                                PORT_TS_QUERY_REQ_ENABLES_PTP_HDR_OFFSET)
  
 +struct pps_pin {
 +      u8 event;
 +      u8 usage;
 +      u8 state;
 +};
 +
 +#define TSIO_PIN_VALID(pin) ((pin) < (BNXT_MAX_TSIO_PINS))
 +
 +#define EVENT_DATA2_PPS_EVENT_TYPE(data2)                             \
 +      ((data2) & ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA2_EVENT_TYPE)
 +
 +#define EVENT_DATA2_PPS_PIN_NUM(data2)                                        \
 +      (((data2) &                                                     \
 +        ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA2_PIN_NUMBER_MASK) >>\
 +       ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA2_PIN_NUMBER_SFT)
 +
 +#define BNXT_DATA2_UPPER_MSK                                          \
 +      ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA2_PPS_TIMESTAMP_UPPER_MASK
 +
 +#define BNXT_DATA2_UPPER_SFT                                          \
 +      (32 -                                                           \
 +       ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA2_PPS_TIMESTAMP_UPPER_SFT)
 +
 +#define BNXT_DATA1_LOWER_MSK                                          \
 +      ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA1_PPS_TIMESTAMP_LOWER_MASK
 +
 +#define BNXT_DATA1_LOWER_SFT                                          \
 +        ASYNC_EVENT_CMPL_PPS_TIMESTAMP_EVENT_DATA1_PPS_TIMESTAMP_LOWER_SFT
 +
 +#define EVENT_PPS_TS(data2, data1)                                    \
 +      (((u64)((data2) & BNXT_DATA2_UPPER_MSK) << BNXT_DATA2_UPPER_SFT) |\
 +       (((data1) & BNXT_DATA1_LOWER_MSK) >> BNXT_DATA1_LOWER_SFT))
 +
 +#define BNXT_PPS_PIN_DISABLE  0
 +#define BNXT_PPS_PIN_ENABLE   1
 +#define BNXT_PPS_PIN_NONE     0
 +#define BNXT_PPS_PIN_PPS_IN   1
 +#define BNXT_PPS_PIN_PPS_OUT  2
 +#define BNXT_PPS_PIN_SYNC_IN  3
 +#define BNXT_PPS_PIN_SYNC_OUT 4
 +
 +#define BNXT_PPS_EVENT_INTERNAL       1
 +#define BNXT_PPS_EVENT_EXTERNAL       2
 +
 +struct bnxt_pps {
 +      u8 num_pins;
 +#define BNXT_MAX_TSIO_PINS    4
 +      struct pps_pin pins[BNXT_MAX_TSIO_PINS];
 +};
 +
  struct bnxt_ptp_cfg {
        struct ptp_clock_info   ptp_info;
        struct ptp_clock        *ptp_clock;
@@@ -125,9 -76,7 +127,9 @@@ do {                                                
        ((dst) = READ_ONCE(src))
  #endif
  
- int bnxt_ptp_parse(struct sk_buff *skb, u16 *seq_id);
+ int bnxt_ptp_parse(struct sk_buff *skb, u16 *seq_id, u16 *hdr_off);
 +void bnxt_ptp_pps_event(struct bnxt *bp, u32 data1, u32 data2);
 +void bnxt_ptp_reapply_pps(struct bnxt *bp);
  int bnxt_hwtstamp_set(struct net_device *dev, struct ifreq *ifr);
  int bnxt_hwtstamp_get(struct net_device *dev, struct ifreq *ifr);
  int bnxt_get_tx_ts_p5(struct bnxt *bp, struct sk_buff *skb);
@@@ -234,7 -214,8 +234,8 @@@ static struct mlx5_irq *irq_request(str
                err = -ENOMEM;
                goto err_cpumask;
        }
 -      kref_init(&irq->kref);
+       irq->pool = pool;
 +      irq->refcount = 1;
        irq->index = i;
        err = xa_err(xa_store(&pool->irqs, irq->index, irq, GFP_KERNEL));
        if (err) {
@@@ -475,13 -459,10 +478,14 @@@ static void irq_pool_free(struct mlx5_i
        struct mlx5_irq *irq;
        unsigned long index;
  
 +      /* There are cases in which we are destrying the irq_table before
 +       * freeing all the IRQs, fast teardown for example. Hence, free the irqs
 +       * which might not have been freed.
 +       */
        xa_for_each(&pool->irqs, index, irq)
 -              irq_release(&irq->kref);
 +              irq_release(irq);
        xa_destroy(&pool->irqs);
+       mutex_destroy(&pool->lock);
        kvfree(pool);
  }
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc net/bridge/br.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc net/dsa/slave.c
Simple merge
Simple merge
diff --cc net/ipv4/igmp.c
Simple merge
@@@ -180,10 -180,15 +180,10 @@@ static void flow_offload_fixup_tcp(stru
  
  static void flow_offload_fixup_ct_timeout(struct nf_conn *ct)
  {
 -      const struct nf_conntrack_l4proto *l4proto;
        struct net *net = nf_ct_net(ct);
        int l4num = nf_ct_protonum(ct);
-       unsigned int timeout;
+       s32 timeout;
  
 -      l4proto = nf_ct_l4proto_find(l4num);
 -      if (!l4proto)
 -              return;
 -
        if (l4num == IPPROTO_TCP) {
                struct nf_tcp_net *tn = nf_tcp_pernet(net);
  
Simple merge
Simple merge
Simple merge