1. 17 May, 2021 32 commits
    • Petr Machata's avatar
      selftests: mlxsw: qos_headroom: Convert to iproute2 dcb · 9a1cac06
      Petr Machata authored
      There is a dedicated tool for configuration of DCB in iproute2 now. Use it
      in the selftest instead of mlnx_qos.
      Signed-off-by: default avatarPetr Machata <petrm@nvidia.com>
      Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9a1cac06
    • Ido Schimmel's avatar
      selftests: mlxsw: Make sampling test more robust · 16355c0b
      Ido Schimmel authored
      The test sometimes fails with an error message such as:
      
      TEST: tc sample (w/ flower) rate (egress)                           [FAIL]
      	Expected 100 packets, got 70 packets, which is -30% off. Required accuracy is +-25%
      
      Make the test more robust by generating more packets, therefore
      increasing the number of expected samples. Decrease the transmission
      delay in order not to needlessly prolong the test.
      Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      16355c0b
    • Danielle Ratson's avatar
      selftests: mlxsw: Make the unsplit array global in port_scale test · 5d01071e
      Danielle Ratson authored
      Currently, the array of the ports that were split in the port_scale test
      is local, so the port_cleanup() unsplits an empty array.
      
      Make the array global so the cleanup will be preformed properly.
      Suggested-by: default avatarPetr Machata <petrm@nvidia.com>
      Signed-off-by: default avatarDanielle Ratson <danieller@nvidia.com>
      Reviewed-by: default avatarPetr Machata <petrm@nvidia.com>
      Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5d01071e
    • David S. Miller's avatar
      Merge branch 'func-names-comment' · 16145dbd
      David S. Miller authored
      Yang Shen says:
      
      ====================
      Rid W=1 warnings in net
      
      This is a set to fully clean drivers/net.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      16145dbd
    • Yang Shen's avatar
      net: hisilicon: hns: Fix wrong function name in comments · 5a9594cf
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c:121: warning: expecting prototype for hns_mac_is_adjust_link(). Prototype was for hns_mac_need_adjust_link() instead
       drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c:386: warning: expecting prototype for hns_mac_queue_config_bc_en(). Prototype was for hns_mac_port_config_bc_en() instead
       drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c:607: warning: expecting prototype for hns_mac_set_autoneg(). Prototype was for hns_mac_set_pauseparam() instead
       drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c:236: warning: expecting prototype for hns_ppe_qid_cfg(). Prototype was for hns_dsaf_ppe_qid_cfg() instead
       drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c:623: warning: expecting prototype for dsaf_tbl_tcam_mcast_cfg(). Prototype was for hns_dsaf_tbl_tcam_mcast_cfg() instead
       drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c:1220: warning: expecting prototype for hns_dsaf_tbl_tcam_init(). Prototype was for hns_dsaf_comm_init() instead
       drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c:2121: warning: expecting prototype for dsaf_pfc_unit_cnt(). Prototype was for hns_dsaf_pfc_unit_cnt() instead
       drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c:2153: warning: expecting prototype for dsaf_port_work_rate_cfg(). Prototype was for hns_dsaf_port_work_rate_cfg() instead
       drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c:2745: warning: expecting prototype for hns_dsaf_get_sset_count(). Prototype was for hns_dsaf_get_regs_count() instead
       drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c:2957: warning: expecting prototype for dsaf_probe(). Prototype was for hns_dsaf_probe() instead
       drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c:3011: warning: expecting prototype for dsaf_remove(). Prototype was for hns_dsaf_remove() instead
       drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c:366: warning: expecting prototype for hns_dsaf_srst_chns(). Prototype was for hns_dsaf_srst_chns_acpi() instead
       drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c:509: warning: expecting prototype for hns_mac_get_sds_mode(). Prototype was for hns_mac_get_phy_if() instead
       drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c:303: warning: expecting prototype for ppe_init_hw(). Prototype was for hns_ppe_init_hw() instead
       drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c:350: warning: expecting prototype for ppe_uninit_hw(). Prototype was for hns_ppe_uninit_hw() instead
       drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c:391: warning: expecting prototype for hns_ppe_reset(). Prototype was for hns_ppe_reset_common() instead
       drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c:464: warning: expecting prototype for ppe_get_strings(). Prototype was for hns_ppe_get_strings() instead
       drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c:920: warning: expecting prototype for rcb_get_sset_count(). Prototype was for hns_rcb_get_ring_regs_count() instead
       drivers/net/ethernet/hisilicon/hns/hns_dsaf_xgmac.c:112: warning: expecting prototype for hns_xgmac_tx_lf_rf_insert(). Prototype was for hns_xgmac_lf_rf_insert() instead
       drivers/net/ethernet/hisilicon/hns/hns_dsaf_xgmac.c:122: warning: expecting prototype for hns_xgmac__lf_rf_control_init(). Prototype was for hns_xgmac_lf_rf_control_init() instead
       drivers/net/ethernet/hisilicon/hns/hns_enet.c:777: warning: expecting prototype for hns_nic_adp_coalesce(). Prototype was for hns_nic_adpt_coalesce() instead
       drivers/net/ethernet/hisilicon/hns/hns_ethtool.c:202: warning: expecting prototype for hns_nic_set_link_settings(). Prototype was for hns_nic_set_link_ksettings() instead
       drivers/net/ethernet/hisilicon/hns/hns_ethtool.c:837: warning: expecting prototype for get_ethtool_stats(). Prototype was for hns_get_ethtool_stats() instead
       drivers/net/ethernet/hisilicon/hns/hns_ethtool.c:894: warning: expecting prototype for get_strings(). Prototype was for hns_get_strings() instead
      
      Cc: Yisen Zhuang <yisen.zhuang@huawei.com>
      Cc: Salil Mehta <salil.mehta@huawei.com>
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5a9594cf
    • Yang Shen's avatar
      net: phy: Demote non-compliant kernel-doc headers · 1f2d109e
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/phy/adin.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
       drivers/net/phy/rockchip.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
      
      Cc: Heiner Kallweit <hkallweit1@gmail.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1f2d109e
    • Yang Shen's avatar
      net: via: Fix wrong function name in comments · 03055a25
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/via/via-velocity.c:1908: warning: expecting prototype for tx_srv(). Prototype was for velocity_tx_srv() instead
       drivers/net/ethernet/via/via-velocity.c:2466: warning: expecting prototype for velocity_get_status(). Prototype was for velocity_get_stats() instead
       drivers/net/ethernet/via/via-velocity.c:3734: warning: expecting prototype for velocity_cleanup(). Prototype was for velocity_cleanup_module() instead
      
      Cc: Francois Romieu <romieu@fr.zoreil.com>
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      03055a25
    • Yang Shen's avatar
      net: ti: Fix wrong struct name in comments · 85ead77d
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/ti/cpsw_ale.c:88: warning: expecting prototype for struct ale_dev_id. Prototype was for struct cpsw_ale_dev_id instead
      
      Cc: Cyril Chemparathy <cyril@ti.com>
      Cc: Grygorii Strashko <grygorii.strashko@ti.com>
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      85ead77d
    • Yang Shen's avatar
      net: socionext: Demote non-compliant kernel-doc headers · 40d9fca8
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/socionext/sni_ave.c:28: warning: expecting prototype for sni_ave.c(). Prototype was for AVE_IDR() instead
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Reviewed-by: default avatarKunihiko Hayashi <hayashi.kunihiko@socionext.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      40d9fca8
    • Yang Shen's avatar
      net: samsung: sxgbe: Fix wrong function name in comments · 61633d71
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c:797: warning: expecting prototype for sxgbe_tx_clean(). Prototype was for sxgbe_tx_all_clean() instead
       drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c:1026: warning: expecting prototype for sxgbe_init_tx_coalesce(). Prototype was for sxgbe_tx_init_coalesce() instead
      
      Cc: Byungho An <bh74.an@samsung.com>
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      61633d71
    • Yang Shen's avatar
      net: calxeda: Fix wrong function name in comments · 9f2e6fb6
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c:761: warning: expecting prototype for qlcnic_83xx_idc_cold_state(). Prototype was for qlcnic_83xx_idc_cold_state_handler() instead
       drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c:192: warning: expecting prototype for qlcnic_83xx_vnic_opmode(). Prototype was for qlcnic_83xx_config_vnic_opmode() instead
      
      Cc: Shahed Shaikh <shshaikh@marvell.com>
      Cc: Manish Chopra <manishc@marvell.com>
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9f2e6fb6
    • Yang Shen's avatar
      net: netronome: nfp: Fix wrong function name in comments · a507b164
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/netronome/nfp/ccm_mbox.c:52: warning: expecting prototype for struct nfp_ccm_mbox_skb_cb. Prototype was for struct nfp_ccm_mbox_cmsg_cb instead
       drivers/net/ethernet/netronome/nfp/flower/tunnel_conf.c:35: warning: expecting prototype for struct nfp_tun_pre_run_rule. Prototype was for struct nfp_tun_pre_tun_rule instead
       drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nffw.c:38: warning: expecting prototype for NFFW_INFO_VERSION history(). Prototype was for NFFW_INFO_VERSION_CURRENT() instead
      
      Cc: Simon Horman <simon.horman@netronome.com>
      Cc: Jakub Kicinski <kuba@kernel.org>
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Reviewed-by: default avatarSimon Horman <simon.horman@netronome.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a507b164
    • Yang Shen's avatar
      net: neterion: vxge: Fix wrong function name in comments · 146c91e2
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/neterion/vxge/vxge-config.c:4895: warning: expecting prototype for vxge_hw_vpath_rx_doorbell_post(). Prototype was for vxge_hw_vpath_rx_doorbell_init() instead
       drivers/net/ethernet/neterion/vxge/vxge-main.c:1814: warning: expecting prototype for vxge_poll(). Prototype was for vxge_poll_msix() instead
       drivers/net/ethernet/neterion/vxge/vxge-main.c:4761: warning: expecting prototype for vxge_rem_nic(). Prototype was for vxge_remove() instead
      
      Cc: Jon Mason <jdmason@kudzu.us>
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      146c91e2
    • Yang Shen's avatar
      net: neterion: Fix wrong function name in comments · dc432f5a
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/neterion/s2io.c:2759: warning: expecting prototype for s2io_poll(). Prototype was for s2io_poll_msix() instead
       drivers/net/ethernet/neterion/s2io.c:5304: warning: expecting prototype for s2io_ethtol_get_link_ksettings(). Prototype was for s2io_ethtool_get_link_ksettings() instead
      
      Cc: Jon Mason <jdmason@kudzu.us>
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dc432f5a
    • Yang Shen's avatar
      net: microchip: Demote non-compliant kernel-doc headers · 331a3219
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/microchip/encx24j600.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
      
      Cc: Jon Ringle <jringle@gridpoint.com>
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      331a3219
    • Yang Shen's avatar
      net: micrel: Fix wrong function name in comments · 229fd41f
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/micrel/ksz884x.c:2163: warning: expecting prototype for sw_get_board_storm(). Prototype was for sw_get_broad_storm() instead
       drivers/net/ethernet/micrel/ksz884x.c:2985: warning: expecting prototype for port_w_phy(). Prototype was for hw_w_phy() instead
       drivers/net/ethernet/micrel/ksz884x.c:4792: warning: expecting prototype for transmit_done(). Prototype was for tx_done() instead
      
      Cc: Tristram Ha <Tristram.Ha@micrel.com>
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      229fd41f
    • Yang Shen's avatar
      net: huawei: hinic: Fix wrong function name in comments · d6174870
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
       drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c:604: warning: expecting prototype for cmdq_arm_ceq_handler(). Prototype was for cmdq_sync_cmd_handler() instead
       drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c:59: warning: expecting prototype for get_capability(). Prototype was for parse_capability() instead
       drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c:101: warning: expecting prototype for get_cap_from_fw(). Prototype was for get_capability() instead
       drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c:355: warning: expecting prototype for clear_io_resource(). Prototype was for clear_io_resources() instead
       drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c:1100: warning: expecting prototype for hinic_hwdev_get_sq(). Prototype was for hinic_hwdev_get_rq() instead
       drivers/net/ethernet/huawei/hinic/hinic_hw_if.c:341: warning: expecting prototype for dma_attr_table_init(). Prototype was for dma_attr_init() instead
       drivers/net/ethernet/huawei/hinic/hinic_hw_qp.c:904: warning: expecting prototype for hinic_put_wqe(). Prototype was for hinic_rq_put_wqe() instead
       drivers/net/ethernet/huawei/hinic/hinic_main.c:241: warning: expecting prototype for create_txqs(). Prototype was for create_rxqs() instead
       drivers/net/ethernet/huawei/hinic/hinic_main.c:295: warning: expecting prototype for free_txqs(). Prototype was for free_rxqs() instead
       drivers/net/ethernet/huawei/hinic/hinic_tx.c:667: warning: expecting prototype for free_all_rx_skbs(). Prototype was for free_all_tx_skbs() instead
      
      Cc: Bin Luo <luobin9@huawei.com>
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d6174870
    • Yang Shen's avatar
      net: chelsio: cxgb4vf: Fix wrong function name in comments · 1eb00ff5
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/chelsio/cxgb4vf/sge.c:966: warning: expecting prototype for check_ring_tx_db(). Prototype was for ring_tx_db() instead
      
      Cc: Raju Rangoju <rajur@chelsio.com>
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1eb00ff5
    • Yang Shen's avatar
      net: chelsio: cxgb4: Fix wrong function name in comments · e0333b1b
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/chelsio/cxgb3/sge.c:677: warning: expecting prototype for free_qset(). Prototype was for t3_free_qset() instead
       drivers/net/ethernet/chelsio/cxgb3/sge.c:1266: warning: expecting prototype for eth_xmit(). Prototype was for t3_eth_xmit() instead
      
      Cc: Raju Rangoju <rajur@chelsio.com>
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e0333b1b
    • Yang Shen's avatar
      net: chelsio: cxgb3: Fix wrong function name in comments · aeed744a
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/chelsio/cxgb3/sge.c:677: warning: expecting prototype for free_qset(). Prototype was for t3_free_qset() instead
       drivers/net/ethernet/chelsio/cxgb3/sge.c:1266: warning: expecting prototype for eth_xmit(). Prototype was for t3_eth_xmit() instead
      
      Cc: Raju Rangoju <rajur@chelsio.com>
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      aeed744a
    • Yang Shen's avatar
      net: calxeda: Fix wrong function name in comments · 2e45d961
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/calxeda/xgmac.c:720: warning: expecting prototype for init_xgmac_dma_desc_rings(). Prototype was for xgmac_dma_desc_rings_init() instead
       drivers/net/ethernet/calxeda/xgmac.c:867: warning: expecting prototype for xgmac_tx(). Prototype was for xgmac_tx_complete() instead
       drivers/net/ethernet/calxeda/xgmac.c:1049: warning: expecting prototype for xgmac_release(). Prototype was for xgmac_stop() instead
       drivers/net/ethernet/calxeda/xgmac.c:1822: warning: expecting prototype for xgmac_dvr_remove(). Prototype was for xgmac_remove() instead
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2e45d961
    • Yang Shen's avatar
      net: cadence: Demote non-compliant kernel-doc headers · c1167cee
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/cadence/macb_pci.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
       drivers/net/ethernet/cadence/macb_ptp.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
      
      Cc: Nicolas Ferre <nicolas.ferre@microchip.com>
      Cc: Claudiu Beznea <claudiu.beznea@microchip.com>
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c1167cee
    • Yang Shen's avatar
      net: brocade: bna: Fix wrong function name in comments · 5a02bf4f
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/brocade/bna/bfa_cee.c:91: warning: expecting prototype for bfa_cee_get_attr_isr(). Prototype was for bfa_cee_get_stats_isr() instead
      
      Cc: Rasesh Mody <rmody@marvell.com>
      Cc: Sudarsana Kalluru <skalluru@marvell.com>
      Cc: GR-Linux-NIC-Dev@marvell.com
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5a02bf4f
    • Yang Shen's avatar
      net: broadcom: bnx2x: Fix wrong function name in comments · 76d85049
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c:13595: warning: expecting prototype for bnx2x_get_num_none_def_sbs(). Prototype was for bnx2x_get_num_non_def_sbs() instead
       drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c:4165: warning: expecting prototype for atomic_add_ifless(). Prototype was for __atomic_add_ifless() instead
       drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c:4193: warning: expecting prototype for atomic_dec_ifmoe(). Prototype was for __atomic_dec_ifmoe() instead
      
      Cc: Ariel Elior <aelior@marvell.com>
      Cc: Sudarsana Kalluru <skalluru@marvell.com>
      Cc: GR-everest-linux-l2@marvell.com
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      76d85049
    • Yang Shen's avatar
      net: atheros: atl1x: Fix wrong function name in comments · c706c75a
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/atheros/atlx/atl1.c:1020: warning: expecting prototype for atl1_setup_mem_resources(). Prototype was for atl1_setup_ring_resources() instead
      
      Cc: Chris Snook <chris.snook@gmail.com>
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c706c75a
    • Yang Shen's avatar
      net: atheros: atl1e: Fix wrong function name in comments · b43e1554
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/atheros/atl1e/atl1e_main.c:367: warning: expecting prototype for atl1e_set_mac(). Prototype was for atl1e_set_mac_addr() instead
       drivers/net/ethernet/atheros/atl1e/atl1e_main.c:796: warning: expecting prototype for atl1e_setup_mem_resources(). Prototype was for atl1e_setup_ring_resources() instead
      
      Cc: Chris Snook <chris.snook@gmail.com>
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b43e1554
    • Yang Shen's avatar
      net: atheros: atl1c: Fix wrong function name in comments · 8965c1c5
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/atheros/atl1c/atl1c_main.c:442: warning: expecting prototype for atl1c_set_mac(). Prototype was for atl1c_set_mac_addr() instead
       drivers/net/ethernet/atheros/atl1c/atl1c_main.c:969: warning: expecting prototype for atl1c_setup_mem_resources(). Prototype was for atl1c_setup_ring_resources() instead
       drivers/net/ethernet/atheros/atl1c/atl1c_main.c:1375: warning: expecting prototype for atl1c_configure(). Prototype was for atl1c_configure_mac() instead
      
      Cc: Chris Snook <chris.snook@gmail.com>
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8965c1c5
    • Yang Shen's avatar
      net: arc: Demote non-compliant kernel-doc headers · 1d7f7eca
      Yang Shen authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/arc/emac_rockchip.c:18: warning: expecting prototype for emac(). Prototype was for DRV_NAME() instead
      Signed-off-by: default avatarYang Shen <shenyang39@huawei.com>
      Reviewed-by: default avatarHeiko Stuebner <heiko@sntech.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1d7f7eca
    • Heiner Kallweit's avatar
      r8169: use KBUILD_MODNAME instead of own module name definition · 7cb7541a
      Heiner Kallweit authored
      Remove own module name definition and use KBUILD_MODNAME instead.
      Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7cb7541a
    • David S. Miller's avatar
      Merge branch 'ipv4-unicast' · 58fee5fc
      David S. Miller authored
      Seth David Schoen says:
      
      ====================
      Treat IPv4 lowest address as ordinary unicast address
      
      Treat the lowest address in a subnet (the address within the subnet
      which contains all 0 bits) as an ordinary unicast address instead
      of as a potential second broadcast address.  For example, in subnet
      192.168.17.24/29, which contains 8 addresses, make address 192.168.17.24
      usable as a normal unicast address (while continuing to support
      192.168.17.31 as a broadcast address).
      
      Since EVERY network number or subnet formerly had its host number 0
      reserved, this patchset adds 1 more usable host address to every network
      and subnet (i.e., 2^(32-n)-1 instead of 2^(32-n)-2 addresses available
      for assignment on each IPv4 /n subnet).  For small subnets, this is a
      significant gain; instead of 6 usable host addresses, a /29 would now
      contain 7, a 16% increase.
      
      The reserving of host number 0 for broadcast came about in RFC 1122 from
      1989 (page 31, "IP addresses are not permitted to have the value 0 or -1
      for any of the <Host-number>, <Network-number>, or <Subnet-number>
      fields (except in the special cases listed above)" and page 66, "There
      is a class of hosts [4.2BSD Unix and its derivatives, but not 4.3BSD]
      that use non-standard broadcast address forms, substituting 0 for -1.
      All hosts SHOULD recognize and accept any of these non-standard
      broadcast addresses as the destination address of an incoming
      datagram.").  This has been repeated in subsequent RFCs, always with
      backwards-compatibility rationales.  Network troubles (broadcast storms)
      ensued when some early hosts on a LAN treated the lowest address as
      unicast and others treated it as broadcast.  Multiple 1989 changes to IP
      successfully prevented these.  The key was adding the layering violation
      rule requiring hosts to ignore all IP datagrams with unicast destination
      addresses that were received in low-level (Ethernet) broadcasts.  That
      change is still in effect, and this patchset does not alter it.  All
      operating systems since 4.3BSD, including all the current BSD OSes, now
      use the standard IP broadcast address.  4.2BSD has been obsolete for
      more than 30 years, and all modern hosts ignore hardware broadcasts
      containing unicast IP addresses, so there is no modern likelihood of
      broadcast storms even when hosts disagree on the unicast vs. broadcast
      status of a given address.
      
      Tests with this patchset show that other Linux hosts on the local segment
      simply ignore a host numbered with the lowest address, both for incoming
      and outgoing packet purposes.  They don't interoperate with it, but they
      also don't cause broadcast storms or any other malfunction.  If patched,
      they have no trouble interoperating with a host at the lowest address.
      
      Unmodified "distant" hosts that are not on the same segment successfully
      interoperate, as long as the gateway on the local segment, and the local
      host itself using the lowest address, have this patch.  (Distant hosts
      have no way of knowing whether a given address is the lowest address
      in a faraway network segment, so they treat it no differently than any
      other unicast address.)  This means that each local site can change this
      behavior locally, resulting immediately in global interoperability with
      the newly usable lowest local address.
      
      Modern software and documentation continues to use the definition of the
      directed, or "net-directed", broadcast address as "a host ID of all one
      bits".  The Internet no longer gets any benefit from having two different
      broadcast addresses usable on every Ethernet segment.  I have not been
      able to find any documentation that suggests that users or software should
      ever intentionally use the all-zero form, or that justifies it other than
      as a historic Berkeleyism.  RFCs 1112, 1812, and 3021 state that hosts and
      routers need to maintain compatibility with the old form -- but they give
      no rationale other than the past existence of the 4.2BSD behavior.
      
      We're happy to provide more historical details or information about
      behavior of other systems in this regard by e-mail or as future patches
      to kernel documentation files.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      58fee5fc
    • Seth David Schoen's avatar
      selftests: Lowest IPv4 address in a subnet is valid · 6101ca03
      Seth David Schoen authored
      Expect the lowest IPv4 address in a subnet to be assignable
      and addressable as a unicast (non-broadcast) address on a
      local network segment.
      Signed-off-by: default avatarSeth David Schoen <schoen@loyalty.org>
      Suggested-by: default avatarJohn Gilmore <gnu@toad.com>
      Acked-by: default avatarDave Taht <dave.taht@gmail.com>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6101ca03
    • Seth David Schoen's avatar
      ip: Treat IPv4 segment's lowest address as unicast · 94c821c7
      Seth David Schoen authored
      Treat only the highest, not the lowest, IPv4 address within a local
      subnet as a broadcast address.
      Signed-off-by: default avatarSeth David Schoen <schoen@loyalty.org>
      Suggested-by: default avatarJohn Gilmore <gnu@toad.com>
      Acked-by: default avatarDave Taht <dave.taht@gmail.com>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      94c821c7
  2. 14 May, 2021 8 commits
    • Ansuel Smith's avatar
      net: mdio: ipq8064: enlarge sleep after read/write operation · 77091933
      Ansuel Smith authored
      With the use of the qca8k dsa driver, some problem arised related to
      port status detection. With a load on a specific port (for example a
      simple speed test), the driver starts to behave in a strange way and
      garbage data is produced. To address this, enlarge the sleep delay and
      address a bug for the reg offset 31 that require additional delay for
      this specific reg.
      Signed-off-by: default avatarAnsuel Smith <ansuelsmth@gmail.com>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      77091933
    • Ansuel Smith's avatar
      net: mdio: ipq8064: add regmap config to disable REGCACHE · b097bea1
      Ansuel Smith authored
      mdio drivers should not use REGCHACHE. Also disable locking since it's
      handled by the mdio users and regmap is always accessed atomically.
      Signed-off-by: default avatarAnsuel Smith <ansuelsmth@gmail.com>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b097bea1
    • Ansuel Smith's avatar
      net: mdio: ipq8064: clean whitespaces in define · 94864069
      Ansuel Smith authored
      Fix mixed whitespace and tab for define spacing.
      Signed-off-by: default avatarAnsuel Smith <ansuelsmth@gmail.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      94864069
    • David S. Miller's avatar
      Merge branch 'qca8k-improvements' · ddd998af
      David S. Miller authored
      Ansuel Smith says:
      
      ====================
      Multiple improvement to qca8k stability
      
      Currently qca8337 switch are widely used on ipq8064 based router.
      On these particular router it was notice a very unstable switch with
      port not link detected as link with unknown speed, port dropping
      randomly and general unreliability. Lots of testing and comparison
      between this dsa driver and the original qsdk driver showed lack of some
      additional delay and values. A main difference arised from the original
      driver and the dsa one. The original driver didn't use MASTER regs to
      read phy status and the dedicated mdio driver worked correctly. Now that
      the dsa driver actually use these regs, it was found that these special
      read/write operation required mutual exclusion to normal
      qca8k_read/write operation. The add of mutex for these operation fixed
      the random port dropping and now only the actual linked port randomly
      dropped. Adding additional delay for set_page operation and fixing a bug
      in the mdio dedicated driver fixed also this problem. The current driver
      requires also more time to apply vlan switch. All of these changes and
      tweak permit a now very stable and reliable dsa driver and 0 port
      dropping. This series is currently tested by at least 5 user with
      different routers and all reports positive results and no problems.
      
      Changes v6:
      - Fix spelling mistake
      - Change ms to ns (confirmed by datasheet)
      Changes v5:
      - Removed mdio patch (sent separetly to try to reduce the series)
        I know it was asked to reduced this series since it big, but rework
        the new changes to skip and error check looks wrong. Since half of them
        are actually already reviewed I think it's better to keep this series as is.
      - Improve rgmii configurable patch
      - Move qca8k phy dedicated driver to at803x phy driver
      - Add support for dedicated internal mdio driver for qca8k
      Changes v4:
      - Use iopoll for busy_wait function
      - Better describe and split some confusing commits
      - Fix bad rgmii delay configurable patch
      - Drop phy generic patch to pass flags with phylink_connect_phy
      - Add dsa2 patch to declare mdio node in the switch node
      - Add dsa patch to permit dsa driver to declare custom get_phys_mii_mask
          Some background about the last 2 patch.
          The qca8k switch doesn't have a 1:1 map between port reg and phy reg.
          Currently it's used a function to convert port to the internal phy reg.
          I added some patch to fix this.
          - The dsa driver now check if the mdio node is present and use the of variant
            of the mdiobus_register
          - A custom phy_mii_mask is required as currently the mask is generated from
            the port reg, but in our case the mask would be different as it should be
            generated from the phy reg. To generalize this I added an extra function
            that driver can provide to pass custom phy_mii_mask.
      Changes v3:
      - Revert mdio writel changes (use regmap with REGCACHE disabled)
      - Split propagate error patch to 4 different patch
      Changes v2:
      - Implemented phy driver for internal PHYs
        I'm testing cable test functions as I found some documentation that
        actually declare regs about it. Problem is that it doesn't actually
        work. It seems that the value set are ignored by the phy.
      - Made the rgmii delay configurable
      - Reordered patch
      - Split mdio patches to more specific ones
      - Reworked mdio driver to use readl/writel instead of regmap
      - Reworked the entire driver to make it aware of any read/write error.
      - Added phy generic patch to pass flags with phylink_connect_phy
        function
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ddd998af
    • Ansuel Smith's avatar
      net: phy: add support for qca8k switch internal PHY in at803x · 272833b9
      Ansuel Smith authored
      Since the at803x share the same regs, it's assumed they are based on the
      same implementation. Make it part of the at803x PHY driver to skip
      having redudant code.
      Add initial support for qca8k internal PHYs. The internal PHYs requires
      special mmd and debug values to be set based on the switch revision
      passwd using the dev_flags. Supports output of idle, receive and eee_wake
      errors stats.
      Some debug values sets can't be translated as the documentation lacks any
      reference about them.
      Signed-off-by: default avatarAnsuel Smith <ansuelsmth@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      272833b9
    • Ansuel Smith's avatar
      net: phy: at803x: clean whitespace errors · d0e13fd5
      Ansuel Smith authored
      Clean any whitespace errors and fix not aligned define.
      Signed-off-by: default avatarAnsuel Smith <ansuelsmth@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d0e13fd5
    • Ansuel Smith's avatar
      net: dsa: qca8k: pass switch_revision info to phy dev_flags · a46aec02
      Ansuel Smith authored
      Define get_phy_flags to pass switch_Revision needed to tweak the
      internal PHY with debug values based on the revision.
      Signed-off-by: default avatarAnsuel Smith <ansuelsmth@gmail.com>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a46aec02
    • Ansuel Smith's avatar
      net: dsa: qca8k: improve internal mdio read/write bus access · b7ebac35
      Ansuel Smith authored
      Improve the internal mdio read/write bus access by caching the value
      without accessing it for every read/write.
      Signed-off-by: default avatarAnsuel Smith <ansuelsmth@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b7ebac35