162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * AMD IOMMU driver 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2018 Advanced Micro Devices, Inc. 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci * Author: Gary R Hook <gary.hook@amd.com> 862306a36Sopenharmony_ci */ 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#include <linux/debugfs.h> 1162306a36Sopenharmony_ci#include <linux/pci.h> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci#include "amd_iommu.h" 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_cistatic struct dentry *amd_iommu_debugfs; 1662306a36Sopenharmony_cistatic DEFINE_MUTEX(amd_iommu_debugfs_lock); 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci#define MAX_NAME_LEN 20 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_civoid amd_iommu_debugfs_setup(struct amd_iommu *iommu) 2162306a36Sopenharmony_ci{ 2262306a36Sopenharmony_ci char name[MAX_NAME_LEN + 1]; 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci mutex_lock(&amd_iommu_debugfs_lock); 2562306a36Sopenharmony_ci if (!amd_iommu_debugfs) 2662306a36Sopenharmony_ci amd_iommu_debugfs = debugfs_create_dir("amd", 2762306a36Sopenharmony_ci iommu_debugfs_dir); 2862306a36Sopenharmony_ci mutex_unlock(&amd_iommu_debugfs_lock); 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci snprintf(name, MAX_NAME_LEN, "iommu%02d", iommu->index); 3162306a36Sopenharmony_ci iommu->debugfs = debugfs_create_dir(name, amd_iommu_debugfs); 3262306a36Sopenharmony_ci} 33