Commit a1a3b3ef authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'metag-for-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag

Pull Metag architecture changes from James Hogan:
 - A few cleanups and minor bug fixes.
 - Kill SMP single function call IPI.

* tag 'metag-for-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag:
  metag/smp: Make boot_secondary() static
  metag: topology: export 'cpu_core_map'
  smp, metag: kill SMP single function call interrupt
  metag: smp: don't set irq regs in do_IPI()
  metag: dma: remove dead code in dma_alloc_init()
parents 8cf7a16e e9a1d016
...@@ -7,13 +7,11 @@ ...@@ -7,13 +7,11 @@
enum ipi_msg_type { enum ipi_msg_type {
IPI_CALL_FUNC, IPI_CALL_FUNC,
IPI_CALL_FUNC_SINGLE,
IPI_RESCHEDULE, IPI_RESCHEDULE,
}; };
extern void arch_send_call_function_single_ipi(int cpu); extern void arch_send_call_function_single_ipi(int cpu);
extern void arch_send_call_function_ipi_mask(const struct cpumask *mask); extern void arch_send_call_function_ipi_mask(const struct cpumask *mask);
#define arch_send_call_function_ipi_mask arch_send_call_function_ipi_mask
asmlinkage void secondary_start_kernel(void); asmlinkage void secondary_start_kernel(void);
......
...@@ -399,11 +399,6 @@ static int __init dma_alloc_init(void) ...@@ -399,11 +399,6 @@ static int __init dma_alloc_init(void)
pgd = pgd_offset(&init_mm, CONSISTENT_START); pgd = pgd_offset(&init_mm, CONSISTENT_START);
pud = pud_alloc(&init_mm, pgd, CONSISTENT_START); pud = pud_alloc(&init_mm, pgd, CONSISTENT_START);
pmd = pmd_alloc(&init_mm, pud, CONSISTENT_START); pmd = pmd_alloc(&init_mm, pud, CONSISTENT_START);
if (!pmd) {
pr_err("%s: no pmd tables\n", __func__);
ret = -ENOMEM;
break;
}
WARN_ON(!pmd_none(*pmd)); WARN_ON(!pmd_none(*pmd));
pte = pte_alloc_kernel(pmd, CONSISTENT_START); pte = pte_alloc_kernel(pmd, CONSISTENT_START);
......
...@@ -68,7 +68,7 @@ static DECLARE_COMPLETION(cpu_running); ...@@ -68,7 +68,7 @@ static DECLARE_COMPLETION(cpu_running);
/* /*
* "thread" is assumed to be a valid Meta hardware thread ID. * "thread" is assumed to be a valid Meta hardware thread ID.
*/ */
int boot_secondary(unsigned int thread, struct task_struct *idle) static int boot_secondary(unsigned int thread, struct task_struct *idle)
{ {
u32 val; u32 val;
...@@ -491,7 +491,7 @@ void arch_send_call_function_ipi_mask(const struct cpumask *mask) ...@@ -491,7 +491,7 @@ void arch_send_call_function_ipi_mask(const struct cpumask *mask)
void arch_send_call_function_single_ipi(int cpu) void arch_send_call_function_single_ipi(int cpu)
{ {
send_ipi_message(cpumask_of(cpu), IPI_CALL_FUNC_SINGLE); send_ipi_message(cpumask_of(cpu), IPI_CALL_FUNC);
} }
void show_ipi_list(struct seq_file *p) void show_ipi_list(struct seq_file *p)
...@@ -517,11 +517,10 @@ static DEFINE_SPINLOCK(stop_lock); ...@@ -517,11 +517,10 @@ static DEFINE_SPINLOCK(stop_lock);
* *
* Bit 0 - Inter-processor function call * Bit 0 - Inter-processor function call
*/ */
static int do_IPI(struct pt_regs *regs) static int do_IPI(void)
{ {
unsigned int cpu = smp_processor_id(); unsigned int cpu = smp_processor_id();
struct ipi_data *ipi = &per_cpu(ipi_data, cpu); struct ipi_data *ipi = &per_cpu(ipi_data, cpu);
struct pt_regs *old_regs = set_irq_regs(regs);
unsigned long msgs, nextmsg; unsigned long msgs, nextmsg;
int handled = 0; int handled = 0;
...@@ -546,10 +545,6 @@ static int do_IPI(struct pt_regs *regs) ...@@ -546,10 +545,6 @@ static int do_IPI(struct pt_regs *regs)
generic_smp_call_function_interrupt(); generic_smp_call_function_interrupt();
break; break;
case IPI_CALL_FUNC_SINGLE:
generic_smp_call_function_single_interrupt();
break;
default: default:
pr_crit("CPU%u: Unknown IPI message 0x%lx\n", pr_crit("CPU%u: Unknown IPI message 0x%lx\n",
cpu, nextmsg); cpu, nextmsg);
...@@ -557,8 +552,6 @@ static int do_IPI(struct pt_regs *regs) ...@@ -557,8 +552,6 @@ static int do_IPI(struct pt_regs *regs)
} }
} }
set_irq_regs(old_regs);
return handled; return handled;
} }
...@@ -624,7 +617,7 @@ static void kick_raise_softirq(cpumask_t callmap, unsigned int irq) ...@@ -624,7 +617,7 @@ static void kick_raise_softirq(cpumask_t callmap, unsigned int irq)
static TBIRES ipi_handler(TBIRES State, int SigNum, int Triggers, static TBIRES ipi_handler(TBIRES State, int SigNum, int Triggers,
int Inst, PTBI pTBI, int *handled) int Inst, PTBI pTBI, int *handled)
{ {
*handled = do_IPI((struct pt_regs *)State.Sig.pCtx); *handled = do_IPI();
return State; return State;
} }
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
DEFINE_PER_CPU(struct cpuinfo_metag, cpu_data); DEFINE_PER_CPU(struct cpuinfo_metag, cpu_data);
cpumask_t cpu_core_map[NR_CPUS]; cpumask_t cpu_core_map[NR_CPUS];
EXPORT_SYMBOL(cpu_core_map);
static cpumask_t cpu_coregroup_map(unsigned int cpu) static cpumask_t cpu_coregroup_map(unsigned int cpu)
{ {
......
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