Message ID | 20180605230454.GA10548@xps13.dannf |
---|---|
State | New |
Headers | show |
Series | [PULL,v3,SRU,Bionic] hns3 driver updates | expand |
On 05.06.2018 16:04, dann frazier wrote: > hns3 is a driver under active development, and is only used on > hardware that is currently pre-production. In fact, the current > version of the driver in Ubuntu doesn't work on current silicon > (crashes during init). > > Given the rate of development - and the pre-production status - I > believe syncing with the upstream driver-specific changes will be more > risk-averse/maintainable than surgically backporting only changesets > that individually qualify for SRU. This PR will get us in-sync with > the current state of linux-next. It also includes a number of > non-upstream (SAUCE) patches that are making their way upstream in > batches. I plan to track their upstream integration and replace the > SAUCE with upstream cherry-picks going forward. > > Tested on a D06 devel system. > > The following changes since commit b7be50f6450d62d2a2e3ad7599b63c6ca5c0006f: > > UBUNTU: Ubuntu-4.15.0-23.25 (2018-05-23 18:56:27 +0200) > > are available in the Git repository at: > > git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux hns3-updates-v3 > > for you to fetch changes up to d9f218aeb35ae8a1d85e24e8aa456cbc89ec85e7: > > UBUNTU: SAUCE: net: hns3: Optimize PF CMDQ interrupt switching process (2018-06-05 16:21:07 -0600) > > ---------------------------------------------------------------- > Fuyun Liang (30): > net: hns3: add existence check when remove old uc mac address > net: hns3: fix for netdev not running problem after calling net_stop and net_open > net: hns3: fix for ipv6 address loss problem after setting channels > net: hns3: unify the pause params setup function > net: hns3: reallocate tx/rx buffer after changing mtu > net: hns3: change GL update rate > net: hns3: change the time interval of int_gl calculating > net: hns3: fix for getting wrong link mode problem > net: hns3: add get_link support to VF > net: hns3: add querying speed and duplex support to VF > net: hns3: fix for not returning problem in get_link_ksettings when phy exists > net: hns3: fix for returning wrong value problem in hns3_get_rss_key_size > net: hns3: fix for returning wrong value problem in hns3_get_rss_indir_size > net: hns3: fix for the wrong shift problem in hns3_set_txbd_baseinfo > net: hns3: fix for not initializing VF rss_hash_key problem > net: hns3: Fix to support autoneg only for port attached with phy > net: hns3: Fix for deadlock problem occurring when unregistering ae_algo > net: hns3: Fix for the null pointer problem occurring when initializing ae_dev failed > net: hns3: Add a check for client instance init state > net: hns3: Change return type of hnae3_register_ae_dev > net: hns3: Change return type of hnae3_register_ae_algo > net: hns3: Change return value in hnae3_register_client > net: hns3: Fixes the missing PCI iounmap for various legs > net: hns3: Fix for netdev not running problem after calling net_stop and net_open > net: hns3: Fixes the init of the VALID BD info in the descriptor > net: hns3: Removes unnecessary check when clearing TX/RX rings > net: hns3: Clear TX/RX rings when stopping port & un-initializing client > UBUNTU: SAUCE: {topost} net: hns3: fix for mailbox message truncated problem ^ +- Is that *really* intended to be that way? What is this supposed to mean? > UBUNTU: SAUCE: {topost} net: hns3: fix for using wrong mask and shift in hclge_get_ring_chain_from_mbx > UBUNTU: SAUCE: {topost} net: hns3: fix comments for hclge_get_ring_chain_from_mbx > > Huazhong Tan (26): > net: hns3: fix to correctly fetch l4 protocol outer header > net: hns3: Fixes the out of bounds access in hclge_map_tqp > net: hns3: Fixes the error legs in hclge_init_ae_dev function > net: hns3: fix for phy_addr error in hclge_mac_mdio_config > net: hns3: fix a dead loop in hclge_cmd_csq_clean > net: hns3: Use enums instead of magic number in hclge_is_special_opcode > UBUNTU: SAUCE: {topost} net: hns3: remove back in struct hclge_hw > UBUNTU: SAUCE: {topost} net: hns3: use lower_32_bits and upper_32_bits > UBUNTU: SAUCE: {topost} net: hns3: remove unused hclge_ring_to_dma_dir > UBUNTU: SAUCE: {topost} net: hns3: remove useless code in hclge_cmd_send > UBUNTU: SAUCE: {topost} net: hns3: remove some redundant assignments > UBUNTU: SAUCE: {topost} net: hns3: simplify hclge_cmd_csq_clean > UBUNTU: SAUCE: {topost} net: hns3: using modulo for cyclic counters in hclge_cmd_send > UBUNTU: SAUCE: {topost} net: hns3: remove a redundant hclge_cmd_csq_done > UBUNTU: SAUCE: {topost} net: hns3: remove some unused members of some structures > UBUNTU: SAUCE: {topost} net: hns3: give default option while dependency HNS3 set > UBUNTU: SAUCE: {topost} net: hns3: use dma_zalloc_coherent instead of kzalloc/dma_map_single > UBUNTU: SAUCE: {topost} net: hns3: modify hnae_ to hnae3_ > UBUNTU: SAUCE: {topost} net: hns3: prevent sending command during global or core reset > UBUNTU: SAUCE: {topost} net: hns3: modify the order of initializeing command queue register > UBUNTU: SAUCE: {topost} net: hns3: reset net device with rtnl_lock > UBUNTU: SAUCE: {topost} net: hns3: prevent to request reset frequently > UBUNTU: SAUCE: {topost} net: hns3: correct reset event status register > UBUNTU: SAUCE: {topost} net: hns3: separate roce from nic when resetting > UBUNTU: SAUCE: {topost} net: hns3: fix return value error in hns3_reset_notify_down_enet > UBUNTU: SAUCE: {topost} net: hns3: remove unnecessary ring configuration operation while resetting > > Jian Shen (20): > net: hns3: fix error type definition of return value > net: hns3: fix return value error of hclge_get_mac_vlan_cmd_status() > net: hns3: add existence checking before adding unicast mac address > net: hns3: add result checking for VF when modify unicast mac address > net: hns3: cleanup of return values in hclge_init_client_instance() > net: hns3: Remove unused led control code > net: hns3: Adds support for led locate command for copper port > net: hns3: Add repeat address checking for setting mac address > net: hns3: Fix setting mac address error > UBUNTU: SAUCE: {topost} net: hns3: remove some redundant assignments > UBUNTU: SAUCE: {topost} net: hns3: standardize the handle of return value > UBUNTU: SAUCE: {topost} net: hns3: remove extra space and brackets > UBUNTU: SAUCE: {topost} net: hns3: fix unreasonable code comments > UBUNTU: SAUCE: {topost} net: hns3: use decimal for bit offset macros > UBUNTU: SAUCE: {topost} net: hns3: modify inconsistent bit mask macros > UBUNTU: SAUCE: {topost} net: hns3: fix mislead parameter name > UBUNTU: SAUCE: {topost} net: hns3: remove unused struct member and definition > UBUNTU: SAUCE: {topost} net: hns3: Add SPDX tags to hns3 driver > UBUNTU: SAUCE: {topost} net: hns3: Add configure for mac minimal frame size > UBUNTU: SAUCE: net: hns3: Fix for phy link issue when using marvell phy driver > > Lijun Ou (2): > net: hns3: Fixes initalization of RoCE handle and makes it conditional > UBUNTU: SAUCE: {topost} net: hns3: Add pf reset for hip08 RoCE > > Peng Li (30): > net: hns3: VF should get the real rss_size instead of rss_size_max > net: hns3: set the cmdq out_vld bit to 0 after used > net: hns3: fix endian issue when PF get mbx message flag > net: hns3: fix the queue id for tqp enable&&reset > net: hns3: set the max ring num when alloc netdev > net: hns3: add support for VF driver inner interface hclgevf_ops.get_tqps_and_rss_info > net: hns3: fix rx path skb->truesize reporting bug > net: hns3: add support for querying pfc puase packets statistic > net: hns3: fix the VF queue reset flow error > net: hns3: increase the max time for IMP handle command > net: hns3: never send command queue message to IMP when reset > net: hns3: Add support of .sriov_configure in HNS3 driver > net: hns3: Fixes API to fetch ethernet header length with kernel default > net: hns3: Updates RX packet info fetch in case of multi BD > net: hns3: Add support for tx_accept_tag2 and tx_accept_untag2 config > net: hns3: Add STRP_TAGP field support for hardware revision 0x21 > net: hns3: Add support to enable TX/RX promisc mode for H/W rev(0x21) > net: hns3: Fixes the state to indicate client-type initialization > net: hns3: Add support for IFF_ALLMULTI flag > UBUNTU: SAUCE: {topost} net: hns3: RX BD information valid only in last BD except VLD bit and buffer size > UBUNTU: SAUCE: {topost} net: hns3: remove hclge_get_vector_index from hclge_bind_ring_with_vector > UBUNTU: SAUCE: {topost} net: hns3: rename the interface for init_client_instance and uninit_client_instance > UBUNTU: SAUCE: {topost} net: hns3: add vector status check before free vector > UBUNTU: SAUCE: {topost} net: hns3: add l4_type check for both ipv4 and ipv6 > UBUNTU: SAUCE: {topost} net: hns3: remove unused head file in hnae3.c > UBUNTU: SAUCE: {topost} net: hns3: extraction an interface for state state init|uninit > UBUNTU: SAUCE: {topost} net: hns3: print the ret value in error information > UBUNTU: SAUCE: {topost} net: hns3: remove the Redundant put_vector in hns3_client_uninit > UBUNTU: SAUCE: {topost} net: hns3: add unlikely for error check > UBUNTU: SAUCE: {topost} net: hns3: remove the warning when clear reset cause > > Salil Mehta (10): > net: hns3: Changes to make enet watchdog timeout func common for PF/VF > net: hns3: Add VF Reset Service Task to support event handling > net: hns3: Add VF Reset device state and its handling > net: hns3: Add support to request VF Reset to PF > net: hns3: Add support to reset the enet/ring mgmt layer > net: hns3: Add support to re-initialize the hclge device > net: hns3: Changes to support ARQ(Asynchronous Receive Queue) > net: hns3: Add *Asserting Reset* mailbox message & handling in VF > net: hns3: Changes required in PF mailbox to support VF reset > net: hns3: Fixes error reported by Kbuild and internal review > > Tan Xiaojun (1): > net: hns3: fix length overflow when CONFIG_ARM64_64K_PAGES > > Wei Hu (Xavier) (3): > UBUNTU: SAUCE: {topost} net: hns3: optimize the process of notifying roce client > UBUNTU: SAUCE: {topost} net: hns3: Add calling roce callback function when link status change > UBUNTU: SAUCE: {topost} net: hns3: Use roce handle when calling roce callback function > > Wei Yongjun (1): > net: hns3: remove unnecessary pci_set_drvdata() and devm_kfree() > > Xi Wang (11): > net: hns3: Remove packet statistics in the range of 8192~12287 > net: hns3: Fix the missing client list node initialization > net: hns3: Fix for hns3 module is loaded multiple times problem > net: hns3: Fixes kernel panic issue during rmmod hns3 driver > net: hns3: Fix for PF mailbox receving unknown message > net: hns3: Optimize the PF's process of updating multicast MAC > net: hns3: Optimize the VF's process of updating multicast MAC > UBUNTU: SAUCE: {topost} net: hns3: fix unused function warning in VF driver > UBUNTU: SAUCE: net: hns3: Fix for VF mailbox cannot receiving PF response > UBUNTU: SAUCE: net: hns3: Fix for VF mailbox receiving unknown message > UBUNTU: SAUCE: net: hns3: Optimize PF CMDQ interrupt switching process > > Yunsheng Lin (36): > net: hns3: refactor the hclge_get/set_rss function > net: hns3: refactor the hclge_get/set_rss_tuple function > net: hns3: fix for RSS configuration loss problem during reset > net: hns3: fix for pause configuration lost during reset > net: hns3: fix for use-after-free when setting ring parameter > net: hns3: refactor the get/put_vector function > net: hns3: fix for coalesce configuration lost during reset > net: hns3: refactor the coalesce related struct > net: hns3: fix for coal configuation lost when setting the channel > net: hns3: fix for loopback failure when vlan filter is enable > net: hns3: fix for buffer overflow smatch warning > net: hns3: fix for vlan table lost problem when resetting > net: hns3: Remove error log when getting pfc stats fails > net: hns3: Fix for packet loss due wrong filter config in VLAN tbls > net: hns3: Add support of hardware rx-vlan-offload to HNS3 VF driver > net: hns3: Fix for setting mac address when resetting > net: hns3: remove add/del_tunnel_udp in hns3_enet module > net: hns3: fix for cleaning ring problem > net: hns3: refactor the loopback related function > net: hns3: Fixes the back pressure setting when sriov is enabled > net: hns3: Fix for fiber link up problem > net: hns3: Fix for CMDQ and Misc. interrupt init order problem > net: hns3: Disable vf vlan filter when vf vlan table is full > net: hns3: Fix for service_task not running problem after resetting > net: hns3: Fix for hclge_reset running repeatly problem > net: hns3: Fix for phy not link up problem after resetting > net: hns3: Add missing break in misc_irq_handle > net: hns3: Fix for vxlan tx checksum bug > UBUNTU: SAUCE: {topost} net: hns3: add support for serdes loopback selftest > UBUNTU: SAUCE: {topost} net: hns3: fix tc setup when netdev is first up > UBUNTU: SAUCE: {topost} net: hns3: fix for mac pause not disable in pfc mode > UBUNTU: SAUCE: {topost} net: hns3: fix for waterline not setting correctly > UBUNTU: SAUCE: {topost} net: hns3: fix for l4 checksum offload bug > UBUNTU: SAUCE: {topost} net: hns3: fix warning bug when doing lp selftest > UBUNTU: SAUCE: {topost} net: hns3: fix get_vector ops in hclgevf_main module > UBUNTU: SAUCE: {topost} net: hns3: fix for reset_level default assignment probelm > > kbuild test robot (1): > net: hns3: hclge_inform_reset_assert_to_vf() can be static > > drivers/net/ethernet/hisilicon/Kconfig | 15 +- > drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h | 20 + > drivers/net/ethernet/hisilicon/hns3/hnae3.c | 126 +- > drivers/net/ethernet/hisilicon/hns3/hnae3.h | 66 +- > drivers/net/ethernet/hisilicon/hns3/hns3_dcbnl.c | 10 +- > drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 1347 ++++++++------ > drivers/net/ethernet/hisilicon/hns3/hns3_enet.h | 45 +- > drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c | 197 +-- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c | 128 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h | 144 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c | 26 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.h | 10 +- > .../ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 1848 +++++++++++--------- > .../ethernet/hisilicon/hns3/hns3pf/hclge_main.h | 115 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c | 206 ++- > .../ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c | 63 +- > .../ethernet/hisilicon/hns3/hns3pf/hclge_mdio.h | 10 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c | 133 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.h | 30 +- > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.c | 32 +- > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.h | 2 +- > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 749 ++++++-- > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h | 41 +- > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c | 119 +- > 24 files changed, 3427 insertions(+), 2055 deletions(-) >
On Tue, Jun 05, 2018 at 05:01:18PM -0700, Stefan Bader wrote: > On 05.06.2018 16:04, dann frazier wrote: > > hns3 is a driver under active development, and is only used on > > hardware that is currently pre-production. In fact, the current > > version of the driver in Ubuntu doesn't work on current silicon > > (crashes during init). > > > > Given the rate of development - and the pre-production status - I > > believe syncing with the upstream driver-specific changes will be more > > risk-averse/maintainable than surgically backporting only changesets > > that individually qualify for SRU. This PR will get us in-sync with > > the current state of linux-next. It also includes a number of > > non-upstream (SAUCE) patches that are making their way upstream in > > batches. I plan to track their upstream integration and replace the > > SAUCE with upstream cherry-picks going forward. > > > > Tested on a D06 devel system. > > > > The following changes since commit b7be50f6450d62d2a2e3ad7599b63c6ca5c0006f: > > > > UBUNTU: Ubuntu-4.15.0-23.25 (2018-05-23 18:56:27 +0200) > > > > are available in the Git repository at: > > > > git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux hns3-updates-v3 > > > > for you to fetch changes up to d9f218aeb35ae8a1d85e24e8aa456cbc89ec85e7: > > > > UBUNTU: SAUCE: net: hns3: Optimize PF CMDQ interrupt switching process (2018-06-05 16:21:07 -0600) > > > > ---------------------------------------------------------------- > > Fuyun Liang (30): > > net: hns3: add existence check when remove old uc mac address > > net: hns3: fix for netdev not running problem after calling net_stop and net_open > > net: hns3: fix for ipv6 address loss problem after setting channels > > net: hns3: unify the pause params setup function > > net: hns3: reallocate tx/rx buffer after changing mtu > > net: hns3: change GL update rate > > net: hns3: change the time interval of int_gl calculating > > net: hns3: fix for getting wrong link mode problem > > net: hns3: add get_link support to VF > > net: hns3: add querying speed and duplex support to VF > > net: hns3: fix for not returning problem in get_link_ksettings when phy exists > > net: hns3: fix for returning wrong value problem in hns3_get_rss_key_size > > net: hns3: fix for returning wrong value problem in hns3_get_rss_indir_size > > net: hns3: fix for the wrong shift problem in hns3_set_txbd_baseinfo > > net: hns3: fix for not initializing VF rss_hash_key problem > > net: hns3: Fix to support autoneg only for port attached with phy > > net: hns3: Fix for deadlock problem occurring when unregistering ae_algo > > net: hns3: Fix for the null pointer problem occurring when initializing ae_dev failed > > net: hns3: Add a check for client instance init state > > net: hns3: Change return type of hnae3_register_ae_dev > > net: hns3: Change return type of hnae3_register_ae_algo > > net: hns3: Change return value in hnae3_register_client > > net: hns3: Fixes the missing PCI iounmap for various legs > > net: hns3: Fix for netdev not running problem after calling net_stop and net_open > > net: hns3: Fixes the init of the VALID BD info in the descriptor > > net: hns3: Removes unnecessary check when clearing TX/RX rings > > net: hns3: Clear TX/RX rings when stopping port & un-initializing client > > UBUNTU: SAUCE: {topost} net: hns3: fix for mailbox message truncated problem > ^ > +- Is that *really* intended to be that way? What is > this supposed to mean? That's an artifact of the driver tree I pulled it from. I take it to mean it is in the queue to be posted to netdev (which, I'm told, it is). I thought about whether or not to strip that, but decided to leave it as-provided. -dann > > UBUNTU: SAUCE: {topost} net: hns3: fix for using wrong mask and shift in hclge_get_ring_chain_from_mbx > > UBUNTU: SAUCE: {topost} net: hns3: fix comments for hclge_get_ring_chain_from_mbx > > > > Huazhong Tan (26): > > net: hns3: fix to correctly fetch l4 protocol outer header > > net: hns3: Fixes the out of bounds access in hclge_map_tqp > > net: hns3: Fixes the error legs in hclge_init_ae_dev function > > net: hns3: fix for phy_addr error in hclge_mac_mdio_config > > net: hns3: fix a dead loop in hclge_cmd_csq_clean > > net: hns3: Use enums instead of magic number in hclge_is_special_opcode > > UBUNTU: SAUCE: {topost} net: hns3: remove back in struct hclge_hw > > UBUNTU: SAUCE: {topost} net: hns3: use lower_32_bits and upper_32_bits > > UBUNTU: SAUCE: {topost} net: hns3: remove unused hclge_ring_to_dma_dir > > UBUNTU: SAUCE: {topost} net: hns3: remove useless code in hclge_cmd_send > > UBUNTU: SAUCE: {topost} net: hns3: remove some redundant assignments > > UBUNTU: SAUCE: {topost} net: hns3: simplify hclge_cmd_csq_clean > > UBUNTU: SAUCE: {topost} net: hns3: using modulo for cyclic counters in hclge_cmd_send > > UBUNTU: SAUCE: {topost} net: hns3: remove a redundant hclge_cmd_csq_done > > UBUNTU: SAUCE: {topost} net: hns3: remove some unused members of some structures > > UBUNTU: SAUCE: {topost} net: hns3: give default option while dependency HNS3 set > > UBUNTU: SAUCE: {topost} net: hns3: use dma_zalloc_coherent instead of kzalloc/dma_map_single > > UBUNTU: SAUCE: {topost} net: hns3: modify hnae_ to hnae3_ > > UBUNTU: SAUCE: {topost} net: hns3: prevent sending command during global or core reset > > UBUNTU: SAUCE: {topost} net: hns3: modify the order of initializeing command queue register > > UBUNTU: SAUCE: {topost} net: hns3: reset net device with rtnl_lock > > UBUNTU: SAUCE: {topost} net: hns3: prevent to request reset frequently > > UBUNTU: SAUCE: {topost} net: hns3: correct reset event status register > > UBUNTU: SAUCE: {topost} net: hns3: separate roce from nic when resetting > > UBUNTU: SAUCE: {topost} net: hns3: fix return value error in hns3_reset_notify_down_enet > > UBUNTU: SAUCE: {topost} net: hns3: remove unnecessary ring configuration operation while resetting > > > > Jian Shen (20): > > net: hns3: fix error type definition of return value > > net: hns3: fix return value error of hclge_get_mac_vlan_cmd_status() > > net: hns3: add existence checking before adding unicast mac address > > net: hns3: add result checking for VF when modify unicast mac address > > net: hns3: cleanup of return values in hclge_init_client_instance() > > net: hns3: Remove unused led control code > > net: hns3: Adds support for led locate command for copper port > > net: hns3: Add repeat address checking for setting mac address > > net: hns3: Fix setting mac address error > > UBUNTU: SAUCE: {topost} net: hns3: remove some redundant assignments > > UBUNTU: SAUCE: {topost} net: hns3: standardize the handle of return value > > UBUNTU: SAUCE: {topost} net: hns3: remove extra space and brackets > > UBUNTU: SAUCE: {topost} net: hns3: fix unreasonable code comments > > UBUNTU: SAUCE: {topost} net: hns3: use decimal for bit offset macros > > UBUNTU: SAUCE: {topost} net: hns3: modify inconsistent bit mask macros > > UBUNTU: SAUCE: {topost} net: hns3: fix mislead parameter name > > UBUNTU: SAUCE: {topost} net: hns3: remove unused struct member and definition > > UBUNTU: SAUCE: {topost} net: hns3: Add SPDX tags to hns3 driver > > UBUNTU: SAUCE: {topost} net: hns3: Add configure for mac minimal frame size > > UBUNTU: SAUCE: net: hns3: Fix for phy link issue when using marvell phy driver > > > > Lijun Ou (2): > > net: hns3: Fixes initalization of RoCE handle and makes it conditional > > UBUNTU: SAUCE: {topost} net: hns3: Add pf reset for hip08 RoCE > > > > Peng Li (30): > > net: hns3: VF should get the real rss_size instead of rss_size_max > > net: hns3: set the cmdq out_vld bit to 0 after used > > net: hns3: fix endian issue when PF get mbx message flag > > net: hns3: fix the queue id for tqp enable&&reset > > net: hns3: set the max ring num when alloc netdev > > net: hns3: add support for VF driver inner interface hclgevf_ops.get_tqps_and_rss_info > > net: hns3: fix rx path skb->truesize reporting bug > > net: hns3: add support for querying pfc puase packets statistic > > net: hns3: fix the VF queue reset flow error > > net: hns3: increase the max time for IMP handle command > > net: hns3: never send command queue message to IMP when reset > > net: hns3: Add support of .sriov_configure in HNS3 driver > > net: hns3: Fixes API to fetch ethernet header length with kernel default > > net: hns3: Updates RX packet info fetch in case of multi BD > > net: hns3: Add support for tx_accept_tag2 and tx_accept_untag2 config > > net: hns3: Add STRP_TAGP field support for hardware revision 0x21 > > net: hns3: Add support to enable TX/RX promisc mode for H/W rev(0x21) > > net: hns3: Fixes the state to indicate client-type initialization > > net: hns3: Add support for IFF_ALLMULTI flag > > UBUNTU: SAUCE: {topost} net: hns3: RX BD information valid only in last BD except VLD bit and buffer size > > UBUNTU: SAUCE: {topost} net: hns3: remove hclge_get_vector_index from hclge_bind_ring_with_vector > > UBUNTU: SAUCE: {topost} net: hns3: rename the interface for init_client_instance and uninit_client_instance > > UBUNTU: SAUCE: {topost} net: hns3: add vector status check before free vector > > UBUNTU: SAUCE: {topost} net: hns3: add l4_type check for both ipv4 and ipv6 > > UBUNTU: SAUCE: {topost} net: hns3: remove unused head file in hnae3.c > > UBUNTU: SAUCE: {topost} net: hns3: extraction an interface for state state init|uninit > > UBUNTU: SAUCE: {topost} net: hns3: print the ret value in error information > > UBUNTU: SAUCE: {topost} net: hns3: remove the Redundant put_vector in hns3_client_uninit > > UBUNTU: SAUCE: {topost} net: hns3: add unlikely for error check > > UBUNTU: SAUCE: {topost} net: hns3: remove the warning when clear reset cause > > > > Salil Mehta (10): > > net: hns3: Changes to make enet watchdog timeout func common for PF/VF > > net: hns3: Add VF Reset Service Task to support event handling > > net: hns3: Add VF Reset device state and its handling > > net: hns3: Add support to request VF Reset to PF > > net: hns3: Add support to reset the enet/ring mgmt layer > > net: hns3: Add support to re-initialize the hclge device > > net: hns3: Changes to support ARQ(Asynchronous Receive Queue) > > net: hns3: Add *Asserting Reset* mailbox message & handling in VF > > net: hns3: Changes required in PF mailbox to support VF reset > > net: hns3: Fixes error reported by Kbuild and internal review > > > > Tan Xiaojun (1): > > net: hns3: fix length overflow when CONFIG_ARM64_64K_PAGES > > > > Wei Hu (Xavier) (3): > > UBUNTU: SAUCE: {topost} net: hns3: optimize the process of notifying roce client > > UBUNTU: SAUCE: {topost} net: hns3: Add calling roce callback function when link status change > > UBUNTU: SAUCE: {topost} net: hns3: Use roce handle when calling roce callback function > > > > Wei Yongjun (1): > > net: hns3: remove unnecessary pci_set_drvdata() and devm_kfree() > > > > Xi Wang (11): > > net: hns3: Remove packet statistics in the range of 8192~12287 > > net: hns3: Fix the missing client list node initialization > > net: hns3: Fix for hns3 module is loaded multiple times problem > > net: hns3: Fixes kernel panic issue during rmmod hns3 driver > > net: hns3: Fix for PF mailbox receving unknown message > > net: hns3: Optimize the PF's process of updating multicast MAC > > net: hns3: Optimize the VF's process of updating multicast MAC > > UBUNTU: SAUCE: {topost} net: hns3: fix unused function warning in VF driver > > UBUNTU: SAUCE: net: hns3: Fix for VF mailbox cannot receiving PF response > > UBUNTU: SAUCE: net: hns3: Fix for VF mailbox receiving unknown message > > UBUNTU: SAUCE: net: hns3: Optimize PF CMDQ interrupt switching process > > > > Yunsheng Lin (36): > > net: hns3: refactor the hclge_get/set_rss function > > net: hns3: refactor the hclge_get/set_rss_tuple function > > net: hns3: fix for RSS configuration loss problem during reset > > net: hns3: fix for pause configuration lost during reset > > net: hns3: fix for use-after-free when setting ring parameter > > net: hns3: refactor the get/put_vector function > > net: hns3: fix for coalesce configuration lost during reset > > net: hns3: refactor the coalesce related struct > > net: hns3: fix for coal configuation lost when setting the channel > > net: hns3: fix for loopback failure when vlan filter is enable > > net: hns3: fix for buffer overflow smatch warning > > net: hns3: fix for vlan table lost problem when resetting > > net: hns3: Remove error log when getting pfc stats fails > > net: hns3: Fix for packet loss due wrong filter config in VLAN tbls > > net: hns3: Add support of hardware rx-vlan-offload to HNS3 VF driver > > net: hns3: Fix for setting mac address when resetting > > net: hns3: remove add/del_tunnel_udp in hns3_enet module > > net: hns3: fix for cleaning ring problem > > net: hns3: refactor the loopback related function > > net: hns3: Fixes the back pressure setting when sriov is enabled > > net: hns3: Fix for fiber link up problem > > net: hns3: Fix for CMDQ and Misc. interrupt init order problem > > net: hns3: Disable vf vlan filter when vf vlan table is full > > net: hns3: Fix for service_task not running problem after resetting > > net: hns3: Fix for hclge_reset running repeatly problem > > net: hns3: Fix for phy not link up problem after resetting > > net: hns3: Add missing break in misc_irq_handle > > net: hns3: Fix for vxlan tx checksum bug > > UBUNTU: SAUCE: {topost} net: hns3: add support for serdes loopback selftest > > UBUNTU: SAUCE: {topost} net: hns3: fix tc setup when netdev is first up > > UBUNTU: SAUCE: {topost} net: hns3: fix for mac pause not disable in pfc mode > > UBUNTU: SAUCE: {topost} net: hns3: fix for waterline not setting correctly > > UBUNTU: SAUCE: {topost} net: hns3: fix for l4 checksum offload bug > > UBUNTU: SAUCE: {topost} net: hns3: fix warning bug when doing lp selftest > > UBUNTU: SAUCE: {topost} net: hns3: fix get_vector ops in hclgevf_main module > > UBUNTU: SAUCE: {topost} net: hns3: fix for reset_level default assignment probelm > > > > kbuild test robot (1): > > net: hns3: hclge_inform_reset_assert_to_vf() can be static > > > > drivers/net/ethernet/hisilicon/Kconfig | 15 +- > > drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h | 20 + > > drivers/net/ethernet/hisilicon/hns3/hnae3.c | 126 +- > > drivers/net/ethernet/hisilicon/hns3/hnae3.h | 66 +- > > drivers/net/ethernet/hisilicon/hns3/hns3_dcbnl.c | 10 +- > > drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 1347 ++++++++------ > > drivers/net/ethernet/hisilicon/hns3/hns3_enet.h | 45 +- > > drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c | 197 +-- > > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c | 128 +- > > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h | 144 +- > > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c | 26 +- > > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.h | 10 +- > > .../ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 1848 +++++++++++--------- > > .../ethernet/hisilicon/hns3/hns3pf/hclge_main.h | 115 +- > > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c | 206 ++- > > .../ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c | 63 +- > > .../ethernet/hisilicon/hns3/hns3pf/hclge_mdio.h | 10 +- > > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c | 133 +- > > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.h | 30 +- > > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.c | 32 +- > > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.h | 2 +- > > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 749 ++++++-- > > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h | 41 +- > > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c | 119 +- > > 24 files changed, 3427 insertions(+), 2055 deletions(-) > > > >
On 05.06.2018 16:04, dann frazier wrote: > hns3 is a driver under active development, and is only used on > hardware that is currently pre-production. In fact, the current > version of the driver in Ubuntu doesn't work on current silicon > (crashes during init). > > Given the rate of development - and the pre-production status - I > believe syncing with the upstream driver-specific changes will be more > risk-averse/maintainable than surgically backporting only changesets > that individually qualify for SRU. This PR will get us in-sync with > the current state of linux-next. It also includes a number of > non-upstream (SAUCE) patches that are making their way upstream in > batches. I plan to track their upstream integration and replace the > SAUCE with upstream cherry-picks going forward. > > Tested on a D06 devel system. > > The following changes since commit b7be50f6450d62d2a2e3ad7599b63c6ca5c0006f: > > UBUNTU: Ubuntu-4.15.0-23.25 (2018-05-23 18:56:27 +0200) > > are available in the Git repository at: > > git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux hns3-updates-v3 > > for you to fetch changes up to d9f218aeb35ae8a1d85e24e8aa456cbc89ec85e7: > > UBUNTU: SAUCE: net: hns3: Optimize PF CMDQ interrupt switching process (2018-06-05 16:21:07 -0600) > > ---------------------------------------------------------------- > Fuyun Liang (30): > net: hns3: add existence check when remove old uc mac address > net: hns3: fix for netdev not running problem after calling net_stop and net_open > net: hns3: fix for ipv6 address loss problem after setting channels > net: hns3: unify the pause params setup function > net: hns3: reallocate tx/rx buffer after changing mtu > net: hns3: change GL update rate > net: hns3: change the time interval of int_gl calculating > net: hns3: fix for getting wrong link mode problem > net: hns3: add get_link support to VF > net: hns3: add querying speed and duplex support to VF > net: hns3: fix for not returning problem in get_link_ksettings when phy exists > net: hns3: fix for returning wrong value problem in hns3_get_rss_key_size > net: hns3: fix for returning wrong value problem in hns3_get_rss_indir_size > net: hns3: fix for the wrong shift problem in hns3_set_txbd_baseinfo > net: hns3: fix for not initializing VF rss_hash_key problem > net: hns3: Fix to support autoneg only for port attached with phy > net: hns3: Fix for deadlock problem occurring when unregistering ae_algo > net: hns3: Fix for the null pointer problem occurring when initializing ae_dev failed > net: hns3: Add a check for client instance init state > net: hns3: Change return type of hnae3_register_ae_dev > net: hns3: Change return type of hnae3_register_ae_algo > net: hns3: Change return value in hnae3_register_client > net: hns3: Fixes the missing PCI iounmap for various legs > net: hns3: Fix for netdev not running problem after calling net_stop and net_open > net: hns3: Fixes the init of the VALID BD info in the descriptor > net: hns3: Removes unnecessary check when clearing TX/RX rings > net: hns3: Clear TX/RX rings when stopping port & un-initializing client > UBUNTU: SAUCE: {topost} net: hns3: fix for mailbox message truncated problem > UBUNTU: SAUCE: {topost} net: hns3: fix for using wrong mask and shift in hclge_get_ring_chain_from_mbx > UBUNTU: SAUCE: {topost} net: hns3: fix comments for hclge_get_ring_chain_from_mbx > > Huazhong Tan (26): > net: hns3: fix to correctly fetch l4 protocol outer header > net: hns3: Fixes the out of bounds access in hclge_map_tqp > net: hns3: Fixes the error legs in hclge_init_ae_dev function > net: hns3: fix for phy_addr error in hclge_mac_mdio_config > net: hns3: fix a dead loop in hclge_cmd_csq_clean > net: hns3: Use enums instead of magic number in hclge_is_special_opcode > UBUNTU: SAUCE: {topost} net: hns3: remove back in struct hclge_hw > UBUNTU: SAUCE: {topost} net: hns3: use lower_32_bits and upper_32_bits > UBUNTU: SAUCE: {topost} net: hns3: remove unused hclge_ring_to_dma_dir > UBUNTU: SAUCE: {topost} net: hns3: remove useless code in hclge_cmd_send > UBUNTU: SAUCE: {topost} net: hns3: remove some redundant assignments > UBUNTU: SAUCE: {topost} net: hns3: simplify hclge_cmd_csq_clean > UBUNTU: SAUCE: {topost} net: hns3: using modulo for cyclic counters in hclge_cmd_send > UBUNTU: SAUCE: {topost} net: hns3: remove a redundant hclge_cmd_csq_done > UBUNTU: SAUCE: {topost} net: hns3: remove some unused members of some structures > UBUNTU: SAUCE: {topost} net: hns3: give default option while dependency HNS3 set > UBUNTU: SAUCE: {topost} net: hns3: use dma_zalloc_coherent instead of kzalloc/dma_map_single > UBUNTU: SAUCE: {topost} net: hns3: modify hnae_ to hnae3_ > UBUNTU: SAUCE: {topost} net: hns3: prevent sending command during global or core reset > UBUNTU: SAUCE: {topost} net: hns3: modify the order of initializeing command queue register > UBUNTU: SAUCE: {topost} net: hns3: reset net device with rtnl_lock > UBUNTU: SAUCE: {topost} net: hns3: prevent to request reset frequently > UBUNTU: SAUCE: {topost} net: hns3: correct reset event status register > UBUNTU: SAUCE: {topost} net: hns3: separate roce from nic when resetting > UBUNTU: SAUCE: {topost} net: hns3: fix return value error in hns3_reset_notify_down_enet > UBUNTU: SAUCE: {topost} net: hns3: remove unnecessary ring configuration operation while resetting > > Jian Shen (20): > net: hns3: fix error type definition of return value > net: hns3: fix return value error of hclge_get_mac_vlan_cmd_status() > net: hns3: add existence checking before adding unicast mac address > net: hns3: add result checking for VF when modify unicast mac address > net: hns3: cleanup of return values in hclge_init_client_instance() > net: hns3: Remove unused led control code > net: hns3: Adds support for led locate command for copper port > net: hns3: Add repeat address checking for setting mac address > net: hns3: Fix setting mac address error > UBUNTU: SAUCE: {topost} net: hns3: remove some redundant assignments > UBUNTU: SAUCE: {topost} net: hns3: standardize the handle of return value > UBUNTU: SAUCE: {topost} net: hns3: remove extra space and brackets > UBUNTU: SAUCE: {topost} net: hns3: fix unreasonable code comments > UBUNTU: SAUCE: {topost} net: hns3: use decimal for bit offset macros > UBUNTU: SAUCE: {topost} net: hns3: modify inconsistent bit mask macros > UBUNTU: SAUCE: {topost} net: hns3: fix mislead parameter name > UBUNTU: SAUCE: {topost} net: hns3: remove unused struct member and definition > UBUNTU: SAUCE: {topost} net: hns3: Add SPDX tags to hns3 driver > UBUNTU: SAUCE: {topost} net: hns3: Add configure for mac minimal frame size > UBUNTU: SAUCE: net: hns3: Fix for phy link issue when using marvell phy driver > > Lijun Ou (2): > net: hns3: Fixes initalization of RoCE handle and makes it conditional > UBUNTU: SAUCE: {topost} net: hns3: Add pf reset for hip08 RoCE > > Peng Li (30): > net: hns3: VF should get the real rss_size instead of rss_size_max > net: hns3: set the cmdq out_vld bit to 0 after used > net: hns3: fix endian issue when PF get mbx message flag > net: hns3: fix the queue id for tqp enable&&reset > net: hns3: set the max ring num when alloc netdev > net: hns3: add support for VF driver inner interface hclgevf_ops.get_tqps_and_rss_info > net: hns3: fix rx path skb->truesize reporting bug > net: hns3: add support for querying pfc puase packets statistic > net: hns3: fix the VF queue reset flow error > net: hns3: increase the max time for IMP handle command > net: hns3: never send command queue message to IMP when reset > net: hns3: Add support of .sriov_configure in HNS3 driver > net: hns3: Fixes API to fetch ethernet header length with kernel default > net: hns3: Updates RX packet info fetch in case of multi BD > net: hns3: Add support for tx_accept_tag2 and tx_accept_untag2 config > net: hns3: Add STRP_TAGP field support for hardware revision 0x21 > net: hns3: Add support to enable TX/RX promisc mode for H/W rev(0x21) > net: hns3: Fixes the state to indicate client-type initialization > net: hns3: Add support for IFF_ALLMULTI flag > UBUNTU: SAUCE: {topost} net: hns3: RX BD information valid only in last BD except VLD bit and buffer size > UBUNTU: SAUCE: {topost} net: hns3: remove hclge_get_vector_index from hclge_bind_ring_with_vector > UBUNTU: SAUCE: {topost} net: hns3: rename the interface for init_client_instance and uninit_client_instance > UBUNTU: SAUCE: {topost} net: hns3: add vector status check before free vector > UBUNTU: SAUCE: {topost} net: hns3: add l4_type check for both ipv4 and ipv6 > UBUNTU: SAUCE: {topost} net: hns3: remove unused head file in hnae3.c > UBUNTU: SAUCE: {topost} net: hns3: extraction an interface for state state init|uninit > UBUNTU: SAUCE: {topost} net: hns3: print the ret value in error information > UBUNTU: SAUCE: {topost} net: hns3: remove the Redundant put_vector in hns3_client_uninit > UBUNTU: SAUCE: {topost} net: hns3: add unlikely for error check > UBUNTU: SAUCE: {topost} net: hns3: remove the warning when clear reset cause > > Salil Mehta (10): > net: hns3: Changes to make enet watchdog timeout func common for PF/VF > net: hns3: Add VF Reset Service Task to support event handling > net: hns3: Add VF Reset device state and its handling > net: hns3: Add support to request VF Reset to PF > net: hns3: Add support to reset the enet/ring mgmt layer > net: hns3: Add support to re-initialize the hclge device > net: hns3: Changes to support ARQ(Asynchronous Receive Queue) > net: hns3: Add *Asserting Reset* mailbox message & handling in VF > net: hns3: Changes required in PF mailbox to support VF reset > net: hns3: Fixes error reported by Kbuild and internal review > > Tan Xiaojun (1): > net: hns3: fix length overflow when CONFIG_ARM64_64K_PAGES > > Wei Hu (Xavier) (3): > UBUNTU: SAUCE: {topost} net: hns3: optimize the process of notifying roce client > UBUNTU: SAUCE: {topost} net: hns3: Add calling roce callback function when link status change > UBUNTU: SAUCE: {topost} net: hns3: Use roce handle when calling roce callback function > > Wei Yongjun (1): > net: hns3: remove unnecessary pci_set_drvdata() and devm_kfree() > > Xi Wang (11): > net: hns3: Remove packet statistics in the range of 8192~12287 > net: hns3: Fix the missing client list node initialization > net: hns3: Fix for hns3 module is loaded multiple times problem > net: hns3: Fixes kernel panic issue during rmmod hns3 driver > net: hns3: Fix for PF mailbox receving unknown message > net: hns3: Optimize the PF's process of updating multicast MAC > net: hns3: Optimize the VF's process of updating multicast MAC > UBUNTU: SAUCE: {topost} net: hns3: fix unused function warning in VF driver > UBUNTU: SAUCE: net: hns3: Fix for VF mailbox cannot receiving PF response > UBUNTU: SAUCE: net: hns3: Fix for VF mailbox receiving unknown message > UBUNTU: SAUCE: net: hns3: Optimize PF CMDQ interrupt switching process > > Yunsheng Lin (36): > net: hns3: refactor the hclge_get/set_rss function > net: hns3: refactor the hclge_get/set_rss_tuple function > net: hns3: fix for RSS configuration loss problem during reset > net: hns3: fix for pause configuration lost during reset > net: hns3: fix for use-after-free when setting ring parameter > net: hns3: refactor the get/put_vector function > net: hns3: fix for coalesce configuration lost during reset > net: hns3: refactor the coalesce related struct > net: hns3: fix for coal configuation lost when setting the channel > net: hns3: fix for loopback failure when vlan filter is enable > net: hns3: fix for buffer overflow smatch warning > net: hns3: fix for vlan table lost problem when resetting > net: hns3: Remove error log when getting pfc stats fails > net: hns3: Fix for packet loss due wrong filter config in VLAN tbls > net: hns3: Add support of hardware rx-vlan-offload to HNS3 VF driver > net: hns3: Fix for setting mac address when resetting > net: hns3: remove add/del_tunnel_udp in hns3_enet module > net: hns3: fix for cleaning ring problem > net: hns3: refactor the loopback related function > net: hns3: Fixes the back pressure setting when sriov is enabled > net: hns3: Fix for fiber link up problem > net: hns3: Fix for CMDQ and Misc. interrupt init order problem > net: hns3: Disable vf vlan filter when vf vlan table is full > net: hns3: Fix for service_task not running problem after resetting > net: hns3: Fix for hclge_reset running repeatly problem > net: hns3: Fix for phy not link up problem after resetting > net: hns3: Add missing break in misc_irq_handle > net: hns3: Fix for vxlan tx checksum bug > UBUNTU: SAUCE: {topost} net: hns3: add support for serdes loopback selftest > UBUNTU: SAUCE: {topost} net: hns3: fix tc setup when netdev is first up > UBUNTU: SAUCE: {topost} net: hns3: fix for mac pause not disable in pfc mode > UBUNTU: SAUCE: {topost} net: hns3: fix for waterline not setting correctly > UBUNTU: SAUCE: {topost} net: hns3: fix for l4 checksum offload bug > UBUNTU: SAUCE: {topost} net: hns3: fix warning bug when doing lp selftest > UBUNTU: SAUCE: {topost} net: hns3: fix get_vector ops in hclgevf_main module > UBUNTU: SAUCE: {topost} net: hns3: fix for reset_level default assignment probelm > > kbuild test robot (1): > net: hns3: hclge_inform_reset_assert_to_vf() can be static > > drivers/net/ethernet/hisilicon/Kconfig | 15 +- > drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h | 20 + > drivers/net/ethernet/hisilicon/hns3/hnae3.c | 126 +- > drivers/net/ethernet/hisilicon/hns3/hnae3.h | 66 +- > drivers/net/ethernet/hisilicon/hns3/hns3_dcbnl.c | 10 +- > drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 1347 ++++++++------ > drivers/net/ethernet/hisilicon/hns3/hns3_enet.h | 45 +- > drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c | 197 +-- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c | 128 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h | 144 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c | 26 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.h | 10 +- > .../ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 1848 +++++++++++--------- > .../ethernet/hisilicon/hns3/hns3pf/hclge_main.h | 115 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c | 206 ++- > .../ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c | 63 +- > .../ethernet/hisilicon/hns3/hns3pf/hclge_mdio.h | 10 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c | 133 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.h | 30 +- > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.c | 32 +- > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.h | 2 +- > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 749 ++++++-- > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h | 41 +- > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c | 119 +- > 24 files changed, 3427 insertions(+), 2055 deletions(-) > if it must be... Acked-by: Stefan Bader <stefan.bader@canonical.com>
On 06/05/18 16:04, dann frazier wrote: > hns3 is a driver under active development, and is only used on > hardware that is currently pre-production. In fact, the current > version of the driver in Ubuntu doesn't work on current silicon > (crashes during init). > > Given the rate of development - and the pre-production status - I > believe syncing with the upstream driver-specific changes will be more > risk-averse/maintainable than surgically backporting only changesets > that individually qualify for SRU. This PR will get us in-sync with > the current state of linux-next. It also includes a number of > non-upstream (SAUCE) patches that are making their way upstream in > batches. I plan to track their upstream integration and replace the > SAUCE with upstream cherry-picks going forward. > > Tested on a D06 devel system. > > The following changes since commit b7be50f6450d62d2a2e3ad7599b63c6ca5c0006f: > > UBUNTU: Ubuntu-4.15.0-23.25 (2018-05-23 18:56:27 +0200) > > are available in the Git repository at: > > git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux hns3-updates-v3 > > for you to fetch changes up to d9f218aeb35ae8a1d85e24e8aa456cbc89ec85e7: > > UBUNTU: SAUCE: net: hns3: Optimize PF CMDQ interrupt switching process (2018-06-05 16:21:07 -0600) > > ---------------------------------------------------------------- > Fuyun Liang (30): > net: hns3: add existence check when remove old uc mac address > net: hns3: fix for netdev not running problem after calling net_stop and net_open > net: hns3: fix for ipv6 address loss problem after setting channels > net: hns3: unify the pause params setup function > net: hns3: reallocate tx/rx buffer after changing mtu > net: hns3: change GL update rate > net: hns3: change the time interval of int_gl calculating > net: hns3: fix for getting wrong link mode problem > net: hns3: add get_link support to VF > net: hns3: add querying speed and duplex support to VF > net: hns3: fix for not returning problem in get_link_ksettings when phy exists > net: hns3: fix for returning wrong value problem in hns3_get_rss_key_size > net: hns3: fix for returning wrong value problem in hns3_get_rss_indir_size > net: hns3: fix for the wrong shift problem in hns3_set_txbd_baseinfo > net: hns3: fix for not initializing VF rss_hash_key problem > net: hns3: Fix to support autoneg only for port attached with phy > net: hns3: Fix for deadlock problem occurring when unregistering ae_algo > net: hns3: Fix for the null pointer problem occurring when initializing ae_dev failed > net: hns3: Add a check for client instance init state > net: hns3: Change return type of hnae3_register_ae_dev > net: hns3: Change return type of hnae3_register_ae_algo > net: hns3: Change return value in hnae3_register_client > net: hns3: Fixes the missing PCI iounmap for various legs > net: hns3: Fix for netdev not running problem after calling net_stop and net_open > net: hns3: Fixes the init of the VALID BD info in the descriptor > net: hns3: Removes unnecessary check when clearing TX/RX rings > net: hns3: Clear TX/RX rings when stopping port & un-initializing client > UBUNTU: SAUCE: {topost} net: hns3: fix for mailbox message truncated problem > UBUNTU: SAUCE: {topost} net: hns3: fix for using wrong mask and shift in hclge_get_ring_chain_from_mbx > UBUNTU: SAUCE: {topost} net: hns3: fix comments for hclge_get_ring_chain_from_mbx > > Huazhong Tan (26): > net: hns3: fix to correctly fetch l4 protocol outer header > net: hns3: Fixes the out of bounds access in hclge_map_tqp > net: hns3: Fixes the error legs in hclge_init_ae_dev function > net: hns3: fix for phy_addr error in hclge_mac_mdio_config > net: hns3: fix a dead loop in hclge_cmd_csq_clean > net: hns3: Use enums instead of magic number in hclge_is_special_opcode > UBUNTU: SAUCE: {topost} net: hns3: remove back in struct hclge_hw > UBUNTU: SAUCE: {topost} net: hns3: use lower_32_bits and upper_32_bits > UBUNTU: SAUCE: {topost} net: hns3: remove unused hclge_ring_to_dma_dir > UBUNTU: SAUCE: {topost} net: hns3: remove useless code in hclge_cmd_send > UBUNTU: SAUCE: {topost} net: hns3: remove some redundant assignments > UBUNTU: SAUCE: {topost} net: hns3: simplify hclge_cmd_csq_clean > UBUNTU: SAUCE: {topost} net: hns3: using modulo for cyclic counters in hclge_cmd_send > UBUNTU: SAUCE: {topost} net: hns3: remove a redundant hclge_cmd_csq_done > UBUNTU: SAUCE: {topost} net: hns3: remove some unused members of some structures > UBUNTU: SAUCE: {topost} net: hns3: give default option while dependency HNS3 set > UBUNTU: SAUCE: {topost} net: hns3: use dma_zalloc_coherent instead of kzalloc/dma_map_single > UBUNTU: SAUCE: {topost} net: hns3: modify hnae_ to hnae3_ > UBUNTU: SAUCE: {topost} net: hns3: prevent sending command during global or core reset > UBUNTU: SAUCE: {topost} net: hns3: modify the order of initializeing command queue register > UBUNTU: SAUCE: {topost} net: hns3: reset net device with rtnl_lock > UBUNTU: SAUCE: {topost} net: hns3: prevent to request reset frequently > UBUNTU: SAUCE: {topost} net: hns3: correct reset event status register > UBUNTU: SAUCE: {topost} net: hns3: separate roce from nic when resetting > UBUNTU: SAUCE: {topost} net: hns3: fix return value error in hns3_reset_notify_down_enet > UBUNTU: SAUCE: {topost} net: hns3: remove unnecessary ring configuration operation while resetting > > Jian Shen (20): > net: hns3: fix error type definition of return value > net: hns3: fix return value error of hclge_get_mac_vlan_cmd_status() > net: hns3: add existence checking before adding unicast mac address > net: hns3: add result checking for VF when modify unicast mac address > net: hns3: cleanup of return values in hclge_init_client_instance() > net: hns3: Remove unused led control code > net: hns3: Adds support for led locate command for copper port > net: hns3: Add repeat address checking for setting mac address > net: hns3: Fix setting mac address error > UBUNTU: SAUCE: {topost} net: hns3: remove some redundant assignments > UBUNTU: SAUCE: {topost} net: hns3: standardize the handle of return value > UBUNTU: SAUCE: {topost} net: hns3: remove extra space and brackets > UBUNTU: SAUCE: {topost} net: hns3: fix unreasonable code comments > UBUNTU: SAUCE: {topost} net: hns3: use decimal for bit offset macros > UBUNTU: SAUCE: {topost} net: hns3: modify inconsistent bit mask macros > UBUNTU: SAUCE: {topost} net: hns3: fix mislead parameter name > UBUNTU: SAUCE: {topost} net: hns3: remove unused struct member and definition > UBUNTU: SAUCE: {topost} net: hns3: Add SPDX tags to hns3 driver > UBUNTU: SAUCE: {topost} net: hns3: Add configure for mac minimal frame size > UBUNTU: SAUCE: net: hns3: Fix for phy link issue when using marvell phy driver > > Lijun Ou (2): > net: hns3: Fixes initalization of RoCE handle and makes it conditional > UBUNTU: SAUCE: {topost} net: hns3: Add pf reset for hip08 RoCE > > Peng Li (30): > net: hns3: VF should get the real rss_size instead of rss_size_max > net: hns3: set the cmdq out_vld bit to 0 after used > net: hns3: fix endian issue when PF get mbx message flag > net: hns3: fix the queue id for tqp enable&&reset > net: hns3: set the max ring num when alloc netdev > net: hns3: add support for VF driver inner interface hclgevf_ops.get_tqps_and_rss_info > net: hns3: fix rx path skb->truesize reporting bug > net: hns3: add support for querying pfc puase packets statistic > net: hns3: fix the VF queue reset flow error > net: hns3: increase the max time for IMP handle command > net: hns3: never send command queue message to IMP when reset > net: hns3: Add support of .sriov_configure in HNS3 driver > net: hns3: Fixes API to fetch ethernet header length with kernel default > net: hns3: Updates RX packet info fetch in case of multi BD > net: hns3: Add support for tx_accept_tag2 and tx_accept_untag2 config > net: hns3: Add STRP_TAGP field support for hardware revision 0x21 > net: hns3: Add support to enable TX/RX promisc mode for H/W rev(0x21) > net: hns3: Fixes the state to indicate client-type initialization > net: hns3: Add support for IFF_ALLMULTI flag > UBUNTU: SAUCE: {topost} net: hns3: RX BD information valid only in last BD except VLD bit and buffer size > UBUNTU: SAUCE: {topost} net: hns3: remove hclge_get_vector_index from hclge_bind_ring_with_vector > UBUNTU: SAUCE: {topost} net: hns3: rename the interface for init_client_instance and uninit_client_instance > UBUNTU: SAUCE: {topost} net: hns3: add vector status check before free vector > UBUNTU: SAUCE: {topost} net: hns3: add l4_type check for both ipv4 and ipv6 > UBUNTU: SAUCE: {topost} net: hns3: remove unused head file in hnae3.c > UBUNTU: SAUCE: {topost} net: hns3: extraction an interface for state state init|uninit > UBUNTU: SAUCE: {topost} net: hns3: print the ret value in error information > UBUNTU: SAUCE: {topost} net: hns3: remove the Redundant put_vector in hns3_client_uninit > UBUNTU: SAUCE: {topost} net: hns3: add unlikely for error check > UBUNTU: SAUCE: {topost} net: hns3: remove the warning when clear reset cause > > Salil Mehta (10): > net: hns3: Changes to make enet watchdog timeout func common for PF/VF > net: hns3: Add VF Reset Service Task to support event handling > net: hns3: Add VF Reset device state and its handling > net: hns3: Add support to request VF Reset to PF > net: hns3: Add support to reset the enet/ring mgmt layer > net: hns3: Add support to re-initialize the hclge device > net: hns3: Changes to support ARQ(Asynchronous Receive Queue) > net: hns3: Add *Asserting Reset* mailbox message & handling in VF > net: hns3: Changes required in PF mailbox to support VF reset > net: hns3: Fixes error reported by Kbuild and internal review > > Tan Xiaojun (1): > net: hns3: fix length overflow when CONFIG_ARM64_64K_PAGES > > Wei Hu (Xavier) (3): > UBUNTU: SAUCE: {topost} net: hns3: optimize the process of notifying roce client > UBUNTU: SAUCE: {topost} net: hns3: Add calling roce callback function when link status change > UBUNTU: SAUCE: {topost} net: hns3: Use roce handle when calling roce callback function > > Wei Yongjun (1): > net: hns3: remove unnecessary pci_set_drvdata() and devm_kfree() > > Xi Wang (11): > net: hns3: Remove packet statistics in the range of 8192~12287 > net: hns3: Fix the missing client list node initialization > net: hns3: Fix for hns3 module is loaded multiple times problem > net: hns3: Fixes kernel panic issue during rmmod hns3 driver > net: hns3: Fix for PF mailbox receving unknown message > net: hns3: Optimize the PF's process of updating multicast MAC > net: hns3: Optimize the VF's process of updating multicast MAC > UBUNTU: SAUCE: {topost} net: hns3: fix unused function warning in VF driver > UBUNTU: SAUCE: net: hns3: Fix for VF mailbox cannot receiving PF response > UBUNTU: SAUCE: net: hns3: Fix for VF mailbox receiving unknown message > UBUNTU: SAUCE: net: hns3: Optimize PF CMDQ interrupt switching process > > Yunsheng Lin (36): > net: hns3: refactor the hclge_get/set_rss function > net: hns3: refactor the hclge_get/set_rss_tuple function > net: hns3: fix for RSS configuration loss problem during reset > net: hns3: fix for pause configuration lost during reset > net: hns3: fix for use-after-free when setting ring parameter > net: hns3: refactor the get/put_vector function > net: hns3: fix for coalesce configuration lost during reset > net: hns3: refactor the coalesce related struct > net: hns3: fix for coal configuation lost when setting the channel > net: hns3: fix for loopback failure when vlan filter is enable > net: hns3: fix for buffer overflow smatch warning > net: hns3: fix for vlan table lost problem when resetting > net: hns3: Remove error log when getting pfc stats fails > net: hns3: Fix for packet loss due wrong filter config in VLAN tbls > net: hns3: Add support of hardware rx-vlan-offload to HNS3 VF driver > net: hns3: Fix for setting mac address when resetting > net: hns3: remove add/del_tunnel_udp in hns3_enet module > net: hns3: fix for cleaning ring problem > net: hns3: refactor the loopback related function > net: hns3: Fixes the back pressure setting when sriov is enabled > net: hns3: Fix for fiber link up problem > net: hns3: Fix for CMDQ and Misc. interrupt init order problem > net: hns3: Disable vf vlan filter when vf vlan table is full > net: hns3: Fix for service_task not running problem after resetting > net: hns3: Fix for hclge_reset running repeatly problem > net: hns3: Fix for phy not link up problem after resetting > net: hns3: Add missing break in misc_irq_handle > net: hns3: Fix for vxlan tx checksum bug > UBUNTU: SAUCE: {topost} net: hns3: add support for serdes loopback selftest > UBUNTU: SAUCE: {topost} net: hns3: fix tc setup when netdev is first up > UBUNTU: SAUCE: {topost} net: hns3: fix for mac pause not disable in pfc mode > UBUNTU: SAUCE: {topost} net: hns3: fix for waterline not setting correctly > UBUNTU: SAUCE: {topost} net: hns3: fix for l4 checksum offload bug > UBUNTU: SAUCE: {topost} net: hns3: fix warning bug when doing lp selftest > UBUNTU: SAUCE: {topost} net: hns3: fix get_vector ops in hclgevf_main module > UBUNTU: SAUCE: {topost} net: hns3: fix for reset_level default assignment probelm > > kbuild test robot (1): > net: hns3: hclge_inform_reset_assert_to_vf() can be static > > drivers/net/ethernet/hisilicon/Kconfig | 15 +- > drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h | 20 + > drivers/net/ethernet/hisilicon/hns3/hnae3.c | 126 +- > drivers/net/ethernet/hisilicon/hns3/hnae3.h | 66 +- > drivers/net/ethernet/hisilicon/hns3/hns3_dcbnl.c | 10 +- > drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 1347 ++++++++------ > drivers/net/ethernet/hisilicon/hns3/hns3_enet.h | 45 +- > drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c | 197 +-- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c | 128 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h | 144 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c | 26 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.h | 10 +- > .../ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 1848 +++++++++++--------- > .../ethernet/hisilicon/hns3/hns3pf/hclge_main.h | 115 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c | 206 ++- > .../ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c | 63 +- > .../ethernet/hisilicon/hns3/hns3pf/hclge_mdio.h | 10 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c | 133 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.h | 30 +- > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.c | 32 +- > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.h | 2 +- > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 749 ++++++-- > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h | 41 +- > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c | 119 +- > 24 files changed, 3427 insertions(+), 2055 deletions(-) > Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Applied to Bionic On 2018-06-05 17:04:54 , dann frazier wrote: > hns3 is a driver under active development, and is only used on > hardware that is currently pre-production. In fact, the current > version of the driver in Ubuntu doesn't work on current silicon > (crashes during init). > > Given the rate of development - and the pre-production status - I > believe syncing with the upstream driver-specific changes will be more > risk-averse/maintainable than surgically backporting only changesets > that individually qualify for SRU. This PR will get us in-sync with > the current state of linux-next. It also includes a number of > non-upstream (SAUCE) patches that are making their way upstream in > batches. I plan to track their upstream integration and replace the > SAUCE with upstream cherry-picks going forward. > > Tested on a D06 devel system. > > The following changes since commit b7be50f6450d62d2a2e3ad7599b63c6ca5c0006f: > > UBUNTU: Ubuntu-4.15.0-23.25 (2018-05-23 18:56:27 +0200) > > are available in the Git repository at: > > git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux hns3-updates-v3 > > for you to fetch changes up to d9f218aeb35ae8a1d85e24e8aa456cbc89ec85e7: > > UBUNTU: SAUCE: net: hns3: Optimize PF CMDQ interrupt switching process (2018-06-05 16:21:07 -0600) > > ---------------------------------------------------------------- > Fuyun Liang (30): > net: hns3: add existence check when remove old uc mac address > net: hns3: fix for netdev not running problem after calling net_stop and net_open > net: hns3: fix for ipv6 address loss problem after setting channels > net: hns3: unify the pause params setup function > net: hns3: reallocate tx/rx buffer after changing mtu > net: hns3: change GL update rate > net: hns3: change the time interval of int_gl calculating > net: hns3: fix for getting wrong link mode problem > net: hns3: add get_link support to VF > net: hns3: add querying speed and duplex support to VF > net: hns3: fix for not returning problem in get_link_ksettings when phy exists > net: hns3: fix for returning wrong value problem in hns3_get_rss_key_size > net: hns3: fix for returning wrong value problem in hns3_get_rss_indir_size > net: hns3: fix for the wrong shift problem in hns3_set_txbd_baseinfo > net: hns3: fix for not initializing VF rss_hash_key problem > net: hns3: Fix to support autoneg only for port attached with phy > net: hns3: Fix for deadlock problem occurring when unregistering ae_algo > net: hns3: Fix for the null pointer problem occurring when initializing ae_dev failed > net: hns3: Add a check for client instance init state > net: hns3: Change return type of hnae3_register_ae_dev > net: hns3: Change return type of hnae3_register_ae_algo > net: hns3: Change return value in hnae3_register_client > net: hns3: Fixes the missing PCI iounmap for various legs > net: hns3: Fix for netdev not running problem after calling net_stop and net_open > net: hns3: Fixes the init of the VALID BD info in the descriptor > net: hns3: Removes unnecessary check when clearing TX/RX rings > net: hns3: Clear TX/RX rings when stopping port & un-initializing client > UBUNTU: SAUCE: {topost} net: hns3: fix for mailbox message truncated problem > UBUNTU: SAUCE: {topost} net: hns3: fix for using wrong mask and shift in hclge_get_ring_chain_from_mbx > UBUNTU: SAUCE: {topost} net: hns3: fix comments for hclge_get_ring_chain_from_mbx > > Huazhong Tan (26): > net: hns3: fix to correctly fetch l4 protocol outer header > net: hns3: Fixes the out of bounds access in hclge_map_tqp > net: hns3: Fixes the error legs in hclge_init_ae_dev function > net: hns3: fix for phy_addr error in hclge_mac_mdio_config > net: hns3: fix a dead loop in hclge_cmd_csq_clean > net: hns3: Use enums instead of magic number in hclge_is_special_opcode > UBUNTU: SAUCE: {topost} net: hns3: remove back in struct hclge_hw > UBUNTU: SAUCE: {topost} net: hns3: use lower_32_bits and upper_32_bits > UBUNTU: SAUCE: {topost} net: hns3: remove unused hclge_ring_to_dma_dir > UBUNTU: SAUCE: {topost} net: hns3: remove useless code in hclge_cmd_send > UBUNTU: SAUCE: {topost} net: hns3: remove some redundant assignments > UBUNTU: SAUCE: {topost} net: hns3: simplify hclge_cmd_csq_clean > UBUNTU: SAUCE: {topost} net: hns3: using modulo for cyclic counters in hclge_cmd_send > UBUNTU: SAUCE: {topost} net: hns3: remove a redundant hclge_cmd_csq_done > UBUNTU: SAUCE: {topost} net: hns3: remove some unused members of some structures > UBUNTU: SAUCE: {topost} net: hns3: give default option while dependency HNS3 set > UBUNTU: SAUCE: {topost} net: hns3: use dma_zalloc_coherent instead of kzalloc/dma_map_single > UBUNTU: SAUCE: {topost} net: hns3: modify hnae_ to hnae3_ > UBUNTU: SAUCE: {topost} net: hns3: prevent sending command during global or core reset > UBUNTU: SAUCE: {topost} net: hns3: modify the order of initializeing command queue register > UBUNTU: SAUCE: {topost} net: hns3: reset net device with rtnl_lock > UBUNTU: SAUCE: {topost} net: hns3: prevent to request reset frequently > UBUNTU: SAUCE: {topost} net: hns3: correct reset event status register > UBUNTU: SAUCE: {topost} net: hns3: separate roce from nic when resetting > UBUNTU: SAUCE: {topost} net: hns3: fix return value error in hns3_reset_notify_down_enet > UBUNTU: SAUCE: {topost} net: hns3: remove unnecessary ring configuration operation while resetting > > Jian Shen (20): > net: hns3: fix error type definition of return value > net: hns3: fix return value error of hclge_get_mac_vlan_cmd_status() > net: hns3: add existence checking before adding unicast mac address > net: hns3: add result checking for VF when modify unicast mac address > net: hns3: cleanup of return values in hclge_init_client_instance() > net: hns3: Remove unused led control code > net: hns3: Adds support for led locate command for copper port > net: hns3: Add repeat address checking for setting mac address > net: hns3: Fix setting mac address error > UBUNTU: SAUCE: {topost} net: hns3: remove some redundant assignments > UBUNTU: SAUCE: {topost} net: hns3: standardize the handle of return value > UBUNTU: SAUCE: {topost} net: hns3: remove extra space and brackets > UBUNTU: SAUCE: {topost} net: hns3: fix unreasonable code comments > UBUNTU: SAUCE: {topost} net: hns3: use decimal for bit offset macros > UBUNTU: SAUCE: {topost} net: hns3: modify inconsistent bit mask macros > UBUNTU: SAUCE: {topost} net: hns3: fix mislead parameter name > UBUNTU: SAUCE: {topost} net: hns3: remove unused struct member and definition > UBUNTU: SAUCE: {topost} net: hns3: Add SPDX tags to hns3 driver > UBUNTU: SAUCE: {topost} net: hns3: Add configure for mac minimal frame size > UBUNTU: SAUCE: net: hns3: Fix for phy link issue when using marvell phy driver > > Lijun Ou (2): > net: hns3: Fixes initalization of RoCE handle and makes it conditional > UBUNTU: SAUCE: {topost} net: hns3: Add pf reset for hip08 RoCE > > Peng Li (30): > net: hns3: VF should get the real rss_size instead of rss_size_max > net: hns3: set the cmdq out_vld bit to 0 after used > net: hns3: fix endian issue when PF get mbx message flag > net: hns3: fix the queue id for tqp enable&&reset > net: hns3: set the max ring num when alloc netdev > net: hns3: add support for VF driver inner interface hclgevf_ops.get_tqps_and_rss_info > net: hns3: fix rx path skb->truesize reporting bug > net: hns3: add support for querying pfc puase packets statistic > net: hns3: fix the VF queue reset flow error > net: hns3: increase the max time for IMP handle command > net: hns3: never send command queue message to IMP when reset > net: hns3: Add support of .sriov_configure in HNS3 driver > net: hns3: Fixes API to fetch ethernet header length with kernel default > net: hns3: Updates RX packet info fetch in case of multi BD > net: hns3: Add support for tx_accept_tag2 and tx_accept_untag2 config > net: hns3: Add STRP_TAGP field support for hardware revision 0x21 > net: hns3: Add support to enable TX/RX promisc mode for H/W rev(0x21) > net: hns3: Fixes the state to indicate client-type initialization > net: hns3: Add support for IFF_ALLMULTI flag > UBUNTU: SAUCE: {topost} net: hns3: RX BD information valid only in last BD except VLD bit and buffer size > UBUNTU: SAUCE: {topost} net: hns3: remove hclge_get_vector_index from hclge_bind_ring_with_vector > UBUNTU: SAUCE: {topost} net: hns3: rename the interface for init_client_instance and uninit_client_instance > UBUNTU: SAUCE: {topost} net: hns3: add vector status check before free vector > UBUNTU: SAUCE: {topost} net: hns3: add l4_type check for both ipv4 and ipv6 > UBUNTU: SAUCE: {topost} net: hns3: remove unused head file in hnae3.c > UBUNTU: SAUCE: {topost} net: hns3: extraction an interface for state state init|uninit > UBUNTU: SAUCE: {topost} net: hns3: print the ret value in error information > UBUNTU: SAUCE: {topost} net: hns3: remove the Redundant put_vector in hns3_client_uninit > UBUNTU: SAUCE: {topost} net: hns3: add unlikely for error check > UBUNTU: SAUCE: {topost} net: hns3: remove the warning when clear reset cause > > Salil Mehta (10): > net: hns3: Changes to make enet watchdog timeout func common for PF/VF > net: hns3: Add VF Reset Service Task to support event handling > net: hns3: Add VF Reset device state and its handling > net: hns3: Add support to request VF Reset to PF > net: hns3: Add support to reset the enet/ring mgmt layer > net: hns3: Add support to re-initialize the hclge device > net: hns3: Changes to support ARQ(Asynchronous Receive Queue) > net: hns3: Add *Asserting Reset* mailbox message & handling in VF > net: hns3: Changes required in PF mailbox to support VF reset > net: hns3: Fixes error reported by Kbuild and internal review > > Tan Xiaojun (1): > net: hns3: fix length overflow when CONFIG_ARM64_64K_PAGES > > Wei Hu (Xavier) (3): > UBUNTU: SAUCE: {topost} net: hns3: optimize the process of notifying roce client > UBUNTU: SAUCE: {topost} net: hns3: Add calling roce callback function when link status change > UBUNTU: SAUCE: {topost} net: hns3: Use roce handle when calling roce callback function > > Wei Yongjun (1): > net: hns3: remove unnecessary pci_set_drvdata() and devm_kfree() > > Xi Wang (11): > net: hns3: Remove packet statistics in the range of 8192~12287 > net: hns3: Fix the missing client list node initialization > net: hns3: Fix for hns3 module is loaded multiple times problem > net: hns3: Fixes kernel panic issue during rmmod hns3 driver > net: hns3: Fix for PF mailbox receving unknown message > net: hns3: Optimize the PF's process of updating multicast MAC > net: hns3: Optimize the VF's process of updating multicast MAC > UBUNTU: SAUCE: {topost} net: hns3: fix unused function warning in VF driver > UBUNTU: SAUCE: net: hns3: Fix for VF mailbox cannot receiving PF response > UBUNTU: SAUCE: net: hns3: Fix for VF mailbox receiving unknown message > UBUNTU: SAUCE: net: hns3: Optimize PF CMDQ interrupt switching process > > Yunsheng Lin (36): > net: hns3: refactor the hclge_get/set_rss function > net: hns3: refactor the hclge_get/set_rss_tuple function > net: hns3: fix for RSS configuration loss problem during reset > net: hns3: fix for pause configuration lost during reset > net: hns3: fix for use-after-free when setting ring parameter > net: hns3: refactor the get/put_vector function > net: hns3: fix for coalesce configuration lost during reset > net: hns3: refactor the coalesce related struct > net: hns3: fix for coal configuation lost when setting the channel > net: hns3: fix for loopback failure when vlan filter is enable > net: hns3: fix for buffer overflow smatch warning > net: hns3: fix for vlan table lost problem when resetting > net: hns3: Remove error log when getting pfc stats fails > net: hns3: Fix for packet loss due wrong filter config in VLAN tbls > net: hns3: Add support of hardware rx-vlan-offload to HNS3 VF driver > net: hns3: Fix for setting mac address when resetting > net: hns3: remove add/del_tunnel_udp in hns3_enet module > net: hns3: fix for cleaning ring problem > net: hns3: refactor the loopback related function > net: hns3: Fixes the back pressure setting when sriov is enabled > net: hns3: Fix for fiber link up problem > net: hns3: Fix for CMDQ and Misc. interrupt init order problem > net: hns3: Disable vf vlan filter when vf vlan table is full > net: hns3: Fix for service_task not running problem after resetting > net: hns3: Fix for hclge_reset running repeatly problem > net: hns3: Fix for phy not link up problem after resetting > net: hns3: Add missing break in misc_irq_handle > net: hns3: Fix for vxlan tx checksum bug > UBUNTU: SAUCE: {topost} net: hns3: add support for serdes loopback selftest > UBUNTU: SAUCE: {topost} net: hns3: fix tc setup when netdev is first up > UBUNTU: SAUCE: {topost} net: hns3: fix for mac pause not disable in pfc mode > UBUNTU: SAUCE: {topost} net: hns3: fix for waterline not setting correctly > UBUNTU: SAUCE: {topost} net: hns3: fix for l4 checksum offload bug > UBUNTU: SAUCE: {topost} net: hns3: fix warning bug when doing lp selftest > UBUNTU: SAUCE: {topost} net: hns3: fix get_vector ops in hclgevf_main module > UBUNTU: SAUCE: {topost} net: hns3: fix for reset_level default assignment probelm > > kbuild test robot (1): > net: hns3: hclge_inform_reset_assert_to_vf() can be static > > drivers/net/ethernet/hisilicon/Kconfig | 15 +- > drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h | 20 + > drivers/net/ethernet/hisilicon/hns3/hnae3.c | 126 +- > drivers/net/ethernet/hisilicon/hns3/hnae3.h | 66 +- > drivers/net/ethernet/hisilicon/hns3/hns3_dcbnl.c | 10 +- > drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 1347 ++++++++------ > drivers/net/ethernet/hisilicon/hns3/hns3_enet.h | 45 +- > drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c | 197 +-- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c | 128 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h | 144 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c | 26 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.h | 10 +- > .../ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 1848 +++++++++++--------- > .../ethernet/hisilicon/hns3/hns3pf/hclge_main.h | 115 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c | 206 ++- > .../ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c | 63 +- > .../ethernet/hisilicon/hns3/hns3pf/hclge_mdio.h | 10 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c | 133 +- > .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.h | 30 +- > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.c | 32 +- > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.h | 2 +- > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 749 ++++++-- > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h | 41 +- > .../ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c | 119 +- > 24 files changed, 3427 insertions(+), 2055 deletions(-) > > -- > kernel-team mailing list > kernel-team@lists.ubuntu.com > https://lists.ubuntu.com/mailman/listinfo/kernel-team