On Mar 18, 2013, at 9:41 AM, Benjamin Herrenschmidt wrote: > On Mon, 2013-03-18 at 09:28 +0000, Wang Dongsheng-B40534 wrote: >> Hi Benjamin & Kumar, >> >> I am not sure who can apply these patches... >> >> Could you apply these patches? > > I can but I need somebody to review them, I don't have the bandwidth nor > am I familiar with the FSL changes to the MPIC. > > Cheers, > Ben.
I'd ask for Scott's ack/signoff on these patches for ben or I to accept them. - k > >> Thanks. >> >> [1/3] powerpc/mpic: add irq_set_wake support >> http://patchwork.ozlabs.org/patch/226034/ >> >> [2/3] powerpc/mpic: add global timer support >> http://patchwork.ozlabs.org/patch/226035/ >> >> [3/3] powerpc/fsl: add MPIC timer wakeup support >> http://patchwork.ozlabs.org/patch/226036/ >> >>> -----Original Message----- >>> From: Wang Dongsheng-B40534 >>> Sent: Friday, March 08, 2013 3:39 PM >>> To: Wood Scott-B07421; Gala Kumar-B11780 >>> Cc: linuxppc-dev@lists.ozlabs.org; Wang Dongsheng-B40534 >>> Subject: [PATCH 1/3] powerpc/mpic: add irq_set_wake support >>> >>> Add irq_set_wake support. Just add IRQF_NO_SUSPEND to desc->action->flag. >>> So the wake up interrupt will not be disable in suspend_device_irqs. >>> >>> Signed-off-by: Wang Dongsheng <dongsheng.w...@freescale.com> >>> --- >>> arch/powerpc/sysdev/mpic.c | 15 +++++++++++++++ >>> 1 files changed, 15 insertions(+), 0 deletions(-) >>> >>> diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c >>> index 3b2efd4..10e474e 100644 >>> --- a/arch/powerpc/sysdev/mpic.c >>> +++ b/arch/powerpc/sysdev/mpic.c >>> @@ -920,6 +920,18 @@ int mpic_set_irq_type(struct irq_data *d, unsigned >>> int flow_type) >>> return IRQ_SET_MASK_OK_NOCOPY; >>> } >>> >>> +static int mpic_irq_set_wake(struct irq_data *d, unsigned int on) { >>> + struct irq_desc *desc = container_of(d, struct irq_desc, irq_data); >>> + >>> + if (on) >>> + desc->action->flags |= IRQF_NO_SUSPEND; >>> + else >>> + desc->action->flags &= ~IRQF_NO_SUSPEND; >>> + >>> + return 0; >>> +} >>> + >>> void mpic_set_vector(unsigned int virq, unsigned int vector) { >>> struct mpic *mpic = mpic_from_irq(virq); @@ -957,6 +969,7 @@ static >>> struct irq_chip mpic_irq_chip = { >>> .irq_unmask = mpic_unmask_irq, >>> .irq_eoi = mpic_end_irq, >>> .irq_set_type = mpic_set_irq_type, >>> + .irq_set_wake = mpic_irq_set_wake, >>> }; >>> >>> #ifdef CONFIG_SMP >>> @@ -971,6 +984,7 @@ static struct irq_chip mpic_tm_chip = { >>> .irq_mask = mpic_mask_tm, >>> .irq_unmask = mpic_unmask_tm, >>> .irq_eoi = mpic_end_irq, >>> + .irq_set_wake = mpic_irq_set_wake, >>> }; >>> >>> #ifdef CONFIG_MPIC_U3_HT_IRQS >>> @@ -981,6 +995,7 @@ static struct irq_chip mpic_irq_ht_chip = { >>> .irq_unmask = mpic_unmask_ht_irq, >>> .irq_eoi = mpic_end_ht_irq, >>> .irq_set_type = mpic_set_irq_type, >>> + .irq_set_wake = mpic_irq_set_wake, >>> }; >>> #endif /* CONFIG_MPIC_U3_HT_IRQS */ >>> >>> -- >>> 1.7.5.1 >> > > > _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev