Received: by 10.223.176.46 with SMTP id f43csp2505927wra; Thu, 25 Jan 2018 10:53:20 -0800 (PST) X-Google-Smtp-Source: AH8x224AuivCQCOKdXbS4w82YPQ30QGLb6UJhKGmCS2DGaXBG8P6UNRWOL9aMBDN+UaQkmydAeQy X-Received: by 2002:a17:902:6b83:: with SMTP id p3-v6mr12026222plk.18.1516906400040; Thu, 25 Jan 2018 10:53:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516906400; cv=none; d=google.com; s=arc-20160816; b=tx9myc65G/jX/zTr3Z3qJL+eTd6DwUaFFZ4n64PRpz1myiFegfXWMeFHXpFjqeIGx2 6oAcQRzFvEY1jLKCwsKmtBgusAil8UQaOKVheWD9wmkN+c+i6yTi+mvUJzg6YMmP/Xza 2x3gPZdQw69T63C3FDRRUoyKJyBm1EAq66HTYlNSiubJoVn5zZ+8wnnj40OsLzKj+3a4 DnBGH1aJBZY22bu4C05JnCtJU+fG/oELQvhd+Qtv05SoVWLzrsTNDUEHHFIDlXGLo7Mv WOHobvSsbw04AzBs3M1iOxb2NJWk9friqrAbmxL3hiq1SXhvKc/u+BfkRRcaQtrGXXAL IAlw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dmarc-filter:dkim-signature:dkim-signature :arc-authentication-results; bh=f79bsLdGBH0ohrWRAqUG9hDkg/SBlLCG3Aa00yUDVGI=; b=hX2xRrcIbNEj7AVD39fjEMuvNnsQ/qqNGWZMYnniOqloo3bMveHr1H6ZgtKlNR32WO 1fl1oNpks3YoiQrB47ZHmp5HYFGtgRNIUbSi8OM8G8udjA/bgklASlYBn/7iEZ2tw6AY WB+q7vE5TMM08gdjcCtlGDuRbqABxWbeInN7RvLo4HeaxgIh435wNJVO3Gc8wDuWYohF tOxuFieZj8+7Ag34waRPudb8jhcal1LRwzTwK0oJuMPdhW1a1tRHul8A4lafmAzeHDmK HvpL4T+AGQJyiqTiowf+LaMJ6/S6APU7HutZsLKQX9SdN2GnmFfZEVD5qfSGlZEX+4jY K7Sg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=edMZHpMY; dkim=pass header.i=@codeaurora.org header.s=default header.b=edMZHpMY; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w86si5024044pfa.304.2018.01.25.10.53.05; Thu, 25 Jan 2018 10:53:19 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=edMZHpMY; dkim=pass header.i=@codeaurora.org header.s=default header.b=edMZHpMY; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751291AbeAYSwj (ORCPT + 99 others); Thu, 25 Jan 2018 13:52:39 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:59126 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751171AbeAYSwi (ORCPT ); Thu, 25 Jan 2018 13:52:38 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id BC84C609D1; Thu, 25 Jan 2018 18:52:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1516906357; bh=f79bsLdGBH0ohrWRAqUG9hDkg/SBlLCG3Aa00yUDVGI=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=edMZHpMYsxFzJlmKmVzg83GNRLOyvtcPpZJv9yEnH9MQKcorOW6p+Ab4sWL4HPEpf BSq5NRhAbOysndTrzfu0X647DD80M2agOncLdjpbqa4NlK51VyMnDaBcx/hBf0aMhE YJ8ejyH0Xg/TEqQePgOsy04yj2DF+dEpyM+1/ZpI= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0 Received: from localhost (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: ilina@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id DB5EF6028B; Thu, 25 Jan 2018 18:52:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1516906357; bh=f79bsLdGBH0ohrWRAqUG9hDkg/SBlLCG3Aa00yUDVGI=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=edMZHpMYsxFzJlmKmVzg83GNRLOyvtcPpZJv9yEnH9MQKcorOW6p+Ab4sWL4HPEpf BSq5NRhAbOysndTrzfu0X647DD80M2agOncLdjpbqa4NlK51VyMnDaBcx/hBf0aMhE YJ8ejyH0Xg/TEqQePgOsy04yj2DF+dEpyM+1/ZpI= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org DB5EF6028B Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=ilina@codeaurora.org Date: Thu, 25 Jan 2018 18:52:36 +0000 From: Lina Iyer To: Marc Zyngier Cc: tglx@linutronix.de, jason@lakedaemon.net, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, sboyd@codeaurora.org, rnayak@codeaurora.org, asathyak@codeaurora.org Subject: Re: [PATCH RFC 1/4] drivers: irqchip: pdc: add support for PDC interrupt controller Message-ID: <20180125185236.GD12603@codeaurora.org> References: <20180123175656.11942-1-ilina@codeaurora.org> <20180123175656.11942-2-ilina@codeaurora.org> <9dd8307c-4906-4707-d4d7-2ef0fc8307b6@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: <9dd8307c-4906-4707-d4d7-2ef0fc8307b6@arm.com> User-Agent: Mutt/1.9.2 (2017-12-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Marc, On Wed, Jan 24 2018 at 14:20 +0000, Marc Zyngier wrote: >Hi Lina, Archana, > >On 23/01/18 17:56, Lina Iyer wrote: >> From : Archana Sathyakumar >> >> The Power Domain Controller (PDC) hardware block on Qualcomm SoCs houses >> an interrupt controller along with other domain control functions to >> handle interrupt related functions like handle falling edge or active >> low which are not detected at the GIC and handle wakeup interrupts. >> >> The interrupt controller is on an always-on domain for the purpose of >> waking up the processor, but only a subset of the processor's interrupts >> are routed through the PDC to the GIC. The PDC powers on the processor's >> domain, bringing the domain out of low power mode and replays the >> pending interrupts so the GIC may wake up the processor. >> >> Signed-off-by: Archana Sathyakumar >> Signed-off-by: Lina Iyer >> [Lina: Split out DT bindings target data and initialization changes] >> --- >There is one thing that worries me in this driver. You say that the PDC >"replays the pending interrupts so the GIC may wake up the processor". >How is that done without any PM hook allowing for a switch from GIC to >PDC? How do you ensure that you transition from one to the other without >loosing interrupts (edge interrupts, in particular)? Or can you get >spurious interrupts instead? > The hand-off between PDC and GIC happens in hardware and is transparent to software. S/W just enables the PDC pins that would wake up the processor and when any of those interrupts fire, the hardware powers up the domain which inturn makes the GIC operational. The PDC then replays the interrupts so the GIC may see them and wake up the CPUs. -- Lina