summaryrefslogtreecommitdiffstats
path: root/drivers/iommu/amd_iommu_debugfs.c
diff options
context:
space:
mode:
authorGary R Hook <gary.hook@amd.com>2018-06-12 23:41:30 +0200
committerJoerg Roedel <jroedel@suse.de>2018-07-06 14:06:30 +0200
commit7d0f5fd3e4d687424cc2ab68b55472e328e2ee0a (patch)
tree4005d7036fae71fcef2dc6c93f7e653d8f75a546 /drivers/iommu/amd_iommu_debugfs.c
parentiommu: Enable debugfs exposure of IOMMU driver internals (diff)
downloadlinux-7d0f5fd3e4d687424cc2ab68b55472e328e2ee0a.tar.xz
linux-7d0f5fd3e4d687424cc2ab68b55472e328e2ee0a.zip
iommu/amd: Add basic debugfs infrastructure for AMD IOMMU
Implement a skeleton framework for debugfs support in the AMD IOMMU. Add an AMD-specific Kconfig boolean that depends upon general enablement of DebugFS in the IOMMU. Signed-off-by: Gary R Hook <gary.hook@amd.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu/amd_iommu_debugfs.c')
-rw-r--r--drivers/iommu/amd_iommu_debugfs.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/drivers/iommu/amd_iommu_debugfs.c b/drivers/iommu/amd_iommu_debugfs.c
new file mode 100644
index 000000000000..c6a5c737ef09
--- /dev/null
+++ b/drivers/iommu/amd_iommu_debugfs.c
@@ -0,0 +1,33 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * AMD IOMMU driver
+ *
+ * Copyright (C) 2018 Advanced Micro Devices, Inc.
+ *
+ * Author: Gary R Hook <gary.hook@amd.com>
+ */
+
+#include <linux/debugfs.h>
+#include <linux/iommu.h>
+#include <linux/pci.h>
+#include "amd_iommu_proto.h"
+#include "amd_iommu_types.h"
+
+static struct dentry *amd_iommu_debugfs;
+static DEFINE_MUTEX(amd_iommu_debugfs_lock);
+
+#define MAX_NAME_LEN 20
+
+void amd_iommu_debugfs_setup(struct amd_iommu *iommu)
+{
+ char name[MAX_NAME_LEN + 1];
+
+ mutex_lock(&amd_iommu_debugfs_lock);
+ if (!amd_iommu_debugfs)
+ amd_iommu_debugfs = debugfs_create_dir("amd",
+ iommu_debugfs_dir);
+ mutex_unlock(&amd_iommu_debugfs_lock);
+
+ snprintf(name, MAX_NAME_LEN, "iommu%02d", iommu->index);
+ iommu->debugfs = debugfs_create_dir(name, amd_iommu_debugfs);
+}