mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
This commit is contained in:
commit
e766f1cc59
20 changed files with 362 additions and 641 deletions
|
|
@ -1,6 +1,6 @@
|
|||
/* cpudata.h: Per-cpu parameters.
|
||||
*
|
||||
* Copyright (C) 2003 David S. Miller (davem@redhat.com)
|
||||
* Copyright (C) 2003, 2005 David S. Miller (davem@redhat.com)
|
||||
*/
|
||||
|
||||
#ifndef _SPARC64_CPUDATA_H
|
||||
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
typedef struct {
|
||||
/* Dcache line 1 */
|
||||
unsigned int __pad0; /* bh_count moved to irq_stat for consistency. KAO */
|
||||
unsigned int __softirq_pending; /* must be 1st, see rtrap.S */
|
||||
unsigned int multiplier;
|
||||
unsigned int counter;
|
||||
unsigned int idle_volume;
|
||||
|
|
|
|||
|
|
@ -1,22 +1,16 @@
|
|||
/* hardirq.h: 64-bit Sparc hard IRQ support.
|
||||
*
|
||||
* Copyright (C) 1997, 1998 David S. Miller (davem@caip.rutgers.edu)
|
||||
* Copyright (C) 1997, 1998, 2005 David S. Miller (davem@davemloft.net)
|
||||
*/
|
||||
|
||||
#ifndef __SPARC64_HARDIRQ_H
|
||||
#define __SPARC64_HARDIRQ_H
|
||||
|
||||
#include <linux/config.h>
|
||||
#include <linux/threads.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/cache.h>
|
||||
#include <asm/cpudata.h>
|
||||
|
||||
/* rtrap.S is sensitive to the offsets of these fields */
|
||||
typedef struct {
|
||||
unsigned int __softirq_pending;
|
||||
} ____cacheline_aligned irq_cpustat_t;
|
||||
|
||||
#include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */
|
||||
#define __ARCH_IRQ_STAT
|
||||
#define local_softirq_pending() \
|
||||
(local_cpu_data().__softirq_pending)
|
||||
|
||||
#define HARDIRQ_BITS 8
|
||||
|
||||
|
|
|
|||
|
|
@ -100,18 +100,41 @@ static __inline__ void _outl(u32 l, unsigned long addr)
|
|||
#define inl_p(__addr) inl(__addr)
|
||||
#define outl_p(__l, __addr) outl(__l, __addr)
|
||||
|
||||
extern void outsb(void __iomem *addr, const void *src, unsigned long count);
|
||||
extern void outsw(void __iomem *addr, const void *src, unsigned long count);
|
||||
extern void outsl(void __iomem *addr, const void *src, unsigned long count);
|
||||
extern void insb(void __iomem *addr, void *dst, unsigned long count);
|
||||
extern void insw(void __iomem *addr, void *dst, unsigned long count);
|
||||
extern void insl(void __iomem *addr, void *dst, unsigned long count);
|
||||
#define ioread8_rep(a,d,c) insb(a,d,c)
|
||||
#define ioread16_rep(a,d,c) insw(a,d,c)
|
||||
#define ioread32_rep(a,d,c) insl(a,d,c)
|
||||
#define iowrite8_rep(a,s,c) outsb(a,s,c)
|
||||
#define iowrite16_rep(a,s,c) outsw(a,s,c)
|
||||
#define iowrite32_rep(a,s,c) outsl(a,s,c)
|
||||
extern void outsb(unsigned long, const void *, unsigned long);
|
||||
extern void outsw(unsigned long, const void *, unsigned long);
|
||||
extern void outsl(unsigned long, const void *, unsigned long);
|
||||
extern void insb(unsigned long, void *, unsigned long);
|
||||
extern void insw(unsigned long, void *, unsigned long);
|
||||
extern void insl(unsigned long, void *, unsigned long);
|
||||
|
||||
static inline void ioread8_rep(void __iomem *port, void *buf, unsigned long count)
|
||||
{
|
||||
insb((unsigned long __force)port, buf, count);
|
||||
}
|
||||
static inline void ioread16_rep(void __iomem *port, void *buf, unsigned long count)
|
||||
{
|
||||
insw((unsigned long __force)port, buf, count);
|
||||
}
|
||||
|
||||
static inline void ioread32_rep(void __iomem *port, void *buf, unsigned long count)
|
||||
{
|
||||
insl((unsigned long __force)port, buf, count);
|
||||
}
|
||||
|
||||
static inline void iowrite8_rep(void __iomem *port, const void *buf, unsigned long count)
|
||||
{
|
||||
outsb((unsigned long __force)port, buf, count);
|
||||
}
|
||||
|
||||
static inline void iowrite16_rep(void __iomem *port, const void *buf, unsigned long count)
|
||||
{
|
||||
outsw((unsigned long __force)port, buf, count);
|
||||
}
|
||||
|
||||
static inline void iowrite32_rep(void __iomem *port, const void *buf, unsigned long count)
|
||||
{
|
||||
outsl((unsigned long __force)port, buf, count);
|
||||
}
|
||||
|
||||
/* Memory functions, same as I/O accesses on Ultra. */
|
||||
static inline u8 _readb(const volatile void __iomem *addr)
|
||||
|
|
|
|||
|
|
@ -410,9 +410,6 @@ extern unsigned long *sparc64_valid_addr_bitmap;
|
|||
#define kern_addr_valid(addr) \
|
||||
(test_bit(__pa((unsigned long)(addr))>>22, sparc64_valid_addr_bitmap))
|
||||
|
||||
extern int io_remap_page_range(struct vm_area_struct *vma, unsigned long from,
|
||||
unsigned long offset,
|
||||
unsigned long size, pgprot_t prot, int space);
|
||||
extern int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long from,
|
||||
unsigned long pfn,
|
||||
unsigned long size, pgprot_t prot);
|
||||
|
|
|
|||
Loading…
Reference in a new issue