From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753285AbbJOPrP (ORCPT ); Thu, 15 Oct 2015 11:47:15 -0400 Received: from mout.kundenserver.de ([212.227.17.10]:56960 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751145AbbJOPrN (ORCPT ); Thu, 15 Oct 2015 11:47:13 -0400 From: Arnd Bergmann To: linux-arm-kernel@lists.infradead.org Cc: Marc Zyngier , Thomas Gleixner , Jiang Liu , Jason Cooper , linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Ma Jun Subject: Re: [PATCH RFC 0/7] Adding core support for wire-MSI bridges Date: Thu, 15 Oct 2015 17:46:33 +0200 Message-ID: <5027676.zPNVVQXaP4@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <1444923568-17413-1-git-send-email-marc.zyngier@arm.com> References: <1444923568-17413-1-git-send-email-marc.zyngier@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:q4vkhEXxz2WNHrb8pStrci5UG+wNY5ovbYBTCkJfYo9JGJ10LuG ebMHbg2qRZFu/Xnf3bxB9o3TOmo6wb20WLgnU3MRQeRHKzwMUiPMXQxvgj+TAatiCZGwv50 Z5svZ0kxP0qcPCLkr/9e7IRq90J5UsH/bIkOLp/r1FnYcEG4VQjMVy9DpP/a3VUfTTORK3U IfSDirsksbE8WTquXxZFg== X-UI-Out-Filterresults: notjunk:1;V01:K0:Ihb/CIUta3g=:6L3D1+Ams2wVyc4KVXUaap 5KhzjpJowBBm4d/xKxg5Uw8H6ktSDKh3VXE/PQpLLZP5eikyWAZe9GzzZxjuNwU6YxCtyXcSm pOJn6haAwhYCkrxEum88qiYOQLP96RhCOw+AucE4kveBNuCisRp1CFmR7Kvqm4F0x3dCXEgMS v5UC0DN5023ayUqOysfe/+3qYCKyn3MMB1Z7wFIBmob/ewtRJWPrh20SkLsM+oUM+GU6hoJKi alcRwp4DKsCSE5KrESVbSFZyLkpfHroqysFTSOPc0uy0OGjU1vAKxsaDd2bKWKHybhMbK9qnn AKcGyo8els78baQ4aFDG3jc6d/CJn/P3SDaOQvMpxXVUKXyaX9Nt3jJVnPxWTp6A2pAS92hh0 +cPfWvCBJxz0Ieu2UI6iOHQE/DDDNI5gDkIAiQHUkwgkuAhSfkrAYvzaMiiysdvo6WM/ai9G/ LEDAEeTlOwuzjsJt+EKhm4C1HodCsoU5bhhrgMUEPzUae9FAwnHJ/n8qfkZH8DnXcg5SdFuna rdH/c+TG4tnazk6XZ/MMeQ1XM352zIpn9mwg7fDBkW+DHai50P4Oj2Jq9ryI3FJ9tYv0E4biE TIIz3BnKACMhp7UbLvWkACl29vLlbO4xuvsjm9lLZyWvCFwboMfwVGgIy1ybLH/EQ7STCeosf PN77Sx7maj1xHSe/nW585Wq3CGESnfN7LZXpWs00qm1se8b0+9jp58xZz/U22J8tVroy2Kcc9 Sk2boQcYZfdWvMzf Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thursday 15 October 2015 16:39:21 Marc Zyngier wrote: > There seems to be a new class of interrupt controller out there whose > sole purpose (apart from making everybody's life a nightmare) is to > turn wired interrupts into MSIs. > > Instead of considering that the MSIs allocated to a device are for the > direct use of that device, we can turn this set of MSIs into a irq > domain, and use that domain to build a standard irqchip on top of > that. > > This requires some (slightly ugly) surgery in both the generic MSI and > platform MSI layers, but the amount of code is actually relatively > small (about +150 LoC so far). > > On top of that, we add a dummy driver for a such a bridge, hoping that > this will give enough information to driver authors so that they can > use this new feature. An even more stupid client driver is provided to > show the interrupt stack allocation: I'm pretty sure you've thought of this before and it doesn't work, but can you explain why we can't just treat this as an edge-triggered nested irqchip? As long as the weird hardware can be preconfigured by the bootloader, the device that is attached to it shouldn't care how the interrupt ends up at the CPU. Arnd