Commit 6210d421 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm

Pull ARM fixes from Russell King:
 "Just three fixes this time - a fix for a fix for our memset function,
  fixing the dummy clockevent so that it doesn't interfere with real
  hardware clockevents, and fixing a build error for Tegra."

* 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
  ARM: 7675/1: amba: tegra-ahb: Fix build error w/ PM_SLEEP w/o PM_RUNTIME
  ARM: 7674/1: smp: Avoid dummy clockevent being preferred over real hardware clock-event
  ARM: 7670/1: fix the memset fix
parents a937536b 2c36af0e
...@@ -480,7 +480,7 @@ static void __cpuinit broadcast_timer_setup(struct clock_event_device *evt) ...@@ -480,7 +480,7 @@ static void __cpuinit broadcast_timer_setup(struct clock_event_device *evt)
evt->features = CLOCK_EVT_FEAT_ONESHOT | evt->features = CLOCK_EVT_FEAT_ONESHOT |
CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_PERIODIC |
CLOCK_EVT_FEAT_DUMMY; CLOCK_EVT_FEAT_DUMMY;
evt->rating = 400; evt->rating = 100;
evt->mult = 1; evt->mult = 1;
evt->set_mode = broadcast_timer_set_mode; evt->set_mode = broadcast_timer_set_mode;
......
...@@ -14,31 +14,15 @@ ...@@ -14,31 +14,15 @@
.text .text
.align 5 .align 5
.word 0
1: subs r2, r2, #4 @ 1 do we have enough
blt 5f @ 1 bytes to align with?
cmp r3, #2 @ 1
strltb r1, [ip], #1 @ 1
strleb r1, [ip], #1 @ 1
strb r1, [ip], #1 @ 1
add r2, r2, r3 @ 1 (r2 = r2 - (4 - r3))
/*
* The pointer is now aligned and the length is adjusted. Try doing the
* memset again.
*/
ENTRY(memset) ENTRY(memset)
/* ands r3, r0, #3 @ 1 unaligned?
* Preserve the contents of r0 for the return value. mov ip, r0 @ preserve r0 as return value
*/ bne 6f @ 1
mov ip, r0
ands r3, ip, #3 @ 1 unaligned?
bne 1b @ 1
/* /*
* we know that the pointer in ip is aligned to a word boundary. * we know that the pointer in ip is aligned to a word boundary.
*/ */
orr r1, r1, r1, lsl #8 1: orr r1, r1, r1, lsl #8
orr r1, r1, r1, lsl #16 orr r1, r1, r1, lsl #16
mov r3, r1 mov r3, r1
cmp r2, #16 cmp r2, #16
...@@ -127,4 +111,13 @@ ENTRY(memset) ...@@ -127,4 +111,13 @@ ENTRY(memset)
tst r2, #1 tst r2, #1
strneb r1, [ip], #1 strneb r1, [ip], #1
mov pc, lr mov pc, lr
6: subs r2, r2, #4 @ 1 do we have enough
blt 5b @ 1 bytes to align with?
cmp r3, #2 @ 1
strltb r1, [ip], #1 @ 1
strleb r1, [ip], #1 @ 1
strb r1, [ip], #1 @ 1
add r2, r2, r3 @ 1 (r2 = r2 - (4 - r3))
b 1b
ENDPROC(memset) ENDPROC(memset)
...@@ -158,7 +158,7 @@ int tegra_ahb_enable_smmu(struct device_node *dn) ...@@ -158,7 +158,7 @@ int tegra_ahb_enable_smmu(struct device_node *dn)
EXPORT_SYMBOL(tegra_ahb_enable_smmu); EXPORT_SYMBOL(tegra_ahb_enable_smmu);
#endif #endif
#ifdef CONFIG_PM_SLEEP #ifdef CONFIG_PM
static int tegra_ahb_suspend(struct device *dev) static int tegra_ahb_suspend(struct device *dev)
{ {
int i; int i;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment