Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/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
This commit is contained in:
commit
05061bf678
|
@ -31,6 +31,7 @@ config BLACKFIN
|
||||||
select HAVE_OPROFILE
|
select HAVE_OPROFILE
|
||||||
select ARCH_WANT_OPTIONAL_GPIOLIB
|
select ARCH_WANT_OPTIONAL_GPIOLIB
|
||||||
select HAVE_GENERIC_HARDIRQS
|
select HAVE_GENERIC_HARDIRQS
|
||||||
|
select GENERIC_ATOMIC64
|
||||||
select GENERIC_IRQ_PROBE
|
select GENERIC_IRQ_PROBE
|
||||||
select IRQ_PER_CPU if SMP
|
select IRQ_PER_CPU if SMP
|
||||||
select GENERIC_HARDIRQS_NO_DEPRECATED
|
select GENERIC_HARDIRQS_NO_DEPRECATED
|
||||||
|
|
|
@ -121,4 +121,6 @@ static inline int atomic_test_mask(int mask, atomic_t *v)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <asm-generic/atomic64.h>
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -396,8 +396,9 @@
|
||||||
#define __NR_name_to_handle_at 375
|
#define __NR_name_to_handle_at 375
|
||||||
#define __NR_open_by_handle_at 376
|
#define __NR_open_by_handle_at 376
|
||||||
#define __NR_clock_adjtime 377
|
#define __NR_clock_adjtime 377
|
||||||
|
#define __NR_syncfs 378
|
||||||
|
|
||||||
#define __NR_syscall 378
|
#define __NR_syscall 379
|
||||||
#define NR_syscalls __NR_syscall
|
#define NR_syscalls __NR_syscall
|
||||||
|
|
||||||
/* Old optional stuff no one actually uses */
|
/* Old optional stuff no one actually uses */
|
||||||
|
|
|
@ -81,7 +81,11 @@
|
||||||
/* PLL Status Register Is Inaccurate */
|
/* PLL Status Register Is Inaccurate */
|
||||||
#define ANOMALY_05000351 (__SILICON_REVISION__ < 1)
|
#define ANOMALY_05000351 (__SILICON_REVISION__ < 1)
|
||||||
/* bfrom_SysControl() Firmware Function Performs Improper System Reset */
|
/* 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 */
|
/* Regulator Programming Blocked when Hibernate Wakeup Source Remains Active */
|
||||||
#define ANOMALY_05000355 (__SILICON_REVISION__ < 1)
|
#define ANOMALY_05000355 (__SILICON_REVISION__ < 1)
|
||||||
/* System Stalled During A Core Access To AMC While A Core Access To NFC FIFO Is Required */
|
/* System Stalled During A Core Access To AMC While A Core Access To NFC FIFO Is Required */
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
|
|
||||||
#include <linux/smp.h>
|
#include <linux/smp.h>
|
||||||
#include <asm/blackfin.h>
|
#include <asm/blackfin.h>
|
||||||
|
#include <asm/cacheflush.h>
|
||||||
#include <mach/pll.h>
|
#include <mach/pll.h>
|
||||||
|
|
||||||
int hotplug_coreb;
|
int hotplug_coreb;
|
||||||
|
@ -14,8 +15,16 @@ int hotplug_coreb;
|
||||||
void platform_cpu_die(void)
|
void platform_cpu_die(void)
|
||||||
{
|
{
|
||||||
unsigned long iwr;
|
unsigned long iwr;
|
||||||
|
|
||||||
hotplug_coreb = 1;
|
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 */
|
/* disable core timer */
|
||||||
bfin_write_TCNTL(0);
|
bfin_write_TCNTL(0);
|
||||||
|
|
||||||
|
|
|
@ -1752,6 +1752,7 @@ ENTRY(_sys_call_table)
|
||||||
.long _sys_name_to_handle_at /* 375 */
|
.long _sys_name_to_handle_at /* 375 */
|
||||||
.long _sys_open_by_handle_at
|
.long _sys_open_by_handle_at
|
||||||
.long _sys_clock_adjtime
|
.long _sys_clock_adjtime
|
||||||
|
.long _sys_syncfs
|
||||||
|
|
||||||
.rept NR_syscalls-(.-_sys_call_table)/4
|
.rept NR_syscalls-(.-_sys_call_table)/4
|
||||||
.long _sys_ni_syscall
|
.long _sys_ni_syscall
|
||||||
|
|
Loading…
Reference in New Issue