3.7.2 TCU_QOS

The TCU Quality of Service (QoS) register specifies AxQOS values for each transaction type that is issued on the QTW/DVM interface. The MMU-600 does not use this value internally, but a downstream interconnect can use the value to control how it prioritizes transactions.

The AxQOS
value that is associated with each transaction does not take account of other transactions
that are blocked behind it. For example, although higher priority translations are normally
progressed before lower priority translations, a low priority translation table walk might
prevent the TCU from issuing a translation table walk with a higher priority.

The TCU_QOS characteristics are:

Usage constraints

When TCU_SCR.NS_UARCH = 0, Non-secure accesses to this register are RAZ/WI.

Writes to this register are possible only when both SMMU_CR0.SMMUEN = 0 and SMMU_S_CR0.SMMUEN = 0.
Writes at other times are ignored.

After modifying this register, software must issue an INV_ALL operation using the
SMMU_S_INIT register, before it sets SMMUEN to 1. Failure to issue an INV_ALL
operation results in unpredictable
behavior.

Configurations

This register exists in all TCU configurations.

Attributes

Offset

0x08E04

Type

RW

Reset

0x00000000

Width

32

The following figure shows the bit assignments.

Figure
3-2 TCU_QOS register bit assignments

To view this graphic, your browser must support the SVG format.
Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.

The following table shows the bit assignments.

Table
3-16 TCU_QOS register bit assignments

Bits

Name

Function

[31:28]

-

Reserved.

[27:24]

QOS_DVMSYNC

The AxQOS value
that is used for DVM Sync Completion messages.

[23:20]

QOS_MSI

The AxQOS value
that is used for MSIs.

[19:16]

QOS_QUEUE

The AxQOS value
that is used for queue accesses.

[15:12]

QOS_PTW3

The AxQOS value that is used for translation table walks for translations
where TCU_NODE_CTRLn.PRIORITY = 3 for the requesting
node.

[11:8]

QOS_PTW2

The AxQOS value that is used for translation table walks for translations
where TCU_NODE_CTRLn.PRIORITY = 2 for the requesting
node.

[7:4]

QOS_PTW1

The AxQOS value that is used for translation table walks for translations
where TCU_NODE_CTRLn.PRIORITY = 1 for the requesting
node.

[3:0]

QOS_PTW0

The AxQOS value that is used for translation table walks for translations
where TCU_NODE_CTRLn.PRIORITY = 0 for the requesting
node.