Re: [PATCH v8 04/43] arm64: RME: Add wrappers for RMI calls

From: Suzuki K Poulose
Date: Fri Apr 25 2025 - 06:53:18 EST


Hi Steven

On 16/04/2025 14:41, Steven Price wrote:
The wrappers make the call sites easier to read and deal with the
boiler plate of handling the error codes from the RMM.

Reviewed-by: Gavin Shan <gshan@xxxxxxxxxx>
Signed-off-by: Steven Price <steven.price@xxxxxxx>
---
Changes from v7:
* Minor renaming of parameters and updated comments
Changes from v5:
* Further improve comments
Changes from v4:
* Improve comments
Changes from v2:
* Make output arguments optional.
* Mask RIPAS value rmi_rtt_read_entry()
* Drop unused rmi_rtt_get_phys()
---
arch/arm64/include/asm/rmi_cmds.h | 508 ++++++++++++++++++++++++++++++
1 file changed, 508 insertions(+)
create mode 100644 arch/arm64/include/asm/rmi_cmds.h

diff --git a/arch/arm64/include/asm/rmi_cmds.h b/arch/arm64/include/asm/rmi_cmds.h
new file mode 100644
index 000000000000..27cd2751f3bf
--- /dev/null
+++ b/arch/arm64/include/asm/rmi_cmds.h
@@ -0,0 +1,508 @@

...

+
+/**
+ * rmi_rtt_destroy() - Destroy an RTT
+ * @rd: PA of the RD
+ * @ipa: Base of the IPA range described by the RTT
+ * @level: Depth of the RTT within the tree
+ * @out_rtt: Pointer to write the PA of the RTT which was destroyed
+ * @out_top: Pointer to write the top IPA of non-live RTT entries
+ *
+ * Destroys an RTT. The RTT must be non-live, i.e. none of the entries in the
+ * table are in ASSIGNED or TABLE state.

minor nit: It may be worth emphasising that you mean HIPAS here and not
RMI_ASSIGNED (as returned by RTT_READ_ENTRY). The key is, an unprotected
live leaf mapping (i.e., HIPAS=ASSIGNED_NS) is considered non-live.

Either ways:

Reviewed-by: Suzuki K Poulose <suzuki.poulose@xxxxxxx>