mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
Merge branch 'upstream/core' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen
* 'upstream/core' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen: xen: do not release any memory under 1M in domain 0 xen: events: do not unmask event channels on resume xen: correct size of level2_kernel_pgt
This commit is contained in:
commit
891cbd30ef
3 changed files with 30 additions and 15 deletions
|
|
@ -1299,9 +1299,6 @@ static void restore_cpu_virqs(unsigned int cpu)
|
|||
evtchn_to_irq[evtchn] = irq;
|
||||
irq_info[irq] = mk_virq_info(evtchn, virq);
|
||||
bind_evtchn_to_cpu(evtchn, cpu);
|
||||
|
||||
/* Ready for use. */
|
||||
unmask_evtchn(evtchn);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1327,10 +1324,6 @@ static void restore_cpu_ipis(unsigned int cpu)
|
|||
evtchn_to_irq[evtchn] = irq;
|
||||
irq_info[irq] = mk_ipi_info(evtchn, ipi);
|
||||
bind_evtchn_to_cpu(evtchn, cpu);
|
||||
|
||||
/* Ready for use. */
|
||||
unmask_evtchn(evtchn);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1390,6 +1383,7 @@ void xen_poll_irq(int irq)
|
|||
void xen_irq_resume(void)
|
||||
{
|
||||
unsigned int cpu, irq, evtchn;
|
||||
struct irq_desc *desc;
|
||||
|
||||
init_evtchn_cpu_bindings();
|
||||
|
||||
|
|
@ -1408,6 +1402,23 @@ void xen_irq_resume(void)
|
|||
restore_cpu_virqs(cpu);
|
||||
restore_cpu_ipis(cpu);
|
||||
}
|
||||
|
||||
/*
|
||||
* Unmask any IRQF_NO_SUSPEND IRQs which are enabled. These
|
||||
* are not handled by the IRQ core.
|
||||
*/
|
||||
for_each_irq_desc(irq, desc) {
|
||||
if (!desc->action || !(desc->action->flags & IRQF_NO_SUSPEND))
|
||||
continue;
|
||||
if (desc->status & IRQ_DISABLED)
|
||||
continue;
|
||||
|
||||
evtchn = evtchn_from_irq(irq);
|
||||
if (evtchn == -1)
|
||||
continue;
|
||||
|
||||
unmask_evtchn(evtchn);
|
||||
}
|
||||
}
|
||||
|
||||
static struct irq_chip xen_dynamic_chip __read_mostly = {
|
||||
|
|
|
|||
Loading…
Reference in a new issue