[PATCH net 0/3] net: hns: fix some bugs about speed and duplex change

From: Peng Li
Date: Thu Aug 23 2018 - 23:12:55 EST


1, If there are packets in hardware when changing the spped
or duplex, it may cause hardware hang up.

This patchset adds the code for waiting chip to clean the all
pkts(TX & RX) in chip when the driver uses the function named
"adjust link".

This patchset cleans the pkts as follows:
1) close rx of chip, close tx of protocol stack.
2) wait rcb, ppe, mac to clean.
3) adjust link
4) open rx of chip, open tx of protocol stack.

2, Hisilicon hip05 and hip06 board network card do not
support 1000M half configuration. Driver can not config
gmac as 1000M half.

Peng Li (3):
net: hns: add the code for cleaning pkt in chip
net: hns: add netif_carrier_off before change speed and duplex
net: hns: add configuration constraints for 1000M half

drivers/net/ethernet/hisilicon/hns/hnae.h | 2 +
drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c | 67 +++++++++++++++++++++-
drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c | 41 +++++++++++++
drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c | 44 ++++++++++++++
drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h | 8 +++
drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c | 29 ++++++++++
drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h | 3 +
drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c | 23 ++++++++
drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.h | 1 +
drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c | 23 ++++++++
drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.h | 1 +
drivers/net/ethernet/hisilicon/hns/hns_dsaf_reg.h | 1 +
drivers/net/ethernet/hisilicon/hns/hns_enet.c | 21 ++++++-
drivers/net/ethernet/hisilicon/hns/hns_ethtool.c | 2 +
14 files changed, 262 insertions(+), 4 deletions(-)

--
2.9.3