mirror of https://gitee.com/openkylin/linux.git
Metag architecture changes for v3.14
- A few cleanups and minor bug fixes. - Kill SMP single function call IPI. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.13 (GNU/Linux) iQIcBAABAgAGBQJS3T7AAAoJEKHZs+irPybfT9EP/ifU15XsWYS4CBfHekanhSB8 Ghp6IL7dXH3BecQ/1ynlGDsw3bPxOhVJ3t4YQXkKx1PcGcef9UefJJU2xNEXSeTE ZljAmiO0cbNTzS96dNQC/2JzkFqEU5ObTa708iOjay7LdqxFItXtanLZ5rFNDW3U uHuSwX/C+dl1vYuA7kSglCy6r+rFc8CbsFPKShhI6RiIooqPoIoOPNTOlTM2o5AJ YExgVi74EiOkrwLrtJroD5mlNevBFTZFt0eUYLd9S+k7M5BONCynKqqO70UPBCxC K/uf6AHHrrG+4b8AOM9Ko7Q3P66V8w4+8g/WWeb/Ghv/SBymcs3zpmdSsF5pyzJ7 szKPHd1vXm+V5tsc1VWs7DCp4droM56Hn+iyzSd/NeW4jVRAsoUPRIZqkxdtzeds R96IbTz0LpoN96ZV0IXzul9TwJiBg/jsO7OSlGsQZVq8WX5P3q8UsbHF/g8qv4pt qOqbo9ZJvVT7+aKNG+kDpjMMQCqUUrcpf/vEWz/O6I9hY5zkIFYaNoHTx31wz4K0 Deiig+3VzpCO9UpN3KKhYg709xF0UTTS4SNL92lsvD/mFxCckJjJR1bDGJS5NOjF apof95fJxVwgjNh/mUhIjQiYpgic7W9RMED3lYUNGeNc6R7sELRDzY+gtTES72qr 21ABm9be2zIpCCAfnKvx =rbJ3 -----END PGP SIGNATURE----- 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()
This commit is contained in:
commit
a1a3b3efc4
|
@ -7,13 +7,11 @@
|
|||
|
||||
enum ipi_msg_type {
|
||||
IPI_CALL_FUNC,
|
||||
IPI_CALL_FUNC_SINGLE,
|
||||
IPI_RESCHEDULE,
|
||||
};
|
||||
|
||||
extern void arch_send_call_function_single_ipi(int cpu);
|
||||
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);
|
||||
|
||||
|
|
|
@ -399,11 +399,6 @@ static int __init dma_alloc_init(void)
|
|||
pgd = pgd_offset(&init_mm, CONSISTENT_START);
|
||||
pud = pud_alloc(&init_mm, pgd, 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));
|
||||
|
||||
pte = pte_alloc_kernel(pmd, CONSISTENT_START);
|
||||
|
|
|
@ -68,7 +68,7 @@ static DECLARE_COMPLETION(cpu_running);
|
|||
/*
|
||||
* "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;
|
||||
|
||||
|
@ -491,7 +491,7 @@ void arch_send_call_function_ipi_mask(const struct cpumask *mask)
|
|||
|
||||
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)
|
||||
|
@ -517,11 +517,10 @@ static DEFINE_SPINLOCK(stop_lock);
|
|||
*
|
||||
* 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();
|
||||
struct ipi_data *ipi = &per_cpu(ipi_data, cpu);
|
||||
struct pt_regs *old_regs = set_irq_regs(regs);
|
||||
unsigned long msgs, nextmsg;
|
||||
int handled = 0;
|
||||
|
||||
|
@ -546,10 +545,6 @@ static int do_IPI(struct pt_regs *regs)
|
|||
generic_smp_call_function_interrupt();
|
||||
break;
|
||||
|
||||
case IPI_CALL_FUNC_SINGLE:
|
||||
generic_smp_call_function_single_interrupt();
|
||||
break;
|
||||
|
||||
default:
|
||||
pr_crit("CPU%u: Unknown IPI message 0x%lx\n",
|
||||
cpu, nextmsg);
|
||||
|
@ -557,8 +552,6 @@ static int do_IPI(struct pt_regs *regs)
|
|||
}
|
||||
}
|
||||
|
||||
set_irq_regs(old_regs);
|
||||
|
||||
return handled;
|
||||
}
|
||||
|
||||
|
@ -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,
|
||||
int Inst, PTBI pTBI, int *handled)
|
||||
{
|
||||
*handled = do_IPI((struct pt_regs *)State.Sig.pCtx);
|
||||
*handled = do_IPI();
|
||||
|
||||
return State;
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
DEFINE_PER_CPU(struct cpuinfo_metag, cpu_data);
|
||||
|
||||
cpumask_t cpu_core_map[NR_CPUS];
|
||||
EXPORT_SYMBOL(cpu_core_map);
|
||||
|
||||
static cpumask_t cpu_coregroup_map(unsigned int cpu)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue