iommu: Document usage of "/sys/kernel/iommu_groups/<grp_id>/type" file
authorSai Praneeth Prakhya <sai.praneeth.prakhya@intel.com>
Tue, 24 Nov 2020 13:06:04 +0000 (21:06 +0800)
committerWill Deacon <will@kernel.org>
Wed, 25 Nov 2020 12:14:33 +0000 (12:14 +0000)
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.

Signed-off-by: Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com>
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Joerg Roedel <joro@8bytes.org>
Cc: Ashok Raj <ashok.raj@intel.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Sohil Mehta <sohil.mehta@intel.com>
Cc: Robin Murphy <robin.murphy@arm.com>
Cc: Jacob Pan <jacob.jun.pan@linux.intel.com>
Link: https://lore.kernel.org/r/20201124130604.2912899-5-baolu.lu@linux.intel.com
Signed-off-by: Will Deacon <will@kernel.org>
Documentation/ABI/testing/sysfs-kernel-iommu_groups

index 017f5bc3920cefc718865af5e5605ee62d855b3b..407b1628d7fdb438ce1c445afbab08e7e30d2954 100644 (file)
@@ -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@intel.com>
+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.