Skip to content

Commit

Permalink
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…
Browse files Browse the repository at this point in the history
…/git/vapier/blackfin

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin:
  Blackfin: bf54x: re-enable anomaly 05000353 for all revs
  Blackfin: enable atomic64_t support
  Blackfin: wire up new syncfs syscall
  Blackfin: SMP: flush CoreB cache when shutting down
  • Loading branch information
Linus Torvalds committed Mar 24, 2011
2 parents fdc0ad8 + de55aa3 commit 05061bf
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 2 deletions.
1 change: 1 addition & 0 deletions arch/blackfin/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ config BLACKFIN
select HAVE_OPROFILE
select ARCH_WANT_OPTIONAL_GPIOLIB
select HAVE_GENERIC_HARDIRQS
select GENERIC_ATOMIC64
select GENERIC_IRQ_PROBE
select IRQ_PER_CPU if SMP
select GENERIC_HARDIRQS_NO_DEPRECATED
Expand Down
2 changes: 2 additions & 0 deletions arch/blackfin/include/asm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -121,4 +121,6 @@ static inline int atomic_test_mask(int mask, atomic_t *v)

#endif

#include <asm-generic/atomic64.h>

#endif
3 changes: 2 additions & 1 deletion arch/blackfin/include/asm/unistd.h
Original file line number Diff line number Diff line change
Expand Up @@ -396,8 +396,9 @@
#define __NR_name_to_handle_at 375
#define __NR_open_by_handle_at 376
#define __NR_clock_adjtime 377
#define __NR_syncfs 378

#define __NR_syscall 378
#define __NR_syscall 379
#define NR_syscalls __NR_syscall

/* Old optional stuff no one actually uses */
Expand Down
6 changes: 5 additions & 1 deletion arch/blackfin/mach-bf548/include/mach/anomaly.h
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,11 @@
/* PLL Status Register Is Inaccurate */
#define ANOMALY_05000351 (__SILICON_REVISION__ < 1)
/* bfrom_SysControl() Firmware Function Performs Improper System Reset */
#define ANOMALY_05000353 (__SILICON_REVISION__ < 2)
/*
* Note: anomaly sheet says this is fixed with bf54x-0.2+, but testing
* shows that the fix itself does not cover all cases.
*/
#define ANOMALY_05000353 (1)
/* Regulator Programming Blocked when Hibernate Wakeup Source Remains Active */
#define ANOMALY_05000355 (__SILICON_REVISION__ < 1)
/* System Stalled During A Core Access To AMC While A Core Access To NFC FIFO Is Required */
Expand Down
9 changes: 9 additions & 0 deletions arch/blackfin/mach-bf561/hotplug.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,24 @@

#include <linux/smp.h>
#include <asm/blackfin.h>
#include <asm/cacheflush.h>
#include <mach/pll.h>

int hotplug_coreb;

void platform_cpu_die(void)
{
unsigned long iwr;

hotplug_coreb = 1;

/*
* When CoreB wakes up, the code in _coreb_trampoline_start cannot
* turn off the data cache. This causes the CoreB failed to boot.
* As a workaround, we invalidate all the data cache before sleep.
*/
blackfin_invalidate_entire_dcache();

/* disable core timer */
bfin_write_TCNTL(0);

Expand Down
1 change: 1 addition & 0 deletions arch/blackfin/mach-common/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -1752,6 +1752,7 @@ ENTRY(_sys_call_table)
.long _sys_name_to_handle_at /* 375 */
.long _sys_open_by_handle_at
.long _sys_clock_adjtime
.long _sys_syncfs

.rept NR_syscalls-(.-_sys_call_table)/4
.long _sys_ni_syscall
Expand Down

0 comments on commit 05061bf

Please sign in to comment.