Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d3eed008 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: perf: set filter bits for cycle counter on krait"

parents 4fe01852 d36755d0
Loading
Loading
Loading
Loading
+24 −32
Original line number Diff line number Diff line
/*
 * Copyright (c) 2011-2013, The Linux Foundation. All rights reserved.
 * Copyright (c) 2011-2014, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -446,15 +446,11 @@ static void krait_pmu_enable_event(struct perf_event *event)
	/* Disable counter */
	armv7_pmnc_disable_counter(idx);

	/*
	 * Set event (if destined for PMNx counters)
	 * We don't need to set the event if it's a cycle count
	 */
	if (idx != ARMV7_IDX_CYCLE_COUNTER) {
	val = hwc->config_base;
	val &= KRAIT_EVENT_MASK;

		if (val < 0x40) {
	/* set event for ARM-architected events, and filter for CC */
	if ((val < 0x40) || (idx == ARMV7_IDX_CYCLE_COUNTER)) {
		armv7_pmnc_write_evtsel(idx, hwc->config_base);
	} else {
		ev_num = get_krait_evtinfo(val, &evtinfo);
@@ -465,10 +461,7 @@ static void krait_pmu_enable_event(struct perf_event *event)
		/* Restore Mode-exclusion bits */
		ev_num |= (hwc->config_base & KRAIT_MODE_EXCL_MASK);

			/*
			 * Set event (if destined for PMNx counters)
			 * We don't need to set the event if it's a cycle count
			 */
		/* Set event (if destined for PMNx counters) */
		armv7_pmnc_write_evtsel(idx, ev_num);
		val = 0x0;
		asm volatile("mcr p15, 0, %0, c9, c15, 0" : :
@@ -477,7 +470,6 @@ static void krait_pmu_enable_event(struct perf_event *event)
		gr = evtinfo.groupcode;
		krait_evt_setup(gr, val, evtinfo.armv7_evt_type);
	}
	}

	/* Enable interrupt for this counter */
	armv7_pmnc_enable_intens(idx);
+1 −0
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ static char *descriptions =
	"17 Perf: Reset pmu after hotplug\n"
	"18 ARM: dts: msm: add perf-events support for msm8916\n"
	"19 Perf: Enable pmuv3 on 32 bit kernel\n"
	"20 msm: perf: set filter bits for cycle counter on krait\n"
;

static ssize_t desc_read(struct file *fp, char __user *buf,