Thread (72 messages) 72 messages, 17 authors, 2015-10-26

RE: [PATCH 04/17] powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE instead of redundant mpic_irq_set_wake

From: Thomas Gleixner <hidden>
Date: 2015-09-23 08:01:10
Also in: linuxppc-dev, lkml

On Wed, 23 Sep 2015, Wang Dongsheng wrote:
quoted
-----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?
quoted
On Wed, 23 Sep 2015, Wang Dongsheng wrote:
quoted
quoted
On Mon, 2015-09-21 at 16:47 +0100, Sudeep Holla wrote:
quoted
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.
quoted
@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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help