From 667ab6d1f58b08eb902a352675dc63b4ecd38a9e Mon Sep 17 00:00:00 2001 From: Ved Shanbhogue Date: Sat, 9 Dec 2023 17:42:23 -0600 Subject: [PATCH] editorial updates --- qos_bandwidth.adoc | 10 +++++----- qos_capacity.adoc | 15 ++++++++++----- qos_iommu.adoc | 9 ++++----- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/qos_bandwidth.adoc b/qos_bandwidth.adoc index b404862..89aae51 100644 --- a/qos_bandwidth.adoc +++ b/qos_bandwidth.adoc @@ -38,7 +38,7 @@ handling a request with a non-zero `RCID` value before configuring the bandwidth controller with bandwidth allocation for that `RCID` is also `UNSPECIFIED`. [[BC_CAP]] -=== Bandwidth-controller Capabilities (`bc_capabilities`) +=== Bandwidth-controller Capabilities The `bc_capabilities` register is a read-only register that holds the bandwidth-controller capabilities. @@ -92,7 +92,7 @@ from 0 to 12. If `RPFX` is 0, `P` is set to 0, and the effective `MCID` is the same as the `MCID` in the request. [[BC_MCTL]] -=== Bandwidth Usage Monitoring Control (`bc_mon_ctl`) +=== Bandwidth Usage Monitoring Control The `bc_mon_ctl` register is used to control monitoring of bandwidth usage by a `MCID`. When the controller does not support bandwidth usage monitoring, the @@ -221,7 +221,7 @@ operation, software must first verify that the `BUSY` bit is 0 before writing the `bc_mon_ctl` register. [[BC_MCTR]] -=== Bandwidth Monitoring Counter Value (`bc_mon_ctr_val`) +=== Bandwidth Monitoring Counter Value The `bc_mon_ctr_val` is a read-only register that holds a snapshot of the counter selected by a `READ_COUNTER` operation. When the controller does not @@ -278,7 +278,7 @@ operation. ==== [[BC_ALLOC]] -=== Bandwidth Allocation Control (`bc_alloc_ctl`) +=== Bandwidth Allocation Control The `bc_alloc_ctl` register is used to control the allocation of bandwidth to an `RCID` per `AT`. If a controller does not support bandwidth allocation, then the @@ -363,7 +363,7 @@ the register. The `STATUS` field remains valid until a subsequent write to the |=== [[BC_BMASK]] -=== Bandwidth Allocation Configuration (`bc_bw_alloc`) +=== Bandwidth Allocation Configuration The `bc_bw_alloc` is used to program reserved bandwidth blocks (`Rbwb`) for an `RCID` for requests of access-type `AT` using the `CONFIG_LIMIT` operation. If a diff --git a/qos_capacity.adoc b/qos_capacity.adoc index 0fb89a7..8b5fe72 100644 --- a/qos_capacity.adoc +++ b/qos_capacity.adoc @@ -84,7 +84,7 @@ value before configuring the capacity controller with capacity allocation for that `RCID` is `UNSPECIFIED`. [[CC_CAP]] -=== Capacity-controller Capabilities (`cc_capabilities`) +=== Capacity-controller Capabilities The `cc_capabilities` register is a read-only register that holds the capacity-controller capabilities. @@ -136,7 +136,7 @@ from 0 to 12. If `RPFX` is 0, `P` is set to 0, and the effective `MCID` is the same as the `MCID` in the request. [[CC_MCTL]] -=== Capacity Usage Monitoring Control (`cc_mon_ctl`) +=== Capacity Usage Monitoring Control The `cc_mon_ctl` register is used to control monitoring of capacity usage by a `MCID`. When the controller does not support capacity usage monitoring the @@ -254,7 +254,7 @@ operation, software must first verify that the `BUSY` bit is 0 before writing the `cc_mon_ctl` register. [[CC_MCTR]] -=== Capacity Usage Monitoring Counter Value (`cc_mon_ctr_val`) +=== Capacity Usage Monitoring Counter Value The `cc_mon_ctr_val` is a read-only register that holds a snapshot of the counter selected by the `READ_COUNTER` operation. When the controller does not @@ -318,7 +318,7 @@ processes. ==== [[CC_ALLOC]] -=== Capacity Allocation Control (`cc_alloc_ctl`) +=== Capacity Allocation Control The `cc_alloc_ctl` register is used to configure allocation of capacity to an `RCID` per access-type (`AT`). The `OP`, `RCID` and `AT` fields in this register @@ -547,7 +547,7 @@ provides the `READ_LIMIT` operation which can be requested by writing to the `cc_block_mask` register holds the configured _capacity block_ allocation. [[CC_CUNITS]] -=== Capacity Units (`cc_cunits`) +=== Capacity Units The `cc_cunits` register is a read-write WARL register. If the controller does not support capacity allocation (i.e., `NCBLKS` is set to 0), this register @@ -580,7 +580,12 @@ For instance, consider a group of four `RCID` instances configured to share a set of _capacity blocks_, representing a total of 100 capacity units. Each `RCID` could be configured with a limit of 30 capacity units, ensuring that no individual `RCID` exceeds 30% of the total shared _capacity units_. +==== + +<<< +[NOTE] +==== The capacity controller may enforce these limits through various techniques. Examples include: diff --git a/qos_iommu.adoc b/qos_iommu.adoc index 35d5d20..62e3fc0 100644 --- a/qos_iommu.adoc +++ b/qos_iommu.adoc @@ -46,11 +46,10 @@ the mode to allow DMA. <<< -==== IOMMU Capabilities (`capabilities`) +==== IOMMU Capabilities -The IOMMU capabilities register has been extended with a new field, `QOSID`, -which enumerates support for associating QoS IDs with requests made through the -IOMMU. +The IOMMU `capabilities` register is extended with a new field, `QOSID`, which +enumerates support for associating QoS IDs with requests made through the IOMMU. .IOMMU Capabilities Register [wavedrom, , ] @@ -95,7 +94,7 @@ IOMMU. |41 |`QOSID` |RO | Associating QoS IDs with requests is supported. |=== -==== IOMMU QoS ID (`iommu_qosid`) +==== IOMMU QoS ID The `iommu_qosid` register fields are defined as follows: