mirror of
https://github.com/AetherDroid/android_kernel_samsung_on5xelte.git
synced 2025-09-09 01:28:05 -04:00
Fixed MTP to work with TWRP
This commit is contained in:
commit
f6dfaef42e
50820 changed files with 20846062 additions and 0 deletions
57
arch/powerpc/kernel/dbell.c
Normal file
57
arch/powerpc/kernel/dbell.c
Normal file
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* Author: Kumar Gala <galak@kernel.crashing.org>
|
||||
*
|
||||
* Copyright 2009 Freescale Semiconductor Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*/
|
||||
|
||||
#include <linux/stddef.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/threads.h>
|
||||
#include <linux/hardirq.h>
|
||||
|
||||
#include <asm/dbell.h>
|
||||
#include <asm/irq_regs.h>
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
void doorbell_setup_this_cpu(void)
|
||||
{
|
||||
unsigned long tag = mfspr(SPRN_DOORBELL_CPUTAG) & PPC_DBELL_TAG_MASK;
|
||||
|
||||
smp_muxed_ipi_set_data(smp_processor_id(), tag);
|
||||
}
|
||||
|
||||
void doorbell_cause_ipi(int cpu, unsigned long data)
|
||||
{
|
||||
/* Order previous accesses vs. msgsnd, which is treated as a store */
|
||||
mb();
|
||||
ppc_msgsnd(PPC_DBELL_MSGTYPE, 0, data);
|
||||
}
|
||||
|
||||
void doorbell_exception(struct pt_regs *regs)
|
||||
{
|
||||
struct pt_regs *old_regs = set_irq_regs(regs);
|
||||
|
||||
irq_enter();
|
||||
|
||||
may_hard_irq_enable();
|
||||
|
||||
__get_cpu_var(irq_stat).doorbell_irqs++;
|
||||
|
||||
smp_ipi_demux();
|
||||
|
||||
irq_exit();
|
||||
set_irq_regs(old_regs);
|
||||
}
|
||||
#else /* CONFIG_SMP */
|
||||
void doorbell_exception(struct pt_regs *regs)
|
||||
{
|
||||
printk(KERN_WARNING "Received doorbell on non-smp system\n");
|
||||
}
|
||||
#endif /* CONFIG_SMP */
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue