Merge branch 'for-bfields' of git://linux-nfs.org/~tomtucker/xprt-switch-2.6 into for-2.6.27
This commit is contained in:
@@ -319,6 +319,7 @@ static inline int acpi_processor_ppc_has_changed(struct acpi_processor *pr)
|
||||
#endif /* CONFIG_CPU_FREQ */
|
||||
|
||||
/* in processor_throttling.c */
|
||||
int acpi_processor_tstate_has_changed(struct acpi_processor *pr);
|
||||
int acpi_processor_get_throttling_info(struct acpi_processor *pr);
|
||||
extern int acpi_processor_set_throttling(struct acpi_processor *pr, int state);
|
||||
extern struct file_operations acpi_processor_throttling_fops;
|
||||
|
||||
@@ -261,7 +261,7 @@ struct el_MCPCIA_uncorrected_frame_mcheck {
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline int __mcpcia_is_mmio(unsigned long addr)
|
||||
extern inline int __mcpcia_is_mmio(unsigned long addr)
|
||||
{
|
||||
return (addr & 0x80000000UL) == 0;
|
||||
}
|
||||
|
||||
@@ -356,13 +356,13 @@ struct el_t2_frame_corrected {
|
||||
#define vip volatile int *
|
||||
#define vuip volatile unsigned int *
|
||||
|
||||
static inline u8 t2_inb(unsigned long addr)
|
||||
extern inline u8 t2_inb(unsigned long addr)
|
||||
{
|
||||
long result = *(vip) ((addr << 5) + T2_IO + 0x00);
|
||||
return __kernel_extbl(result, addr & 3);
|
||||
}
|
||||
|
||||
static inline void t2_outb(u8 b, unsigned long addr)
|
||||
extern inline void t2_outb(u8 b, unsigned long addr)
|
||||
{
|
||||
unsigned long w;
|
||||
|
||||
@@ -371,13 +371,13 @@ static inline void t2_outb(u8 b, unsigned long addr)
|
||||
mb();
|
||||
}
|
||||
|
||||
static inline u16 t2_inw(unsigned long addr)
|
||||
extern inline u16 t2_inw(unsigned long addr)
|
||||
{
|
||||
long result = *(vip) ((addr << 5) + T2_IO + 0x08);
|
||||
return __kernel_extwl(result, addr & 3);
|
||||
}
|
||||
|
||||
static inline void t2_outw(u16 b, unsigned long addr)
|
||||
extern inline void t2_outw(u16 b, unsigned long addr)
|
||||
{
|
||||
unsigned long w;
|
||||
|
||||
@@ -386,12 +386,12 @@ static inline void t2_outw(u16 b, unsigned long addr)
|
||||
mb();
|
||||
}
|
||||
|
||||
static inline u32 t2_inl(unsigned long addr)
|
||||
extern inline u32 t2_inl(unsigned long addr)
|
||||
{
|
||||
return *(vuip) ((addr << 5) + T2_IO + 0x18);
|
||||
}
|
||||
|
||||
static inline void t2_outl(u32 b, unsigned long addr)
|
||||
extern inline void t2_outl(u32 b, unsigned long addr)
|
||||
{
|
||||
*(vuip) ((addr << 5) + T2_IO + 0x18) = b;
|
||||
mb();
|
||||
@@ -435,7 +435,7 @@ static inline void t2_outl(u32 b, unsigned long addr)
|
||||
set_hae(msb); \
|
||||
}
|
||||
|
||||
static DEFINE_SPINLOCK(t2_hae_lock);
|
||||
extern spinlock_t t2_hae_lock;
|
||||
|
||||
/*
|
||||
* NOTE: take T2_DENSE_MEM off in each readX/writeX routine, since
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
* register not being up-to-date with respect to the hardware
|
||||
* value.
|
||||
*/
|
||||
static inline void __set_hae(unsigned long new_hae)
|
||||
extern inline void __set_hae(unsigned long new_hae)
|
||||
{
|
||||
unsigned long flags;
|
||||
local_irq_save(flags);
|
||||
@@ -49,7 +49,7 @@ static inline void __set_hae(unsigned long new_hae)
|
||||
local_irq_restore(flags);
|
||||
}
|
||||
|
||||
static inline void set_hae(unsigned long new_hae)
|
||||
extern inline void set_hae(unsigned long new_hae)
|
||||
{
|
||||
if (new_hae != alpha_mv.hae_cache)
|
||||
__set_hae(new_hae);
|
||||
@@ -176,7 +176,7 @@ REMAP2(u64, writeq, volatile)
|
||||
#undef REMAP1
|
||||
#undef REMAP2
|
||||
|
||||
static inline void __iomem *generic_ioportmap(unsigned long a)
|
||||
extern inline void __iomem *generic_ioportmap(unsigned long a)
|
||||
{
|
||||
return alpha_mv.mv_ioportmap(a);
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#endif
|
||||
|
||||
|
||||
extern inline unsigned long
|
||||
static inline unsigned long
|
||||
__reload_thread(struct pcb_struct *pcb)
|
||||
{
|
||||
register unsigned long a0 __asm__("$16");
|
||||
@@ -114,7 +114,7 @@ extern unsigned long last_asn;
|
||||
#define __MMU_EXTERN_INLINE
|
||||
#endif
|
||||
|
||||
static inline unsigned long
|
||||
extern inline unsigned long
|
||||
__get_new_mm_context(struct mm_struct *mm, long cpu)
|
||||
{
|
||||
unsigned long asn = cpu_last_asn(cpu);
|
||||
@@ -226,7 +226,7 @@ ev4_activate_mm(struct mm_struct *prev_mm, struct mm_struct *next_mm)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
extern inline int
|
||||
static inline int
|
||||
init_new_context(struct task_struct *tsk, struct mm_struct *mm)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -1,6 +1,78 @@
|
||||
#ifndef __ALPHA_PERCPU_H
|
||||
#define __ALPHA_PERCPU_H
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/threads.h>
|
||||
|
||||
#include <asm-generic/percpu.h>
|
||||
/*
|
||||
* Determine the real variable name from the name visible in the
|
||||
* kernel sources.
|
||||
*/
|
||||
#define per_cpu_var(var) per_cpu__##var
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
|
||||
/*
|
||||
* per_cpu_offset() is the offset that has to be added to a
|
||||
* percpu variable to get to the instance for a certain processor.
|
||||
*/
|
||||
extern unsigned long __per_cpu_offset[NR_CPUS];
|
||||
|
||||
#define per_cpu_offset(x) (__per_cpu_offset[x])
|
||||
|
||||
#define __my_cpu_offset per_cpu_offset(raw_smp_processor_id())
|
||||
#ifdef CONFIG_DEBUG_PREEMPT
|
||||
#define my_cpu_offset per_cpu_offset(smp_processor_id())
|
||||
#else
|
||||
#define my_cpu_offset __my_cpu_offset
|
||||
#endif
|
||||
|
||||
#ifndef MODULE
|
||||
#define SHIFT_PERCPU_PTR(var, offset) RELOC_HIDE(&per_cpu_var(var), (offset))
|
||||
#define PER_CPU_ATTRIBUTES
|
||||
#else
|
||||
/*
|
||||
* To calculate addresses of locally defined variables, GCC uses 32-bit
|
||||
* displacement from the GP. Which doesn't work for per cpu variables in
|
||||
* modules, as an offset to the kernel per cpu area is way above 4G.
|
||||
*
|
||||
* This forces allocation of a GOT entry for per cpu variable using
|
||||
* ldq instruction with a 'literal' relocation.
|
||||
*/
|
||||
#define SHIFT_PERCPU_PTR(var, offset) ({ \
|
||||
extern int simple_identifier_##var(void); \
|
||||
unsigned long __ptr, tmp_gp; \
|
||||
asm ( "br %1, 1f \n\
|
||||
1: ldgp %1, 0(%1) \n\
|
||||
ldq %0, per_cpu__" #var"(%1)\t!literal" \
|
||||
: "=&r"(__ptr), "=&r"(tmp_gp)); \
|
||||
(typeof(&per_cpu_var(var)))(__ptr + (offset)); })
|
||||
|
||||
#define PER_CPU_ATTRIBUTES __used
|
||||
|
||||
#endif /* MODULE */
|
||||
|
||||
/*
|
||||
* A percpu variable may point to a discarded regions. The following are
|
||||
* established ways to produce a usable pointer from the percpu variable
|
||||
* offset.
|
||||
*/
|
||||
#define per_cpu(var, cpu) \
|
||||
(*SHIFT_PERCPU_PTR(var, per_cpu_offset(cpu)))
|
||||
#define __get_cpu_var(var) \
|
||||
(*SHIFT_PERCPU_PTR(var, my_cpu_offset))
|
||||
#define __raw_get_cpu_var(var) \
|
||||
(*SHIFT_PERCPU_PTR(var, __my_cpu_offset))
|
||||
|
||||
#else /* ! SMP */
|
||||
|
||||
#define per_cpu(var, cpu) (*((void)(cpu), &per_cpu_var(var)))
|
||||
#define __get_cpu_var(var) per_cpu_var(var)
|
||||
#define __raw_get_cpu_var(var) per_cpu_var(var)
|
||||
|
||||
#define PER_CPU_ATTRIBUTES
|
||||
|
||||
#endif /* SMP */
|
||||
|
||||
#define DECLARE_PER_CPU(type, name) extern __typeof__(type) per_cpu_var(name)
|
||||
|
||||
#endif /* __ALPHA_PERCPU_H */
|
||||
|
||||
@@ -184,7 +184,7 @@ enum amask_enum {
|
||||
__amask; })
|
||||
|
||||
#define __CALL_PAL_R0(NAME, TYPE) \
|
||||
static inline TYPE NAME(void) \
|
||||
extern inline TYPE NAME(void) \
|
||||
{ \
|
||||
register TYPE __r0 __asm__("$0"); \
|
||||
__asm__ __volatile__( \
|
||||
@@ -196,7 +196,7 @@ static inline TYPE NAME(void) \
|
||||
}
|
||||
|
||||
#define __CALL_PAL_W1(NAME, TYPE0) \
|
||||
static inline void NAME(TYPE0 arg0) \
|
||||
extern inline void NAME(TYPE0 arg0) \
|
||||
{ \
|
||||
register TYPE0 __r16 __asm__("$16") = arg0; \
|
||||
__asm__ __volatile__( \
|
||||
@@ -207,7 +207,7 @@ static inline void NAME(TYPE0 arg0) \
|
||||
}
|
||||
|
||||
#define __CALL_PAL_W2(NAME, TYPE0, TYPE1) \
|
||||
static inline void NAME(TYPE0 arg0, TYPE1 arg1) \
|
||||
extern inline void NAME(TYPE0 arg0, TYPE1 arg1) \
|
||||
{ \
|
||||
register TYPE0 __r16 __asm__("$16") = arg0; \
|
||||
register TYPE1 __r17 __asm__("$17") = arg1; \
|
||||
@@ -219,7 +219,7 @@ static inline void NAME(TYPE0 arg0, TYPE1 arg1) \
|
||||
}
|
||||
|
||||
#define __CALL_PAL_RW1(NAME, RTYPE, TYPE0) \
|
||||
static inline RTYPE NAME(TYPE0 arg0) \
|
||||
extern inline RTYPE NAME(TYPE0 arg0) \
|
||||
{ \
|
||||
register RTYPE __r0 __asm__("$0"); \
|
||||
register TYPE0 __r16 __asm__("$16") = arg0; \
|
||||
@@ -232,7 +232,7 @@ static inline RTYPE NAME(TYPE0 arg0) \
|
||||
}
|
||||
|
||||
#define __CALL_PAL_RW2(NAME, RTYPE, TYPE0, TYPE1) \
|
||||
static inline RTYPE NAME(TYPE0 arg0, TYPE1 arg1) \
|
||||
extern inline RTYPE NAME(TYPE0 arg0, TYPE1 arg1) \
|
||||
{ \
|
||||
register RTYPE __r0 __asm__("$0"); \
|
||||
register TYPE0 __r16 __asm__("$16") = arg0; \
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
#define VT_BUF_HAVE_MEMSETW
|
||||
#define VT_BUF_HAVE_MEMCPYW
|
||||
|
||||
extern inline void scr_writew(u16 val, volatile u16 *addr)
|
||||
static inline void scr_writew(u16 val, volatile u16 *addr)
|
||||
{
|
||||
if (__is_ioaddr(addr))
|
||||
__raw_writew(val, (volatile u16 __iomem *) addr);
|
||||
@@ -21,7 +21,7 @@ extern inline void scr_writew(u16 val, volatile u16 *addr)
|
||||
*addr = val;
|
||||
}
|
||||
|
||||
extern inline u16 scr_readw(volatile const u16 *addr)
|
||||
static inline u16 scr_readw(volatile const u16 *addr)
|
||||
{
|
||||
if (__is_ioaddr(addr))
|
||||
return __raw_readw((volatile const u16 __iomem *) addr);
|
||||
@@ -29,7 +29,7 @@ extern inline u16 scr_readw(volatile const u16 *addr)
|
||||
return *addr;
|
||||
}
|
||||
|
||||
extern inline void scr_memsetw(u16 *s, u16 c, unsigned int count)
|
||||
static inline void scr_memsetw(u16 *s, u16 c, unsigned int count)
|
||||
{
|
||||
if (__is_ioaddr(s))
|
||||
memsetw_io((u16 __iomem *) s, c, count);
|
||||
|
||||
@@ -21,8 +21,6 @@
|
||||
#ifndef __ASM_ARCH_IO_H
|
||||
#define __ASM_ARCH_IO_H
|
||||
|
||||
#include <asm/io.h>
|
||||
|
||||
#define IO_SPACE_LIMIT 0xFFFFFFFF
|
||||
|
||||
#define __io(a) ((void __iomem *)(a))
|
||||
|
||||
@@ -14,8 +14,6 @@
|
||||
#ifndef __OMAP_BOARD_PALMTE_H
|
||||
#define __OMAP_BOARD_PALMTE_H
|
||||
|
||||
#include <asm/arch/gpio.h>
|
||||
|
||||
#define PALMTE_USBDETECT_GPIO 0
|
||||
#define PALMTE_USB_OR_DC_GPIO 1
|
||||
#define PALMTE_TSC_GPIO 4
|
||||
|
||||
@@ -73,6 +73,8 @@ struct clk {
|
||||
#endif
|
||||
};
|
||||
|
||||
struct cpufreq_frequency_table;
|
||||
|
||||
struct clk_functions {
|
||||
int (*clk_enable)(struct clk *clk);
|
||||
void (*clk_disable)(struct clk *clk);
|
||||
@@ -83,6 +85,9 @@ struct clk_functions {
|
||||
void (*clk_allow_idle)(struct clk *clk);
|
||||
void (*clk_deny_idle)(struct clk *clk);
|
||||
void (*clk_disable_unused)(struct clk *clk);
|
||||
#ifdef CONFIG_CPU_FREQ
|
||||
void (*clk_init_cpufreq_table)(struct cpufreq_frequency_table **);
|
||||
#endif
|
||||
};
|
||||
|
||||
extern unsigned int mpurate;
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
* warranty of any kind, whether express or implied.
|
||||
*/
|
||||
#include <asm/hardware.h>
|
||||
#include <asm/arch/io.h>
|
||||
#include <asm/arch/irqs.h>
|
||||
|
||||
#if defined(CONFIG_ARCH_OMAP1)
|
||||
|
||||
@@ -26,7 +26,6 @@
|
||||
#ifndef __ASM_ARCH_OMAP_GPIO_H
|
||||
#define __ASM_ARCH_OMAP_GPIO_H
|
||||
|
||||
#include <asm/hardware.h>
|
||||
#include <asm/arch/irqs.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
#include <asm/types.h>
|
||||
#include <asm/arch/cpu.h>
|
||||
#endif
|
||||
#include <asm/arch/io.h>
|
||||
#include <asm/arch/serial.h>
|
||||
|
||||
/*
|
||||
|
||||
@@ -112,6 +112,7 @@
|
||||
#define GPIO57_nIOIS16 MFP_CFG_IN(GPIO57, AF1)
|
||||
#define GPIO56_nPWAIT MFP_CFG_IN(GPIO56, AF1)
|
||||
#define GPIO79_PSKTSEL MFP_CFG_OUT(GPIO79, AF1, DRIVE_HIGH)
|
||||
#define GPIO104_PSKTSEL MFP_CFG_OUT(GPIO104, AF1, DRIVE_HIGH)
|
||||
|
||||
/* I2C */
|
||||
#define GPIO117_I2C_SCL MFP_CFG_IN(GPIO117, AF1)
|
||||
|
||||
@@ -134,7 +134,11 @@
|
||||
#define GPIO93_CIF_DD_6 93 /* Camera data pin 6 */
|
||||
#define GPIO94_CIF_DD_5 94 /* Camera data pin 5 */
|
||||
#define GPIO95_CIF_DD_4 95 /* Camera data pin 4 */
|
||||
#define GPIO96_FFRXD 96 /* FFUART recieve */
|
||||
#define GPIO98_FFRTS 98 /* FFUART request to send */
|
||||
#define GPIO98_CIF_DD_0 98 /* Camera data pin 0 */
|
||||
#define GPIO99_FFTXD 99 /* FFUART transmit data */
|
||||
#define GPIO100_FFCTS 100 /* FFUART Clear to send */
|
||||
#define GPIO102_nPCE_1 102 /* PCMCIA (PXA27x) */
|
||||
#define GPIO103_CIF_DD_3 103 /* Camera data pin 3 */
|
||||
#define GPIO104_CIF_DD_2 104 /* Camera data pin 2 */
|
||||
@@ -316,6 +320,8 @@
|
||||
#define GPIO85_nPCE_1_MD (85 | GPIO_ALT_FN_1_OUT)
|
||||
#define GPIO85_CIF_LV_MD (85 | GPIO_ALT_FN_3_IN)
|
||||
#define GPIO86_nPCE_1_MD (86 | GPIO_ALT_FN_1_OUT)
|
||||
#define GPIO88_USBH1_PWR_MD (88 | GPIO_ALT_FN_1_IN)
|
||||
#define GPIO89_USBH1_PEN_MD (89 | GPIO_ALT_FN_2_OUT)
|
||||
#define GPIO90_CIF_DD_4_MD (90 | GPIO_ALT_FN_3_IN)
|
||||
#define GPIO91_CIF_DD_5_MD (91 | GPIO_ALT_FN_3_IN)
|
||||
#define GPIO92_MMCDAT0_MD (92 | GPIO_ALT_FN_1_OUT)
|
||||
@@ -324,8 +330,11 @@
|
||||
#define GPIO95_CIF_DD_4_MD (95 | GPIO_ALT_FN_2_IN)
|
||||
#define GPIO95_KP_MKIN6_MD (95 | GPIO_ALT_FN_3_IN)
|
||||
#define GPIO96_KP_DKIN3_MD (96 | GPIO_ALT_FN_1_IN)
|
||||
#define GPIO96_FFRXD_MD (96 | GPIO_ALT_FN_3_IN)
|
||||
#define GPIO97_KP_MKIN3_MD (97 | GPIO_ALT_FN_3_IN)
|
||||
#define GPIO98_CIF_DD_0_MD (98 | GPIO_ALT_FN_2_IN)
|
||||
#define GPIO98_FFRTS_MD (98 | GPIO_ALT_FN_3_OUT)
|
||||
#define GPIO99_FFTXD_MD (99 | GPIO_ALT_FN_3_OUT)
|
||||
#define GPIO100_KP_MKIN0_MD (100 | GPIO_ALT_FN_1_IN)
|
||||
#define GPIO101_KP_MKIN1_MD (101 | GPIO_ALT_FN_1_IN)
|
||||
#define GPIO102_nPCE_1_MD (102 | GPIO_ALT_FN_1_OUT)
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
#ifndef __ASM_ARCH_REGS_LCD_H
|
||||
#define __ASM_ARCH_REGS_LCD_H
|
||||
|
||||
#include <asm/arch/bitfield.h>
|
||||
|
||||
/*
|
||||
* LCD Controller Registers and Bits Definitions
|
||||
*/
|
||||
@@ -69,7 +72,7 @@
|
||||
#define LCCR0_QDM (1 << 11) /* LCD Quick Disable mask */
|
||||
#define LCCR0_PDD (0xff << 12) /* Palette DMA request delay */
|
||||
#define LCCR0_PDD_S 12
|
||||
#define LCCR0_BM (1 << 20) /* Branch mask */
|
||||
#define LCCR0_BM (1 << 20) /* Branch mask */
|
||||
#define LCCR0_OUM (1 << 21) /* Output FIFO underrun mask */
|
||||
#define LCCR0_LCDT (1 << 22) /* LCD panel type */
|
||||
#define LCCR0_RDSTM (1 << 23) /* Read status interrupt mask */
|
||||
|
||||
@@ -34,9 +34,12 @@
|
||||
|
||||
#define COLLIE_GPIO_ON_KEY GPIO_GPIO (0)
|
||||
#define COLLIE_GPIO_AC_IN GPIO_GPIO (1)
|
||||
#define COLLIE_GPIO_SDIO_INT GPIO_GPIO (11)
|
||||
#define COLLIE_GPIO_CF_IRQ GPIO_GPIO (14)
|
||||
#define COLLIE_GPIO_nREMOCON_INT GPIO_GPIO (15)
|
||||
#define COLLIE_GPIO_UCB1x00_RESET GPIO_GPIO (16)
|
||||
#define COLLIE_GPIO_nMIC_ON GPIO_GPIO (17)
|
||||
#define COLLIE_GPIO_nREMOCON_ON GPIO_GPIO (18)
|
||||
#define COLLIE_GPIO_CO GPIO_GPIO (20)
|
||||
#define COLLIE_GPIO_MCP_CLK GPIO_GPIO (21)
|
||||
#define COLLIE_GPIO_CF_CD GPIO_GPIO (22)
|
||||
@@ -49,6 +52,7 @@
|
||||
|
||||
#define COLLIE_IRQ_GPIO_ON_KEY IRQ_GPIO0
|
||||
#define COLLIE_IRQ_GPIO_AC_IN IRQ_GPIO1
|
||||
#define COLLIE_IRQ_GPIO_SDIO_IRQ IRQ_GPIO11
|
||||
#define COLLIE_IRQ_GPIO_CF_IRQ IRQ_GPIO14
|
||||
#define COLLIE_IRQ_GPIO_nREMOCON_INT IRQ_GPIO15
|
||||
#define COLLIE_IRQ_GPIO_CO IRQ_GPIO20
|
||||
|
||||
@@ -179,10 +179,10 @@ typedef unsigned long pgprot_t;
|
||||
|
||||
#endif /* STRICT_MM_TYPECHECKS */
|
||||
|
||||
typedef struct page *pgtable_t;
|
||||
|
||||
#endif /* CONFIG_MMU */
|
||||
|
||||
typedef struct page *pgtable_t;
|
||||
|
||||
#include <asm/memory.h>
|
||||
|
||||
#endif /* !__ASSEMBLY__ */
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
#include <linux/slab.h>
|
||||
#include <asm/processor.h>
|
||||
#include <asm/page.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
/*
|
||||
* Trivial page table functions.
|
||||
|
||||
@@ -142,7 +142,7 @@ static inline void __raw_write_unlock(raw_rwlock_t *rw)
|
||||
}
|
||||
|
||||
/* write_can_lock - would write_trylock() succeed? */
|
||||
#define __raw_write_can_lock(x) ((x)->lock == 0x80000000)
|
||||
#define __raw_write_can_lock(x) ((x)->lock == 0)
|
||||
|
||||
/*
|
||||
* Read locks are a bit more hairy:
|
||||
|
||||
@@ -48,20 +48,6 @@
|
||||
#define CPUID_TCM 2
|
||||
#define CPUID_TLBTYPE 3
|
||||
|
||||
#ifdef CONFIG_CPU_CP15
|
||||
#define read_cpuid(reg) \
|
||||
({ \
|
||||
unsigned int __val; \
|
||||
asm("mrc p15, 0, %0, c0, c0, " __stringify(reg) \
|
||||
: "=r" (__val) \
|
||||
: \
|
||||
: "cc"); \
|
||||
__val; \
|
||||
})
|
||||
#else
|
||||
#define read_cpuid(reg) (processor_id)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This is used to ensure the compiler did actually allocate the register we
|
||||
* asked it for some inline assembly sequences. Apparently we can't trust
|
||||
@@ -78,6 +64,21 @@
|
||||
#include <linux/stringify.h>
|
||||
#include <linux/irqflags.h>
|
||||
|
||||
#ifdef CONFIG_CPU_CP15
|
||||
#define read_cpuid(reg) \
|
||||
({ \
|
||||
unsigned int __val; \
|
||||
asm("mrc p15, 0, %0, c0, c0, " __stringify(reg) \
|
||||
: "=r" (__val) \
|
||||
: \
|
||||
: "cc"); \
|
||||
__val; \
|
||||
})
|
||||
#else
|
||||
extern unsigned int processor_id;
|
||||
#define read_cpuid(reg) (processor_id)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The CPU ID never changes at run time, so we might as well tell the
|
||||
* compiler that it's constant. Use this function to read the CPU ID
|
||||
|
||||
@@ -37,7 +37,9 @@
|
||||
#include <linux/linkage.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
#if defined(CONFIG_DMA_UNCACHED_2M)
|
||||
#if defined(CONFIG_DMA_UNCACHED_4M)
|
||||
# define DMA_UNCACHED_REGION (4 * 1024 * 1024)
|
||||
#elif defined(CONFIG_DMA_UNCACHED_2M)
|
||||
# define DMA_UNCACHED_REGION (2 * 1024 * 1024)
|
||||
#elif defined(CONFIG_DMA_UNCACHED_1M)
|
||||
# define DMA_UNCACHED_REGION (1024 * 1024)
|
||||
@@ -103,13 +105,6 @@ extern int sram_free(const void*);
|
||||
extern void *sram_alloc_with_lsl(size_t, unsigned long);
|
||||
extern int sram_free_with_lsl(const void*);
|
||||
|
||||
extern void led_on(int);
|
||||
extern void led_off(int);
|
||||
extern void led_toggle(int);
|
||||
extern void led_disp_num(int);
|
||||
extern void led_toggle_num(int);
|
||||
extern void init_leds(void);
|
||||
|
||||
extern const char bfin_board_name[];
|
||||
extern unsigned long wall_jiffies;
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*
|
||||
* it's best to have buff aligned on a 32-bit boundary
|
||||
*/
|
||||
unsigned int csum_partial(const unsigned char *buff, int len, unsigned int sum);
|
||||
__wsum csum_partial(const void *buff, int len, __wsum sum);
|
||||
|
||||
/*
|
||||
* the same as csum_partial, but copies from src while it
|
||||
@@ -25,8 +25,8 @@ unsigned int csum_partial(const unsigned char *buff, int len, unsigned int sum);
|
||||
* better 64-bit) boundary
|
||||
*/
|
||||
|
||||
unsigned int csum_partial_copy(const unsigned char *src, unsigned char *dst,
|
||||
int len, int sum);
|
||||
__wsum csum_partial_copy(const void *src, void *dst,
|
||||
int len, __wsum sum);
|
||||
|
||||
/*
|
||||
* the same as csum_partial_copy, but copies from user space.
|
||||
@@ -35,20 +35,19 @@ unsigned int csum_partial_copy(const unsigned char *src, unsigned char *dst,
|
||||
* better 64-bit) boundary
|
||||
*/
|
||||
|
||||
extern unsigned int csum_partial_copy_from_user(const unsigned char *src,
|
||||
unsigned char *dst, int len,
|
||||
int sum, int *csum_err);
|
||||
extern __wsum csum_partial_copy_from_user(const void __user *src, void *dst,
|
||||
int len, __wsum sum, int *csum_err);
|
||||
|
||||
#define csum_partial_copy_nocheck(src, dst, len, sum) \
|
||||
csum_partial_copy((src), (dst), (len), (sum))
|
||||
|
||||
unsigned short ip_fast_csum(unsigned char *iph, unsigned int ihl);
|
||||
__sum16 ip_fast_csum(unsigned char *iph, unsigned int ihl);
|
||||
|
||||
/*
|
||||
* Fold a partial checksum
|
||||
*/
|
||||
|
||||
static inline unsigned int csum_fold(unsigned int sum)
|
||||
static inline __sum16 csum_fold(__wsum sum)
|
||||
{
|
||||
while (sum >> 16)
|
||||
sum = (sum & 0xffff) + (sum >> 16);
|
||||
@@ -60,9 +59,9 @@ static inline unsigned int csum_fold(unsigned int sum)
|
||||
* returns a 16-bit checksum, already complemented
|
||||
*/
|
||||
|
||||
static inline unsigned int
|
||||
csum_tcpudp_nofold(unsigned long saddr, unsigned long daddr, unsigned short len,
|
||||
unsigned short proto, unsigned int sum)
|
||||
static inline __wsum
|
||||
csum_tcpudp_nofold(__be32 saddr, __be32 daddr, unsigned short len,
|
||||
unsigned short proto, __wsum sum)
|
||||
{
|
||||
|
||||
__asm__ ("%0 = %0 + %1;\n\t"
|
||||
@@ -84,9 +83,9 @@ csum_tcpudp_nofold(unsigned long saddr, unsigned long daddr, unsigned short len,
|
||||
return (sum);
|
||||
}
|
||||
|
||||
static inline unsigned short int
|
||||
csum_tcpudp_magic(unsigned long saddr, unsigned long daddr, unsigned short len,
|
||||
unsigned short proto, unsigned int sum)
|
||||
static inline __sum16
|
||||
csum_tcpudp_magic(__be32 saddr, __be32 daddr, unsigned short len,
|
||||
unsigned short proto, __wsum sum)
|
||||
{
|
||||
return csum_fold(csum_tcpudp_nofold(saddr, daddr, len, proto, sum));
|
||||
}
|
||||
@@ -96,6 +95,6 @@ csum_tcpudp_magic(unsigned long saddr, unsigned long daddr, unsigned short len,
|
||||
* in icmp.c
|
||||
*/
|
||||
|
||||
extern unsigned short ip_compute_csum(const unsigned char *buff, int len);
|
||||
extern __sum16 ip_compute_csum(const void *buff, int len);
|
||||
|
||||
#endif /* _BFIN_CHECKSUM_H */
|
||||
|
||||
@@ -437,7 +437,6 @@ void gpio_set_value(unsigned gpio, int arg);
|
||||
int gpio_get_value(unsigned gpio);
|
||||
|
||||
#ifndef BF548_FAMILY
|
||||
#define gpio_get_value(gpio) get_gpio_data(gpio)
|
||||
#define gpio_set_value(gpio, value) set_gpio_data(gpio, value)
|
||||
#endif
|
||||
|
||||
|
||||
@@ -117,10 +117,12 @@ static inline unsigned int readl(const volatile void __iomem *addr)
|
||||
|
||||
extern void outsb(unsigned long port, const void *addr, unsigned long count);
|
||||
extern void outsw(unsigned long port, const void *addr, unsigned long count);
|
||||
extern void outsw_8(unsigned long port, const void *addr, unsigned long count);
|
||||
extern void outsl(unsigned long port, const void *addr, unsigned long count);
|
||||
|
||||
extern void insb(unsigned long port, void *addr, unsigned long count);
|
||||
extern void insw(unsigned long port, void *addr, unsigned long count);
|
||||
extern void insw_8(unsigned long port, void *addr, unsigned long count);
|
||||
extern void insl(unsigned long port, void *addr, unsigned long count);
|
||||
extern void insl_16(unsigned long port, void *addr, unsigned long count);
|
||||
|
||||
|
||||
@@ -15,12 +15,16 @@
|
||||
|
||||
/* Multi-Issue Instruction with dsp32shiftimm in slot1 and P-reg Store in slot2 Not Supported */
|
||||
#define ANOMALY_05000074 (1)
|
||||
/* DMA_RUN Bit Is Not Valid after a Peripheral Receive Channel DMA Stops */
|
||||
#define ANOMALY_05000119 (1)
|
||||
/* Rx.H Cannot Be Used to Access 16-bit System MMR Registers */
|
||||
#define ANOMALY_05000122 (1)
|
||||
/* Spurious Hardware Error from an Access in the Shadow of a Conditional Branch */
|
||||
#define ANOMALY_05000245 (1)
|
||||
/* Sensitivity To Noise with Slow Input Edge Rates on External SPORT TX and RX Clocks */
|
||||
#define ANOMALY_05000265 (1)
|
||||
/* Errors when SSYNC, CSYNC, or Loads to LT, LB and LC Registers Are Interrupted */
|
||||
#define ANOMALY_05000312 (1)
|
||||
/* Incorrect Access of OTP_STATUS During otp_write() Function */
|
||||
#define ANOMALY_05000328 (1)
|
||||
/* Disallowed Configuration Prevents Subsequent Allowed Configuration on Host DMA Port */
|
||||
@@ -92,7 +96,6 @@
|
||||
#define ANOMALY_05000266 (0)
|
||||
#define ANOMALY_05000273 (0)
|
||||
#define ANOMALY_05000311 (0)
|
||||
#define ANOMALY_05000312 (0)
|
||||
#define ANOMALY_05000323 (0)
|
||||
#define ANOMALY_05000363 (0)
|
||||
|
||||
|
||||
@@ -53,6 +53,12 @@
|
||||
#define UART_SET_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0)
|
||||
#define UART_CLEAR_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0)
|
||||
|
||||
#define UART_GET_CTS(x) gpio_get_value(x->cts_pin)
|
||||
#define UART_SET_RTS(x) gpio_set_value(x->rts_pin, 1)
|
||||
#define UART_CLEAR_RTS(x) gpio_set_value(x->rts_pin, 0)
|
||||
#define UART_ENABLE_INTS(x, v) UART_PUT_IER(x, v)
|
||||
#define UART_DISABLE_INTS(x) UART_PUT_IER(x, 0)
|
||||
|
||||
#if defined(CONFIG_BFIN_UART0_CTSRTS) || defined(CONFIG_BFIN_UART1_CTSRTS)
|
||||
# define CONFIG_SERIAL_BFIN_CTSRTS
|
||||
|
||||
@@ -90,7 +96,7 @@ struct bfin_serial_port {
|
||||
struct work_struct tx_dma_workqueue;
|
||||
#endif
|
||||
#ifdef CONFIG_SERIAL_BFIN_CTSRTS
|
||||
struct work_struct cts_workqueue;
|
||||
struct timer_list cts_timer;
|
||||
int cts_pin;
|
||||
int rts_pin;
|
||||
#endif
|
||||
|
||||
@@ -39,22 +39,22 @@
|
||||
#include "defBF522.h"
|
||||
#include "anomaly.h"
|
||||
|
||||
#if defined(CONFIG_BF527)
|
||||
#if defined(CONFIG_BF527) || defined(CONFIG_BF526)
|
||||
#include "defBF527.h"
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_BF525)
|
||||
#if defined(CONFIG_BF525) || defined(CONFIG_BF524)
|
||||
#include "defBF525.h"
|
||||
#endif
|
||||
|
||||
#if !defined(__ASSEMBLY__)
|
||||
#include "cdefBF522.h"
|
||||
|
||||
#if defined(CONFIG_BF527)
|
||||
#if defined(CONFIG_BF527) || defined(CONFIG_BF526)
|
||||
#include "cdefBF527.h"
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_BF525)
|
||||
#if defined(CONFIG_BF525) || defined(CONFIG_BF524)
|
||||
#include "cdefBF525.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* File: include/asm-blackfin/mach-bf533/anomaly.h
|
||||
* Bugs: Enter bugs at http://blackfin.uclinux.org/
|
||||
*
|
||||
* Copyright (C) 2004-2007 Analog Devices Inc.
|
||||
* Copyright (C) 2004-2008 Analog Devices Inc.
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
@@ -176,6 +176,21 @@
|
||||
#define ANOMALY_05000315 (1)
|
||||
/* Internal Voltage Regulator Values of 1.05V, 1.10V and 1.15V Not Allowed for LQFP Packages */
|
||||
#define ANOMALY_05000319 (ANOMALY_BF531 || ANOMALY_BF532)
|
||||
/* Serial Port (SPORT) Multichannel Transmit Failure when Channel 0 Is Disabled */
|
||||
#define ANOMALY_05000357 (1)
|
||||
/* UART Break Signal Issues */
|
||||
#define ANOMALY_05000363 (__SILICON_REVISION__ < 5)
|
||||
/* PPI Underflow Error Goes Undetected in ITU-R 656 Mode */
|
||||
#define ANOMALY_05000366 (1)
|
||||
/* Possible RETS Register Corruption when Subroutine Is under 5 Cycles in Duration */
|
||||
#define ANOMALY_05000371 (1)
|
||||
/* PPI Does Not Start Properly In Specific Mode */
|
||||
#define ANOMALY_05000400 (__SILICON_REVISION__ >= 5)
|
||||
/* SSYNC Stalls Processor when Executed from Non-Cacheable Memory */
|
||||
#define ANOMALY_05000402 (__SILICON_REVISION__ >= 5)
|
||||
/* Level-Sensitive External GPIO Wakeups May Cause Indefinite Stall */
|
||||
#define ANOMALY_05000403 (1)
|
||||
|
||||
|
||||
/* These anomalies have been "phased" out of analog.com anomaly sheets and are
|
||||
* here to show running on older silicon just isn't feasible.
|
||||
@@ -249,20 +264,6 @@
|
||||
#define ANOMALY_05000192 (__SILICON_REVISION__ < 3)
|
||||
/* Internal Voltage Regulator may not start up */
|
||||
#define ANOMALY_05000206 (__SILICON_REVISION__ < 3)
|
||||
/* Serial Port (SPORT) Multichannel Transmit Failure when Channel 0 Is Disabled */
|
||||
#define ANOMALY_05000357 (1)
|
||||
/* UART Break Signal Issues */
|
||||
#define ANOMALY_05000363 (__SILICON_REVISION__ < 5)
|
||||
/* PPI Underflow Error Goes Undetected in ITU-R 656 Mode */
|
||||
#define ANOMALY_05000366 (1)
|
||||
/* Possible RETS Register Corruption when Subroutine Is under 5 Cycles in Duration */
|
||||
#define ANOMALY_05000371 (1)
|
||||
/* PPI Does Not Start Properly In Specific Mode */
|
||||
#define ANOMALY_05000400 (__SILICON_REVISION__ == 5)
|
||||
/* SSYNC Stalls Processor when Executed from Non-Cacheable Memory */
|
||||
#define ANOMALY_05000402 (__SILICON_REVISION__ == 5)
|
||||
/* Level-Sensitive External GPIO Wakeups May Cause Indefinite Stall */
|
||||
#define ANOMALY_05000403 (1)
|
||||
|
||||
/* Anomalies that don't exist on this proc */
|
||||
#define ANOMALY_05000266 (0)
|
||||
|
||||
@@ -53,6 +53,12 @@
|
||||
#define UART_SET_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0)
|
||||
#define UART_CLEAR_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0)
|
||||
|
||||
#define UART_GET_CTS(x) gpio_get_value(x->cts_pin)
|
||||
#define UART_SET_RTS(x) gpio_set_value(x->rts_pin, 1)
|
||||
#define UART_CLEAR_RTS(x) gpio_set_value(x->rts_pin, 0)
|
||||
#define UART_ENABLE_INTS(x, v) UART_PUT_IER(x, v)
|
||||
#define UART_DISABLE_INTS(x) UART_PUT_IER(x, 0)
|
||||
|
||||
#ifdef CONFIG_BFIN_UART0_CTSRTS
|
||||
# define CONFIG_SERIAL_BFIN_CTSRTS
|
||||
# ifndef CONFIG_UART0_CTS_PIN
|
||||
@@ -82,7 +88,7 @@ struct bfin_serial_port {
|
||||
# endif
|
||||
#endif
|
||||
#ifdef CONFIG_SERIAL_BFIN_CTSRTS
|
||||
struct work_struct cts_workqueue;
|
||||
struct timer_list cts_timer;
|
||||
int cts_pin;
|
||||
int rts_pin;
|
||||
#endif
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* File: include/asm-blackfin/mach-bf537/anomaly.h
|
||||
* Bugs: Enter bugs at http://blackfin.uclinux.org/
|
||||
*
|
||||
* Copyright (C) 2004-2007 Analog Devices Inc.
|
||||
* Copyright (C) 2004-2008 Analog Devices Inc.
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
@@ -132,8 +132,8 @@
|
||||
#define ANOMALY_05000322 (1)
|
||||
/* Ethernet MAC MDIO Reads Do Not Meet IEEE Specification */
|
||||
#define ANOMALY_05000341 (__SILICON_REVISION__ >= 3)
|
||||
/* New Feature: UART Remains Enabled after UART Boot (Not Available on Older Silicon) */
|
||||
#define ANOMALY_05000350 (__SILICON_REVISION__ < 3)
|
||||
/* New Feature: UART Remains Enabled after UART Boot */
|
||||
#define ANOMALY_05000350 (__SILICON_REVISION__ >= 3)
|
||||
/* Regulator Programming Blocked when Hibernate Wakeup Source Remains Active */
|
||||
#define ANOMALY_05000355 (1)
|
||||
/* Serial Port (SPORT) Multichannel Transmit Failure when Channel 0 Is Disabled */
|
||||
@@ -145,12 +145,10 @@
|
||||
/* Possible RETS Register Corruption when Subroutine Is under 5 Cycles in Duration */
|
||||
#define ANOMALY_05000371 (1)
|
||||
/* SSYNC Stalls Processor when Executed from Non-Cacheable Memory */
|
||||
#define ANOMALY_05000402 (__SILICON_REVISION__ >= 3)
|
||||
#define ANOMALY_05000402 (__SILICON_REVISION__ >= 5)
|
||||
/* Level-Sensitive External GPIO Wakeups May Cause Indefinite Stall */
|
||||
#define ANOMALY_05000403 (1)
|
||||
|
||||
|
||||
|
||||
/* Anomalies that don't exist on this proc */
|
||||
#define ANOMALY_05000125 (0)
|
||||
#define ANOMALY_05000158 (0)
|
||||
|
||||
@@ -53,6 +53,12 @@
|
||||
#define UART_SET_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0)
|
||||
#define UART_CLEAR_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0)
|
||||
|
||||
#define UART_GET_CTS(x) gpio_get_value(x->cts_pin)
|
||||
#define UART_SET_RTS(x) gpio_set_value(x->rts_pin, 1)
|
||||
#define UART_CLEAR_RTS(x) gpio_set_value(x->rts_pin, 0)
|
||||
#define UART_ENABLE_INTS(x, v) UART_PUT_IER(x, v)
|
||||
#define UART_DISABLE_INTS(x) UART_PUT_IER(x, 0)
|
||||
|
||||
#if defined(CONFIG_BFIN_UART0_CTSRTS) || defined(CONFIG_BFIN_UART1_CTSRTS)
|
||||
# define CONFIG_SERIAL_BFIN_CTSRTS
|
||||
|
||||
@@ -90,7 +96,7 @@ struct bfin_serial_port {
|
||||
struct work_struct tx_dma_workqueue;
|
||||
#endif
|
||||
#ifdef CONFIG_SERIAL_BFIN_CTSRTS
|
||||
struct work_struct cts_workqueue;
|
||||
struct timer_list cts_timer;
|
||||
int cts_pin;
|
||||
int rts_pin;
|
||||
#endif
|
||||
|
||||
@@ -75,6 +75,8 @@
|
||||
#define ANOMALY_05000365 (1)
|
||||
/* Addressing Conflict between Boot ROM and Asynchronous Memory */
|
||||
#define ANOMALY_05000369 (1)
|
||||
/* Possible RETS Register Corruption when Subroutine Is under 5 Cycles in Duration */
|
||||
#define ANOMALY_05000371 (1)
|
||||
/* Mobile DDR Operation Not Functional */
|
||||
#define ANOMALY_05000377 (1)
|
||||
/* Security/Authentication Speedpath Causes Authentication To Fail To Initiate */
|
||||
|
||||
@@ -57,6 +57,12 @@
|
||||
#define UART_SET_DLAB(uart) /* MMRs not muxed on BF54x */
|
||||
#define UART_CLEAR_DLAB(uart) /* MMRs not muxed on BF54x */
|
||||
|
||||
#define UART_GET_CTS(x) (UART_GET_MSR(x) & CTS)
|
||||
#define UART_SET_RTS(x) (UART_PUT_MCR(x, UART_GET_MCR(x) | MRTS))
|
||||
#define UART_CLEAR_RTS(x) (UART_PUT_MCR(x, UART_GET_MCR(x) & ~MRTS))
|
||||
#define UART_ENABLE_INTS(x, v) UART_SET_IER(x, v)
|
||||
#define UART_DISABLE_INTS(x) UART_CLEAR_IER(x, 0xF)
|
||||
|
||||
#if defined(CONFIG_BFIN_UART0_CTSRTS) || defined(CONFIG_BFIN_UART1_CTSRTS)
|
||||
# define CONFIG_SERIAL_BFIN_CTSRTS
|
||||
|
||||
@@ -93,7 +99,7 @@ struct bfin_serial_port {
|
||||
struct work_struct tx_dma_workqueue;
|
||||
#endif
|
||||
#ifdef CONFIG_SERIAL_BFIN_CTSRTS
|
||||
struct work_struct cts_workqueue;
|
||||
struct timer_list cts_timer;
|
||||
int cts_pin;
|
||||
int rts_pin;
|
||||
#endif
|
||||
@@ -181,7 +187,7 @@ static void bfin_serial_hw_init(struct bfin_serial_port *uart)
|
||||
|
||||
#ifdef CONFIG_BFIN_UART1_CTSRTS
|
||||
peripheral_request(P_UART1_RTS, DRIVER_NAME);
|
||||
peripheral_request(P_UART1_CTS DRIVER_NAME);
|
||||
peripheral_request(P_UART1_CTS, DRIVER_NAME);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -196,7 +202,7 @@ static void bfin_serial_hw_init(struct bfin_serial_port *uart)
|
||||
|
||||
#ifdef CONFIG_BFIN_UART3_CTSRTS
|
||||
peripheral_request(P_UART3_RTS, DRIVER_NAME);
|
||||
peripheral_request(P_UART3_CTS DRIVER_NAME);
|
||||
peripheral_request(P_UART3_CTS, DRIVER_NAME);
|
||||
#endif
|
||||
#endif
|
||||
SSYNC();
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* File: include/asm-blackfin/mach-bf561/anomaly.h
|
||||
* Bugs: Enter bugs at http://blackfin.uclinux.org/
|
||||
*
|
||||
* Copyright (C) 2004-2007 Analog Devices Inc.
|
||||
* Copyright (C) 2004-2008 Analog Devices Inc.
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
|
||||
@@ -53,6 +53,12 @@
|
||||
#define UART_SET_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0)
|
||||
#define UART_CLEAR_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0)
|
||||
|
||||
#define UART_GET_CTS(x) gpio_get_value(x->cts_pin)
|
||||
#define UART_SET_RTS(x) gpio_set_value(x->rts_pin, 1)
|
||||
#define UART_CLEAR_RTS(x) gpio_set_value(x->rts_pin, 0)
|
||||
#define UART_ENABLE_INTS(x, v) UART_PUT_IER(x, v)
|
||||
#define UART_DISABLE_INTS(x) UART_PUT_IER(x, 0)
|
||||
|
||||
#ifdef CONFIG_BFIN_UART0_CTSRTS
|
||||
# define CONFIG_SERIAL_BFIN_CTSRTS
|
||||
# ifndef CONFIG_UART0_CTS_PIN
|
||||
@@ -82,7 +88,7 @@ struct bfin_serial_port {
|
||||
# endif
|
||||
#endif
|
||||
#ifdef CONFIG_SERIAL_BFIN_CTSRTS
|
||||
struct work_struct cts_workqueue;
|
||||
struct timer_list cts_timer;
|
||||
int cts_pin;
|
||||
int rts_pin;
|
||||
#endif
|
||||
|
||||
@@ -25,11 +25,11 @@
|
||||
#define CH_MEM_STREAM1_SRC 27 /* RX */
|
||||
#define CH_MEM_STREAM2_DEST 28
|
||||
#define CH_MEM_STREAM2_SRC 29
|
||||
#define CH_MEM_STREAM3_SRC 30
|
||||
#define CH_MEM_STREAM3_DEST 31
|
||||
#define CH_MEM_STREAM3_DEST 30
|
||||
#define CH_MEM_STREAM3_SRC 31
|
||||
#define CH_IMEM_STREAM0_DEST 32
|
||||
#define CH_IMEM_STREAM0_SRC 33
|
||||
#define CH_IMEM_STREAM1_SRC 34
|
||||
#define CH_IMEM_STREAM1_DEST 35
|
||||
#define CH_IMEM_STREAM1_DEST 34
|
||||
#define CH_IMEM_STREAM1_SRC 35
|
||||
|
||||
#endif
|
||||
|
||||
5
include/asm-blackfin/serial.h
Normal file
5
include/asm-blackfin/serial.h
Normal file
@@ -0,0 +1,5 @@
|
||||
/*
|
||||
* include/asm-blackfin/serial.h
|
||||
*/
|
||||
|
||||
#define SERIAL_EXTRA_IRQ_FLAGS IRQF_TRIGGER_HIGH
|
||||
@@ -75,7 +75,7 @@ __sum16 ip_fast_csum(const void *iph, unsigned int ihl)
|
||||
: "=r" (sum), "=r" (iph), "=r" (ihl), "=r" (inc), "=&r"(tmp)
|
||||
: "0" (sum), "1" (iph), "2" (ihl), "3" (4),
|
||||
"m"(*(volatile struct { int _[100]; } *)iph)
|
||||
: "icc0", "icc1"
|
||||
: "icc0", "icc1", "memory"
|
||||
);
|
||||
|
||||
return (__force __sum16)~sum;
|
||||
|
||||
@@ -31,6 +31,13 @@
|
||||
|
||||
#define PAGE_MASK (~(PAGE_SIZE-1))
|
||||
|
||||
/*
|
||||
* the slab must be aligned such that load- and store-double instructions don't
|
||||
* fault if used
|
||||
*/
|
||||
#define ARCH_KMALLOC_MINALIGN 8
|
||||
#define ARCH_SLAB_MINALIGN 8
|
||||
|
||||
/*****************************************************************************/
|
||||
/*
|
||||
* virtual memory layout from kernel's point of view
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
header-y += kvm.h
|
||||
|
||||
ifeq ($(wildcard include/asm-$(SRCARCH)/a.out.h),include/asm-$(SRCARCH)/a.out.h)
|
||||
ifneq ($(wildcard $(srctree)/include/asm-$(SRCARCH)/a.out.h),)
|
||||
unifdef-y += a.out.h
|
||||
endif
|
||||
unifdef-y += auxvec.h
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
#ifndef _ASM_GENERIC_GPIO_H
|
||||
#define _ASM_GENERIC_GPIO_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#ifdef CONFIG_HAVE_GPIO_LIB
|
||||
|
||||
#include <linux/compiler.h>
|
||||
|
||||
/* Platforms may implement their GPIO interface with library code,
|
||||
* at a small performance cost for non-inlined operations and some
|
||||
* extra memory (for code and for per-GPIO table entries).
|
||||
@@ -74,7 +78,7 @@ struct gpio_chip {
|
||||
|
||||
extern const char *gpiochip_is_requested(struct gpio_chip *chip,
|
||||
unsigned offset);
|
||||
extern int __init __must_check gpiochip_reserve(int start, int ngpio);
|
||||
extern int __must_check gpiochip_reserve(int start, int ngpio);
|
||||
|
||||
/* add/remove chips */
|
||||
extern int gpiochip_add(struct gpio_chip *chip);
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
*/
|
||||
|
||||
#ifndef _ASM_H8300_CACHEFLUSH_H
|
||||
#define _AMS_H8300_CACHEFLUSH_H
|
||||
#define _ASM_H8300_CACHEFLUSH_H
|
||||
|
||||
/*
|
||||
* Cache handling functions
|
||||
|
||||
@@ -22,14 +22,13 @@
|
||||
*/
|
||||
|
||||
#include <asm/types.h>
|
||||
#include <asm/fpu.h>
|
||||
|
||||
#include <linux/ioctl.h>
|
||||
|
||||
/* Architectural interrupt line count. */
|
||||
#define KVM_NR_INTERRUPTS 256
|
||||
|
||||
#define KVM_IOAPIC_NUM_PINS 24
|
||||
#define KVM_IOAPIC_NUM_PINS 48
|
||||
|
||||
struct kvm_ioapic_state {
|
||||
__u64 base_address;
|
||||
@@ -61,6 +60,13 @@ struct kvm_ioapic_state {
|
||||
|
||||
#define KVM_CONTEXT_SIZE 8*1024
|
||||
|
||||
struct kvm_fpreg {
|
||||
union {
|
||||
unsigned long bits[2];
|
||||
long double __dummy; /* force 16-byte alignment */
|
||||
} u;
|
||||
};
|
||||
|
||||
union context {
|
||||
/* 8K size */
|
||||
char dummy[KVM_CONTEXT_SIZE];
|
||||
@@ -77,7 +83,7 @@ union context {
|
||||
unsigned long ibr[8];
|
||||
unsigned long dbr[8];
|
||||
unsigned long pkr[8];
|
||||
struct ia64_fpreg fr[128];
|
||||
struct kvm_fpreg fr[128];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ extern void ia64_patch_imm60 (u64 insn_addr, u64 val); /* patch "brl" w/ip-rel
|
||||
extern void ia64_patch_mckinley_e9 (unsigned long start, unsigned long end);
|
||||
extern void ia64_patch_vtop (unsigned long start, unsigned long end);
|
||||
extern void ia64_patch_phys_stack_reg(unsigned long val);
|
||||
extern void ia64_patch_rse (unsigned long start, unsigned long end);
|
||||
extern void ia64_patch_gate (void);
|
||||
|
||||
#endif /* _ASM_IA64_PATCH_H */
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
# define KERNEL_STACK_SIZE_ORDER 0
|
||||
#endif
|
||||
|
||||
#define IA64_RBS_OFFSET ((IA64_TASK_SIZE + IA64_THREAD_INFO_SIZE + 15) & ~15)
|
||||
#define IA64_RBS_OFFSET ((IA64_TASK_SIZE + IA64_THREAD_INFO_SIZE + 31) & ~31)
|
||||
#define IA64_STK_OFFSET ((1 << KERNEL_STACK_SIZE_ORDER)*PAGE_SIZE)
|
||||
|
||||
#define KERNEL_STACK_SIZE IA64_STK_OFFSET
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
extern char __per_cpu_start[], __per_cpu_end[], __phys_per_cpu_start[];
|
||||
extern char __start___vtop_patchlist[], __end___vtop_patchlist[];
|
||||
extern char __start___rse_patchlist[], __end___rse_patchlist[];
|
||||
extern char __start___mckinley_e9_bundles[], __end___mckinley_e9_bundles[];
|
||||
extern char __start___phys_stack_reg_patchlist[], __end___phys_stack_reg_patchlist[];
|
||||
extern char __start_gate_section[];
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#ifndef _ASM_IA64_SN_SIMULATOR_H
|
||||
#define _ASM_IA64_SN_SIMULATOR_H
|
||||
|
||||
|
||||
#if defined(CONFIG_IA64_GENERIC) || defined(CONFIG_IA64_SGI_SN2) || defined(CONFIG_IA64_SGI_UV)
|
||||
#define SNMAGIC 0xaeeeeeee8badbeefL
|
||||
#define IS_MEDUSA() ({long sn; asm("mov %0=cpuid[%1]" : "=r"(sn) : "r"(2)); sn == SNMAGIC;})
|
||||
|
||||
@@ -16,5 +16,10 @@
|
||||
#define IS_RUNNING_ON_SIMULATOR() (sn_prom_type)
|
||||
#define IS_RUNNING_ON_FAKE_PROM() (sn_prom_type == 2)
|
||||
extern int sn_prom_type; /* 0=hardware, 1=medusa/realprom, 2=medusa/fakeprom */
|
||||
#else
|
||||
#define IS_MEDUSA() 0
|
||||
#define SIMULATOR_SLEEP()
|
||||
#define IS_RUNNING_ON_SIMULATOR() 0
|
||||
#endif
|
||||
|
||||
#endif /* _ASM_IA64_SN_SIMULATOR_H */
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#include <linux/errno.h>
|
||||
#include <linux/thread_info.h>
|
||||
#include <asm/page.h>
|
||||
#include <asm/setup.h>
|
||||
|
||||
#define VERIFY_READ 0
|
||||
#define VERIFY_WRITE 1
|
||||
@@ -106,7 +107,6 @@ static inline void set_fs(mm_segment_t s)
|
||||
#else
|
||||
static inline int access_ok(int type, const void *addr, unsigned long size)
|
||||
{
|
||||
extern unsigned long memory_start, memory_end;
|
||||
unsigned long val = (unsigned long)addr;
|
||||
|
||||
return ((val >= memory_start) && ((val + size) < memory_end));
|
||||
|
||||
@@ -410,8 +410,49 @@ static inline int ext2_find_next_zero_bit(const void *vaddr, unsigned size,
|
||||
res = ext2_find_first_zero_bit (p, size - 32 * (p - addr));
|
||||
return (p - addr) * 32 + res;
|
||||
}
|
||||
#define ext2_find_next_bit(addr, size, off) \
|
||||
generic_find_next_le_bit((unsigned long *)(addr), (size), (off))
|
||||
|
||||
static inline int ext2_find_first_bit(const void *vaddr, unsigned size)
|
||||
{
|
||||
const unsigned long *p = vaddr, *addr = vaddr;
|
||||
int res;
|
||||
|
||||
if (!size)
|
||||
return 0;
|
||||
|
||||
size = (size >> 5) + ((size & 31) > 0);
|
||||
while (*p++ == 0UL) {
|
||||
if (--size == 0)
|
||||
return (p - addr) << 5;
|
||||
}
|
||||
|
||||
--p;
|
||||
for (res = 0; res < 32; res++)
|
||||
if (ext2_test_bit(res, p))
|
||||
break;
|
||||
return (p - addr) * 32 + res;
|
||||
}
|
||||
|
||||
static inline int ext2_find_next_bit(const void *vaddr, unsigned size,
|
||||
unsigned offset)
|
||||
{
|
||||
const unsigned long *addr = vaddr;
|
||||
const unsigned long *p = addr + (offset >> 5);
|
||||
int bit = offset & 31UL, res;
|
||||
|
||||
if (offset >= size)
|
||||
return size;
|
||||
|
||||
if (bit) {
|
||||
/* Look for one in first longword */
|
||||
for (res = bit; res < 32; res++)
|
||||
if (ext2_test_bit(res, p))
|
||||
return (p - addr) * 32 + res;
|
||||
p++;
|
||||
}
|
||||
/* No set bit yet, search remaining full bytes for a set bit */
|
||||
res = ext2_find_first_bit(p, size - 32 * (p - addr));
|
||||
return (p - addr) * 32 + res;
|
||||
}
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ struct cpuinfo_mips {
|
||||
struct cache_desc tcache; /* Tertiary/split secondary cache */
|
||||
int srsets; /* Shadow register sets */
|
||||
int core; /* physical core number */
|
||||
#if defined(CONFIG_MIPS_MT_SMTC)
|
||||
#if defined(CONFIG_MIPS_MT_SMP) || defined(CONFIG_MIPS_MT_SMTC)
|
||||
/*
|
||||
* In the MIPS MT "SMTC" model, each TC is considered
|
||||
* to be a "CPU" for the purposes of scheduling, but
|
||||
@@ -64,7 +64,7 @@ struct cpuinfo_mips {
|
||||
* to all TCs within the same VPE.
|
||||
*/
|
||||
int vpe_id; /* Virtual Processor number */
|
||||
#endif /* CONFIG_MIPS_MT */
|
||||
#endif
|
||||
#ifdef CONFIG_MIPS_MT_SMTC
|
||||
int tc_id; /* Thread Context number */
|
||||
#endif
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
|
||||
#define MSK(n) ((1 << (n)) - 1)
|
||||
#define REG32(addr) (*(volatile unsigned int *) (addr))
|
||||
#define REG(base, offs) REG32((unsigned int)(base) + offs##_##OFS)
|
||||
#define REGP(base, phys) REG32((unsigned int)(base) + (phys))
|
||||
#define REG(base, offs) REG32((unsigned long)(base) + offs##_##OFS)
|
||||
#define REGP(base, phys) REG32((unsigned long)(base) + (phys))
|
||||
|
||||
/* Accessors */
|
||||
#define GIC_REG(segment, offset) \
|
||||
@@ -330,7 +330,7 @@
|
||||
|
||||
#define GIC_SH_RMASK_OFS 0x0300
|
||||
#define GIC_CLR_INTR_MASK(intr, val) \
|
||||
GICWRITE(GIC_REG_ADDR(SHARED, GIC_SH_RMASK_OFS + 4 + (((((intr) / 32) ^ 1) - 1) * 4)), ((val) << ((intr) % 32))
|
||||
GICWRITE(GIC_REG_ADDR(SHARED, GIC_SH_RMASK_OFS + 4 + (((((intr) / 32) ^ 1) - 1) * 4)), ((val) << ((intr) % 32)))
|
||||
|
||||
/* Register Map for Local Section */
|
||||
#define GIC_VPE_CTL_OFS 0x0000
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
#define LASAT_BASE_BAUD_100 (7372800 / 16)
|
||||
#define LASAT_UART_REGS_BASE_100 0x1c8b0000
|
||||
#define LASAT_UART_REGS_SHIFT_100 2
|
||||
#define LASATINT_UART_100 8
|
||||
#define LASATINT_UART_100 16
|
||||
|
||||
/* * LASAT 200 boards serial configuration */
|
||||
#define LASAT_BASE_BAUD_200 (100000000 / 16 / 12)
|
||||
#define LASAT_UART_REGS_BASE_200 (Vrc5074_PHYS_BASE + 0x0300)
|
||||
#define LASAT_UART_REGS_SHIFT_200 3
|
||||
#define LASATINT_UART_200 13
|
||||
#define LASATINT_UART_200 21
|
||||
|
||||
@@ -615,6 +615,7 @@ enum soc_au1500_ints {
|
||||
AU1000_RTC_MATCH1_INT,
|
||||
AU1000_RTC_MATCH2_INT,
|
||||
AU1500_PCI_ERR_INT,
|
||||
AU1500_RESERVED_INT,
|
||||
AU1000_USB_DEV_REQ_INT,
|
||||
AU1000_USB_DEV_SUS_INT,
|
||||
AU1000_USB_HOST_INT,
|
||||
@@ -1036,7 +1037,7 @@ enum soc_au1200_ints {
|
||||
#define USBD_INTSTAT 0xB020001C
|
||||
# define USBDEV_INT_SOF (1 << 12)
|
||||
# define USBDEV_INT_HF_BIT 6
|
||||
# define USBDEV_INT_HF_MASK 0x3f << USBDEV_INT_HF_BIT)
|
||||
# define USBDEV_INT_HF_MASK (0x3f << USBDEV_INT_HF_BIT)
|
||||
# define USBDEV_INT_CMPLT_BIT 0
|
||||
# define USBDEV_INT_CMPLT_MASK (0x3f << USBDEV_INT_CMPLT_BIT)
|
||||
#define USBD_CONFIG 0xB0200020
|
||||
|
||||
@@ -355,6 +355,7 @@ void au1xxx_dbdma_dump(u32 chanid);
|
||||
u32 au1xxx_dbdma_put_dscr(u32 chanid, au1x_ddma_desc_t *dscr);
|
||||
|
||||
u32 au1xxx_ddma_add_device(dbdev_tab_t *dev);
|
||||
extern void au1xxx_ddma_del_device(u32 devid);
|
||||
void *au1xxx_ddma_get_nextptr_virt(au1x_ddma_desc_t *dp);
|
||||
|
||||
/*
|
||||
|
||||
@@ -765,6 +765,9 @@ do { \
|
||||
#define read_c0_index() __read_32bit_c0_register($0, 0)
|
||||
#define write_c0_index(val) __write_32bit_c0_register($0, 0, val)
|
||||
|
||||
#define read_c0_random() __read_32bit_c0_register($1, 0)
|
||||
#define write_c0_random(val) __write_32bit_c0_register($1, 0, val)
|
||||
|
||||
#define read_c0_entrylo0() __read_ulong_c0_register($2, 0)
|
||||
#define write_c0_entrylo0(val) __write_ulong_c0_register($2, 0, val)
|
||||
|
||||
|
||||
@@ -134,6 +134,4 @@
|
||||
|
||||
#define _PAGE_CHG_MASK (PAGE_MASK | _PAGE_ACCESSED | _PAGE_MODIFIED | _CACHE_MASK)
|
||||
|
||||
#define CONF_CM_DEFAULT (PAGE_CACHABLE_DEFAULT>>_CACHE_SHIFT)
|
||||
|
||||
#endif /* _ASM_PGTABLE_BITS_H */
|
||||
|
||||
@@ -239,9 +239,10 @@ static inline pte_t pte_mkdirty(pte_t pte)
|
||||
static inline pte_t pte_mkyoung(pte_t pte)
|
||||
{
|
||||
pte.pte_low |= _PAGE_ACCESSED;
|
||||
if (pte.pte_low & _PAGE_READ)
|
||||
if (pte.pte_low & _PAGE_READ) {
|
||||
pte.pte_low |= _PAGE_SILENT_READ;
|
||||
pte.pte_high |= _PAGE_SILENT_READ;
|
||||
}
|
||||
return pte;
|
||||
}
|
||||
#else
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __ASM_RTLX_H
|
||||
#ifndef __ASM_RTLX_H_
|
||||
#define __ASM_RTLX_H_
|
||||
|
||||
#include <irq.h>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#ifndef _ASM_IPCBUF_H_
|
||||
#ifndef _ASM_IPCBUF_H
|
||||
#define _ASM_IPCBUF_H
|
||||
|
||||
/*
|
||||
|
||||
@@ -65,7 +65,7 @@ static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl)
|
||||
"2:\n"
|
||||
: "=r" (sum), "=r" (iph), "=r" (ihl)
|
||||
: "1" (iph), "2" (ihl)
|
||||
: "r19", "r20", "r21" );
|
||||
: "r19", "r20", "r21", "memory");
|
||||
|
||||
return (__force __sum16)sum;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
include include/asm-generic/Kbuild.asm
|
||||
|
||||
header-y += a.out.h
|
||||
header-y += auxvec.h
|
||||
header-y += ioctls.h
|
||||
header-y += mman.h
|
||||
|
||||
@@ -100,7 +100,7 @@ static inline type name(const volatile type __iomem *addr) \
|
||||
{ \
|
||||
type ret; \
|
||||
__asm__ __volatile__("sync;" insn ";twi 0,%0,0;isync" \
|
||||
: "=r" (ret) : "r" (addr), "m" (*addr)); \
|
||||
: "=r" (ret) : "r" (addr), "m" (*addr) : "memory"); \
|
||||
return ret; \
|
||||
}
|
||||
|
||||
@@ -108,8 +108,8 @@ static inline type name(const volatile type __iomem *addr) \
|
||||
static inline void name(volatile type __iomem *addr, type val) \
|
||||
{ \
|
||||
__asm__ __volatile__("sync;" insn \
|
||||
: "=m" (*addr) : "r" (val), "r" (addr)); \
|
||||
IO_SET_SYNC_FLAG(); \
|
||||
: "=m" (*addr) : "r" (val), "r" (addr) : "memory"); \
|
||||
IO_SET_SYNC_FLAG(); \
|
||||
}
|
||||
|
||||
|
||||
@@ -333,7 +333,8 @@ static inline unsigned int name(unsigned int port) \
|
||||
" .long 3b,5b\n" \
|
||||
".previous" \
|
||||
: "=&r" (x) \
|
||||
: "r" (port + _IO_BASE)); \
|
||||
: "r" (port + _IO_BASE) \
|
||||
: "memory"); \
|
||||
return x; \
|
||||
}
|
||||
|
||||
@@ -350,7 +351,8 @@ static inline void name(unsigned int val, unsigned int port) \
|
||||
" .long 0b,2b\n" \
|
||||
" .long 1b,2b\n" \
|
||||
".previous" \
|
||||
: : "r" (val), "r" (port + _IO_BASE)); \
|
||||
: : "r" (val), "r" (port + _IO_BASE) \
|
||||
: "memory"); \
|
||||
}
|
||||
|
||||
__do_in_asm(_rec_inb, "lbzx")
|
||||
|
||||
@@ -57,6 +57,7 @@ extern int kvmppc_handle_store(struct kvm_run *run, struct kvm_vcpu *vcpu,
|
||||
|
||||
extern int kvmppc_emulate_instruction(struct kvm_run *run,
|
||||
struct kvm_vcpu *vcpu);
|
||||
extern int kvmppc_emulate_mmio(struct kvm_run *run, struct kvm_vcpu *vcpu);
|
||||
|
||||
extern void kvmppc_mmu_map(struct kvm_vcpu *vcpu, u64 gvaddr, gfn_t gfn,
|
||||
u64 asid, u32 flags);
|
||||
|
||||
@@ -17,8 +17,6 @@
|
||||
#define MB_POWER 6 /* media bay contains a Power device (???) */
|
||||
#define MB_NO 7 /* media bay contains nothing */
|
||||
|
||||
int check_media_bay(struct device_node *which_bay, int what);
|
||||
|
||||
/* Number of bays in the machine or 0 */
|
||||
extern int media_bay_count;
|
||||
|
||||
@@ -29,6 +27,16 @@ int check_media_bay_by_base(unsigned long base, int what);
|
||||
/* called by IDE PMAC host driver to register IDE controller for media bay */
|
||||
int media_bay_set_ide_infos(struct device_node *which_bay, unsigned long base,
|
||||
int irq, ide_hwif_t *hwif);
|
||||
|
||||
int check_media_bay(struct device_node *which_bay, int what);
|
||||
|
||||
#else
|
||||
|
||||
static inline int check_media_bay(struct device_node *which_bay, int what)
|
||||
{
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
@@ -428,12 +428,11 @@ extern void mpic_init(struct mpic *mpic);
|
||||
*/
|
||||
|
||||
|
||||
/* Change/Read the priority of an interrupt. Default is 8 for irqs and
|
||||
/* Change the priority of an interrupt. Default is 8 for irqs and
|
||||
* 10 for IPIs. You can call this on both IPIs and IRQ numbers, but the
|
||||
* IPI number is then the offset'ed (linux irq number mapped to the IPI)
|
||||
*/
|
||||
extern void mpic_irq_set_priority(unsigned int irq, unsigned int pri);
|
||||
extern unsigned int mpic_irq_get_priority(unsigned int irq);
|
||||
|
||||
/* Setup a non-boot CPU */
|
||||
extern void mpic_setup_this_cpu(void);
|
||||
|
||||
@@ -131,7 +131,6 @@ struct spu {
|
||||
u64 flags;
|
||||
u64 class_0_pending;
|
||||
u64 class_0_dar;
|
||||
u64 class_0_dsisr;
|
||||
u64 class_1_dar;
|
||||
u64 class_1_dsisr;
|
||||
size_t ls_size;
|
||||
|
||||
@@ -254,7 +254,7 @@ struct spu_state {
|
||||
u64 spu_chnldata_RW[32];
|
||||
u32 spu_mailbox_data[4];
|
||||
u32 pu_mailbox_data[1];
|
||||
u64 class_0_dar, class_0_dsisr, class_0_pending;
|
||||
u64 class_0_dar, class_0_pending;
|
||||
u64 class_1_dar, class_1_dsisr;
|
||||
unsigned long suspend_time;
|
||||
spinlock_t register_lock;
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
* SMP since it is only used to order updates to system memory.
|
||||
*/
|
||||
#define mb() __asm__ __volatile__ ("sync" : : : "memory")
|
||||
#define rmb() __asm__ __volatile__ (__stringify(LWSYNC) : : : "memory")
|
||||
#define rmb() __asm__ __volatile__ ("sync" : : : "memory")
|
||||
#define wmb() __asm__ __volatile__ ("sync" : : : "memory")
|
||||
#define read_barrier_depends() do { } while(0)
|
||||
|
||||
|
||||
@@ -315,14 +315,14 @@ __cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, int size)
|
||||
asm volatile( \
|
||||
" lctlg %1,%2,0(%0)\n" \
|
||||
: : "a" (&array), "i" (low), "i" (high), \
|
||||
"m" (*(addrtype *)(array))); \
|
||||
"m" (*(addrtype *)(&array))); \
|
||||
})
|
||||
|
||||
#define __ctl_store(array, low, high) ({ \
|
||||
typedef struct { char _[sizeof(array)]; } addrtype; \
|
||||
asm volatile( \
|
||||
" stctg %2,%3,0(%1)\n" \
|
||||
: "=m" (*(addrtype *)(array)) \
|
||||
: "=m" (*(addrtype *)(&array)) \
|
||||
: "a" (&array), "i" (low), "i" (high)); \
|
||||
})
|
||||
|
||||
@@ -333,14 +333,14 @@ __cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, int size)
|
||||
asm volatile( \
|
||||
" lctl %1,%2,0(%0)\n" \
|
||||
: : "a" (&array), "i" (low), "i" (high), \
|
||||
"m" (*(addrtype *)(array))); \
|
||||
"m" (*(addrtype *)(&array))); \
|
||||
})
|
||||
|
||||
#define __ctl_store(array, low, high) ({ \
|
||||
typedef struct { char _[sizeof(array)]; } addrtype; \
|
||||
asm volatile( \
|
||||
" stctl %2,%3,0(%1)\n" \
|
||||
: "=m" (*(addrtype *)(array)) \
|
||||
: "=m" (*(addrtype *)(&array)) \
|
||||
: "a" (&array), "i" (low), "i" (high)); \
|
||||
})
|
||||
|
||||
|
||||
@@ -40,7 +40,13 @@ typedef __signed__ long saddr_t;
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
typedef u64 dma64_addr_t;
|
||||
#ifdef __s390x__
|
||||
/* DMA addresses come in 32-bit and 64-bit flavours. */
|
||||
typedef u64 dma_addr_t;
|
||||
#else
|
||||
typedef u32 dma_addr_t;
|
||||
#endif
|
||||
|
||||
#ifndef __s390x__
|
||||
typedef union {
|
||||
|
||||
@@ -109,7 +109,7 @@ static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl)
|
||||
will assume they contain their original values. */
|
||||
: "=r" (sum), "=r" (iph), "=r" (ihl), "=&r" (__dummy0), "=&z" (__dummy1)
|
||||
: "1" (iph), "2" (ihl)
|
||||
: "t");
|
||||
: "t", "memory");
|
||||
|
||||
return csum_fold(sum);
|
||||
}
|
||||
|
||||
@@ -66,18 +66,4 @@ extern int setjmp(jmp_buf __jmpb);
|
||||
/* Forced breakpoint */
|
||||
#define breakpoint() __asm__ __volatile__("trapa #0x3c")
|
||||
|
||||
/* Taken from sh-stub.c of GDB 4.18 */
|
||||
static const char hexchars[] = "0123456789abcdef";
|
||||
|
||||
/* Get high hex bits */
|
||||
static inline char highhex(const int x)
|
||||
{
|
||||
return hexchars[(x >> 4) & 0xf];
|
||||
}
|
||||
|
||||
/* Get low hex bits */
|
||||
static inline char lowhex(const int x)
|
||||
{
|
||||
return hexchars[x & 0xf];
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
/* $Id: asi.h,v 1.18 1998/03/09 14:04:46 jj Exp $ */
|
||||
#ifndef _SPARC_ASI_H
|
||||
#define _SPARC_ASI_H
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: auxio.h,v 1.18 1997/11/07 15:01:45 jj Exp $
|
||||
/*
|
||||
* auxio.h: Definitions and code for the Auxiliary I/O register.
|
||||
*
|
||||
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: bitops.h,v 1.67 2001/11/19 18:36:34 davem Exp $
|
||||
/*
|
||||
* bitops.h: Bit string operations on the Sparc.
|
||||
*
|
||||
* Copyright 1995 David S. Miller (davem@caip.rutgers.edu)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: btfixup.h,v 1.4 1998/03/09 14:04:43 jj Exp $
|
||||
/*
|
||||
* asm-sparc/btfixup.h: Macros for boot time linking.
|
||||
*
|
||||
* Copyright (C) 1998 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
/* $Id: checksum.h,v 1.33 2002/02/01 22:01:05 davem Exp $ */
|
||||
#ifndef __SPARC_CHECKSUM_H
|
||||
#define __SPARC_CHECKSUM_H
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: clock.h,v 1.3 1995/11/25 02:31:25 davem Exp $
|
||||
/*
|
||||
* clock.h: Definitions for clock operations on the Sparc.
|
||||
*
|
||||
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
/* $Id: contregs.h,v 1.8 2000/12/28 22:49:11 davem Exp $ */
|
||||
#ifndef _SPARC_CONTREGS_H
|
||||
#define _SPARC_CONTREGS_H
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: cypress.h,v 1.6 1996/08/29 09:48:09 davem Exp $
|
||||
/*
|
||||
* cypress.h: Cypress module specific definitions and defines.
|
||||
*
|
||||
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: delay.h,v 1.11 2001/01/01 01:46:15 davem Exp $
|
||||
/*
|
||||
* delay.h: Linux delay routines on the Sparc.
|
||||
*
|
||||
* Copyright (C) 1994 David S. Miller (davem@caip.rutgers.edu).
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: ebus.h,v 1.2 1999/09/11 23:05:55 zaitcev Exp $
|
||||
/*
|
||||
* ebus.h: PCI to Ebus pseudo driver software state.
|
||||
*
|
||||
* Copyright (C) 1997 Eddie C. Dost (ecd@skynet.be)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: ecc.h,v 1.3 1996/04/25 06:12:57 davem Exp $
|
||||
/*
|
||||
* ecc.h: Definitions and defines for the external cache/memory
|
||||
* controller on the sun4m.
|
||||
*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: eeprom.h,v 1.3 1995/11/25 02:31:38 davem Exp $
|
||||
/*
|
||||
* eeprom.h: Definitions for the Sun eeprom.
|
||||
*
|
||||
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
/* $Id: elf.h,v 1.22 2000/07/12 01:27:08 davem Exp $ */
|
||||
#ifndef __ASMSPARC_ELF_H
|
||||
#define __ASMSPARC_ELF_H
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
/* $Id: fcntl.h,v 1.16 2001/09/20 00:35:33 davem Exp $ */
|
||||
#ifndef _SPARC_FCNTL_H
|
||||
#define _SPARC_FCNTL_H
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
/* $Id: head.h,v 1.39 2000/05/26 22:18:45 ecd Exp $ */
|
||||
#ifndef __SPARC_HEAD_H
|
||||
#define __SPARC_HEAD_H
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: idprom.h,v 1.6 1996/08/04 10:35:07 ecd Exp $
|
||||
/*
|
||||
* idprom.h: Macros and defines for idprom routines
|
||||
*
|
||||
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
/*
|
||||
* $Id: io.h,v 1.30 2001/12/21 01:23:21 davem Exp $
|
||||
*/
|
||||
#ifndef __SPARC_IO_H
|
||||
#define __SPARC_IO_H
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
/* $Id: ioctl.h,v 1.6 1999/12/01 23:58:36 davem Exp $ */
|
||||
#ifndef _SPARC_IOCTL_H
|
||||
#define _SPARC_IOCTL_H
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: kdebug.h,v 1.11 2000/06/04 06:23:53 anton Exp $
|
||||
/*
|
||||
* kdebug.h: Defines and definitions for debugging the Linux kernel
|
||||
* under various kernel debuggers.
|
||||
*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: machines.h,v 1.4 1995/11/25 02:31:58 davem Exp $
|
||||
/*
|
||||
* machines.h: Defines for taking apart the machine type value in the
|
||||
* idprom and determining the kind of machine we are on.
|
||||
*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: mbus.h,v 1.9 1997/06/24 15:48:12 jj Exp $
|
||||
/*
|
||||
* mbus.h: Various defines for MBUS modules.
|
||||
*
|
||||
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
/* $Id: memreg.h,v 1.8 1996/08/29 09:48:23 davem Exp $ */
|
||||
#ifndef _SPARC_MEMREG_H
|
||||
#define _SPARC_MEMREG_H
|
||||
/* memreg.h: Definitions of the values found in the synchronous
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
/* $Id: mman.h,v 1.9 2000/03/15 02:44:23 davem Exp $ */
|
||||
#ifndef __SPARC_MMAN_H__
|
||||
#define __SPARC_MMAN_H__
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: mostek.h,v 1.13 2001/01/11 15:07:09 davem Exp $
|
||||
/*
|
||||
* mostek.h: Describes the various Mostek time of day clock registers.
|
||||
*
|
||||
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: mpmbox.h,v 1.4 1996/04/25 06:13:19 davem Exp $
|
||||
/*
|
||||
* mpmbox.h: Interface and defines for the OpenProm mailbox
|
||||
* facilities for MP machines under Linux.
|
||||
*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: msi.h,v 1.3 1996/08/29 09:48:25 davem Exp $
|
||||
/*
|
||||
* msi.h: Defines specific to the MBus - Sbus - Interface.
|
||||
*
|
||||
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user