All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] perf/x86/intel/uncore: fix IMC missing box initialization
@ 2015-04-23  5:47 Stephane Eranian
  2015-04-24 13:38 ` Vince Weaver
  0 siblings, 1 reply; 14+ messages in thread
From: Stephane Eranian @ 2015-04-23  5:47 UTC (permalink / raw)
  To: linux-kernel; +Cc: peterz, ak, kan.liang, mingo, sonnyrao


This patch fixes a bug introduced by:

commit c05199e5a57a579fea1e8fa65e2b511ceb524ffc
Author: Kan Liang <kan.liang@intel.com>
Date:   Tue Jan 20 04:54:25 2015 +0000

    perf/x86/intel/uncore: Move uncore_box_init() out of driver initialization

It moves uncore_box_init() out of place but this meant that for desktop memory
controller (IMC) PCI-based PMU, the intialization was now missing causing a
crash at first access. This patch fixes the issue by adding the call to the
uncore_enable_box() in snb_uncore_imc_read_counter() to ensure the box
is initialized and the PCI BAR is io-remapped.

Signed-off-by: Stephane Eranian <eranian@google.com>
--

diff --git a/arch/x86/kernel/cpu/perf_event_intel_uncore_snb.c b/arch/x86/kernel/cpu/perf_event_intel_uncore_snb.c
index 4562e9e..755ec05 100644
--- a/arch/x86/kernel/cpu/perf_event_intel_uncore_snb.c
+++ b/arch/x86/kernel/cpu/perf_event_intel_uncore_snb.c
@@ -329,6 +329,9 @@ static void snb_uncore_imc_event_start(struct perf_event *event, int flags)
 
 	list_add_tail(&event->active_entry, &box->active_list);
 
+	if (box->n_active == 1)
+		uncore_enable_box(box);
+
 	count = snb_uncore_imc_read_counter(box, event);
 	local64_set(&event->hw.prev_count, count);
 

^ permalink raw reply related	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2015-06-09  8:34 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-23  5:47 [PATCH] perf/x86/intel/uncore: fix IMC missing box initialization Stephane Eranian
2015-04-24 13:38 ` Vince Weaver
2015-04-24 14:03   ` Vince Weaver
2015-04-24 14:38     ` Stephane Eranian
2015-04-24 19:22       ` Bjorn Helgaas
2015-04-24 19:29         ` Stephane Eranian
2015-04-25  4:38           ` Andi Kleen
2015-04-27  3:43             ` Liang, Kan
2015-04-28  6:23               ` Stephane Eranian
2015-04-28 10:52               ` Peter Zijlstra
2015-05-11 10:00                 ` Ingo Molnar
2015-06-08 17:45                   ` Vince Weaver
2015-06-09  7:20                     ` Ingo Molnar
2015-06-09  8:33                   ` Peter Zijlstra

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.