Skip to content

Commit

Permalink
Blackfin: convert early_printk EVT init to a loop
Browse files Browse the repository at this point in the history
The EVT registers are all contiguous in the memory map, so using a loop to
initialize them all rather than hardcoding the list results in much better
generated code (a hardware loop rather than a whole bunch of individual
loads).

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
  • Loading branch information
Mike Frysinger committed Jun 12, 2009
1 parent f1db88d commit 685a694
Showing 1 changed file with 3 additions and 13 deletions.
16 changes: 3 additions & 13 deletions arch/blackfin/kernel/early_printk.c
Original file line number Diff line number Diff line change
Expand Up @@ -178,25 +178,15 @@ int __init setup_early_printk(char *buf)

asmlinkage void __init init_early_exception_vectors(void)
{
u32 evt;
SSYNC();

/* cannot program in software:
* evt0 - emulation (jtag)
* evt1 - reset
*/
bfin_write_EVT2(early_trap);
bfin_write_EVT3(early_trap);
bfin_write_EVT5(early_trap);
bfin_write_EVT6(early_trap);
bfin_write_EVT7(early_trap);
bfin_write_EVT8(early_trap);
bfin_write_EVT9(early_trap);
bfin_write_EVT10(early_trap);
bfin_write_EVT11(early_trap);
bfin_write_EVT12(early_trap);
bfin_write_EVT13(early_trap);
bfin_write_EVT14(early_trap);
bfin_write_EVT15(early_trap);
for (evt = EVT2; evt <= EVT15; evt += 4)
bfin_write32(evt, early_trap);
CSYNC();

/* Set all the return from interrupt, exception, NMI to a known place
Expand Down

0 comments on commit 685a694

Please sign in to comment.