git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
arch
/
arm
/
oprofile
/
op_model_xscale.c
diff --git
a/arch/arm/oprofile/op_model_xscale.c
b/arch/arm/oprofile/op_model_xscale.c
index
34fdc73
..
7c3289c
100644
(file)
--- a/
arch/arm/oprofile/op_model_xscale.c
+++ b/
arch/arm/oprofile/op_model_xscale.c
@@
-20,7
+20,8
@@
#include <linux/sched.h>
#include <linux/oprofile.h>
#include <linux/interrupt.h>
#include <linux/sched.h>
#include <linux/oprofile.h>
#include <linux/interrupt.h>
-#include <asm/irq.h>
+#include <linux/irq.h>
+
#include <asm/system.h>
#include "op_counter.h"
#include <asm/system.h>
#include "op_counter.h"
@@
-33,14
+34,11
@@
#define PMU_CNT64 0x008 /* Make CCNT count every 64th cycle */
/* TODO do runtime detection */
#define PMU_CNT64 0x008 /* Make CCNT count every 64th cycle */
/* TODO do runtime detection */
-#ifdef CONFIG_ARCH_IOP310
-#define XSCALE_PMU_IRQ IRQ_XS80200_PMU
-#endif
-#ifdef CONFIG_ARCH_IOP321
-#define XSCALE_PMU_IRQ IRQ_IOP321_CORE_PMU
+#ifdef CONFIG_ARCH_IOP32X
+#define XSCALE_PMU_IRQ IRQ_IOP32X_CORE_PMU
#endif
#endif
-#ifdef CONFIG_ARCH_IOP33
1
-#define XSCALE_PMU_IRQ IRQ_IOP33
1
_CORE_PMU
+#ifdef CONFIG_ARCH_IOP33
X
+#define XSCALE_PMU_IRQ IRQ_IOP33
X
_CORE_PMU
#endif
#ifdef CONFIG_ARCH_PXA
#define XSCALE_PMU_IRQ IRQ_PMU
#endif
#ifdef CONFIG_ARCH_PXA
#define XSCALE_PMU_IRQ IRQ_PMU
@@
-88,7
+86,7
@@
static struct pmu_counter results[MAX_COUNTERS];
/*
* There are two versions of the PMU in current XScale processors
* with differing register layouts and number of performance counters.
/*
* There are two versions of the PMU in current XScale processors
* with differing register layouts and number of performance counters.
- * e.g. IOP32
1 is xsc1 whilst IOP331
is xsc2.
+ * e.g. IOP32
x is xsc1 whilst IOP33x
is xsc2.
* We detect which register layout to use in xscale_detect_pmu()
*/
enum { PMU_XSC1, PMU_XSC2 };
* We detect which register layout to use in xscale_detect_pmu()
*/
enum { PMU_XSC1, PMU_XSC2 };
@@
-344,7
+342,7
@@
static void inline __xsc2_check_ctrs(void)
__asm__ __volatile__ ("mcr p14, 0, %0, c5, c1, 0" : : "r" (flag));
}
__asm__ __volatile__ ("mcr p14, 0, %0, c5, c1, 0" : : "r" (flag));
}
-static irqreturn_t xscale_pmu_interrupt(int irq, void *arg
, struct pt_regs *regs
)
+static irqreturn_t xscale_pmu_interrupt(int irq, void *arg)
{
int i;
u32 pmnc;
{
int i;
u32 pmnc;
@@
-359,7
+357,7
@@
static irqreturn_t xscale_pmu_interrupt(int irq, void *arg, struct pt_regs *regs
continue;
write_counter(i, -(u32)results[i].reset_counter);
continue;
write_counter(i, -(u32)results[i].reset_counter);
- oprofile_add_sample(
regs
, i);
+ oprofile_add_sample(
get_irq_regs()
, i);
results[i].ovf--;
}
results[i].ovf--;
}