x86/events/amd/iommu.c: Modify functions to query max banks and counters
authorSuravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
Fri, 24 Feb 2017 08:48:18 +0000 (02:48 -0600)
committerIngo Molnar <mingo@kernel.org>
Thu, 30 Mar 2017 07:53:54 +0000 (09:53 +0200)
commitf5863a00e73c432b91e4efe1d68778b4ace6a892
tree07d20407d1caaf4ec5a2ee0e3d85b0d77707623e
parent6b9376e30f42b902260371245f009bc05eb3fdfb
x86/events/amd/iommu.c: Modify functions to query max banks and counters

Currently, amd_iommu_pc_get_max_[banks|counters]() use end-point device
ID to locate an IOMMU and check the reported max banks/counters. The
logic assumes that the IOMMU_BASE_DEVID belongs to the first IOMMU, and
uses it to acquire a reference to the first IOMMU, which does not work
on certain systems. Instead, modify the function to take an IOMMU index,
and use it to query the corresponding AMD IOMMU instance.

Currently, hardcode the IOMMU index to 0 since the current AMD IOMMU
perf implementation supports only a single IOMMU. A subsequent patch
will add support for multiple IOMMUs, and will use a proper IOMMU index.

Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Jörg Rödel <joro@8bytes.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vince Weaver <vincent.weaver@maine.edu>
Cc: iommu@lists.linux-foundation.org
Link: http://lkml.kernel.org/r/1487926102-13073-7-git-send-email-Suravee.Suthikulpanit@amd.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/events/amd/iommu.c
arch/x86/events/amd/iommu.h
drivers/iommu/amd_iommu_init.c
drivers/iommu/amd_iommu_proto.h