diff mbox

powerpc/perf: Fix perf_get_data_addr() for power9 DD1

Message ID 1487598990-28592-1-git-send-email-maddy@linux.vnet.ibm.com (mailing list archive)
State Accepted
Headers show

Commit Message

maddy Feb. 20, 2017, 1:56 p.m. UTC
Power9 DD1 do not support PMU_HAS_SIER flag and sdsync
in perf_get_data_addr() defaults to MMCRA_SDSYNC which
is wrong. Since power9 MMCRA does not support SDSYNC bit,
patch includes PPMU_NO_SIAR flag to the check and set the
sdsync with MMCRA_SAMPLE_ENABLE;

Signed-off-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
---
 arch/powerpc/perf/core-book3s.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Michael Ellerman March 14, 2017, 11:45 a.m. UTC | #1
On Mon, 2017-02-20 at 13:56:30 UTC, Madhavan Srinivasan wrote:
> Power9 DD1 do not support PMU_HAS_SIER flag and sdsync
> in perf_get_data_addr() defaults to MMCRA_SDSYNC which
> is wrong. Since power9 MMCRA does not support SDSYNC bit,
> patch includes PPMU_NO_SIAR flag to the check and set the
> sdsync with MMCRA_SAMPLE_ENABLE;
> 
> Signed-off-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>

Applied to powerpc fixes, thanks.

https://git.kernel.org/powerpc/c/f04d108029063a8a67528a88449c41

cheers
diff mbox

Patch

diff --git a/arch/powerpc/perf/core-book3s.c b/arch/powerpc/perf/core-book3s.c
index 270eb9b74e2e..e9e6dfff032f 100644
--- a/arch/powerpc/perf/core-book3s.c
+++ b/arch/powerpc/perf/core-book3s.c
@@ -183,6 +183,8 @@  static inline void perf_get_data_addr(struct pt_regs *regs, u64 *addrp)
 			sdsync = POWER7P_MMCRA_SDAR_VALID;
 		else if (ppmu->flags & PPMU_ALT_SIPR)
 			sdsync = POWER6_MMCRA_SDSYNC;
+		else if (ppmu->flags & PPMU_NO_SIAR)
+			sdsync = MMCRA_SAMPLE_ENABLE;
 		else
 			sdsync = MMCRA_SDSYNC;