Context Programming - 3.0 English

Versal ACAP CPM DMA and Bridge Mode for PCI Express Product Guide (PG347)

Document ID
PG347
Release Date
2022-06-15
Version
3.0 English
  • Program all mask registers to 1. They are QDMA_IND_CTXT_MASK_0 (0x824) to QDMA_IND_CTXT_MASK_7 (0x830).
  • Program context values on to the following registers: QDMA_IND_CTXT_DATA_0 (0x804), to QDMA_IND_CTXT_DATA_7 (0x810).
  • 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.