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