Re: [PATCH v8 2/2] iommu/amd: Add basic debugfs infrastructure for AMD IOMMU
On 06/04/2018 08:23 PM, Randy Dunlap wrote: On 05/29/2018 11:39 AM, Greg KH wrote: On Tue, May 29, 2018 at 01:23:23PM -0500, Gary R Hook wrote: Implement a skeleton framework for debugfs support in the AMD IOMMU. Add a hidden boolean to Kconfig that is defined for the AMD IOMMU when general IOMMY DebugFS support is enabled. Signed-off-by: Gary R Hook --- drivers/iommu/Kconfig |4 drivers/iommu/Makefile|1 + drivers/iommu/amd_iommu_debugfs.c | 39 + drivers/iommu/amd_iommu_init.c|6 -- drivers/iommu/amd_iommu_proto.h |6 ++ drivers/iommu/amd_iommu_types.h |5 + 6 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 drivers/iommu/amd_iommu_debugfs.c diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig index f9af25ac409f..ec223f6f4ad4 100644 --- a/drivers/iommu/Kconfig +++ b/drivers/iommu/Kconfig @@ -137,6 +137,10 @@ config AMD_IOMMU your BIOS for an option to enable it or if you have an IVRS ACPI table. +config AMD_IOMMU_DEBUGFS + def_bool y Why default y? Can you not boot a box without this? If not, it should not be Y. + depends on AMD_IOMMU && IOMMU_DEBUGFS + config AMD_IOMMU_V2 tristate "AMD IOMMU Version 2 driver" depends on AMD_IOMMU Gary, By far, most driver-debugfs additions are optional and include a user Kconfig prompt so that user's can choose whether to enable it or not. I suggest that the way forward is to fix Greg's debugfs_() api comments and to add a prompt string to AMD_IOMMU_DEBUGFS. Roger. I think we have that all worked out. Will send another version soon. Thanks. ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: [PATCH v8 2/2] iommu/amd: Add basic debugfs infrastructure for AMD IOMMU
On 06/05/2018 12:06 PM, Greg KH wrote: On Tue, Jun 05, 2018 at 11:58:13AM -0500, Gary R Hook wrote: On 05/29/2018 01:39 PM, Greg KH wrote: On Tue, May 29, 2018 at 01:23:23PM -0500, Gary R Hook wrote: Implement a skeleton framework for debugfs support in the AMD IOMMU. Add a hidden boolean to Kconfig that is defined for the AMD IOMMU when general IOMMY DebugFS support is enabled. Signed-off-by: Gary R Hook --- drivers/iommu/Kconfig |4 drivers/iommu/Makefile|1 + drivers/iommu/amd_iommu_debugfs.c | 39 + drivers/iommu/amd_iommu_init.c|6 -- drivers/iommu/amd_iommu_proto.h |6 ++ drivers/iommu/amd_iommu_types.h |5 + 6 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 drivers/iommu/amd_iommu_debugfs.c diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig index f9af25ac409f..ec223f6f4ad4 100644 --- a/drivers/iommu/Kconfig +++ b/drivers/iommu/Kconfig @@ -137,6 +137,10 @@ config AMD_IOMMU your BIOS for an option to enable it or if you have an IVRS ACPI table. +config AMD_IOMMU_DEBUGFS + def_bool y Why default y? Can you not boot a box without this? If not, it should not be Y. Again, apologies for not seeing this sooner. Yes, the system can boot without this. The idea of a hidden option was surfaced by Robin, and after my first approach was shot down, I tried this. Logic: If the over-arching IOMMU debugfs option is enabled, then AMD_IOMMU_DEBUGFS gets defined, and AMD IOMMU code gets included. This issue was discussed a few weeks ago. No single approach appears to satisfy everyone. I like this because it depends upon one switch: Do you want DebugFS support enabled in the IOMMU driver, period? Vendor-specific code can then choose to implement support or not, and a builder doesn't have to worry about enabling/disabling multiple Kconfig options. At least, that was my line of reasoning. I'm not married to any approach, and I don't find clever use of Kconfig options too terribly challenging. And I'm not defending, I'm just explaining. The issue is, no one sets Kconfig options except a very tiny subset of kernel developers. Distros allways enable everything, as they have to do that. If you are creating something here that is so dangerous that you spam the kernel log with big warning messages, you should not be making it easy to enable, let alone be enabled by default :) Okay, I get that. Totally understand. Just make it an option, have it rely on the kernel debugging option, and say "DO NOT ENABLE THIS UNLESS YOU REALLY REALLY REALLY KNOW WHAT YOU ARE DOING!" Nah, Randy voted for separate options per device, on top of the IOMMU option. So I'll go with that. With loud messages, of course. ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: [PATCH v8 2/2] iommu/amd: Add basic debugfs infrastructure for AMD IOMMU
On Tue, Jun 05, 2018 at 11:58:13AM -0500, Gary R Hook wrote: > On 05/29/2018 01:39 PM, Greg KH wrote: > > On Tue, May 29, 2018 at 01:23:23PM -0500, Gary R Hook wrote: > > > Implement a skeleton framework for debugfs support in the > > > AMD IOMMU. Add a hidden boolean to Kconfig that is defined > > > for the AMD IOMMU when general IOMMY DebugFS support is > > > enabled. > > > > > > Signed-off-by: Gary R Hook > > > --- > > > drivers/iommu/Kconfig |4 > > > drivers/iommu/Makefile|1 + > > > drivers/iommu/amd_iommu_debugfs.c | 39 > > > + > > > drivers/iommu/amd_iommu_init.c|6 -- > > > drivers/iommu/amd_iommu_proto.h |6 ++ > > > drivers/iommu/amd_iommu_types.h |5 + > > > 6 files changed, 59 insertions(+), 2 deletions(-) > > > create mode 100644 drivers/iommu/amd_iommu_debugfs.c > > > > > > diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig > > > index f9af25ac409f..ec223f6f4ad4 100644 > > > --- a/drivers/iommu/Kconfig > > > +++ b/drivers/iommu/Kconfig > > > @@ -137,6 +137,10 @@ config AMD_IOMMU > > > your BIOS for an option to enable it or if you have an IVRS > > > ACPI > > > table. > > > +config AMD_IOMMU_DEBUGFS > > > + def_bool y > > > > Why default y? Can you not boot a box without this? If not, it should > > not be Y. > > Again, apologies for not seeing this sooner. > > Yes, the system can boot without this. The idea of a hidden option was > surfaced by Robin, and after my first approach was shot down, I tried this. > > Logic: If the over-arching IOMMU debugfs option is enabled, then > AMD_IOMMU_DEBUGFS gets defined, and AMD IOMMU code gets included. > > This issue was discussed a few weeks ago. No single approach appears to > satisfy everyone. I like this because it depends upon one switch: Do you > want DebugFS support enabled in the IOMMU driver, period? Vendor-specific > code can then choose to implement support or not, and a builder doesn't have > to worry about enabling/disabling multiple Kconfig options. > > At least, that was my line of reasoning. > > I'm not married to any approach, and I don't find clever use of Kconfig > options too terribly challenging. And I'm not defending, I'm just > explaining. The issue is, no one sets Kconfig options except a very tiny subset of kernel developers. Distros allways enable everything, as they have to do that. If you are creating something here that is so dangerous that you spam the kernel log with big warning messages, you should not be making it easy to enable, let alone be enabled by default :) Just make it an option, have it rely on the kernel debugging option, and say "DO NOT ENABLE THIS UNLESS YOU REALLY REALLY REALLY KNOW WHAT YOU ARE DOING!" thanks, greg k-h ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: [PATCH v8 2/2] iommu/amd: Add basic debugfs infrastructure for AMD IOMMU
On 05/29/2018 01:39 PM, Greg KH wrote: On Tue, May 29, 2018 at 01:23:23PM -0500, Gary R Hook wrote: Implement a skeleton framework for debugfs support in the AMD IOMMU. Add a hidden boolean to Kconfig that is defined for the AMD IOMMU when general IOMMY DebugFS support is enabled. Signed-off-by: Gary R Hook --- drivers/iommu/Kconfig |4 drivers/iommu/Makefile|1 + drivers/iommu/amd_iommu_debugfs.c | 39 + drivers/iommu/amd_iommu_init.c|6 -- drivers/iommu/amd_iommu_proto.h |6 ++ drivers/iommu/amd_iommu_types.h |5 + 6 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 drivers/iommu/amd_iommu_debugfs.c diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig index f9af25ac409f..ec223f6f4ad4 100644 --- a/drivers/iommu/Kconfig +++ b/drivers/iommu/Kconfig @@ -137,6 +137,10 @@ config AMD_IOMMU your BIOS for an option to enable it or if you have an IVRS ACPI table. +config AMD_IOMMU_DEBUGFS + def_bool y Why default y? Can you not boot a box without this? If not, it should not be Y. Again, apologies for not seeing this sooner. Yes, the system can boot without this. The idea of a hidden option was surfaced by Robin, and after my first approach was shot down, I tried this. Logic: If the over-arching IOMMU debugfs option is enabled, then AMD_IOMMU_DEBUGFS gets defined, and AMD IOMMU code gets included. This issue was discussed a few weeks ago. No single approach appears to satisfy everyone. I like this because it depends upon one switch: Do you want DebugFS support enabled in the IOMMU driver, period? Vendor-specific code can then choose to implement support or not, and a builder doesn't have to worry about enabling/disabling multiple Kconfig options. At least, that was my line of reasoning. I'm not married to any approach, and I don't find clever use of Kconfig options too terribly challenging. And I'm not defending, I'm just explaining. + depends on AMD_IOMMU && IOMMU_DEBUGFS + config AMD_IOMMU_V2 tristate "AMD IOMMU Version 2 driver" depends on AMD_IOMMU diff --git a/drivers/iommu/Makefile b/drivers/iommu/Makefile index 74cfbc392862..47fd6ea9de2d 100644 --- a/drivers/iommu/Makefile +++ b/drivers/iommu/Makefile @@ -11,6 +11,7 @@ obj-$(CONFIG_IOMMU_IOVA) += iova.o obj-$(CONFIG_OF_IOMMU)+= of_iommu.o obj-$(CONFIG_MSM_IOMMU) += msm_iommu.o obj-$(CONFIG_AMD_IOMMU) += amd_iommu.o amd_iommu_init.o +obj-$(CONFIG_AMD_IOMMU_DEBUGFS) += amd_iommu_debugfs.o obj-$(CONFIG_AMD_IOMMU_V2) += amd_iommu_v2.o obj-$(CONFIG_ARM_SMMU) += arm-smmu.o obj-$(CONFIG_ARM_SMMU_V3) += arm-smmu-v3.o diff --git a/drivers/iommu/amd_iommu_debugfs.c b/drivers/iommu/amd_iommu_debugfs.c new file mode 100644 index ..6dff98552969 --- /dev/null +++ b/drivers/iommu/amd_iommu_debugfs.c @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * AMD IOMMU driver + * + * Copyright (C) 2018 Advanced Micro Devices, Inc. + * + * Author: Gary R Hook + */ + +#include +#include +#include +#include "amd_iommu_proto.h" +#include "amd_iommu_types.h" + +static struct dentry *amd_iommu_debugfs; +static DEFINE_MUTEX(amd_iommu_debugfs_lock); + +#defineMAX_NAME_LEN20 + +void amd_iommu_debugfs_setup(struct amd_iommu *iommu) +{ + char name[MAX_NAME_LEN + 1]; + + mutex_lock(_iommu_debugfs_lock); + if (!amd_iommu_debugfs) + amd_iommu_debugfs = iommu_debugfs_new_driver_dir("amd"); + mutex_unlock(_iommu_debugfs_lock); + + if (amd_iommu_debugfs) { Do not test this. Okay, noted. I'll stop worrying about this. + snprintf(name, MAX_NAME_LEN, "iommu%02d", iommu->index); + iommu->debugfs = debugfs_create_dir(name, + amd_iommu_debugfs); + if (!iommu->debugfs) { No, you don't care about the return value of any debugfs call. Just save the directory and move on. If it's not correct, find, nothing is wrong, just keep going. Roger. Thank you, Gary ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: [PATCH v8 2/2] iommu/amd: Add basic debugfs infrastructure for AMD IOMMU
On 05/29/2018 11:39 AM, Greg KH wrote: > On Tue, May 29, 2018 at 01:23:23PM -0500, Gary R Hook wrote: >> Implement a skeleton framework for debugfs support in the >> AMD IOMMU. Add a hidden boolean to Kconfig that is defined >> for the AMD IOMMU when general IOMMY DebugFS support is >> enabled. >> >> Signed-off-by: Gary R Hook >> --- >> drivers/iommu/Kconfig |4 >> drivers/iommu/Makefile|1 + >> drivers/iommu/amd_iommu_debugfs.c | 39 >> + >> drivers/iommu/amd_iommu_init.c|6 -- >> drivers/iommu/amd_iommu_proto.h |6 ++ >> drivers/iommu/amd_iommu_types.h |5 + >> 6 files changed, 59 insertions(+), 2 deletions(-) >> create mode 100644 drivers/iommu/amd_iommu_debugfs.c >> >> diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig >> index f9af25ac409f..ec223f6f4ad4 100644 >> --- a/drivers/iommu/Kconfig >> +++ b/drivers/iommu/Kconfig >> @@ -137,6 +137,10 @@ config AMD_IOMMU >>your BIOS for an option to enable it or if you have an IVRS ACPI >>table. >> >> +config AMD_IOMMU_DEBUGFS >> +def_bool y > > Why default y? Can you not boot a box without this? If not, it should > not be Y. > >> +depends on AMD_IOMMU && IOMMU_DEBUGFS >> + >> config AMD_IOMMU_V2 >> tristate "AMD IOMMU Version 2 driver" >> depends on AMD_IOMMU Gary, By far, most driver-debugfs additions are optional and include a user Kconfig prompt so that user's can choose whether to enable it or not. I suggest that the way forward is to fix Greg's debugfs_() api comments and to add a prompt string to AMD_IOMMU_DEBUGFS. -- ~Randy ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: [PATCH v8 2/2] iommu/amd: Add basic debugfs infrastructure for AMD IOMMU
On Tue, May 29, 2018 at 01:23:23PM -0500, Gary R Hook wrote: > Implement a skeleton framework for debugfs support in the > AMD IOMMU. Add a hidden boolean to Kconfig that is defined > for the AMD IOMMU when general IOMMY DebugFS support is > enabled. > > Signed-off-by: Gary R Hook > --- > drivers/iommu/Kconfig |4 > drivers/iommu/Makefile|1 + > drivers/iommu/amd_iommu_debugfs.c | 39 > + > drivers/iommu/amd_iommu_init.c|6 -- > drivers/iommu/amd_iommu_proto.h |6 ++ > drivers/iommu/amd_iommu_types.h |5 + > 6 files changed, 59 insertions(+), 2 deletions(-) > create mode 100644 drivers/iommu/amd_iommu_debugfs.c > > diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig > index f9af25ac409f..ec223f6f4ad4 100644 > --- a/drivers/iommu/Kconfig > +++ b/drivers/iommu/Kconfig > @@ -137,6 +137,10 @@ config AMD_IOMMU > your BIOS for an option to enable it or if you have an IVRS ACPI > table. > > +config AMD_IOMMU_DEBUGFS > + def_bool y Why default y? Can you not boot a box without this? If not, it should not be Y. > + depends on AMD_IOMMU && IOMMU_DEBUGFS > + > config AMD_IOMMU_V2 > tristate "AMD IOMMU Version 2 driver" > depends on AMD_IOMMU > diff --git a/drivers/iommu/Makefile b/drivers/iommu/Makefile > index 74cfbc392862..47fd6ea9de2d 100644 > --- a/drivers/iommu/Makefile > +++ b/drivers/iommu/Makefile > @@ -11,6 +11,7 @@ obj-$(CONFIG_IOMMU_IOVA) += iova.o > obj-$(CONFIG_OF_IOMMU) += of_iommu.o > obj-$(CONFIG_MSM_IOMMU) += msm_iommu.o > obj-$(CONFIG_AMD_IOMMU) += amd_iommu.o amd_iommu_init.o > +obj-$(CONFIG_AMD_IOMMU_DEBUGFS) += amd_iommu_debugfs.o > obj-$(CONFIG_AMD_IOMMU_V2) += amd_iommu_v2.o > obj-$(CONFIG_ARM_SMMU) += arm-smmu.o > obj-$(CONFIG_ARM_SMMU_V3) += arm-smmu-v3.o > diff --git a/drivers/iommu/amd_iommu_debugfs.c > b/drivers/iommu/amd_iommu_debugfs.c > new file mode 100644 > index ..6dff98552969 > --- /dev/null > +++ b/drivers/iommu/amd_iommu_debugfs.c > @@ -0,0 +1,39 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * AMD IOMMU driver > + * > + * Copyright (C) 2018 Advanced Micro Devices, Inc. > + * > + * Author: Gary R Hook > + */ > + > +#include > +#include > +#include > +#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_LEN20 > + > +void amd_iommu_debugfs_setup(struct amd_iommu *iommu) > +{ > + char name[MAX_NAME_LEN + 1]; > + > + mutex_lock(_iommu_debugfs_lock); > + if (!amd_iommu_debugfs) > + amd_iommu_debugfs = iommu_debugfs_new_driver_dir("amd"); > + mutex_unlock(_iommu_debugfs_lock); > + > + if (amd_iommu_debugfs) { Do not test this. > + snprintf(name, MAX_NAME_LEN, "iommu%02d", iommu->index); > + iommu->debugfs = debugfs_create_dir(name, > + amd_iommu_debugfs); > + if (!iommu->debugfs) { No, you don't care about the return value of any debugfs call. Just save the directory and move on. If it's not correct, find, nothing is wrong, just keep going. thanks, greg k-h ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
[PATCH v8 2/2] iommu/amd: Add basic debugfs infrastructure for AMD IOMMU
Implement a skeleton framework for debugfs support in the AMD IOMMU. Add a hidden boolean to Kconfig that is defined for the AMD IOMMU when general IOMMY DebugFS support is enabled. Signed-off-by: Gary R Hook --- drivers/iommu/Kconfig |4 drivers/iommu/Makefile|1 + drivers/iommu/amd_iommu_debugfs.c | 39 + drivers/iommu/amd_iommu_init.c|6 -- drivers/iommu/amd_iommu_proto.h |6 ++ drivers/iommu/amd_iommu_types.h |5 + 6 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 drivers/iommu/amd_iommu_debugfs.c diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig index f9af25ac409f..ec223f6f4ad4 100644 --- a/drivers/iommu/Kconfig +++ b/drivers/iommu/Kconfig @@ -137,6 +137,10 @@ config AMD_IOMMU your BIOS for an option to enable it or if you have an IVRS ACPI table. +config AMD_IOMMU_DEBUGFS + def_bool y + depends on AMD_IOMMU && IOMMU_DEBUGFS + config AMD_IOMMU_V2 tristate "AMD IOMMU Version 2 driver" depends on AMD_IOMMU diff --git a/drivers/iommu/Makefile b/drivers/iommu/Makefile index 74cfbc392862..47fd6ea9de2d 100644 --- a/drivers/iommu/Makefile +++ b/drivers/iommu/Makefile @@ -11,6 +11,7 @@ obj-$(CONFIG_IOMMU_IOVA) += iova.o obj-$(CONFIG_OF_IOMMU) += of_iommu.o obj-$(CONFIG_MSM_IOMMU) += msm_iommu.o obj-$(CONFIG_AMD_IOMMU) += amd_iommu.o amd_iommu_init.o +obj-$(CONFIG_AMD_IOMMU_DEBUGFS) += amd_iommu_debugfs.o obj-$(CONFIG_AMD_IOMMU_V2) += amd_iommu_v2.o obj-$(CONFIG_ARM_SMMU) += arm-smmu.o obj-$(CONFIG_ARM_SMMU_V3) += arm-smmu-v3.o diff --git a/drivers/iommu/amd_iommu_debugfs.c b/drivers/iommu/amd_iommu_debugfs.c new file mode 100644 index ..6dff98552969 --- /dev/null +++ b/drivers/iommu/amd_iommu_debugfs.c @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * AMD IOMMU driver + * + * Copyright (C) 2018 Advanced Micro Devices, Inc. + * + * Author: Gary R Hook + */ + +#include +#include +#include +#include "amd_iommu_proto.h" +#include "amd_iommu_types.h" + +static struct dentry *amd_iommu_debugfs; +static DEFINE_MUTEX(amd_iommu_debugfs_lock); + +#defineMAX_NAME_LEN20 + +void amd_iommu_debugfs_setup(struct amd_iommu *iommu) +{ + char name[MAX_NAME_LEN + 1]; + + mutex_lock(_iommu_debugfs_lock); + if (!amd_iommu_debugfs) + amd_iommu_debugfs = iommu_debugfs_new_driver_dir("amd"); + mutex_unlock(_iommu_debugfs_lock); + + if (amd_iommu_debugfs) { + snprintf(name, MAX_NAME_LEN, "iommu%02d", iommu->index); + iommu->debugfs = debugfs_create_dir(name, + amd_iommu_debugfs); + if (!iommu->debugfs) { + debugfs_remove_recursive(amd_iommu_debugfs); + amd_iommu_debugfs = NULL; + } + } +} diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c index 904c575d1677..031e6dbb8345 100644 --- a/drivers/iommu/amd_iommu_init.c +++ b/drivers/iommu/amd_iommu_init.c @@ -2721,6 +2721,7 @@ int __init amd_iommu_enable_faulting(void) */ static int __init amd_iommu_init(void) { + struct amd_iommu *iommu; int ret; ret = iommu_go_to_state(IOMMU_INITIALIZED); @@ -2730,14 +2731,15 @@ static int __init amd_iommu_init(void) disable_iommus(); free_iommu_resources(); } else { - struct amd_iommu *iommu; - uninit_device_table_dma(); for_each_iommu(iommu) iommu_flush_all_caches(iommu); } } + for_each_iommu(iommu) + amd_iommu_debugfs_setup(iommu); + return ret; } diff --git a/drivers/iommu/amd_iommu_proto.h b/drivers/iommu/amd_iommu_proto.h index 640c286a0ab9..a8cd0296fb16 100644 --- a/drivers/iommu/amd_iommu_proto.h +++ b/drivers/iommu/amd_iommu_proto.h @@ -33,6 +33,12 @@ extern void amd_iommu_uninit_devices(void); extern void amd_iommu_init_notifier(void); extern int amd_iommu_init_api(void); +#ifdef CONFIG_AMD_IOMMU_DEBUGFS +void amd_iommu_debugfs_setup(struct amd_iommu *iommu); +#else +static inline void amd_iommu_debugfs_setup(struct amd_iommu *iommu) {} +#endif + /* Needed for interrupt remapping */ extern int amd_iommu_prepare(void); extern int amd_iommu_enable(void); diff --git a/drivers/iommu/amd_iommu_types.h b/drivers/iommu/amd_iommu_types.h index 986cbe0cc189..cfac9d842b0f 100644 --- a/drivers/iommu/amd_iommu_types.h +++ b/drivers/iommu/amd_iommu_types.h @@ -594,6 +594,11 @@ struct amd_iommu { u32 flags; volatile u64 __aligned(8) cmd_sem; + +#ifdef CONFIG_AMD_IOMMU_DEBUGFS + /* DebugFS Info */ + struct dentry *debugfs; +#endif }; static inline struct amd_iommu *dev_to_amd_iommu(struct device *dev)