Commit 9826dbb1 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm

Pull ARM fixes from Russell King:
 "Another few fixes for ARM, nothing major here"

* 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
  ARM: 7938/1: OMAP4/highbank: Flush L2 cache before disabling
  ARM: 7939/1: traps: fix opcode endianness when read from user memory
  ARM: 7937/1: perf_event: Silence sparse warning
  ARM: 7934/1: DT/kernel: fix arch_match_cpu_phys_id to avoid erroneous match
  Revert "ARM: 7908/1: mm: Fix the arm_dma_limit calculation"
parents 70b23ce3 b25f3e1c
...@@ -171,7 +171,7 @@ void __init arm_dt_init_cpu_maps(void) ...@@ -171,7 +171,7 @@ void __init arm_dt_init_cpu_maps(void)
bool arch_match_cpu_phys_id(int cpu, u64 phys_id) bool arch_match_cpu_phys_id(int cpu, u64 phys_id)
{ {
return (phys_id & MPIDR_HWID_BITMASK) == cpu_logical_map(cpu); return phys_id == cpu_logical_map(cpu);
} }
static const void * __init arch_get_next_mach(const char *const **match) static const void * __init arch_get_next_mach(const char *const **match)
......
...@@ -254,7 +254,7 @@ static int probe_current_pmu(struct arm_pmu *pmu) ...@@ -254,7 +254,7 @@ static int probe_current_pmu(struct arm_pmu *pmu)
static int cpu_pmu_device_probe(struct platform_device *pdev) static int cpu_pmu_device_probe(struct platform_device *pdev)
{ {
const struct of_device_id *of_id; const struct of_device_id *of_id;
int (*init_fn)(struct arm_pmu *); const int (*init_fn)(struct arm_pmu *);
struct device_node *node = pdev->dev.of_node; struct device_node *node = pdev->dev.of_node;
struct arm_pmu *pmu; struct arm_pmu *pmu;
int ret = -ENODEV; int ret = -ENODEV;
......
...@@ -431,9 +431,10 @@ asmlinkage void __exception do_undefinstr(struct pt_regs *regs) ...@@ -431,9 +431,10 @@ asmlinkage void __exception do_undefinstr(struct pt_regs *regs)
instr2 = __mem_to_opcode_thumb16(instr2); instr2 = __mem_to_opcode_thumb16(instr2);
instr = __opcode_thumb32_compose(instr, instr2); instr = __opcode_thumb32_compose(instr, instr2);
} }
} else if (get_user(instr, (u32 __user *)pc)) { } else {
if (get_user(instr, (u32 __user *)pc))
goto die_sig;
instr = __mem_to_opcode_arm(instr); instr = __mem_to_opcode_arm(instr);
goto die_sig;
} }
if (call_undef_hook(regs, instr) == 0) if (call_undef_hook(regs, instr) == 0)
......
...@@ -53,6 +53,7 @@ static void __init highbank_scu_map_io(void) ...@@ -53,6 +53,7 @@ static void __init highbank_scu_map_io(void)
static void highbank_l2x0_disable(void) static void highbank_l2x0_disable(void)
{ {
outer_flush_all();
/* Disable PL310 L2 Cache controller */ /* Disable PL310 L2 Cache controller */
highbank_smc1(0x102, 0x0); highbank_smc1(0x102, 0x0);
} }
......
...@@ -162,6 +162,7 @@ void __iomem *omap4_get_l2cache_base(void) ...@@ -162,6 +162,7 @@ void __iomem *omap4_get_l2cache_base(void)
static void omap4_l2x0_disable(void) static void omap4_l2x0_disable(void)
{ {
outer_flush_all();
/* Disable PL310 L2 Cache controller */ /* Disable PL310 L2 Cache controller */
omap_smc1(0x102, 0x0); omap_smc1(0x102, 0x0);
} }
......
...@@ -229,7 +229,7 @@ void __init setup_dma_zone(const struct machine_desc *mdesc) ...@@ -229,7 +229,7 @@ void __init setup_dma_zone(const struct machine_desc *mdesc)
#ifdef CONFIG_ZONE_DMA #ifdef CONFIG_ZONE_DMA
if (mdesc->dma_zone_size) { if (mdesc->dma_zone_size) {
arm_dma_zone_size = mdesc->dma_zone_size; arm_dma_zone_size = mdesc->dma_zone_size;
arm_dma_limit = __pv_phys_offset + arm_dma_zone_size - 1; arm_dma_limit = PHYS_OFFSET + arm_dma_zone_size - 1;
} else } else
arm_dma_limit = 0xffffffff; arm_dma_limit = 0xffffffff;
arm_dma_pfn_limit = arm_dma_limit >> PAGE_SHIFT; arm_dma_pfn_limit = arm_dma_limit >> PAGE_SHIFT;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment