Context Programming - 4.0 English

QDMA Subsystem for PCI Express Product Guide (PG302)

Document ID
PG302
Release Date
2022-05-20
Version
4.0 English
  • 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.