Received: by 10.213.65.68 with SMTP id h4csp4252232imn; Tue, 10 Apr 2018 11:43:01 -0700 (PDT) X-Google-Smtp-Source: AIpwx499cgaGxXLt/0bNAvloBhAr+VzMB7oRluC0kk7xnK4EctyazqmFyqOpf8GmyeYcWhBE7YNM X-Received: by 10.99.127.83 with SMTP id p19mr1081772pgn.161.1523385781168; Tue, 10 Apr 2018 11:43:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523385781; cv=none; d=google.com; s=arc-20160816; b=qx3Lmc7G0Ca4A/IZFnzRv3cqk+OBuD5mcOvuIj/3mwZBkyl/kVPv3S2hSwP2WUEEuk 3IHT/kedu+esyXEpMJLaBLcj/RrJ3Smnak1K49hR8/doBBgK91OXcdfyVcSSvUhFx431 dRzmlwy/ym3xhjibcDtL4rxxAUIltq/avloGcYimYUIoudpU5XVWAFvrwAg7s2cJzBPD qhMfR+eO1aV8jssaWk/KX+2Ez/tMStOGficBWK+a5hVgY8U+aqtgQaXWY82InHNHqlmU 7qBwOrNn2xiceVc8Yc4rI7ArHCUvnMIFEzkeJIZFwHmqUNo3N+TrtCy/8itXZ2VGDV5u SvnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:organization:from:references:cc:to:subject :arc-authentication-results; bh=zLyH01SBmBJETLaCE6ofmVSJe2j8V20AufEsPpApsKg=; b=VqsZv21SHcpfdC1VJq5dPFjqmukAuqJiXjobMFvaAM6NVcuwz9Ynfzlw9s0uNyJlwl u/6Dqij5RLRQy+Zw/sQJEF2lUnTa1AwsJNbzCevWCL0YLL1LnhuCJr7a2dpuFh1rMm6J EL1iZqa3FNrX71kXM3oqr78OoNE9XLI57d2Tf+qBivEPwWJ1hPptNQkIM7/uGPoxuOGM QdPx6ZUbbRfUx+9Qp3stTGAWx2X4E3ix+05nDPregzXBO1AOWhs2giifqg+ZW1AGGGVj kZzp4Lu8Y567x9rCvdg2Sg1HtTMKxT0aIkqQc0X4RdUPVKkrmRQJYccZ1fVjHAuIT14/ RuuA== ARC-Authentication-Results: i=1; mx.google.com; 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 n7-v6si3193751plk.531.2018.04.10.11.42.24; Tue, 10 Apr 2018 11:43:01 -0700 (PDT) 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; 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 S1752802AbeDJSf2 (ORCPT + 99 others); Tue, 10 Apr 2018 14:35:28 -0400 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:41512 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752677AbeDJSev (ORCPT ); Tue, 10 Apr 2018 14:34:51 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C890380D; Tue, 10 Apr 2018 11:34:50 -0700 (PDT) Received: from [10.1.206.75] (usa-sjc-imap-foss1.foss.arm.com [10.72.51.249]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1C3573F592; Tue, 10 Apr 2018 11:34:46 -0700 (PDT) Subject: Re: [PATCH] irqchip/gic-v3: Support v2m frame backwards compatibility mode To: Stephen Boyd , Thomas Petazzoni Cc: Jason Cooper , linux-arm-msm@vger.kernel.org, Hanna Hawa , Stephen Boyd , linux-kernel@vger.kernel.org, Srinivas Kandagatla , =?UTF-8?Q?Miqu=c3=a8l_Raynal?= , Thomas Gleixner , linux-arm-kernel@lists.infradead.org References: <20170320223614.1351-1-sboyd@codeaurora.org> <20180410170155.6e07113d@windsurf> <152338426182.180276.1835672071236851795@swboyd.mtv.corp.google.com> From: Marc Zyngier Organization: ARM Ltd Message-ID: <05b943f7-b3f0-ebdf-06e7-140000442a77@arm.com> Date: Tue, 10 Apr 2018 19:34:44 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <152338426182.180276.1835672071236851795@swboyd.mtv.corp.google.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Stephen, On 10/04/18 19:17, Stephen Boyd wrote: > Quoting Marc Zyngier (2018-04-10 08:23:00) >> On 10/04/18 16:01, Thomas Petazzoni wrote: >> >>> In the upcoming Armada 8KP, we have a GICv3, which has built-in support >>> for memory-triggered SPIs, thanks to the GICD_SETSPI_NSR and >>> GICD_CLRSPI_NSR, and the ICU will directly use this GICv3 >>> functionality. We would therefore very much like to have this GICv3 >>> feature provided as a MSI controller, which as Marc said would require >>> supporting level-triggered MSIs. >>> >>> Marc, let me know how we can collaborate on this topic. I'm able to >>> either test some preliminary patches, or work on such patches if >>> necessary (preferably with some initial directions). >> >> I have a vague idea how to support this. Given that level-triggered MSIs >> have to be platform MSIs (because it is just madness otherwise), we can >> probably store an extra message in the struct platform_msi_desc for the >> "lower the line" write. On activation, you'd get two callbacks, probably >> with a flag of some sort to indicate whether this is for the rising or >> falling edge. The thing I'm unclear about so far is how to let the >> generic MSI layer know that we're dealing with such an interrupt without >> make a total mess of everything. It is probably done by marking the >> interrupt level triggered, but there are some corner cases. >> >> And if that works, the PCI stuff will come for free (it is just a matter >> of implementing a new irqdomain on top of the base GICv3 one). >> >> I'll try to spend some time on it in the coming couple of weeks, but >> will have to rely on you for the testing (as I don't have much in the >> way of HW). > > I resent these patches late last year[1]. On the HW I had at the time we > were trying to support PCIe devices and we didn't need level interrupts. > I thought Marc had agreed to accept the patches without the level > interrupt support as long as we described the range of interrupts that > were supported but that doesn't seem to be the case anymore. My suggestion was to add the same level of functionality to the GICv3 driver, and not to reuse the GICv2m driver. This would have allowed us to enable level interrupts at a later time. Obviously, I wasn't clear enough about what I wanted to see. So this time, we'll do it the other way around: plug in level interrupts, and PCI/MSI will (mostly) appear for free. Thanks, M. -- Jazz is not dead. It just smells funny...