Data Center Quantized Congestion Notification (DCQCN) is a congestion control protocol for large scale RDMA networks. In order to support it, The design of hip08 add a Sofware Congestion Control(SCC) module, which support flow control of 1M QPs. The driver implements the following works: 1.Allocate memory for SCC, which is used for flow contrl info of QPs. 2.Initialize SCC, memory should be clear before used. 3.Allocate memory for timeout retransmission for accurating retransmission interval. This patchset will depend on the patchset("[PATCH v3 for-next 0/4] SRQ support for hip08") Change from v3: 1. Change qpc_timer_table from struct hns_roce_qpc_timer_table to struct hns_roce_hem_table, and struct hns_roce_qpc_timer_table was delete. 2. Change cqc_timer_table from struct hns_roce_cqc_timer_table to struct hns_roce_hem_table, and struct hns_roce_cqc_timer_table was delete. Change from v2: 1. Add changelog 2. Add note for depending on the other patchset. Change from v1: 1. Separate it from the original patchset("hns misc updates for 4.20") Yangyang Li (3): RDMA/hns: Add SCC context allocation support for hip08 RDMA/hns: Add SCC context clr support for hip08 RDMA/hns: Add timer allocation support for hip08 drivers/infiniband/hw/hns/hns_roce_cmd.h | 12 ++ drivers/infiniband/hw/hns/hns_roce_device.h | 23 ++++ drivers/infiniband/hw/hns/hns_roce_hem.c | 68 +++++++++- drivers/infiniband/hw/hns/hns_roce_hem.h | 3 + drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 195 +++++++++++++++++++++++++++- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 64 ++++++++- drivers/infiniband/hw/hns/hns_roce_main.c | 54 ++++++++ drivers/infiniband/hw/hns/hns_roce_qp.c | 29 ++++- 8 files changed, 440 insertions(+), 8 deletions(-) -- 1.9.1