1. 13 Mar, 2021 16 commits
    • Ido Schimmel's avatar
      netdevsim: Create a helper for setting nexthop hardware flags · 40ff8371
      Ido Schimmel authored
      Instead of calling nexthop_set_hw_flags(), call a helper. It will be
      used to also set nexthop bucket flags in a subsequent patch.
      Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
      Reviewed-by: default avatarPetr Machata <petrm@nvidia.com>
      Signed-off-by: default avatarPetr Machata <petrm@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      40ff8371
    • Petr Machata's avatar
      netdevsim: fib: Introduce a lock to guard nexthop hashtable · 86927c9c
      Petr Machata authored
      Currently netdevsim relies on RTNL to maintain exclusivity in accessing the
      nexthop hash table. However, bucket notification may be called without RTNL
      having been held. Instead, introduce a custom lock to guard the table.
      Signed-off-by: default avatarPetr Machata <petrm@nvidia.com>
      Reviewed-by: default avatarIdo Schimmel <idosch@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      86927c9c
    • David S. Miller's avatar
      Merge branch 'ptp-warnings' · b202923d
      David S. Miller authored
      Lee Jones says:
      
      ====================
      Rid W=1 warnings from PTP
      
      This set is part of a larger effort attempting to clean-up W=1
      kernel builds, which are currently overwhelmingly riddled with
      niggly little warnings.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b202923d
    • Lee Jones's avatar
      ptp: ptp_p: Demote non-conformant kernel-doc headers and supply a param description · 287f93de
      Lee Jones authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'control' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'event' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'addend' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'accum' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'test' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'ts_compare' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'rsystime_lo' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'rsystime_hi' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'systime_lo' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'systime_hi' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'trgt_lo' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'trgt_hi' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'asms_lo' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'asms_hi' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'amms_lo' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'amms_hi' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'ch_control' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'ch_event' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'tx_snap_lo' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'tx_snap_hi' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'rx_snap_lo' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'rx_snap_hi' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'src_uuid_lo' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'src_uuid_hi' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'can_status' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'can_snap_lo' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'can_snap_hi' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'ts_sel' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'ts_st' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'reserve1' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'stl_max_set_en' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'stl_max_set' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'reserve2' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:78: warning: Function parameter or member 'srst' not described in 'pch_ts_regs'
       drivers/ptp/ptp_pch.c:121: warning: Function parameter or member 'regs' not described in 'pch_dev'
       drivers/ptp/ptp_pch.c:121: warning: Function parameter or member 'ptp_clock' not described in 'pch_dev'
       drivers/ptp/ptp_pch.c:121: warning: Function parameter or member 'caps' not described in 'pch_dev'
       drivers/ptp/ptp_pch.c:121: warning: Function parameter or member 'exts0_enabled' not described in 'pch_dev'
       drivers/ptp/ptp_pch.c:121: warning: Function parameter or member 'exts1_enabled' not described in 'pch_dev'
       drivers/ptp/ptp_pch.c:121: warning: Function parameter or member 'mem_base' not described in 'pch_dev'
       drivers/ptp/ptp_pch.c:121: warning: Function parameter or member 'mem_size' not described in 'pch_dev'
       drivers/ptp/ptp_pch.c:121: warning: Function parameter or member 'irq' not described in 'pch_dev'
       drivers/ptp/ptp_pch.c:121: warning: Function parameter or member 'pdev' not described in 'pch_dev'
       drivers/ptp/ptp_pch.c:121: warning: Function parameter or member 'register_lock' not described in 'pch_dev'
       drivers/ptp/ptp_pch.c:128: warning: Function parameter or member 'station' not described in 'pch_params'
       drivers/ptp/ptp_pch.c:291: warning: Function parameter or member 'pdev' not described in 'pch_set_station_address'
      
      Cc: Richard Cochran <richardcochran@gmail.com>
      Cc: LAPIS SEMICONDUCTOR <tshimizu818@gmail.com>
      Cc: netdev@vger.kernel.org
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      287f93de
    • Lee Jones's avatar
      ptp: ptp_clockmatrix: Demote non-kernel-doc header to standard comment · 9ec04c71
      Lee Jones authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/ptp/ptp_clockmatrix.c:1408: warning: Cannot understand  * @brief Maximum absolute value for write phase offset in picoseconds
       drivers/ptp/ptp_clockmatrix.c:1408: warning: Cannot understand  * @brief Maximum absolute value for write phase offset in picoseconds
       drivers/ptp/ptp_clockmatrix.c:1408: warning: Cannot understand  * @brief Maximum absolute value for write phase offset in picoseconds
       drivers/ptp/ptp_clockmatrix.c:1408: warning: Cannot understand  * @brief Maximum absolute value for write phase offset in picoseconds
       drivers/ptp/ptp_clockmatrix.c:1408: warning: Cannot understand  * @brief Maximum absolute value for write phase offset in picoseconds
      
      Cc: Richard Cochran <richardcochran@gmail.com>
      Cc: IDT-support-1588@lm.renesas.com
      Cc: netdev@vger.kernel.org
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9ec04c71
    • Lee Jones's avatar
      ptp_pch: Move 'pch_*()' prototypes to shared header · f90fc37f
      Lee Jones authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/ptp/ptp_pch.c:193:6: warning: no previous prototype for ‘pch_ch_control_write’ [-Wmissing-prototypes]
       drivers/ptp/ptp_pch.c:201:5: warning: no previous prototype for ‘pch_ch_event_read’ [-Wmissing-prototypes]
       drivers/ptp/ptp_pch.c:212:6: warning: no previous prototype for ‘pch_ch_event_write’ [-Wmissing-prototypes]
       drivers/ptp/ptp_pch.c:220:5: warning: no previous prototype for ‘pch_src_uuid_lo_read’ [-Wmissing-prototypes]
       drivers/ptp/ptp_pch.c:231:5: warning: no previous prototype for ‘pch_src_uuid_hi_read’ [-Wmissing-prototypes]
       drivers/ptp/ptp_pch.c:242:5: warning: no previous prototype for ‘pch_rx_snap_read’ [-Wmissing-prototypes]
       drivers/ptp/ptp_pch.c:259:5: warning: no previous prototype for ‘pch_tx_snap_read’ [-Wmissing-prototypes]
       drivers/ptp/ptp_pch.c:300:5: warning: no previous prototype for ‘pch_set_station_address’ [-Wmissing-prototypes]
      
      Cc: Richard Cochran <richardcochran@gmail.com> (maintainer:PTP HARDWARE CLOCK SUPPORT)
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jakub Kicinski <kuba@kernel.org>
      Cc: Flavio Suligoi <f.suligoi@asem.it>
      Cc: netdev@vger.kernel.org
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f90fc37f
    • Lee Jones's avatar
      ptp_pch: Remove unused function 'pch_ch_control_read()' · 257382c5
      Lee Jones authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/ptp/ptp_pch.c:182:5: warning: no previous prototype for ‘pch_ch_control_read’ [-Wmissing-prototypes]
      
      Cc: Richard Cochran <richardcochran@gmail.com> (maintainer:PTP HARDWARE CLOCK SUPPORT)
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jakub Kicinski <kuba@kernel.org>
      Cc: Flavio Suligoi <f.suligoi@asem.it>
      Cc: netdev@vger.kernel.org
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      257382c5
    • Rafał Miłecki's avatar
      net: dsa: bcm_sf2: setup BCM4908 internal crossbar · a9349f08
      Rafał Miłecki authored
      On some SoCs (e.g. BCM4908, BCM631[345]8) SF2 has an integrated
      crossbar. It allows connecting its selected external ports to internal
      ports. It's used by vendors to handle custom Ethernet setups.
      
      BCM4908 has following 3x2 crossbar. On Asus GT-AC5300 rgmii is used for
      connecting external BCM53134S switch. GPHY4 is usually used for WAN
      port. More fancy devices use SerDes for 2.5 Gbps Ethernet.
      
                    ┌──────────┐
      SerDes ─── 0 ─┤          │
                    │   3x2    ├─ 0 ─── switch port 7
       GPHY4 ─── 1 ─┤          │
                    │ crossbar ├─ 1 ─── runner (accelerator)
       rgmii ─── 2 ─┤          │
                    └──────────┘
      
      Use setup data based on DT info to configure BCM4908's switch port 7.
      Right now only GPHY and rgmii variants are supported. Handling SerDes
      can be implemented later.
      Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
      Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a9349f08
    • Rafał Miłecki's avatar
      net: dsa: bcm_sf2: store PHY interface/mode in port structure · 01488a0c
      Rafał Miłecki authored
      It's needed later for proper switch / crossbar setup.
      Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
      Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      01488a0c
    • Shubhankar Kuranagatti's avatar
      net: ipv4: route.c: Fix indentation of multi line comment. · 6ad08600
      Shubhankar Kuranagatti authored
      All comment lines inside the comment block have been aligned.
      Every line of comment starts with a * (uniformity in code).
      Signed-off-by: default avatarShubhankar Kuranagatti <shubhankarvk@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6ad08600
    • Rafał Miłecki's avatar
      net: broadcom: bcm4908_enet: support TX interrupt · 12bb508b
      Rafał Miłecki authored
      It appears that each DMA channel has its own interrupt and both rings
      can be configured (the same way) to handle interrupts.
      
      1. Make ring interrupts code generic (make it operate on given ring)
      2. Move napi to ring (so each has its own)
      3. Make IRQ handler generic (match ring against received IRQ number)
      4. Add (optional) support for TX interrupt
      Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      12bb508b
    • Rafał Miłecki's avatar
      dt-bindings: net: bcm4908-enet: add optional TX interrupt · ab4dda7a
      Rafał Miłecki authored
      I discovered that hardware actually supports two interrupts, one per DMA
      channel (RX and TX).
      Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ab4dda7a
    • David S. Miller's avatar
      Merge branch 'macb-fixed-link-fixes' · 26d2e042
      David S. Miller authored
      Robert Hancock says:
      
      ====================
      macb SGMII fixed-link fixes
      
      Some fixes to the macb driver for use in SGMII mode with a fixed-link (such as
      for chip-to-chip connectivity).
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      26d2e042
    • Robert Hancock's avatar
      net: macb: Disable PCS auto-negotiation for SGMII fixed-link mode · e276e5e4
      Robert Hancock authored
      When using a fixed-link configuration in SGMII mode, it's not really
      sensible to have auto-negotiation enabled since the link settings are
      fixed by definition. In other configurations, such as an SGMII
      connection to a PHY, it should generally be enabled.
      Signed-off-by: default avatarRobert Hancock <robert.hancock@calian.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e276e5e4
    • Robert Hancock's avatar
      net: macb: poll for fixed link state in SGMII mode · 8fab174b
      Robert Hancock authored
      When using a fixed-link configuration with GEM in SGMII mode, such as
      for a chip-to-chip interconnect, the link state was always showing as
      established regardless of the actual connectivity state. We can monitor
      the pcs_link_state bit in the Network Status register to determine
      whether the PCS link state is actually up.
      Signed-off-by: default avatarRobert Hancock <robert.hancock@calian.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8fab174b
    • David S. Miller's avatar
      Merge tag 'mlx5-updates-2021-03-12' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux · c232f81b
      David S. Miller authored
      Saeed Mahameed says:
      
      ====================
      mlx5-updates-2021-03-12
      
      1) TC support for ICMP parameters
      2) TC connection tracking with mirroring
      3) A round of trivial fixups and cleanups
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c232f81b
  2. 12 Mar, 2021 24 commits