From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752070AbcGTGau (ORCPT ); Wed, 20 Jul 2016 02:30:50 -0400 Received: from Galois.linutronix.de ([146.0.238.70]:57900 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751212AbcGTGat (ORCPT ); Wed, 20 Jul 2016 02:30:49 -0400 Date: Wed, 20 Jul 2016 08:28:35 +0200 (CEST) From: Thomas Gleixner To: =?ISO-8859-15?Q?S=F6ren_Brinkmann?= cc: Jason Cooper , Marc Zyngier , Michal Simek , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: SOC-specific action for irq_set_wake In-Reply-To: <20160719181804.GX3847@xsjsorenbubuntu> Message-ID: References: <20160719181804.GX3847@xsjsorenbubuntu> User-Agent: Alpine 2.11 (DEB 23 2013-08-11) MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="8323329-1027476419-1468996115=:3564" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323329-1027476419-1468996115=:3564 Content-Type: TEXT/PLAIN; charset=utf-8 Content-Transfer-Encoding: 8BIT On Tue, 19 Jul 2016, Sören Brinkmann wrote: > we are working on the PM solution for Zynq MPSOC and ran into some > problem when setting the wake source. > > The situation is that when the A53 is in suspend, the GIC(v2) may be > powered down. In that state a companion core is handling wake > events/IRQs, but we expect the OS/Linux to notify the companion core > about what device/IRQ is a wake up source. Hence, my idea was to capture > enabling/disabling wake IRQs in our platform PM code and then > communicate with the FW as needed during suspend operations. The problem > is: I don't see a good way to notify the platform code about these > events. > > My ideas were: > 1. Use the irq_chip irq_set_wake function > My thought was to implement the irq_set_wake function in a > SOC-specific way (could even be generic and call some notifier chain or Don't even think about notifier chains. > similar) to notify the platform PM code when a device/IRQ is > enabled/disabled as wake up source. > My problem is that the SKIP_IRQ_SET_WAKE flag is set in the generic > driver (drivers/irqchip/irq-gic.c) and platforms cannot implement > irq_set_wake without changes in the common code. So and because it requires changes in the common code you think aboiut notifiers and other absurdities. Come on, common code is not a sacred cow. It can be modified and if you need for your particular platform that SKIP_IRQ_SET_WAKE is cleared, then there are a gazillion of sane ways to do that. Thanks, tglx --8323329-1027476419-1468996115=:3564--