Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 221875
b: refs/heads/master
c: 261ca20
h: refs/heads/master
i:
  221873: d46cae2
  221871: 9a4d5b1
v: v3
  • Loading branch information
Russell King committed Nov 7, 2010
1 parent 434cd87 commit d06c907
Show file tree
Hide file tree
Showing 132 changed files with 745 additions and 553 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 72feb6e7cb55e7947653446e52e54d66134ac1b5
refs/heads/master: 261ca205817deb3d3dfd0be218cc0154be8e6472
7 changes: 3 additions & 4 deletions trunk/arch/arm/mach-kirkwood/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -854,10 +854,9 @@ int __init kirkwood_find_tclk(void)

kirkwood_pcie_id(&dev, &rev);

if ((dev == MV88F6281_DEV_ID && (rev == MV88F6281_REV_A0 ||
rev == MV88F6281_REV_A1)) ||
(dev == MV88F6282_DEV_ID))
return 200000000;
if (dev == MV88F6281_DEV_ID || dev == MV88F6282_DEV_ID)
if (((readl(SAMPLE_AT_RESET) >> 21) & 1) == 0)
return 200000000;

return 166666667;
}
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mach-kirkwood/d2net_v2-setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -225,5 +225,5 @@ MACHINE_START(D2NET_V2, "LaCie d2 Network v2")
.init_machine = d2net_v2_init,
.map_io = kirkwood_map_io,
.init_irq = kirkwood_init_irq,
.timer = &lacie_v2_timer,
.timer = &kirkwood_timer,
MACHINE_END
14 changes: 0 additions & 14 deletions trunk/arch/arm/mach-kirkwood/lacie_v2-common.c
Original file line number Diff line number Diff line change
Expand Up @@ -111,17 +111,3 @@ void __init lacie_v2_hdd_power_init(int hdd_num)
pr_err("Failed to power up HDD%d\n", i + 1);
}
}

/*****************************************************************************
* Timer
****************************************************************************/

static void lacie_v2_timer_init(void)
{
kirkwood_tclk = 166666667;
orion_time_init(IRQ_KIRKWOOD_BRIDGE, kirkwood_tclk);
}

struct sys_timer lacie_v2_timer = {
.init = lacie_v2_timer_init,
};
2 changes: 0 additions & 2 deletions trunk/arch/arm/mach-kirkwood/lacie_v2-common.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,4 @@ void lacie_v2_register_flash(void);
void lacie_v2_register_i2c_devices(void);
void lacie_v2_hdd_power_init(int hdd_num);

extern struct sys_timer lacie_v2_timer;

#endif
4 changes: 1 addition & 3 deletions trunk/arch/arm/mach-kirkwood/mpp.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ void __init kirkwood_mpp_conf(unsigned int *mpp_list)
}
printk("\n");

while (*mpp_list) {
for ( ; *mpp_list; mpp_list++) {
unsigned int num = MPP_NUM(*mpp_list);
unsigned int sel = MPP_SEL(*mpp_list);
int shift, gpio_mode;
Expand Down Expand Up @@ -88,8 +88,6 @@ void __init kirkwood_mpp_conf(unsigned int *mpp_list)
if (sel != 0)
gpio_mode = 0;
orion_gpio_set_valid(num, gpio_mode);

mpp_list++;
}

printk(KERN_DEBUG " final MPP regs:");
Expand Down
6 changes: 3 additions & 3 deletions trunk/arch/arm/mach-kirkwood/netspace_v2-setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@ MACHINE_START(NETSPACE_V2, "LaCie Network Space v2")
.init_machine = netspace_v2_init,
.map_io = kirkwood_map_io,
.init_irq = kirkwood_init_irq,
.timer = &lacie_v2_timer,
.timer = &kirkwood_timer,
MACHINE_END
#endif

Expand All @@ -272,7 +272,7 @@ MACHINE_START(INETSPACE_V2, "LaCie Internet Space v2")
.init_machine = netspace_v2_init,
.map_io = kirkwood_map_io,
.init_irq = kirkwood_init_irq,
.timer = &lacie_v2_timer,
.timer = &kirkwood_timer,
MACHINE_END
#endif

Expand All @@ -282,6 +282,6 @@ MACHINE_START(NETSPACE_MAX_V2, "LaCie Network Space Max v2")
.init_machine = netspace_v2_init,
.map_io = kirkwood_map_io,
.init_irq = kirkwood_init_irq,
.timer = &lacie_v2_timer,
.timer = &kirkwood_timer,
MACHINE_END
#endif
4 changes: 2 additions & 2 deletions trunk/arch/arm/mach-kirkwood/netxbig_v2-setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -403,7 +403,7 @@ MACHINE_START(NET2BIG_V2, "LaCie 2Big Network v2")
.init_machine = netxbig_v2_init,
.map_io = kirkwood_map_io,
.init_irq = kirkwood_init_irq,
.timer = &lacie_v2_timer,
.timer = &kirkwood_timer,
MACHINE_END
#endif

Expand All @@ -413,6 +413,6 @@ MACHINE_START(NET5BIG_V2, "LaCie 5Big Network v2")
.init_machine = netxbig_v2_init,
.map_io = kirkwood_map_io,
.init_irq = kirkwood_init_irq,
.timer = &lacie_v2_timer,
.timer = &kirkwood_timer,
MACHINE_END
#endif
14 changes: 13 additions & 1 deletion trunk/arch/arm/mach-kirkwood/ts41x-setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@
#include "mpp.h"
#include "tsx1x-common.h"

/* for the PCIe reset workaround */
#include <plat/pcie.h>


#define QNAP_TS41X_JUMPER_JP1 45

static struct i2c_board_info __initdata qnap_ts41x_i2c_rtc = {
Expand Down Expand Up @@ -140,8 +144,16 @@ static void __init qnap_ts41x_init(void)

static int __init ts41x_pci_init(void)
{
if (machine_is_ts41x())
if (machine_is_ts41x()) {
/*
* Without this explicit reset, the PCIe SATA controller
* (Marvell 88sx7042/sata_mv) is known to stop working
* after a few minutes.
*/
orion_pcie_reset((void __iomem *)PCIE_VIRT_BASE);

kirkwood_pcie_init(KW_PCIE0);
}

return 0;
}
Expand Down
4 changes: 1 addition & 3 deletions trunk/arch/arm/mach-mv78xx0/mpp.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ void __init mv78xx0_mpp_conf(unsigned int *mpp_list)
}
printk("\n");

while (*mpp_list) {
for ( ; *mpp_list; mpp_list++) {
unsigned int num = MPP_NUM(*mpp_list);
unsigned int sel = MPP_SEL(*mpp_list);
int shift, gpio_mode;
Expand Down Expand Up @@ -83,8 +83,6 @@ void __init mv78xx0_mpp_conf(unsigned int *mpp_list)
if (sel != 0)
gpio_mode = 0;
orion_gpio_set_valid(num, gpio_mode);

mpp_list++;
}

printk(KERN_DEBUG " final MPP regs:");
Expand Down
4 changes: 1 addition & 3 deletions trunk/arch/arm/mach-orion5x/mpp.c
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ void __init orion5x_mpp_conf(struct orion5x_mpp_mode *mode)
/* Initialize gpiolib. */
orion_gpio_init();

while (mode->mpp >= 0) {
for ( ; mode->mpp >= 0; mode++) {
u32 *reg;
int num_type;
int shift;
Expand Down Expand Up @@ -160,8 +160,6 @@ void __init orion5x_mpp_conf(struct orion5x_mpp_mode *mode)
orion_gpio_set_unused(mode->mpp);

orion_gpio_set_valid(mode->mpp, !!(mode->type == MPP_GPIO));

mode++;
}

writel(mpp_0_7_ctrl, MPP_0_7_CTRL);
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mach-orion5x/ts78xx-setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ static struct platform_nand_data ts78xx_ts_nand_data = {
static struct resource ts78xx_ts_nand_resources = {
.start = TS_NAND_DATA,
.end = TS_NAND_DATA + 4,
.flags = IORESOURCE_IO,
.flags = IORESOURCE_MEM,
};

static struct platform_device ts78xx_ts_nand_device = {
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mm/dma-mapping.c
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ __dma_alloc_remap(struct page *page, size_t size, gfp_t gfp, pgprot_t prot)
* fragmentation of the DMA space, and also prevents allocations
* smaller than a section from crossing a section boundary.
*/
bit = fls(size - 1) + 1;
bit = fls(size - 1);
if (bit > SECTION_SHIFT)
bit = SECTION_SHIFT;
align = 1 << bit;
Expand Down
3 changes: 3 additions & 0 deletions trunk/arch/arm/plat-orion/include/plat/pcie.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,15 @@
#ifndef __PLAT_PCIE_H
#define __PLAT_PCIE_H

struct pci_bus;

u32 orion_pcie_dev_id(void __iomem *base);
u32 orion_pcie_rev(void __iomem *base);
int orion_pcie_link_up(void __iomem *base);
int orion_pcie_x4_mode(void __iomem *base);
int orion_pcie_get_local_bus_nr(void __iomem *base);
void orion_pcie_set_local_bus_nr(void __iomem *base, int nr);
void orion_pcie_reset(void __iomem *base);
void orion_pcie_setup(void __iomem *base,
struct mbus_dram_target_info *dram);
int orion_pcie_rd_conf(void __iomem *base, struct pci_bus *bus,
Expand Down
5 changes: 0 additions & 5 deletions trunk/arch/arm/plat-orion/pcie.c
Original file line number Diff line number Diff line change
Expand Up @@ -181,11 +181,6 @@ void __init orion_pcie_setup(void __iomem *base,
u16 cmd;
u32 mask;

/*
* soft reset PCIe unit
*/
orion_pcie_reset(base);

/*
* Point PCIe unit MBUS decode windows to DRAM space.
*/
Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/m68k/include/asm/irqflags.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@
#define _M68K_IRQFLAGS_H

#include <linux/types.h>
#ifdef CONFIG_MMU
#include <linux/hardirq.h>
#endif
#include <linux/preempt.h>
#include <asm/thread_info.h>
#include <asm/entry.h>
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/m68k/include/asm/machdep.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,5 +40,6 @@ extern unsigned long hw_timer_offset(void);
extern irqreturn_t arch_timer_interrupt(int irq, void *dummy);

extern void config_BSP(char *command, int len);
extern void do_IRQ(int irq, struct pt_regs *fp);

#endif /* _M68K_MACHDEP_H */
2 changes: 1 addition & 1 deletion trunk/arch/powerpc/kernel/kvm.c
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ static void kvm_patch_ins_nop(u32 *inst)

static void kvm_patch_ins_b(u32 *inst, int addr)
{
#ifdef CONFIG_RELOCATABLE
#if defined(CONFIG_RELOCATABLE) && defined(CONFIG_PPC_BOOK3S)
/* On relocatable kernels interrupts handlers and our code
can be in different regions, so we don't patch them */

Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/powerpc/kvm/booke_interrupts.S
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,7 @@ lightweight_exit:
lwz r3, VCPU_PC(r4)
mtsrr0 r3
lwz r3, VCPU_SHARED(r4)
lwz r3, VCPU_SHARED_MSR(r3)
lwz r3, (VCPU_SHARED_MSR + 4)(r3)
oris r3, r3, KVMPPC_MSR_MASK@h
ori r3, r3, KVMPPC_MSR_MASK@l
mtsrr1 r3
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/powerpc/kvm/e500.c
Original file line number Diff line number Diff line change
Expand Up @@ -138,8 +138,8 @@ void kvmppc_core_vcpu_free(struct kvm_vcpu *vcpu)
struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500(vcpu);

free_page((unsigned long)vcpu->arch.shared);
kvmppc_e500_tlb_uninit(vcpu_e500);
kvm_vcpu_uninit(vcpu);
kvmppc_e500_tlb_uninit(vcpu_e500);
kmem_cache_free(kvm_vcpu_cache, vcpu_e500);
}

Expand Down
1 change: 1 addition & 0 deletions trunk/arch/powerpc/kvm/powerpc.c
Original file line number Diff line number Diff line change
Expand Up @@ -617,6 +617,7 @@ long kvm_arch_vm_ioctl(struct file *filp,
switch (ioctl) {
case KVM_PPC_GET_PVINFO: {
struct kvm_ppc_pvinfo pvinfo;
memset(&pvinfo, 0, sizeof(pvinfo));
r = kvm_vm_ioctl_get_pvinfo(&pvinfo);
if (copy_to_user(argp, &pvinfo, sizeof(pvinfo))) {
r = -EFAULT;
Expand Down
2 changes: 0 additions & 2 deletions trunk/arch/powerpc/kvm/timing.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ void kvmppc_init_timing_stats(struct kvm_vcpu *vcpu)
int i;

/* pause guest execution to avoid concurrent updates */
local_irq_disable();
mutex_lock(&vcpu->mutex);

vcpu->arch.last_exit_type = 0xDEAD;
Expand All @@ -51,7 +50,6 @@ void kvmppc_init_timing_stats(struct kvm_vcpu *vcpu)
vcpu->arch.timing_last_enter.tv64 = 0;

mutex_unlock(&vcpu->mutex);
local_irq_enable();
}

static void add_exit_timing(struct kvm_vcpu *vcpu, u64 duration, int type)
Expand Down
1 change: 0 additions & 1 deletion trunk/arch/tile/include/asm/highmem.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@

#include <linux/interrupt.h>
#include <linux/threads.h>
#include <asm/kmap_types.h>
#include <asm/tlbflush.h>
#include <asm/homecache.h>

Expand Down
34 changes: 24 additions & 10 deletions trunk/arch/tile/include/asm/kmap_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,28 +16,42 @@
#define _ASM_TILE_KMAP_TYPES_H

/*
* In TILE Linux each set of four of these uses another 16MB chunk of
* address space, given 64 tiles and 64KB pages, so we only enable
* ones that are required by the kernel configuration.
* In 32-bit TILE Linux we have to balance the desire to have a lot of
* nested atomic mappings with the fact that large page sizes and many
* processors chew up address space quickly. In a typical
* 64-processor, 64KB-page layout build, making KM_TYPE_NR one larger
* adds 4MB of required address-space. For now we leave KM_TYPE_NR
* set to depth 8.
*/
enum km_type {
KM_TYPE_NR = 8
};

/*
* We provide dummy definitions of all the stray values that used to be
* required for kmap_atomic() and no longer are.
*/
enum {
KM_BOUNCE_READ,
KM_SKB_SUNRPC_DATA,
KM_SKB_DATA_SOFTIRQ,
KM_USER0,
KM_USER1,
KM_BIO_SRC_IRQ,
KM_BIO_DST_IRQ,
KM_PTE0,
KM_PTE1,
KM_IRQ0,
KM_IRQ1,
KM_SOFTIRQ0,
KM_SOFTIRQ1,
KM_MEMCPY0,
KM_MEMCPY1,
#if defined(CONFIG_HIGHPTE)
KM_PTE0,
KM_PTE1,
#endif
KM_TYPE_NR
KM_SYNC_ICACHE,
KM_SYNC_DCACHE,
KM_UML_USERCOPY,
KM_IRQ_PTE,
KM_NMI,
KM_NMI_PTE,
KM_KDB
};

#endif /* _ASM_TILE_KMAP_TYPES_H */
6 changes: 2 additions & 4 deletions trunk/arch/tile/include/asm/pgtable.h
Original file line number Diff line number Diff line change
Expand Up @@ -344,10 +344,8 @@ static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
#define pgd_offset_k(address) pgd_offset(&init_mm, address)

#if defined(CONFIG_HIGHPTE)
extern pte_t *_pte_offset_map(pmd_t *, unsigned long address, enum km_type);
#define pte_offset_map(dir, address) \
_pte_offset_map(dir, address, KM_PTE0)
#define pte_unmap(pte) kunmap_atomic(pte, KM_PTE0)
extern pte_t *pte_offset_map(pmd_t *, unsigned long address);
#define pte_unmap(pte) kunmap_atomic(pte)
#else
#define pte_offset_map(dir, address) pte_offset_kernel(dir, address)
#define pte_unmap(pte) do { } while (0)
Expand Down
3 changes: 3 additions & 0 deletions trunk/arch/tile/include/asm/stat.h
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
#ifdef CONFIG_COMPAT
#define __ARCH_WANT_STAT64 /* Used for compat_sys_stat64() etc. */
#endif
#include <asm-generic/stat.h>
1 change: 1 addition & 0 deletions trunk/arch/tile/include/asm/unistd.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ __SYSCALL(__NR_cmpxchg_badaddr, sys_cmpxchg_badaddr)
#ifdef CONFIG_COMPAT
#define __ARCH_WANT_SYS_LLSEEK
#endif
#define __ARCH_WANT_SYS_NEWFSTATAT
#endif

#endif /* _ASM_TILE_UNISTD_H */
10 changes: 5 additions & 5 deletions trunk/arch/tile/kernel/compat.c
Original file line number Diff line number Diff line change
Expand Up @@ -148,11 +148,11 @@ long tile_compat_sys_msgrcv(int msqid,
#define compat_sys_readahead sys32_readahead
#define compat_sys_sync_file_range compat_sys_sync_file_range2

/* The native 64-bit "struct stat" matches the 32-bit "struct stat64". */
#define compat_sys_stat64 sys_newstat
#define compat_sys_lstat64 sys_newlstat
#define compat_sys_fstat64 sys_newfstat
#define compat_sys_fstatat64 sys_newfstatat
/* We leverage the "struct stat64" type for 32-bit time_t/nsec. */
#define compat_sys_stat64 sys_stat64
#define compat_sys_lstat64 sys_lstat64
#define compat_sys_fstat64 sys_fstat64
#define compat_sys_fstatat64 sys_fstatat64

/* The native sys_ptrace dynamically handles compat binaries. */
#define compat_sys_ptrace sys_ptrace
Expand Down
Loading

0 comments on commit d06c907

Please sign in to comment.