[PATCH v10 4/4] iommu: Document usage of "/sys/kernel/iommu_groups/<grp_id>/type" file

From: Lu Baolu
Date: Tue Nov 24 2020 - 08:13:44 EST


From: Sai Praneeth Prakhya <sai.praneeth.prakhya@xxxxxxxxx>

The default domain type of an iommu group can be changed by writing to
"/sys/kernel/iommu_groups/<grp_id>/type" file. Hence, document it's usage
and more importantly spell out its limitations.

Cc: Christoph Hellwig <hch@xxxxxx>
Cc: Joerg Roedel <joro@xxxxxxxxxx>
Cc: Ashok Raj <ashok.raj@xxxxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Cc: Sohil Mehta <sohil.mehta@xxxxxxxxx>
Cc: Robin Murphy <robin.murphy@xxxxxxx>
Cc: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx>
Signed-off-by: Sai Praneeth Prakhya <sai.praneeth.prakhya@xxxxxxxxx>
Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>
---
.../ABI/testing/sysfs-kernel-iommu_groups | 29 +++++++++++++++++++
1 file changed, 29 insertions(+)

diff --git a/Documentation/ABI/testing/sysfs-kernel-iommu_groups b/Documentation/ABI/testing/sysfs-kernel-iommu_groups
index 017f5bc3920c..407b1628d7fd 100644
--- a/Documentation/ABI/testing/sysfs-kernel-iommu_groups
+++ b/Documentation/ABI/testing/sysfs-kernel-iommu_groups
@@ -33,3 +33,32 @@ Description: In case an RMRR is used only by graphics or USB devices
it is now exposed as "direct-relaxable" instead of "direct".
In device assignment use case, for instance, those RMRR
are considered to be relaxable and safe.
+
+What: /sys/kernel/iommu_groups/<grp_id>/type
+Date: November 2020
+KernelVersion: v5.11
+Contact: Sai Praneeth Prakhya <sai.praneeth.prakhya@xxxxxxxxx>
+Description: /sys/kernel/iommu_groups/<grp_id>/type shows the type of default
+ domain in use by iommu for this group. See include/linux/iommu.h
+ for possible values. A privileged user could request kernel to
+ change the group type by writing to this file. Presently, only
+ three types of request are supported:
+ 1. DMA: All the DMA transactions from the device in this group
+ are translated by the iommu.
+ 2. identity: All the DMA transactions from the device in this
+ group are *not* translated by the iommu.
+ 3. auto: Change to the type the device was booted with.
+ Note:
+ -----
+ The default domain type of a group may be modified only when
+ 1. The group has *only* one device
+ 2. The device in the group is not bound to any device driver.
+ So, the users must unbind the appropriate driver before
+ changing the default domain type.
+ Caution:
+ --------
+ Unbinding a device driver will take away the driver's control
+ over the device and if done on devices that host root file
+ system could lead to catastrophic effects (the users might
+ need to reboot the machine to get it to normal state). So, it's
+ expected that the users understand what they're doing.
--
2.25.1