Browse Source

metag: perf: fix core internal / perf channel mux

The value written to the PERF_ICOREx or PERF_CHANx register to select
the performance events for the core internal and perf channel events was
(tmp & 0x0f), but tmp was set to (config & 0xf0) so it would always be
0. Correct it to use config instead of tmp.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
James Hogan 12 years ago
parent
commit
3424dabb65
1 changed files with 1 additions and 1 deletions
  1. 1 1
      arch/metag/kernel/perf/perf_event.c

+ 1 - 1
arch/metag/kernel/perf/perf_event.c

@@ -634,7 +634,7 @@ static void metag_pmu_enable_counter(struct hw_perf_event *event, int idx)
 			break;
 		}
 
-		metag_out32((tmp & 0x0f), perf_addr);
+		metag_out32((config & 0x0f), perf_addr);
 
 		/*
 		 * Now we use the high nibble as the performance event to