APPLIED: [PULL][SRU Bionic] Update drivers specific to HiSilicon server SoCs

Kleber Souza kleber.souza at canonical.com
Thu Jan 10 16:45:17 UTC 2019


On 1/9/19 12:37 AM, dann frazier wrote:
> BugLink: https://bugs.launchpad.net/bugs/1810457
>
> The first commit here is a revert of a change that was unintentionally
> applied twice, but luckily appears to have not caused any issues. Next
> we revert the remaining hns3 SAUCE patches, which have now been
> superseded by upstream changes that are applied later in this series.
>
> The remaining changes are clean cherry-picks from upstream, except for
> 4 that required minor backporting to bionic, noted in the s-o-b section.
>
> All changes are restricted to drivers specific to the Hi1616 and Hi1620
> SoCs in the D05 and D06 server development boards.
>
> The following changes since commit a957cd35a1a5227b3f4372b974057a927cc98bf5:
>
>   i2c: i801: Don't restore config registers on runtime PM (2019-01-03 09:14:24 -0800)
>
> are available in the Git repository at:
>
>   git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux hisi-soc-updates-bionic
>
> for you to fetch changes up to c370ec483e5ed10709de165d79e54c1d9eee4ba3:
>
>   net: hns3: call hns3_nic_net_open() while doing HNAE3_UP_CLIENT (2019-01-08 15:30:19 -0700)
>
> ----------------------------------------------------------------
> Arnd Bergmann (1):
>       hns3: prevent building without CONFIG_INET
>
> Christoph Hellwig (1):
>       scsi: hisi_sas: use dma_set_mask_and_coherent
>
> Colin Ian King (5):
>       net: hns3: remove redundant variable 'protocol'
>       net: hns3: fix spelling mistake "intrerrupt" -> "interrupt"
>       net: hns3: fix spelling mistake, "assertting" -> "asserting"
>       net: hns3: fix spelling mistake "failded" -> "failed"
>       net: hns3: fix spelling mistake "offser" -> "offset"
>
> David S. Miller (2):
>       hns3: Fix the build.
>       hns3: Another build fix.
>
> Eric Dumazet (1):
>       net: hns: remove ndo_poll_controller
>
> Fuyun Liang (11):
>       net: hns3: Set STATE_DOWN bit of hdev state when stopping net
>       net: hns3: Fix for setting speed for phy failed problem
>       net: hns3: Fix speed/duplex information loss problem when executing ethtool ethx cmd of VF
>       net: hns3: Set extra mac address of pause param for HW
>       net: hns3: Rename loop mode
>       net: hns3: Rename mac loopback to app loopback
>       net: hns3: Add serdes parallel inner loopback support
>       net: hns3: add handling for big TX fragment
>       net: hns3: rename hns_nic_dma_unmap
>       net: hns3: fix for multiple unmapping DMA problem
>       net: hns3: remove 1000M/half support of phy
>
> Geert Uytterhoeven (1):
>       scsi: hisi_sas: Remove depends on HAS_DMA in case of platform dependency
>
> Gustavo A. R. Silva (3):
>       net: hns: Mark expected switch fall-through
>       net: hns3: Mark expected switch fall-through
>       scsi: hisi_sas: Fix NULL pointer dereference
>
> Huazhong Tan (51):
>       net: hns3: fix return value error while hclge_cmd_csq_clean failed
>       net: hns: modify variable type in hns_nic_reuse_page
>       net: hns: use eth_get_headlen interface instead of hns_nic_get_headlen
>       net: hns3: modify variable type in hns3_nic_reuse_page
>       net: hns3: Fix for multicast failure
>       net: hns3: Change return type of hclge_tm_schd_info_update()
>       net: hns3: Modify hns3_get_max_available_channels
>       net: hns3: Fix loss of coal configuration while doing reset
>       net: hns3: add error handler for hns3_nic_init_vector_data()
>       net: hns3: bugfix for buffer not free problem during resetting
>       net: hns3: bugfix for reporting unknown vector0 interrupt repeatly problem
>       net: hns3: bugfix for the initialization of command queue's spin lock
>       net: hns3: remove unnecessary queue reset in the hns3_uninit_all_ring()
>       net: hns3: bugfix for is_valid_csq_clean_head()
>       net: hns3: bugfix for hclge_mdio_write and hclge_mdio_read
>       net: hns3: fix incorrect return value/type of some functions
>       net: hns3: bugfix for handling mailbox while the command queue reinitialized
>       net: hns3: bugfix for rtnl_lock's range in the hclge_reset()
>       net: hns3: bugfix for rtnl_lock's range in the hclgevf_reset()
>       net: hns3: bugfix for not checking return value
>       net: hns3: use HNS3_NIC_STATE_INITED to indicate the initialization state of enet
>       net: hns3: add set_default_reset_request in the hnae3_ae_ops
>       net: hns3: provide some interface & information for the client
>       net: hns3: adjust the location of clearing the table when doing reset
>       net: hns3: enable/disable ring in the enet while doing UP/DOWN
>       net: hns3: use HNS3_NIC_STATE_RESETTING to indicate resetting
>       net: hns3: ignore new coming low-level reset while doing high-level reset
>       net: hns3: move some reset information from hnae3_handle into hclge_dev/hclgevf_dev
>       net: hns3: adjust the process of PF reset
>       net: hns3: call roce's reset notify callback when resetting
>       net: hns3: add error handler for hclge_reset()
>       net: hns3: fix for cmd queue memory not freed problem during reset
>       net: hns3: add reset_hdev to reinit the hdev in VF's reset process
>       net: hns3: adjust VF's reset process
>       net: hns3: add reset handling for VF when doing PF reset
>       net: hns3: add reset handling for VF when doing Core/Global/IMP reset
>       net: hns3: stop handling command queue while resetting VF
>       net: hns3: add error handler for hclgevf_reset()
>       net: hns3: stop napi polling when HNS3_NIC_STATE_DOWN is set
>       net: hns3: implement the IMP reset processing for PF
>       net: hns3: add PCIe FLR support for PF
>       net: hns3: do VF's pci re-initialization while PF doing FLR
>       net: hns3: add PCIe FLR support for VF
>       net: hns3: fix error handling int the hns3_get_vector_ring_chain
>       net: hns3: uninitialize pci in the hclgevf_uninit
>       net: hns3: fix napi_disable not return problem
>       net: hns3: update some variables while hclge_reset()/hclgevf_reset() done
>       net: hns3: remove unnecessary configuration recapture while resetting
>       net: hns3: fix incomplete uninitialization of IRQ in the hns3_nic_uninit_vector_data()
>       net: hns3: reset tqp while doing DOWN operation
>       net: hns3: call hns3_nic_net_open() while doing HNAE3_UP_CLIENT
>
> Jia-Ju Bai (1):
>       net: hisilicon: hns: Replace mdelay() with msleep()
>
> Jian Shen (41):
>       net: hns3: Fix error of checking used vlan id
>       net: hns3: Remove redundant codes of query advertised flow control abilitiy
>       net: hns3: Refine hns3_get_link_ksettings()
>       net: hns3: Fix cmdq registers initialization issue for vf
>       net: hns3: Clear client pointer when initialize client failed or unintialize finished
>       net: hns3: Fix client initialize state issue when roce client initialize failed
>       net: hns3: Fix parameter type for q_id in hclge_tm_q_to_qs_map_cfg()
>       net: hns3: Fix ets validate issue
>       net: hns3: Unify the type convert for desc.data
>       net: hns3: Adjust prefix of tx/rx statistic names
>       net: hns3: Fix tqp array traversal condition for vf
>       net: hns3: Unify the prefix of vf functions
>       net: hns3: Add handle for default case
>       net: hns3: Add nic state check before calling netif_tx_wake_queue
>       net: hns3: Add unlikely for dma_mapping_error check
>       net: hns3: Remove print messages for error packet
>       net: hns3: Add flow director initialization
>       net: hns3: Add input key and action config support for flow director
>       net: hns3: Add support for rule add/delete for flow director
>       net: hns3: Add support for rule query of flow director
>       net: hns3: Add reset handle for flow director
>       net: hns3: Remove all flow director rules when unload hns3 driver
>       net: hns3: Add support for enable/disable flow director
>       net: hns3: Remove the default mask configuration for mac vlan table
>       net: hns3: Clear mac vlan table entries when unload driver or function reset
>       net: hns3: Optimize for unicast mac vlan table
>       net: hns3: Drop depricated mta table support
>       net: hns3: Fix for rx vlan id handle to support Rev 0x21 hardware
>       net: hns3: Add new RSS hash algorithm support for PF
>       net: hns3: Add RSS general configuration support for VF
>       net: hns3: Add RSS tuples support for VF
>       net: hns3: Enable promisc mode when mac vlan table is full
>       net: hns3: Resume promisc mode and vlan filter status after reset
>       net: hns3: Resume promisc mode and vlan filter status after loopback test
>       net: hns3: Support "ethtool -d" for HNS3 VF driver
>       net: hns3: Adds support to dump(using ethool-d) PCIe regs in HNS3 PF driver
>       net: hns3: refine the handle for hns3_nic_net_open/stop()
>       net: hns3: change default tc state to close
>       net: hns3: add max vector number check for pf
>       net: hns3: fix vf id check issue when add flow director rule
>       net: hns3: don't restore rules when flow director is disabled
>
> Joe Perches (1):
>       ethernet: hisilicon: hns: hns_dsaf_mac: Use generic eth_broadcast_addr
>
> John Garry (5):
>       scsi: hisi_sas: remove some unneeded structure members
>       scsi: hisi_sas: Introduce hisi_sas_phy_set_linkrate()
>       scsi: hisi_sas: Drop hisi_sas_slot_abort()
>       scsi: hisi_sas: Fix spin lock management in slot_index_alloc_quirk_v2_hw()
>       scsi: hisi_sas: Fix warnings detected by sparse
>
> Luo Jiaxing (2):
>       scsi: hisi_sas: Feed back linkrate(max/min) when re-attached
>       scsi: hisi_sas: Move evaluation of hisi_hba in hisi_sas_task_prep()
>
> Peng Li (20):
>       net: hns3: Add default irq affinity
>       net: hns3: Add unlikely for buf_num check
>       net: hns3: Remove tx budget to clean more TX descriptors in a napi
>       net: hns3: Remove packet statistics of public
>       net: hns3: Check hdev state when getting link status
>       net: hns3: Add get_media_type ops support for VF
>       net: hns3: Remove redundant hclge_get_port_type()
>       net: hns3: Add support for sctp checksum offload
>       net: hns3: Add HW RSS hash information to RX skb
>       net: hns3: remove hns3_fill_desc_tso
>       net: hns3: move DMA map into hns3_fill_desc
>       net: hns3: Enable HW GRO for Rev B(=0x21) HNS3 hardware
>       net: hns3: Add handling of GRO Pkts not fully RX'ed in NAPI poll
>       net: hns3: Add skb chain when num of RX buf exceeds MAX_SKB_FRAGS
>       net: hns3: Adds GRO params to SKB for the stack
>       net: hns3: update coalesce param per second
>       net: hns3: synchronize speed and duplex from phy when phy link up
>       net: hns3: fix a bug caused by udelay
>       net: hns3: fix the descriptor index when get rss type
>       net: hns3: remove redundant variable initialization
>
> Salil Mehta (1):
>       net: hns3: add handling of hw errors reported through MSIX
>
> Shiju Jose (21):
>       net: hns3: Add PCIe AER callback error_detected
>       net: hns3: Add PCIe AER error recovery
>       net: hns3: Add support to enable and disable hw errors
>       net: hns3: Add enable and process common ecc errors
>       net: hns3: Add enable and process hw errors from IGU, EGU and NCSI
>       net: hns3: Add enable and process hw errors from PPP
>       net: hns3: Add enable and process hw errors of TM scheduler
>       net: hns3: Fix for warning uninitialized symbol hw_err_lst3
>       net: hns3: remove existing process error functions and reorder hw_blk table
>       net: hns3: rename enable error interrupt functions
>       net: hns3: re-enable error interrupts on hw reset
>       net: hns3: deletes unnecessary settings of the descriptor data
>       net: hns3: rename process_hw_error function
>       net: hns3: add optimization in the hclge_hw_error_set_state
>       net: hns3: add handling of hw ras errors using new set of commands
>       net: hns3: deleted logging 1 bit errors
>       net: hns3: add handling of hw errors of MAC
>       net: hns3: handle hw errors of PPP PF
>       net: hns3: handle hw errors of PPU(RCB)
>       net: hns3: handle hw errors of SSU
>       net: hns3: add handling of RDMA RAS errors
>
> Wei Yongjun (1):
>       net: hns: make function hns_gmac_wait_fifo_clean() static
>
> Xi Wang (2):
>       net: hns: Fix the process of adding broadcast addresses to tcam
>       net: hns3: Add support for hns3_nic_netdev_ops.ndo_do_ioctl
>
> Xiang Chen (13):
>       scsi: hisi_sas: Fix the race between IO completion and timeout for SMP/internal IO
>       scsi: hisi_sas: Free slot later in slot_complete_vx_hw()
>       scsi: hisi_sas: unmask interrupts ent72 and ent74
>       scsi: hisi_sas: Use block layer tag instead for IPTT
>       scsi: hisi_sas: Update v3 hw AIP_LIMIT and CFG_AGING_TIME register values
>       scsi: hisi_sas: Create separate host attributes per HBA
>       scsi: hisi_sas: Add support for interrupt converge for v3 hw
>       scsi: hisi_sas: Add support for interrupt coalescing for v3 hw
>       scsi: hisi_sas: Relocate some codes to avoid an unused check
>       scsi: hisi_sas: change the time of SAS SSP connection
>       scsi: hisi_sas: Relocate some code to reduce complexity
>       scsi: hisi_sas: Make sg_tablesize consistent value
>       scsi: hisi_sas: Add support for DIF feature for v2 hw
>
> Xiaofei Tan (1):
>       scsi: hisi_sas: consolidate command check in hisi_sas_get_ata_protocol()
>
> Yonglong Liu (10):
>       net: hns: Incorrect offset address used for some registers.
>       net: hns: All ports can not work when insmod hns ko after rmmod.
>       net: hns: Some registers use wrong address according to the datasheet.
>       net: hns: Fixed bug that netdev was opened twice
>       net: hns: Clean rx fbd when ae stopped.
>       net: hns: Free irq when exit from abnormal branch
>       net: hns: Avoid net reset caused by pause frames storm
>       net: hns: Fix ntuple-filters status error.
>       net: hns: Add mac pcs config when enable|disable mac
>       net: hns: Fix ping failed when use net bridge and send multicast
>
> YueHaibing (5):
>       net: hns: Make many functions static
>       net: hns: make hns_dsaf_roce_reset non static
>       net: hns: remove redundant variables 'max_frm' and 'tmp_mac_key'
>       scsi: hisi_sas: Remove set but not used variable 'dq_list'
>       net: hns3: Remove set but not used variable 'reset_level'
>
> Yunsheng Lin (20):
>       net: hns3: Remove tx ring BD len register in hns3_enet
>       net: hns3: Fix for vf vlan delete failed problem
>       net: hns3: Implement shutdown ops in hns3 pci driver
>       net: hns3: Fix for loopback selftest failed problem
>       net: hns3: Fix ping exited problem when doing lp selftest
>       net: hns3: Preserve vlan 0 in hardware table
>       net: hns3: Only update mac configuation when necessary
>       net: hns3: Change the dst mac addr of loopback packet
>       net: hns3: Fix for packet buffer setting bug
>       net: hns3: Fix for netdev not up problem when setting mtu
>       net: hns3: Fix for out-of-bounds access when setting pfc back pressure
>       net: hns3: Support two vlan header when setting mtu
>       net: hns3: Refactor mac mtu setting related functions
>       net: hns3: Add vport alive state checking support
>       net: hns3: Add mtu setting support for vf
>       net: hns3: up/down netdev in hclge module when setting mtu
>       net: hns3: add common validation in hclge_dcb
>       net: hns3: getting tx and dv buffer size through firmware
>       net: hns3: aligning buffer size in SSU to 256 bytes
>       net: hns3: fix a SSU buffer checking bug
>
> Zhongzhu Liu (1):
>       net: hns3: Add egress/ingress vlan filter for revision 0x21
>
> dann frazier (6):
>       UBUNTU: SAUCE: Revert "net: hns3: Updates RX packet info fetch in case of multi BD"
>       Revert "UBUNTU: SAUCE: {topost} net: hns3: separate roce from nic when resetting"
>       Revert "UBUNTU: SAUCE: {topost} net: hns3: Use roce handle when calling roce callback function"
>       Revert "UBUNTU: SAUCE: {topost} net: hns3: Add calling roce callback function when link status change"
>       Revert "UBUNTU: SAUCE: {topost} net: hns3: optimize the process of notifying roce client"
>       Revert "UBUNTU: SAUCE: {topost} net: hns3: Add pf reset for hip08 RoCE"
>
> liuzhongzhu (14):
>       net: hns3: Add debugfs framework registration
>       net: hns3: Add "queue info" query function
>       net: hns3: Add "FD flow table" info query function
>       net: hns3: Add "tc config" info query function
>       net: hns3: Add "tm config" info query function
>       net: hns3: Add "qos pause" config info query function
>       net: hns3: Add "qos prio map" info query function
>       net: hns3: Add "qos buffer" config info query function
>       net: hns3: Add "bd info" query function
>       net: hns3: Add "manager table" information query function
>       net: hns3: Add "status register" information query function
>       net: hns3: Add "dcb register" status information query function
>       net: hns3: Add "queue map" information query function
>       net: hns3: Add "tm map" status information query function
>
>  drivers/net/ethernet/hisilicon/Kconfig             |    1 +
>  drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c  |   33 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c |   18 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c  |   34 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c |  548 ++-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c |   13 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c  |   11 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c  |    4 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_reg.h  |   13 +-
>  .../net/ethernet/hisilicon/hns/hns_dsaf_xgmac.c    |    6 +-
>  drivers/net/ethernet/hisilicon/hns/hns_enet.c      |  173 +-
>  drivers/net/ethernet/hisilicon/hns/hns_ethtool.c   |   25 +-
>  drivers/net/ethernet/hisilicon/hns3/Makefile       |    2 +-
>  drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h    |   13 +-
>  drivers/net/ethernet/hisilicon/hns3/hnae3.c        |   12 +-
>  drivers/net/ethernet/hisilicon/hns3/hnae3.h        |  108 +-
>  drivers/net/ethernet/hisilicon/hns3/hns3_dcbnl.c   |   12 +
>  drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c |  399 +++
>  drivers/net/ethernet/hisilicon/hns3/hns3_enet.c    | 1250 +++++--
>  drivers/net/ethernet/hisilicon/hns3/hns3_enet.h    |   73 +-
>  drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c |  235 +-
>  .../net/ethernet/hisilicon/hns3/hns3pf/Makefile    |    2 +-
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c |   47 +-
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h |  206 +-
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c |   68 +-
>  .../ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c |  933 +++++
>  .../ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.h |  713 ++++
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c | 1412 ++++++++
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_err.h |  120 +
>  .../ethernet/hisilicon/hns3/hns3pf/hclge_main.c    | 3583 ++++++++++++++------
>  .../ethernet/hisilicon/hns3/hns3pf/hclge_main.h    |  473 ++-
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c |  168 +-
>  .../ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c    |   10 +-
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c  |   24 +-
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.h  |   19 +-
>  .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.c   |  154 +-
>  .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.h   |   17 +-
>  .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c  | 1392 ++++++--
>  .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h  |  121 +-
>  .../ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c   |   22 +-
>  drivers/scsi/hisi_sas/Kconfig                      |    2 +-
>  drivers/scsi/hisi_sas/hisi_sas.h                   |   20 +-
>  drivers/scsi/hisi_sas/hisi_sas_main.c              |  431 ++-
>  drivers/scsi/hisi_sas/hisi_sas_v1_hw.c             |   67 +-
>  drivers/scsi/hisi_sas/hisi_sas_v2_hw.c             |  111 +-
>  drivers/scsi/hisi_sas/hisi_sas_v3_hw.c             |  361 +-
>  46 files changed, 10545 insertions(+), 2914 deletions(-)
>  create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c
>  create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
>  create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.h
>  create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c
>  create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.h
>
Applied to bionic/master-next branch.

Thanks,
Kleber




More information about the kernel-team mailing list