- Program all mask registers to 1. They are QDMA_IND_CTXT_MASK_0 (0x824), to QDMA_IND_CTXT_MASK_7 (0x840) .
- Program context values on to the following registers: QDMA_IND_CTXT_DATA_0 (0x804) to QDMA_IND_CTXT_DATA_7 (0x820) .
- A Host Profile table context needs to be programmed before any context settings QDMA_CTXT_SELC_HOST_PROFILE. Select 0xA in QDMA_IND_CTXT_CMD (0x844), and write all data field to 0s and program context. All other values are reserved.
-
Refer to 'Software Descriptor Context Structure', 'C2H Prefetch Context Structure' and 'C2H Prefetch Context Structure' to program the context data registers.
- Program any context to corresponding Queue in the following context command register: QDMA_IND_CTXT_CMD (0x844).
Note:
- Qid is given in
bits [17:7]
. - Opcode
bits [6:5]
selects what operations must be done.- QDMA_CTXT_CLR : All content of context is zeroed out. Qinv will be sent out on tm_dsc_sts
- QDMA_CTXT_WR : Write context
- QDMA_CTXT_RD : Read context
- QDMA_CTXT_INV : Qen in set to zero and other context values are intact. Qinv will be sent out on tm_dsc_sts and unused credits will be sent out.
- The context that is accessed is given in
bits [4:1]
. - Context programing write/read does not occur when bit [0] is set.