Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 05061bf6 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* '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
parents fdc0ad80 de55aa33
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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
+2 −0
Original line number Diff line number Diff line
@@ -121,4 +121,6 @@ static inline int atomic_test_mask(int mask, atomic_t *v)

#endif

#include <asm-generic/atomic64.h>

#endif
+2 −1
Original line number Diff line number Diff line
@@ -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 */
+5 −1
Original line number Diff line number Diff line
@@ -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 */
+9 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@

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

int hotplug_coreb;
@@ -14,8 +15,16 @@ 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);

Loading