QP Deletion - QP Deletion - 4.0 English - PG332

Xilinx Embedded RDMA Enabled NIC LogiCORE IP Product Guide (PG332)

Document ID
PG332
Release Date
2022-12-02
Version
4.0 English

An RC can be deleted when it is no longer in use (either because of locally initiated disconnect or from the remote peer). The following steps needs to be performed for deleting the QP and removing its configuration:

1. Wait for SQ and outstanding queues to become empty. The status bits are in STATQPi register.

2. Wait for all completions received for WQEs in SQ. This is done by checking SQPIi and CQHEADi registers.

3. Enable the software override by writing to XRNIC_ADV_CONF register and disable the QP by writing to QPCONFi register.

4. Reset the QP pointers by writing 0 to RQWPTRDBADDi, SQPIi, CQHEADi, RQCIi, STATRQPIDBi, STATCURSQPTRi, SQPSNi, LSTRQREQi, STATMSN, and then disable the QP and kept it in recovery mode by writing QPCONFi.

5. After resetting pointers, software override should be disabled by writing to XRNIC_ADV_CONF.

6. After this, software should free memory allocated for SQ, RQ, and CQs.