1. 10 May, 2018 22 commits
    • Vivien Didelot's avatar
      net: dsa: mv88e6xxx: add RMU disable op · 9e5baf9b
      Vivien Didelot authored
      The RMU mode bits moved a lot within the Global Control 2 register of
      the Marvell switch families. Add an .rmu_disable op to support at least
      3 known alternatives.
      Signed-off-by: default avatarVivien Didelot <vivien.didelot@savoirfairelinux.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9e5baf9b
    • Vivien Didelot's avatar
      net: dsa: mv88e6xxx: set device number · 23c98919
      Vivien Didelot authored
      All Marvell switches supported by mv88e6xxx have to set their device
      number in the Global Control 2 register. Extract this in a read then
      write function, called from the device mapping setup code.
      Signed-off-by: default avatarVivien Didelot <vivien.didelot@savoirfairelinux.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      23c98919
    • Vivien Didelot's avatar
      net: dsa: mv88e6xxx: add a cascade port op · 02317e68
      Vivien Didelot authored
      Only the 88E6185 family has bits 15:12 Cascade Port bits in the Global
      Control 2 register. Hence inconsistent values are actually written in
      this register for other families.
      
      Add a .set_cascade_port operation to isolate the 88E6185 case, and call
      it from the device mapping setup function.
      Signed-off-by: default avatarVivien Didelot <vivien.didelot@savoirfairelinux.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      02317e68
    • David S. Miller's avatar
      Merge branch 'mlx4-misc-next' · 79a6fd23
      David S. Miller authored
      Tariq Toukan says:
      
      ====================
      mlx4_core misc for 4.18
      
      This patchset contains misc enhancements from the team
      to the mlx4 Core driver.
      
      Patch 1 by Eran adds driver version report in FW.
      Patch 2 by Yishai implements suspend/resume PCI callbacks.
      Patch 3 extends the range of an existing module param from boolean to numerical.
      
      Series generated against net-next commit:
      53a7bdfb dt-bindings: dsa: Remove unnecessary #address/#size-cells
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      79a6fd23
    • Tariq Toukan's avatar
      net/mlx4_core: Use msi_x module param to limit num of MSI-X irqs · e5732838
      Tariq Toukan authored
      Extend the boolean interpretation of msi_x module parameter
      to numerical, as follows:
      
      0   - Don't use MSI-X.
      1   - Use MSI-X, driver decides the num of MSI-X irqs.
      >=2 - Use MSI-X, limit number of MSI-X irqs to msi_x.
            In SRIOV, this limits the number of MSI-X irqs per VF.
      Signed-off-by: default avatarTariq Toukan <tariqt@mellanox.com>
      Cc: Ajaykumar Hotchandani <ajaykumar.hotchandani@oracle.com>
      Reviewed-by: default avatarAjaykumar Hotchandani <ajaykumar.hotchandani@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e5732838
    • Yishai Hadas's avatar
      net/mlx4_core: Add PCI calls for suspend/resume · 86a3e5d0
      Yishai Hadas authored
      Implement suspend/resume callbacks in struct pci_driver.
      Signed-off-by: default avatarYishai Hadas <yishaih@mellanox.com>
      Signed-off-by: default avatarTariq Toukan <tariqt@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      86a3e5d0
    • Eran Ben Elisha's avatar
      net/mlx4_core: Report driver version to FW · e5c9a705
      Eran Ben Elisha authored
      If supported, write a driver version string to FW as part of the
      INIT_HCA command.
      
      Example of driver version: "Linux,mlx4_core,4.0-0"
      Signed-off-by: default avatarEran Ben Elisha <eranbe@mellanox.com>
      Signed-off-by: default avatarTariq Toukan <tariqt@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e5c9a705
    • Vivien Didelot's avatar
      net: dsa: fix added_by_user switchdev notification · a37fb855
      Vivien Didelot authored
      Commit 161d82de ("net: bridge: Notify about !added_by_user FDB
      entries") causes the below oops when bringing up a slave interface,
      because dsa_port_fdb_add is still scheduled, but with a NULL address.
      
      To fix this, keep the dsa_slave_switchdev_event function agnostic of the
      notified info structure and handle the added_by_user flag in the
      specific dsa_slave_switchdev_event_work function.
      
          [   75.512263] Unable to handle kernel NULL pointer dereference at virtual address 00000000
          [   75.519063] pgd = (ptrval)
          [   75.520545] [00000000] *pgd=00000000
          [   75.522839] Internal error: Oops: 17 [#1] ARM
          [   75.525898] Modules linked in:
          [   75.527673] CPU: 0 PID: 9 Comm: kworker/u2:1 Not tainted 4.17.0-rc2 #78
          [   75.532988] Hardware name: Freescale Vybrid VF5xx/VF6xx (Device Tree)
          [   75.538153] Workqueue: dsa_ordered dsa_slave_switchdev_event_work
          [   75.542970] PC is at mv88e6xxx_port_db_load_purge+0x60/0x1b0
          [   75.547341] LR is at mdiobus_read_nested+0x6c/0x78
          [   75.550833] pc : [<804cd5c0>]    lr : [<804bba84>]    psr: 60070013
          [   75.555796] sp : 9f54bd78  ip : 9f54bd87  fp : 9f54bddc
          [   75.559719] r10: 00000000  r9 : 0000000e  r8 : 9f6a6010
          [   75.563643] r7 : 00000000  r6 : 81203048  r5 : 9f6a6010  r4 : 9f6a601c
          [   75.568867] r3 : 00000000  r2 : 00000000  r1 : 0000000d  r0 : 00000000
          [   75.574094] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
          [   75.579933] Control: 10c53c7d  Table: 9de20059  DAC: 00000051
          [   75.584384] Process kworker/u2:1 (pid: 9, stack limit = 0x(ptrval))
          [   75.589349] Stack: (0x9f54bd78 to 0x9f54c000)
          [   75.592406] bd60:                                                       00000000 00000000
          [   75.599295] bd80: 00000391 9f299d10 9f299d68 8014317c 9f7f0000 8120af00 00006dc2 00000000
          [   75.606186] bda0: 8120af00 00000000 9f54bdec 1c9f5d92 8014317c 9f6a601c 9f6a6010 00000000
          [   75.613076] bdc0: 00000000 00000000 9dd1141c 8125a0b4 9f54be0c 9f54bde0 804cd8a8 804cd56c
          [   75.619966] bde0: 0000000e 80143680 00000001 9dce9c1c 81203048 9dce9c10 00000003 00000000
          [   75.626858] be00: 9f54be5c 9f54be10 806abcac 804cd864 9f54be54 80143664 8014317c 80143054
          [   75.633748] be20: ffcaa81d 00000000 812030b0 1c9f5d92 00000000 81203048 9f54beb4 00000003
          [   75.640639] be40: ffffffff 00000000 9dd1141c 8125a0b4 9f54be84 9f54be60 80138e98 806abb18
          [   75.647529] be60: 81203048 9ddc4000 9dce9c54 9f72a300 00000000 00000000 9f54be9c 9f54be88
          [   75.654420] be80: 801390bc 80138e50 00000000 9dce9c54 9f54beac 9f54bea0 806a9524 801390a0
          [   75.661310] bea0: 9f54bedc 9f54beb0 806a9c7c 806a950c 9f54becc 00000000 00000000 00000000
          [   75.668201] bec0: 9f540000 1c9f5d92 805fe604 9ddffc00 9f54befc 9f54bee0 806ab228 806a9c38
          [   75.675092] bee0: 806ab178 9ddffc00 9f4c1900 9f40d200 9f54bf34 9f54bf00 80131e30 806ab184
          [   75.681983] bf00: 9f40d214 9f54a038 9f40d200 9f40d200 9f4c1918 812119a0 9f40d214 9f54a038
          [   75.688873] bf20: 9f40d200 9f4c1900 9f54bf7c 9f54bf38 80132124 80131d1c 9f5f2dd8 00000000
          [   75.695764] bf40: 812119a0 9f54a038 812119a0 81259c5b 9f5f2dd8 9f5f2dc0 9f53dbc0 00000000
          [   75.702655] bf60: 9f4c1900 801320b4 9f5f2dd8 9f4f7e88 9f54bfac 9f54bf80 80137ad0 801320c0
          [   75.709544] bf80: 9f54a000 9f53dbc0 801379a0 00000000 00000000 00000000 00000000 00000000
          [   75.716434] bfa0: 00000000 9f54bfb0 801010e8 801379ac 00000000 00000000 00000000 00000000
          [   75.723324] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
          [   75.730206] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
          [   75.737083] Backtrace:
          [   75.738252] [<804cd560>] (mv88e6xxx_port_db_load_purge) from [<804cd8a8>] (mv88e6xxx_port_fdb_add+0x50/0x68)
          [   75.746795]  r10:8125a0b4 r9:9dd1141c r8:00000000 r7:00000000 r6:00000000 r5:9f6a6010
          [   75.753323]  r4:9f6a601c
          [   75.754570] [<804cd858>] (mv88e6xxx_port_fdb_add) from [<806abcac>] (dsa_switch_event+0x1a0/0x660)
          [   75.762238]  r8:00000000 r7:00000003 r6:9dce9c10 r5:81203048 r4:9dce9c1c
          [   75.767655] [<806abb0c>] (dsa_switch_event) from [<80138e98>] (notifier_call_chain+0x54/0x94)
          [   75.774893]  r10:8125a0b4 r9:9dd1141c r8:00000000 r7:ffffffff r6:00000003 r5:9f54beb4
          [   75.781423]  r4:81203048
          [   75.782672] [<80138e44>] (notifier_call_chain) from [<801390bc>] (raw_notifier_call_chain+0x28/0x30)
          [   75.790514]  r9:00000000 r8:00000000 r7:9f72a300 r6:9dce9c54 r5:9ddc4000 r4:81203048
          [   75.796982] [<80139094>] (raw_notifier_call_chain) from [<806a9524>] (dsa_port_notify+0x24/0x38)
          [   75.804483] [<806a9500>] (dsa_port_notify) from [<806a9c7c>] (dsa_port_fdb_add+0x50/0x6c)
          [   75.811371] [<806a9c2c>] (dsa_port_fdb_add) from [<806ab228>] (dsa_slave_switchdev_event_work+0xb0/0x10c)
          [   75.819635]  r4:9ddffc00
          [   75.820885] [<806ab178>] (dsa_slave_switchdev_event_work) from [<80131e30>] (process_one_work+0x120/0x3a4)
          [   75.829241]  r6:9f40d200 r5:9f4c1900 r4:9ddffc00 r3:806ab178
          [   75.833612] [<80131d10>] (process_one_work) from [<80132124>] (worker_thread+0x70/0x574)
          [   75.840415]  r10:9f4c1900 r9:9f40d200 r8:9f54a038 r7:9f40d214 r6:812119a0 r5:9f4c1918
          [   75.846945]  r4:9f40d200
          [   75.848191] [<801320b4>] (worker_thread) from [<80137ad0>] (kthread+0x130/0x160)
          [   75.854300]  r10:9f4f7e88 r9:9f5f2dd8 r8:801320b4 r7:9f4c1900 r6:00000000 r5:9f53dbc0
          [   75.860830]  r4:9f5f2dc0
          [   75.862076] [<801379a0>] (kthread) from [<801010e8>] (ret_from_fork+0x14/0x2c)
          [   75.867999] Exception stack(0x9f54bfb0 to 0x9f54bff8)
          [   75.871753] bfa0:                                     00000000 00000000 00000000 00000000
          [   75.878640] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
          [   75.885519] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000
          [   75.890844]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:801379a0
          [   75.897377]  r4:9f53dbc0 r3:9f54a000
          [   75.899663] Code: e3a02000 e3a03000 e14b26f4 e24bc055 (e5973000)
          [   75.904575] ---[ end trace fbca818a124dbf0d ]---
      
      Fixes: 816a3bed ("switchdev: Add fdb.added_by_user to switchdev notifications")
      Signed-off-by: default avatarVivien Didelot <vivien.didelot@savoirfairelinux.com>
      Reviewed-by: default avatarNikolay Aleksandrov <nikolay@cumulusnetworks.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a37fb855
    • Jon Maloy's avatar
      tipc: clean up removal of binding table items · 5f30721c
      Jon Maloy authored
      In commit be47e41d ("tipc: fix use-after-free in tipc_nametbl_stop")
      we fixed a problem caused by premature release of service range items.
      
      That fix is correct, and solved the problem. However, it doesn't address
      the root of the problem, which is that we don't lookup the tipc_service
       -> service_range -> publication items in the correct hierarchical
      order.
      
      In this commit we try to make this right, and as a side effect obtain
      some code simplification.
      Acked-by: default avatarYing Xue <ying.xue@windriver.com>
      Signed-off-by: default avatarJon Maloy <jon.maloy@ericsson.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5f30721c
    • Kirill Tkhai's avatar
      tun: Do SIOCGSKNS out of rtnl_lock() · f663706a
      Kirill Tkhai authored
      Since net ns of tun device is assigned on the device creation,
      and it never changes, we do not need to use any lock to get it
      from alive tun.
      Signed-off-by: default avatarKirill Tkhai <ktkhai@virtuozzo.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f663706a
    • David S. Miller's avatar
      Merge branch 'net-Update-static-keys-to-modern-api' · 508c461c
      David S. Miller authored
      Davidlohr Bueso says:
      
      ====================
      net: Update static keys to modern api
      
      The following patches update pretty much all core net static key users
      to the modern api. Changes are mostly trivial conversion without affecting
      any semantics. The motivation is a resend of patches 1 and 2 from a while[1]
      back, and the rest are added patches, specific for -net.
      
      Applies against today's linux-next. Compile tested only.
      
      [1] lkml.kernel.org/r/20180326210929.5244-1-dave@stgolabs.net
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      508c461c
    • Davidlohr Bueso's avatar
      net/udp: Update udp_encap_needed static key to modern api · 88ab3108
      Davidlohr Bueso authored
      No changes in refcount semantics -- key init is false; replace
      
      static_key_enable         with   static_branch_enable
      static_key_slow_inc|dec   with   static_branch_inc|dec
      static_key_false          with   static_branch_unlikely
      
      Added a '_key' suffix to udp and udpv6 encap_needed, for better
      self documentation.
      Signed-off-by: default avatarDavidlohr Bueso <dbueso@suse.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      88ab3108
    • Davidlohr Bueso's avatar
      net: Update generic_xdp_needed static key to modern api · 02786475
      Davidlohr Bueso authored
      No changes in refcount semantics -- key init is false; replace
      
      static_key_slow_inc|dec   with   static_branch_inc|dec
      static_key_false          with   static_branch_unlikely
      
      Added a '_key' suffix to generic_xdp_needed, for better self
      documentation.
      Signed-off-by: default avatarDavidlohr Bueso <dbueso@suse.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      02786475
    • Davidlohr Bueso's avatar
      net: Update netstamp_needed static key to modern api · 39e83922
      Davidlohr Bueso authored
      No changes in refcount semantics -- key init is false; replace
      
      static_key_slow_inc|dec   with   static_branch_inc|dec
      static_key_false          with   static_branch_unlikely
      
      Added a '_key' suffix to netstamp_needed, for better self
      documentation.
      Signed-off-by: default avatarDavidlohr Bueso <dbueso@suse.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      39e83922
    • Davidlohr Bueso's avatar
      net: Update [e/in]gress_needed static key to modern api · aabf6772
      Davidlohr Bueso authored
      No changes in semantics -- key init is false; replace
      
      static_key_slow_inc|dec   with   static_branch_inc|dec
      static_key_false          with   static_branch_unlikely
      
      Added a '_key' suffix to both ingress_needed and egress_needed,
      for better self documentation.
      Signed-off-by: default avatarDavidlohr Bueso <dbueso@suse.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      aabf6772
    • Davidlohr Bueso's avatar
      net/sock: Update memalloc_socks static key to modern api · a7950ae8
      Davidlohr Bueso authored
      No changes in refcount semantics -- key init is false; replace
      
      static_key_slow_inc|dec   with   static_branch_inc|dec
      static_key_false          with   static_branch_unlikely
      
      Added a '_key' suffix to memalloc_socks, for better self
      documentation.
      Signed-off-by: default avatarDavidlohr Bueso <dbueso@suse.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a7950ae8
    • Davidlohr Bueso's avatar
      net/ipv4: Update ip_tunnel_metadata_cnt static key to modern api · 5263a98f
      Davidlohr Bueso authored
      No changes in refcount semantics -- key init is false; replace
      
      static_key_slow_inc|dec   with   static_branch_inc|dec
      static_key_false          with   static_branch_unlikely
      Signed-off-by: default avatarDavidlohr Bueso <dbueso@suse.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5263a98f
    • Marek Behún's avatar
      net: dsa: mv88e6xxx: 88E6141/6341 SERDES support · 5bafeb6e
      Marek Behún authored
      The 88E6141/6341 switches (also known as Topaz) have 1 SGMII lane,
      which can be configured the same way as the SERDES lane on 88E6390.
      Signed-off-by: default avatarMarek Behun <marek.behun@nic.cz>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5bafeb6e
    • Jose Abreu's avatar
      net: stmmac: Add support for U32 TC filter using Flexible RX Parser · 4dbbe8dd
      Jose Abreu authored
      This adds support for U32 filter by using an HW only feature called
      Flexible RX Parser. This allow us to match any given packet field with a
      pattern and accept/reject or even route the packet to a specific DMA
      channel.
      
      Right now we only support acception or rejection of frame and we only
      support simple rules. Though, the Parser has the flexibility of jumping to
      specific rules as an if condition so complex rules can be established.
      
      This is only supported in GMAC5.10+.
      
      The following commands can be used to test this code:
      
      	1) Setup an ingress qdisk:
      	# tc qdisc add dev eth0 handle ffff: ingress
      
      	2) Setup a filter (e.g. filter by IP):
      	# tc filter add dev eth0 parent ffff: protocol ip u32 match ip \
      		src 192.168.0.3 skip_sw action drop
      
      In every tests performed we always used the "skip_sw" flag to make sure
      only the RX Parser was involved.
      Signed-off-by: default avatarJose Abreu <joabreu@synopsys.com>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Joao Pinto <jpinto@synopsys.com>
      Cc: Vitor Soares <soares@synopsys.com>
      Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
      Cc: Alexandre Torgue <alexandre.torgue@st.com>
      Cc: Jakub Kicinski <kubakici@wp.pl>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4dbbe8dd
    • Yunsheng Lin's avatar
      net: hns3: Add support of hardware rx-vlan-offload to HNS3 VF driver · b2641e2a
      Yunsheng Lin authored
      This patch adds support of hardware rx-vlan-offload to VF driver.
      VF uses mailbox to convey PF to configure the hardware.
      Signed-off-by: default avatarYunsheng Lin <linyunsheng@huawei.com>
      Signed-off-by: default avatarPeng Li <lipeng321@huawei.com>
      Signed-off-by: default avatarSalil Mehta <salil.mehta@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b2641e2a
    • Nisar Sayed's avatar
      microchip_t1: Add driver for Microchip LAN87XX T1 PHYs · 3e50d2da
      Nisar Sayed authored
      Add driver for Microchip LAN87XX T1 PHYs
      
      This patch support driver for Microchp T1 PHYs.
      There will be followup patches to this driver to support T1 PHY
      features such as cable diagnostics, signal quality indicator(SQI),
      sleep and wakeup (TC10) support.
      Signed-off-by: default avatarNisar Sayed <Nisar.Sayed@microchip.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3e50d2da
    • David S. Miller's avatar
      Merge tag 'mlx5-updates-2018-05-07' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux · db1617a1
      David S. Miller authored
      Saeed Mahameed says:
      
      ====================
      mlx5-updates-2018-05-07
      
      mlx5 core driver misc cleanups and updates:
       - fix spelling mistake: "modfiy" -> "modify"
       - Cleanup unused field in Work Queue parameters
       - dump_command mailbox length printed
       - Refactor num of blocks in mailbox calculation
       - Decrease level of prints about non-existent MKEY
       - remove some extraneous spaces in indentations
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      db1617a1
  2. 09 May, 2018 9 commits
  3. 08 May, 2018 9 commits