* [PATCH 04/17] powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE instead of redundant mpic_irq_set_wake
[not found] <1442850433-5903-1-git-send-email-sudeep.holla@arm.com>
@ 2015-09-21 15:47 ` Sudeep Holla
2015-09-22 23:50 ` Scott Wood
2015-09-23 4:06 ` Scott Wood
0 siblings, 2 replies; 9+ messages in thread
From: Sudeep Holla @ 2015-09-21 15:47 UTC (permalink / raw)
To: linux-pm, linux-kernel
Cc: Sudeep Holla, Thomas Gleixner, Rafael J. Wysocki,
Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
Scott Wood, Hongtao Jia, Marc Zyngier, linuxppc-dev
mpic_irq_set_wake return -ENXIO for non FSL MPIC and sets IRQF_NO_SUSPEND
flag for FSL ones. enable_irq_wake already returns -ENXIO if irq_set_wak
is not implemented. Also there's no need to set the IRQF_NO_SUSPEND flag
as it doesn't guarantee wakeup for that interrupt.
This patch removes the redundant mpic_irq_set_wake and sets the
IRQCHIP_SKIP_SET_WAKE for only FSL MPIC.
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Scott Wood <scottwood@freescale.com>
Cc: Hongtao Jia <hongtao.jia@freescale.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
---
arch/powerpc/sysdev/mpic.c | 23 ++++-------------------
1 file changed, 4 insertions(+), 19 deletions(-)
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
index 537e5db85a06..123e43612f0a 100644
--- a/arch/powerpc/sysdev/mpic.c
+++ b/arch/powerpc/sysdev/mpic.c
@@ -924,22 +924,6 @@ 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);
- struct mpic *mpic = mpic_from_irq_data(d);
-
- if (!(mpic->flags & MPIC_FSL))
- return -ENXIO;
-
- 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);
@@ -977,7 +961,6 @@ 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
@@ -992,7 +975,6 @@ 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
@@ -1283,8 +1265,11 @@ struct mpic * __init mpic_alloc(struct device_node *node,
flags |= MPIC_NO_RESET;
if (of_get_property(node, "single-cpu-affinity", NULL))
flags |= MPIC_SINGLE_DEST_CPU;
- if (of_device_is_compatible(node, "fsl,mpic"))
+ if (of_device_is_compatible(node, "fsl,mpic")) {
flags |= MPIC_FSL | MPIC_LARGE_VECTORS;
+ mpic_irq_chip.flags |= IRQCHIP_SKIP_SET_WAKE;
+ mpic_tm_chip.flags |= IRQCHIP_SKIP_SET_WAKE;
+ }
mpic = kzalloc(sizeof(struct mpic), GFP_KERNEL);
if (mpic == NULL)
--
1.9.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 04/17] powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE instead of redundant mpic_irq_set_wake
2015-09-21 15:47 ` [PATCH 04/17] powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE instead of redundant mpic_irq_set_wake Sudeep Holla
@ 2015-09-22 23:50 ` Scott Wood
2015-09-23 2:35 ` Wang Dongsheng
2015-09-23 4:06 ` Scott Wood
1 sibling, 1 reply; 9+ messages in thread
From: Scott Wood @ 2015-09-22 23:50 UTC (permalink / raw)
To: Sudeep Holla
Cc: linux-pm, linux-kernel, Thomas Gleixner, Rafael J. Wysocki,
Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
Hongtao Jia, Marc Zyngier, linuxppc-dev, Wang Dongsheng
On Mon, 2015-09-21 at 16:47 +0100, Sudeep Holla wrote:
> mpic_irq_set_wake return -ENXIO for non FSL MPIC and sets IRQF_NO_SUSPEND
> flag for FSL ones. enable_irq_wake already returns -ENXIO if irq_set_wak
> is not implemented. Also there's no need to set the IRQF_NO_SUSPEND flag
> as it doesn't guarantee wakeup for that interrupt.
>
> This patch removes the redundant mpic_irq_set_wake and sets the
> IRQCHIP_SKIP_SET_WAKE for only FSL MPIC.
>
> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> Cc: Paul Mackerras <paulus@samba.org>
> Cc: Michael Ellerman <mpe@ellerman.id.au>
> Cc: Scott Wood <scottwood@freescale.com>
> Cc: Hongtao Jia <hongtao.jia@freescale.com>
> Cc: Marc Zyngier <marc.zyngier@arm.com>
> Cc: linuxppc-dev@lists.ozlabs.org
> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
> ---
> arch/powerpc/sysdev/mpic.c | 23 ++++-------------------
> 1 file changed, 4 insertions(+), 19 deletions(-)
>
> diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
> index 537e5db85a06..123e43612f0a 100644
> --- a/arch/powerpc/sysdev/mpic.c
> +++ b/arch/powerpc/sysdev/mpic.c
> @@ -924,22 +924,6 @@ 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);
> - struct mpic *mpic = mpic_from_irq_data(d);
> -
> - if (!(mpic->flags & MPIC_FSL))
> - return -ENXIO;
> -
> - 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);
> @@ -977,7 +961,6 @@ 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
> @@ -992,7 +975,6 @@ 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
> @@ -1283,8 +1265,11 @@ struct mpic * __init mpic_alloc(struct device_node
> *node,
> flags |= MPIC_NO_RESET;
> if (of_get_property(node, "single-cpu-affinity", NULL))
> flags |= MPIC_SINGLE_DEST_CPU;
> - if (of_device_is_compatible(node, "fsl,mpic"))
> + if (of_device_is_compatible(node, "fsl,mpic")) {
> flags |= MPIC_FSL | MPIC_LARGE_VECTORS;
> + mpic_irq_chip.flags |= IRQCHIP_SKIP_SET_WAKE;
> + mpic_tm_chip.flags |= IRQCHIP_SKIP_SET_WAKE;
> + }
What difference does IRQCHIP_SKIP_SET_WAKE make in the absence of an
.irq_set_wake() callback?
This is basically repealing commit 5ff04b7287d87c1db7 ("powerpc/mpic: add
irq_set_wake support"). Wang Dongsheng, can you explain why that patch was
needed?
-Scott
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH 04/17] powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE instead of redundant mpic_irq_set_wake
2015-09-22 23:50 ` Scott Wood
@ 2015-09-23 2:35 ` Wang Dongsheng
2015-09-23 3:49 ` Thomas Gleixner
0 siblings, 1 reply; 9+ messages in thread
From: Wang Dongsheng @ 2015-09-23 2:35 UTC (permalink / raw)
To: Scott Wood, Sudeep Holla
Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
Thomas Gleixner, Rafael J. Wysocki, Benjamin Herrenschmidt,
Paul Mackerras, Michael Ellerman, Hongtao Jia, Marc Zyngier,
linuxppc-dev@lists.ozlabs.org
DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogV29vZCBTY290dC1CMDc0
MjENCj4gU2VudDogV2VkbmVzZGF5LCBTZXB0ZW1iZXIgMjMsIDIwMTUgNzo1MCBBTQ0KPiBUbzog
U3VkZWVwIEhvbGxhDQo+IENjOiBsaW51eC1wbUB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LWtlcm5l
bEB2Z2VyLmtlcm5lbC5vcmc7IFRob21hcyBHbGVpeG5lcjsNCj4gUmFmYWVsIEouIFd5c29ja2k7
IEJlbmphbWluIEhlcnJlbnNjaG1pZHQ7IFBhdWwgTWFja2VycmFzOyBNaWNoYWVsIEVsbGVybWFu
OyBKaWENCj4gSG9uZ3Rhby1CMzg5NTE7IE1hcmMgWnluZ2llcjsgbGludXhwcGMtZGV2QGxpc3Rz
Lm96bGFicy5vcmc7IFdhbmcgRG9uZ3NoZW5nLQ0KPiBCNDA1MzQNCj4gU3ViamVjdDogUmU6IFtQ
QVRDSCAwNC8xN10gcG93ZXJwYzogbXBpYzogdXNlIElSUUNISVBfU0tJUF9TRVRfV0FLRSBpbnN0
ZWFkIG9mDQo+IHJlZHVuZGFudCBtcGljX2lycV9zZXRfd2FrZQ0KPiANCj4gT24gTW9uLCAyMDE1
LTA5LTIxIGF0IDE2OjQ3ICswMTAwLCBTdWRlZXAgSG9sbGEgd3JvdGU6DQo+ID4gbXBpY19pcnFf
c2V0X3dha2UgcmV0dXJuIC1FTlhJTyBmb3Igbm9uIEZTTCBNUElDIGFuZCBzZXRzIElSUUZfTk9f
U1VTUEVORA0KPiA+IGZsYWcgZm9yIEZTTCBvbmVzLiBlbmFibGVfaXJxX3dha2UgYWxyZWFkeSBy
ZXR1cm5zIC1FTlhJTyBpZiBpcnFfc2V0X3dhaw0KPiA+IGlzIG5vdCBpbXBsZW1lbnRlZC4gQWxz
byB0aGVyZSdzIG5vIG5lZWQgdG8gc2V0IHRoZSBJUlFGX05PX1NVU1BFTkQgZmxhZw0KPiA+IGFz
IGl0IGRvZXNuJ3QgZ3VhcmFudGVlIHdha2V1cCBmb3IgdGhhdCBpbnRlcnJ1cHQuDQo+ID4NCg0K
Tm9uLWZyZWVzY2FsZSByZXR1cm4gLUVOWElPLCBpcyB0aGVyZSBhbnkgaXNzdWU/IElmIG5vbi1m
cmVlc2NhbGUgcGxhdGZvcm0gZG9lcw0Kbm90IHN1cHBvcnQgaXQsIGJ1dCBJUHMgc3RpbGwgdXNl
IGVuYWJsZS9kaXNhYmxlX2lycV93YWtlLCB3ZSBzaG91bGQgcmV0dXJuIGEgZXJyb3IgbnVtYmVy
Lg0KDQpJUlFDSElQX1NLSVBfU0VUX1dBS0UganVzdCBza2lwIHRoaXMgZmVhdHVyZSwgdGhpcyBp
cyBub3Qgb3VyIGV4cGVjdGVkLg0KSWYgbm9uLWZyZWVzY2FsZSBwbGF0Zm9ybSBuZWVkIHRoaXMg
ZmxhZyB0byBza2lwIHRoaXMgZmVhdHVyZSwgaXQgc2hvdWxkIGJlIGFkZA0KaW4gc2VsZiBwbGF0
Zm9ybS4NCg0KQFNjb3R0Og0KSWYgc2V0IHRoaXMgZmxhZyB3ZSBjYW5ub3Qga2VlcCBhIGlycSBh
cyBhIHdha2V1cCBzb3VyY2Ugd2hlbiBzeXN0ZW0gZ29pbmcgdG8NClNVU1BFTkQgb3IgTUVNLg0K
DQppcnFfc2V0X3dha2UoKSBtZWFucyB3ZSBjYW4gc2V0IHRoaXMgaXJxIGFzIGEgd2FrZSBzb3Vy
Y2UuDQpJUlFDSElQX1NLSVBfU0VUX1dBS0UgaXMgaWdub3JlIGlycV9zZXRfd2FrZSgpIGZlYXR1
cmUuDQoNClJlZ2FyZHMsDQotRG9uZ3NoZW5nDQoNCg==
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH 04/17] powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE instead of redundant mpic_irq_set_wake
2015-09-23 2:35 ` Wang Dongsheng
@ 2015-09-23 3:49 ` Thomas Gleixner
2015-09-23 5:31 ` Wang Dongsheng
0 siblings, 1 reply; 9+ messages in thread
From: Thomas Gleixner @ 2015-09-23 3:49 UTC (permalink / raw)
To: Wang Dongsheng
Cc: Scott Wood, Sudeep Holla, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org, Rafael J. Wysocki,
Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
Hongtao Jia, Marc Zyngier, linuxppc-dev@lists.ozlabs.org
On Wed, 23 Sep 2015, Wang Dongsheng wrote:
> > On Mon, 2015-09-21 at 16:47 +0100, Sudeep Holla wrote:
> > > mpic_irq_set_wake return -ENXIO for non FSL MPIC and sets IRQF_NO_SUSPEND
> > > flag for FSL ones. enable_irq_wake already returns -ENXIO if irq_set_wak
> > > is not implemented. Also there's no need to set the IRQF_NO_SUSPEND flag
> > > as it doesn't guarantee wakeup for that interrupt.
> > >
>
> Non-freescale return -ENXIO, is there any issue? If non-freescale
> platform does not support it, but IPs still use
> enable/disable_irq_wake, we should return a error number.
You can just set IRQCHIP_SKIP_SET_WAKE for FSL chips and not for the
others.
> @Scott:
> If set this flag we cannot keep a irq as a wakeup source when system going to
> SUSPEND or MEM.
>
> irq_set_wake() means we can set this irq as a wake source.
> IRQCHIP_SKIP_SET_WAKE is ignore irq_set_wake() feature.
Nonsense. IRQCHIP_SKIP_SET_WAKE merily tells the core not to bail on
!chip->irq_set_wake(), but its still marking the interrupt as wakeup
source and therefor not masking it on suspend.
IRQF_NO_SUSPEND is the wrong tool. End of story.
Thanks,
tglx
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 04/17] powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE instead of redundant mpic_irq_set_wake
2015-09-21 15:47 ` [PATCH 04/17] powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE instead of redundant mpic_irq_set_wake Sudeep Holla
2015-09-22 23:50 ` Scott Wood
@ 2015-09-23 4:06 ` Scott Wood
2015-10-19 17:35 ` Sudeep Holla
1 sibling, 1 reply; 9+ messages in thread
From: Scott Wood @ 2015-09-23 4:06 UTC (permalink / raw)
To: Sudeep Holla
Cc: linux-pm, linux-kernel, Thomas Gleixner, Rafael J. Wysocki,
Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
Hongtao Jia, Marc Zyngier, linuxppc-dev, Wang Dongsheng-B40534
On Mon, 2015-09-21 at 16:47 +0100, Sudeep Holla wrote:
> mpic_irq_set_wake return -ENXIO for non FSL MPIC and sets IRQF_NO_SUSPEND
> flag for FSL ones. enable_irq_wake already returns -ENXIO if irq_set_wak
> is not implemented. Also there's no need to set the IRQF_NO_SUSPEND flag
> as it doesn't guarantee wakeup for that interrupt.
>
> This patch removes the redundant mpic_irq_set_wake and sets the
> IRQCHIP_SKIP_SET_WAKE for only FSL MPIC.
>
> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> Cc: Paul Mackerras <paulus@samba.org>
> Cc: Michael Ellerman <mpe@ellerman.id.au>
> Cc: Scott Wood <scottwood@freescale.com>
> Cc: Hongtao Jia <hongtao.jia@freescale.com>
> Cc: Marc Zyngier <marc.zyngier@arm.com>
> Cc: linuxppc-dev@lists.ozlabs.org
> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
> ---
> arch/powerpc/sysdev/mpic.c | 23 ++++-------------------
> 1 file changed, 4 insertions(+), 19 deletions(-)
Acked-by: Scott Wood <scottwood@freescale.com>
-Scott
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH 04/17] powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE instead of redundant mpic_irq_set_wake
2015-09-23 3:49 ` Thomas Gleixner
@ 2015-09-23 5:31 ` Wang Dongsheng
2015-09-23 8:00 ` Thomas Gleixner
0 siblings, 1 reply; 9+ messages in thread
From: Wang Dongsheng @ 2015-09-23 5:31 UTC (permalink / raw)
To: Thomas Gleixner
Cc: Scott Wood, Sudeep Holla, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org, Rafael J. Wysocki,
Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
Hongtao Jia, Marc Zyngier, linuxppc-dev@lists.ozlabs.org
> -----Original Message-----
> From: linux-kernel-owner@vger.kernel.org [mailto:linux-kernel-
> owner@vger.kernel.org] On Behalf Of Thomas Gleixner
> Sent: Wednesday, September 23, 2015 11:49 AM
> To: Wang Dongsheng-B40534
> Cc: Wood Scott-B07421; Sudeep Holla; linux-pm@vger.kernel.org; linux-
> kernel@vger.kernel.org; Rafael J. Wysocki; Benjamin Herrenschmidt; Paul
> Mackerras; Michael Ellerman; Jia Hongtao-B38951; Marc Zyngier; linuxppc-
> dev@lists.ozlabs.org
> Subject: RE: [PATCH 04/17] powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE inste=
ad of
> redundant mpic_irq_set_wake
>=20
> On Wed, 23 Sep 2015, Wang Dongsheng wrote:
> > > On Mon, 2015-09-21 at 16:47 +0100, Sudeep Holla wrote:
> > > > mpic_irq_set_wake return -ENXIO for non FSL MPIC and sets IRQF_NO_S=
USPEND
> > > > flag for FSL ones. enable_irq_wake already returns -ENXIO if irq_se=
t_wak
> > > > is not implemented. Also there's no need to set the IRQF_NO_SUSPEND=
flag
> > > > as it doesn't guarantee wakeup for that interrupt.
> > > >
> >
> > Non-freescale return -ENXIO, is there any issue? If non-freescale
> > platform does not support it, but IPs still use
> > enable/disable_irq_wake, we should return a error number.
>=20
> You can just set IRQCHIP_SKIP_SET_WAKE for FSL chips and not for the
> others.
>=20
> > @Scott:
> > If set this flag we cannot keep a irq as a wakeup source when system go=
ing to
> > SUSPEND or MEM.
> >
> > irq_set_wake() means we can set this irq as a wake source.
> > IRQCHIP_SKIP_SET_WAKE is ignore irq_set_wake() feature.
>=20
> Nonsense. IRQCHIP_SKIP_SET_WAKE merily tells the core not to bail on
> !chip->irq_set_wake(), but its still marking the interrupt as wakeup
> source and therefor not masking it on suspend.
>=20
Sorry, I just check irq_set_irq_wake() code, right, IRQCHIP_SKIP_SET_WAKE a=
lso can
going to irqd_set to mask IRQD_WAKEUP_STATE.
Yes, this flag just skip the irq_set_wake() not this feature.
Regards,
-Dongsheng
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH 04/17] powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE instead of redundant mpic_irq_set_wake
2015-09-23 5:31 ` Wang Dongsheng
@ 2015-09-23 8:00 ` Thomas Gleixner
0 siblings, 0 replies; 9+ messages in thread
From: Thomas Gleixner @ 2015-09-23 8:00 UTC (permalink / raw)
To: Wang Dongsheng
Cc: Scott Wood, Sudeep Holla, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org, Rafael J. Wysocki,
Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
Hongtao Jia, Marc Zyngier, linuxppc-dev@lists.ozlabs.org
On Wed, 23 Sep 2015, Wang Dongsheng wrote:
> > -----Original Message-----
> > From: linux-kernel-owner@vger.kernel.org [mailto:linux-kernel-
> > owner@vger.kernel.org] On Behalf Of Thomas Gleixner
> > Sent: Wednesday, September 23, 2015 11:49 AM
> > To: Wang Dongsheng-B40534
> > Cc: Wood Scott-B07421; Sudeep Holla; linux-pm@vger.kernel.org; linux-
> > kernel@vger.kernel.org; Rafael J. Wysocki; Benjamin Herrenschmidt; Paul
> > Mackerras; Michael Ellerman; Jia Hongtao-B38951; Marc Zyngier; linuxppc-
> > dev@lists.ozlabs.org
> > Subject: RE: [PATCH 04/17] powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE instead of
> > redundant mpic_irq_set_wake
Can you please fix you mail client to get rid of that silly copy of
the mail header?
> > On Wed, 23 Sep 2015, Wang Dongsheng wrote:
> > > > On Mon, 2015-09-21 at 16:47 +0100, Sudeep Holla wrote:
> > > > > mpic_irq_set_wake return -ENXIO for non FSL MPIC and sets IRQF_NO_SUSPEND
> > > > > flag for FSL ones. enable_irq_wake already returns -ENXIO if irq_set_wak
> > > > > is not implemented. Also there's no need to set the IRQF_NO_SUSPEND flag
> > > > > as it doesn't guarantee wakeup for that interrupt.
> > > > >
> > >
> > > Non-freescale return -ENXIO, is there any issue? If non-freescale
> > > platform does not support it, but IPs still use
> > > enable/disable_irq_wake, we should return a error number.
> >
> > You can just set IRQCHIP_SKIP_SET_WAKE for FSL chips and not for the
> > others.
> >
> > > @Scott:
> > > If set this flag we cannot keep a irq as a wakeup source when system going to
> > > SUSPEND or MEM.
> > >
> > > irq_set_wake() means we can set this irq as a wake source.
> > > IRQCHIP_SKIP_SET_WAKE is ignore irq_set_wake() feature.
> >
> > Nonsense. IRQCHIP_SKIP_SET_WAKE merily tells the core not to bail on
> > !chip->irq_set_wake(), but its still marking the interrupt as wakeup
> > source and therefor not masking it on suspend.
> >
>
> Sorry, I just check irq_set_irq_wake() code, right, IRQCHIP_SKIP_SET_WAKE also can
> going to irqd_set to mask IRQD_WAKEUP_STATE.
>
> Yes, this flag just skip the irq_set_wake() not this feature.
And just for completeness. That commit 5ff04b7287d87c 'powerpc/mpic:
add irq_set_wake support' is another example of trainwreck engineering.
desc->action->flags |= IRQF_NO_SUSPEND;
This is not only horribly avoiding any of the existing APIs, it's also
broken as hell. desc->action can be NULL when that is called.
It seems fleascale is hell bent to fiddle with the guts of the core
code mindlessly. See commit c866cda47f2c
Yours grumpy
tglx
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 04/17] powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE instead of redundant mpic_irq_set_wake
2015-09-23 4:06 ` Scott Wood
@ 2015-10-19 17:35 ` Sudeep Holla
2015-10-19 17:46 ` Scott Wood
0 siblings, 1 reply; 9+ messages in thread
From: Sudeep Holla @ 2015-10-19 17:35 UTC (permalink / raw)
To: Benjamin Herrenschmidt
Cc: Scott Wood, Sudeep Holla, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org, Thomas Gleixner, Rafael J. Wysocki,
Paul Mackerras, Michael Ellerman, Hongtao Jia, Marc Zyngier,
linuxppc-dev@lists.ozlabs.org, Wang Dongsheng-B40534
Hi Ben,
On 23/09/15 05:06, Scott Wood wrote:
> On Mon, 2015-09-21 at 16:47 +0100, Sudeep Holla wrote:
>> mpic_irq_set_wake return -ENXIO for non FSL MPIC and sets IRQF_NO_SUSPEND
>> flag for FSL ones. enable_irq_wake already returns -ENXIO if irq_set_wak
>> is not implemented. Also there's no need to set the IRQF_NO_SUSPEND flag
>> as it doesn't guarantee wakeup for that interrupt.
>>
>> This patch removes the redundant mpic_irq_set_wake and sets the
>> IRQCHIP_SKIP_SET_WAKE for only FSL MPIC.
>>
>> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>> Cc: Paul Mackerras <paulus@samba.org>
>> Cc: Michael Ellerman <mpe@ellerman.id.au>
>> Cc: Scott Wood <scottwood@freescale.com>
>> Cc: Hongtao Jia <hongtao.jia@freescale.com>
>> Cc: Marc Zyngier <marc.zyngier@arm.com>
>> Cc: linuxppc-dev@lists.ozlabs.org
>> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
>> ---
>> arch/powerpc/sysdev/mpic.c | 23 ++++-------------------
>> 1 file changed, 4 insertions(+), 19 deletions(-)
>
> Acked-by: Scott Wood <scottwood@freescale.com>
>
Can you pick this up via your tree ?
--
Regards,
Sudeep
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 04/17] powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE instead of redundant mpic_irq_set_wake
2015-10-19 17:35 ` Sudeep Holla
@ 2015-10-19 17:46 ` Scott Wood
0 siblings, 0 replies; 9+ messages in thread
From: Scott Wood @ 2015-10-19 17:46 UTC (permalink / raw)
To: Sudeep Holla
Cc: Benjamin Herrenschmidt, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org, Thomas Gleixner, Rafael J. Wysocki,
Paul Mackerras, Michael Ellerman, Hongtao Jia, Marc Zyngier,
linuxppc-dev@lists.ozlabs.org, Wang Dongsheng-B40534
On Mon, 2015-10-19 at 18:35 +0100, Sudeep Holla wrote:
> Hi Ben,
>
> On 23/09/15 05:06, Scott Wood wrote:
> > On Mon, 2015-09-21 at 16:47 +0100, Sudeep Holla wrote:
> > > mpic_irq_set_wake return -ENXIO for non FSL MPIC and sets
> > > IRQF_NO_SUSPEND
> > > flag for FSL ones. enable_irq_wake already returns -ENXIO if irq_set_wak
> > > is not implemented. Also there's no need to set the IRQF_NO_SUSPEND flag
> > > as it doesn't guarantee wakeup for that interrupt.
> > >
> > > This patch removes the redundant mpic_irq_set_wake and sets the
> > > IRQCHIP_SKIP_SET_WAKE for only FSL MPIC.
> > >
> > > Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> > > Cc: Paul Mackerras <paulus@samba.org>
> > > Cc: Michael Ellerman <mpe@ellerman.id.au>
> > > Cc: Scott Wood <scottwood@freescale.com>
> > > Cc: Hongtao Jia <hongtao.jia@freescale.com>
> > > Cc: Marc Zyngier <marc.zyngier@arm.com>
> > > Cc: linuxppc-dev@lists.ozlabs.org
> > > Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
> > > ---
> > > arch/powerpc/sysdev/mpic.c | 23 ++++-------------------
> > > 1 file changed, 4 insertions(+), 19 deletions(-)
> >
> > Acked-by: Scott Wood <scottwood@freescale.com>
> >
>
> Can you pick this up via your tree ?
OK.
-Scott
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2015-10-19 17:46 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1442850433-5903-1-git-send-email-sudeep.holla@arm.com>
2015-09-21 15:47 ` [PATCH 04/17] powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE instead of redundant mpic_irq_set_wake Sudeep Holla
2015-09-22 23:50 ` Scott Wood
2015-09-23 2:35 ` Wang Dongsheng
2015-09-23 3:49 ` Thomas Gleixner
2015-09-23 5:31 ` Wang Dongsheng
2015-09-23 8:00 ` Thomas Gleixner
2015-09-23 4:06 ` Scott Wood
2015-10-19 17:35 ` Sudeep Holla
2015-10-19 17:46 ` Scott Wood
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).