#
3d77d0cb |
| 31-Oct-2019 |
Huazhong Tan <tanhuazhong@huawei.com> |
net: hns3: dump some debug information when reset fail
When reset fails, there is some information that will help for finding out why does reset fail. and removes an unused core_rst_cnt field in str
net: hns3: dump some debug information when reset fail
When reset fails, there is some information that will help for finding out why does reset fail. and removes an unused core_rst_cnt field in struct hclge_rst_stats.
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v5.3.8 |
|
#
580a05f9 |
| 17-Oct-2019 |
Yonglong Liu <liuyonglong@huawei.com> |
net: hns3: fix mis-counting IRQ vector numbers issue
Currently, the num_msi_left means the vector numbers of NIC, but if the PF supported RoCE, it contains the vector numbers of NIC and RoCE(Not exp
net: hns3: fix mis-counting IRQ vector numbers issue
Currently, the num_msi_left means the vector numbers of NIC, but if the PF supported RoCE, it contains the vector numbers of NIC and RoCE(Not expected).
This may cause interrupts lost in some case, because of the NIC module used the vector resources which belongs to RoCE.
This patch adds a new variable num_nic_msi to store the vector numbers of NIC, and adjust the default TQP numbers and rss_size according to the value of num_nic_msi.
Fixes: 46a3df9f9718 ("net: hns3: Add HNS3 Acceleration Engine & Compatibility Layer Support") Signed-off-by: Yonglong Liu <liuyonglong@huawei.com> Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v5.3.7, v5.3.6 |
|
#
8e6de441 |
| 07-Oct-2019 |
Huazhong Tan <tanhuazhong@huawei.com> |
net: hns3: add support for configuring VF MAC from the host
This patch adds support of configuring VF MAC from the host for the HNS3 driver.
BTW, the parameter init in the hns3_init_mac_addr is unn
net: hns3: add support for configuring VF MAC from the host
This patch adds support of configuring VF MAC from the host for the HNS3 driver.
BTW, the parameter init in the hns3_init_mac_addr is unnecessary now, since the MAC address will not read from NCL_CONFIG when doing reset, so it should be removed, otherwise it will affect VF's MAC address initialization.
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
show more ...
|
#
e196ec75 |
| 07-Oct-2019 |
Jian Shen <shenjian15@huawei.com> |
net: hns3: add support for setting VF trust
This patch adds supports for setting VF trust by host. If specified VF is trusted, then it can enable promisc(include allmulti mode). If a trusted VF enab
net: hns3: add support for setting VF trust
This patch adds supports for setting VF trust by host. If specified VF is trusted, then it can enable promisc(include allmulti mode). If a trusted VF enabled promisc, and being untrusted, host will disable promisc mode for this VF.
For VF will update its promisc mode from set_rx_mode now, so it's unnecessary to set broadcst promisc mode when initialization or reset.
Signed-off-by: Jian Shen <shenjian15@huawei.com> Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
show more ...
|
#
22044f95 |
| 07-Oct-2019 |
Jian Shen <shenjian15@huawei.com> |
net: hns3: add support for spoof check setting
This patch adds support for spoof check configuration for VFs. When it is enabled, "spoof checking" is done for both mac address and VLAN. For each VF,
net: hns3: add support for spoof check setting
This patch adds support for spoof check configuration for VFs. When it is enabled, "spoof checking" is done for both mac address and VLAN. For each VF, the HW ensures that the source MAC address (or VLAN) of every outgoing packet exists in the MAC-list (or VLAN-list) configured for RX filtering for that VF. If not, the packet is dropped.
Signed-off-by: Jian Shen <shenjian15@huawei.com> Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
show more ...
|
Revision tags: v5.3.5, v5.3.4, v5.3.3, v5.3.2, v5.3.1, v5.3 |
|
#
4093d1a2 |
| 10-Sep-2019 |
Guangbin Huang <huangguangbin2@huawei.com> |
net: hns3: add ethtool_ops.set_channels support for HNS3 VF driver
This patch adds ethtool_ops.set_channels support for HNS3 VF driver, and updates related TQP information and RSS information, to su
net: hns3: add ethtool_ops.set_channels support for HNS3 VF driver
This patch adds ethtool_ops.set_channels support for HNS3 VF driver, and updates related TQP information and RSS information, to support modification of VF TQP number, and uses current rss_size instead of max_rss_size to initialize RSS.
Also, fixes a format error in hclgevf_get_rss().
Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com> Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v5.2.14, v5.3-rc8, v5.2.13, v5.2.12, v5.2.11, v5.2.10, v5.2.9 |
|
#
cdd332ac |
| 16-Aug-2019 |
Guojia Liao <liaoguojia@huawei.com> |
net: hns3: modify redundant initialization of variable
Some temporary variables do not need to be initialized that they will be set before used, so this patch deletes the initialization value of the
net: hns3: modify redundant initialization of variable
Some temporary variables do not need to be initialized that they will be set before used, so this patch deletes the initialization value of these temporary variables.
Signed-off-by: Guojia Liao <liaoguojia@huawei.com> Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com> Signed-off-by: Huzhong Tan <tanhuazhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
46ee7350 |
| 16-Aug-2019 |
Guojia Liao <liaoguojia@huawei.com> |
net: hns3: add or modify comments
To explain some code, this patch adds some comments, and modifies or merges some comments to make them more neat.
Signed-off-by: Guojia Liao <liaoguojia@huawei.com
net: hns3: add or modify comments
To explain some code, this patch adds some comments, and modifies or merges some comments to make them more neat.
Signed-off-by: Guojia Liao <liaoguojia@huawei.com> Signed-off-by: Zhongzhu Liu <liuzhongzhu@huawei.com> Signed-off-by: Weihang Li <liweihang@hisilicon.com> Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com> Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v5.2.8 |
|
#
13050921 |
| 08-Aug-2019 |
Huazhong Tan <tanhuazhong@huawei.com> |
net: hns3: fix interrupt clearing error for VF
Currently, VF driver has two kinds of interrupts, reset & CMDQ RX. For revision 0x21, according to the UM, each interrupt should be cleared by write 0
net: hns3: fix interrupt clearing error for VF
Currently, VF driver has two kinds of interrupts, reset & CMDQ RX. For revision 0x21, according to the UM, each interrupt should be cleared by write 0 to the corresponding bit, but the implementation writes 0 to the whole register in fact, it will clear other interrupt at the same time, then the VF will loss the interrupt. But for revision 0x20, this interrupt clear register is a read & write register, for compatible, we just keep the old implementation for 0x20.
This patch fixes it, also, adds a new register for reading the interrupt status according to hardware user manual.
Fixes: e2cb1dec9779 ("net: hns3: Add HNS3 VF HCL(Hardware Compatibility Layer) Support") Fixes: b90fcc5bd904 ("net: hns3: add reset handling for VF when doing Core/Global/IMP reset")
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Reviewed-by: Yunsheng Lin <linyunsheng@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v5.2.7, v5.2.6 |
|
#
72e2fb07 |
| 31-Jul-2019 |
Huazhong Tan <tanhuazhong@huawei.com> |
net: hns3: clear reset interrupt status in hclge_irq_handle()
Currently, the reset interrupt is cleared in the reset task, which is too late. Since, when the hardware finish the previous reset, it c
net: hns3: clear reset interrupt status in hclge_irq_handle()
Currently, the reset interrupt is cleared in the reset task, which is too late. Since, when the hardware finish the previous reset, it can begin to do a new global/IMP reset, if this new coming reset type is same as the previous one, the driver will clear them together, then driver can not get that there is another reset, but the hardware still wait for the driver to deal with the second one.
So this patch clears PF's reset interrupt status in the hclge_irq_handle(), the hardware waits for handshaking from driver before doing reset, so the driver and hardware deal with reset one by one.
BTW, when VF doing global/IMP reset, it reads PF's reset interrupt register to get that whether PF driver's re-initialization is done, since VF's re-initialization should be done after PF's. So we add a new command and a register bit to do that. When VF receive reset interrupt, it sets up this bit, and PF finishes re-initialization send command to clear this bit, then VF do re-initialization.
Fixes: 4ed340ab8f49 ("net: hns3: Add reset process in hclge_main") Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Reviewed-by: Yunsheng Lin <linyunsheng@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
6b428b4f |
| 31-Jul-2019 |
Huazhong Tan <tanhuazhong@huawei.com> |
net: hns3: fix some reset handshake issue
Currently, the driver sets handshake status to tell the hardware that the driver have downed the netdev and it can continue with reset process. The driver w
net: hns3: fix some reset handshake issue
Currently, the driver sets handshake status to tell the hardware that the driver have downed the netdev and it can continue with reset process. The driver will clear the handshake status when re-initializing the CMDQ, and does not recover this status when reset fail, which may cause the hardware to wait for the handshake status to be set and not being able to continue with reset process.
So this patch delays clearing handshake status just before UP, and recovers this status when reset fail.
BTW, this patch adds a new function hclge(vf)_reset_handshake() to deal with the reset handshake issue, and renames HCLGE(VF)_NIC_CMQ_ENABLE to HCLGE(VF)_NIC_SW_RST_RDY which represents this register bit more accurately.
Fixes: ada13ee3db7b ("net: hns3: add handshake with hardware while doing reset") Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Reviewed-by: Peng Li <lipeng321@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v5.2.5 |
|
#
08d80a4c |
| 28-Jul-2019 |
Huazhong Tan <tanhuazhong@huawei.com> |
net: hns3: use dev_info() instead of pr_info()
dev_info() is more appropriate for printing messages when driver initialization done, so switch to dev_info().
Signed-off-by: Huazhong Tan <tanhuazhon
net: hns3: use dev_info() instead of pr_info()
dev_info() is more appropriate for printing messages when driver initialization done, so switch to dev_info().
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v5.2.4, v5.2.3, v5.2.2, v5.2.1, v5.2 |
|
#
c09ba484 |
| 04-Jul-2019 |
Peng Li <lipeng321@huawei.com> |
net: hns3: set default value for param "type" in hclgevf_bind_ring_to_vector
The value of param type is always not changed in hclgevf_bind_ring_to_vector, move the assignment to front of "for {}" ca
net: hns3: set default value for param "type" in hclgevf_bind_ring_to_vector
The value of param type is always not changed in hclgevf_bind_ring_to_vector, move the assignment to front of "for {}" can reduce the redundant assignment.
Signed-off-by: Peng Li <lipeng321@huawei.com> Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
2d5066fc |
| 04-Jul-2019 |
Jian Shen <shenjian15@huawei.com> |
net: hns3: enable broadcast promisc mode when initializing VF
For revision 0x20, the broadcast promisc is enabled by firmware, it's unnecessary to enable it when initializing VF.
For revision 0x21,
net: hns3: enable broadcast promisc mode when initializing VF
For revision 0x20, the broadcast promisc is enabled by firmware, it's unnecessary to enable it when initializing VF.
For revision 0x21, it's necessary to enable broadcast promisc mode when initializing or re-initializing VF, otherwise, it will be unable to send and receive promisc packets.
Fixes: f01f5559cac8 ("net: hns3: don't allow vf to enable promisc mode") Signed-off-by: Jian Shen <shenjian15@huawei.com> Signed-off-by: Peng Li <lipeng321@huawei.com> Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v5.1.16 |
|
#
bbe6540e |
| 28-Jun-2019 |
Huazhong Tan <tanhuazhong@huawei.com> |
net: hns3: re-schedule reset task while VF reset fail
The VF reset may fail for some probabilistic reasons, such as wait for hardware reset timeout, wait for mailbox response timeout, so this patch
net: hns3: re-schedule reset task while VF reset fail
The VF reset may fail for some probabilistic reasons, such as wait for hardware reset timeout, wait for mailbox response timeout, so this patch tries to re-schedule the reset task when the number of reset failing is under HCLGEVF_RESET_MAX_FAIL_CNT. This patch also add a function hclgevf_reset_err_handle() to handle the reset failing.
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: Peng Li <lipeng321@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v5.1.15, v5.1.14, v5.1.13 |
|
#
fe4144d4 |
| 20-Jun-2019 |
Jian Shen <shenjian15@huawei.com> |
net: hns3: sync VLAN filter entries when kill VLAN ID failed
When HW is resetting, firmware is unable to handle commands from driver. So if remove VLAN device from stack at this time, it will fail t
net: hns3: sync VLAN filter entries when kill VLAN ID failed
When HW is resetting, firmware is unable to handle commands from driver. So if remove VLAN device from stack at this time, it will fail to remove the VLAN ID from HW VLAN filter, then the VLAN filter status is unsynced with stack.
This patch fixes it by recording the VLAN ID delete failed, and removes them again when reset complete.
Fixes: 44e626f720c3 ("net: hns3: fix VLAN offload handle for VLAN inserted by port") Signed-off-by: Jian Shen <shenjian15@huawei.com> Signed-off-by: Peng Li <lipeng321@huawei.com> Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v5.1.12, v5.1.11, v5.1.10 |
|
#
ebaf1908 |
| 13-Jun-2019 |
Weihang Li <liweihang@hisilicon.com> |
net: hns3: some variable modification
This patch does following things: 1. add the keyword const before some variables which won't be modified in functions. 2. changes some variables from signed
net: hns3: some variable modification
This patch does following things: 1. add the keyword const before some variables which won't be modified in functions. 2. changes some variables from signed to unsigned to avoid bitwise operation on signed variables. 3. adds or removes initialization of some variables. 4. defines a new structure to help parsing mailbox messages instead of using an array which is harder to get the meaning of each element.
Signed-off-by: Weihang Li <liweihang@hisilicon.com> Signed-off-by: Peng Li <lipeng321@huawei.com> Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com> Signed-off-by: Yufeng Mo <moyufeng@huawei.com> Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v5.1.9, v5.1.8 |
|
#
9b2f3477 |
| 06-Jun-2019 |
Weihang Li <liweihang@hisilicon.com> |
net: hns3: fix some coding style issues
This patch fixes some coding style issues reported by some static code analysis tools and code review, such as modify some comments, rename some variables, lo
net: hns3: fix some coding style issues
This patch fixes some coding style issues reported by some static code analysis tools and code review, such as modify some comments, rename some variables, log some errors in detail, and fixes some alignment errors.
BTW, these cleanups do not change the logic of code.
Signed-off-by: Weihang Li <liweihang@hisilicon.com> Signed-off-by: Peng Li <lipeng321@huawei.com> Signed-off-by: Yonglong Liu <liuyonglong@huawei.com> Signed-off-by: HuiSong Li <lihuisong@huawei.com> Signed-off-by: Jian Shen <shenjian15@huawei.com> Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
63cbf7a9 |
| 06-Jun-2019 |
Yufeng Mo <moyufeng@huawei.com> |
net: hns3: some modifications to simplify and optimize code
This patch deletes some redundant code and refactors some bloated functions.
Signed-off-by: Yufeng Mo <moyufeng@huawei.com> Signed-off-by
net: hns3: some modifications to simplify and optimize code
This patch deletes some redundant code and refactors some bloated functions.
Signed-off-by: Yufeng Mo <moyufeng@huawei.com> Signed-off-by: Weihang Li <liweihang@hisilicon.com> Signed-off-by: Yonglong Liu <liuyonglong@huawei.com> Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
3caf772b |
| 06-Jun-2019 |
Yufeng Mo <moyufeng@huawei.com> |
net: hns3: refactor PF/VF RSS hash key configuration
In order to make it more readable, this patch modifies PF/VF's RSS hash key configuring function.
Signed-off-by: Yufeng Mo <moyufeng@huawei.com>
net: hns3: refactor PF/VF RSS hash key configuration
In order to make it more readable, this patch modifies PF/VF's RSS hash key configuring function.
Signed-off-by: Yufeng Mo <moyufeng@huawei.com> Signed-off-by: Jian Shen <shenjian15@huawei.com> Signed-off-by: Weihang Li <liweihang@hisilicon.com> Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
b37ce587 |
| 06-Jun-2019 |
Yufeng Mo <moyufeng@huawei.com> |
net: hns3: use macros instead of magic numbers
This patch adds some macros instead of magic numbers in serval places
Signed-off-by: Yufeng Mo <moyufeng@huawei.com> Signed-off-by: Weihang Li <liweih
net: hns3: use macros instead of magic numbers
This patch adds some macros instead of magic numbers in serval places
Signed-off-by: Yufeng Mo <moyufeng@huawei.com> Signed-off-by: Weihang Li <liweihang@hisilicon.com> Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com> Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
b69c9737 |
| 06-Jun-2019 |
Yonglong Liu <liuyonglong@huawei.com> |
net: hns3: delete the redundant user NIC codes
Since HNAE3_CLIENT_UNIC and HNAE3_DEV_UNIC is not used any more, this patch removes the redundant codes.
Signed-off-by: Yonglong Liu <liuyonglong@huaw
net: hns3: delete the redundant user NIC codes
Since HNAE3_CLIENT_UNIC and HNAE3_DEV_UNIC is not used any more, this patch removes the redundant codes.
Signed-off-by: Yonglong Liu <liuyonglong@huawei.com> Signed-off-by: Peng Li <lipeng321@huawei.com> Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v5.1.7, v5.1.6 |
|
#
acfc3d55 |
| 28-May-2019 |
Huazhong Tan <tanhuazhong@huawei.com> |
net: hns3: stop schedule reset service while unloading driver
When unloading driver, the reset task should not be scheduled anymore. If disable IRQ before cancel ongoing reset task, the IRQ may be r
net: hns3: stop schedule reset service while unloading driver
When unloading driver, the reset task should not be scheduled anymore. If disable IRQ before cancel ongoing reset task, the IRQ may be re-enabled by the reset task.
This patch uses HCLGE_STATE_REMOVING/HCLGEVF_STATE_REMOVING flag to indicate that the driver is unloading, and we should stop new coming reset service to be scheduled, otherwise, reset service will access some resource which has been freed by unloading.
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: Peng Li <lipeng321@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
ada13ee3 |
| 28-May-2019 |
Huazhong Tan <tanhuazhong@huawei.com> |
net: hns3: add handshake with hardware while doing reset
When reset happens, the hardware reset should begin after the driver has finished its preparatory work, otherwise it may cause some hardware
net: hns3: add handshake with hardware while doing reset
When reset happens, the hardware reset should begin after the driver has finished its preparatory work, otherwise it may cause some hardware error.
Before Hardware's reset, it will wait for the driver to write bit HCLGE_NIC_CMQ_ENABLE of register HCLGE_NIC_CSQ_DEPTH_REG to 1, while the driver finishes its preparatory work will do that. BTW, since some cases this register will be cleared, so it needs some sync time before driver's writing.
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: Peng Li <lipeng321@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
1db58f86 |
| 28-May-2019 |
Huazhong Tan <tanhuazhong@huawei.com> |
net: hns3: modify hclgevf_init_client_instance()
hclgevf_init_client_instance() is a little bloated and there is some duplicated code. This patch adds some cleanup for it.
Signed-off-by: Huazhong T
net: hns3: modify hclgevf_init_client_instance()
hclgevf_init_client_instance() is a little bloated and there is some duplicated code. This patch adds some cleanup for it.
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: Peng Li <lipeng321@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|