Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 127080
b: refs/heads/master
c: f994607
h: refs/heads/master
v: v3
  • Loading branch information
Graf Yang authored and Bryan Wu committed Jan 7, 2009
1 parent 8303f9e commit 850fe94
Show file tree
Hide file tree
Showing 7 changed files with 22 additions and 26 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 6f985294f7df30c0caa80a795ca10fb6f8466702
refs/heads/master: f994607a2e118aedf1116a58ecd16126dbb83d28
10 changes: 6 additions & 4 deletions trunk/arch/blackfin/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,6 @@ config GENERIC_CALIBRATE_DELAY
bool
default y

config HARDWARE_PM
def_bool y
depends on OPROFILE

source "init/Kconfig"

source "kernel/Kconfig.preempt"
Expand Down Expand Up @@ -1019,6 +1015,12 @@ config EBIU_FCTLVAL
hex "Flash Memory Bank Control Register"
depends on BF54x
default 6

config HARDWARE_PM
bool "OProfile use hardware porformance monitor"
depends on OPROFILE
default n

endmenu

#############################################################################
Expand Down
12 changes: 7 additions & 5 deletions trunk/arch/blackfin/mach-common/interrupt.S
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,12 @@ ENTRY(_evt_ivhw)
1:
#endif

# We are going to dump something out, so make sure we print IPEND properly
p2.l = lo(IPEND);
p2.h = hi(IPEND);
r0 = [p2];
[sp + PT_IPEND] = r0;

#ifdef CONFIG_HARDWARE_PM
r7 = [sp + PT_SEQSTAT];
r7 = r7 >>> 0xe;
Expand All @@ -161,11 +167,6 @@ ENTRY(_evt_ivhw)
cc = r7 == r5;
if cc jump .Lcall_do_ovf; /* deal with performance counter overflow */
#endif
# We are going to dump something out, so make sure we print IPEND properly
p2.l = lo(IPEND);
p2.h = hi(IPEND);
r0 = [p2];
[sp + PT_IPEND] = r0;

/* set the EXCAUSE to HWERR for trap_c */
r0 = [sp + PT_SEQSTAT];
Expand Down Expand Up @@ -196,6 +197,7 @@ ENTRY(_evt_ivhw)
#ifdef CONFIG_HARDWARE_PM
.Lcall_do_ovf:

R0 = SP;
SP += -12;
call _pm_overflow;
SP += 12;
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/blackfin/mach-common/irqpanic.c
Original file line number Diff line number Diff line change
Expand Up @@ -139,8 +139,8 @@ asmlinkage void irq_panic(int reason, struct pt_regs *regs)
/*
* call the handler of Performance overflow
*/
asmlinkage void pm_overflow(int irq, struct pt_regs *regs)
asmlinkage void pm_overflow(struct pt_regs *regs)
{
pm_overflow_handler(irq, regs);
pm_overflow_handler(regs);
}
#endif
14 changes: 3 additions & 11 deletions trunk/arch/blackfin/oprofile/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -126,20 +126,12 @@ static int op_bfin_create_files(struct super_block *sb, struct dentry *root)
int __init oprofile_arch_init(struct oprofile_operations *ops)
{
#ifdef CONFIG_HARDWARE_PM
unsigned int dspid;

mutex_init(&pfmon_lock);

dspid = bfin_dspid();

printk(KERN_INFO "Oprofile got the cpu id is 0x%x. \n", dspid);

switch (dspid) {
case BFIN_533_ID:
model = &op_model_bfin533;
model->num_counters = 2;
break;
case BFIN_537_ID:
switch (bfin_read_CHIPID() & CHIPID_MANUFACTURE) {
case 0xca:
printk(KERN_INFO "Oprofile: cpu vendor is Analog Devices.\n");
model = &op_model_bfin533;
model->num_counters = 2;
break;
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/blackfin/oprofile/op_blackfin.h
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,6 @@ static inline void count_write(unsigned int *count)
CSYNC();
}

extern int pm_overflow_handler(int irq, struct pt_regs *regs);
extern int pm_overflow_handler(struct pt_regs *regs);

#endif
4 changes: 2 additions & 2 deletions trunk/arch/blackfin/oprofile/op_model_bf533.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ static unsigned curr_pfctl, curr_count[2];

static int bfin533_reg_setup(struct op_counter_config *ctr)
{
unsigned int pfctl = ctr_read();
unsigned int pfctl = 0;
unsigned int count[2];

/* set Blackfin perf monitor regs with ctr */
Expand Down Expand Up @@ -118,7 +118,7 @@ static int get_kernel(void)
return is_kernel;
}

int pm_overflow_handler(int irq, struct pt_regs *regs)
int pm_overflow_handler(struct pt_regs *regs)
{
int is_kernel;
int i, cpu;
Expand Down

0 comments on commit 850fe94

Please sign in to comment.