From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1424455AbcFMPPg (ORCPT ); Mon, 13 Jun 2016 11:15:36 -0400 Received: from smtpoutz29.laposte.net ([194.117.213.104]:60968 "EHLO smtp.laposte.net" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1423119AbcFMPPe (ORCPT ); Mon, 13 Jun 2016 11:15:34 -0400 Subject: Re: Using irq-crossbar.c To: Marc Zyngier References: <575ADEBA.2030202@laposte.net> <575AE52E.9020005@arm.com> <575B16BD.50600@free.fr> <20160611105840.69324f8e@arm.com> Cc: Mason , Thomas Gleixner , LKML , Grygorii Strashko , Sricharan R , Mans Rullgard From: Sebastian Frias Message-ID: <575ECE0F.5090504@laposte.net> Date: Mon, 13 Jun 2016 17:15:27 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: <20160611105840.69324f8e@arm.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-VR-SrcIP: 83.142.147.193 X-VR-FullState: 0 X-VR-Score: -100 X-VR-Cause-1: gggruggvucftvghtrhhoucdtuddrfeekledrkedugdekiecutefuodetggdotefrodftvfcurfhrohhf X-VR-Cause-2: ihhlvgemucfntefrqffuvffgnecuuegrihhlohhuthemucehtddtnecusecvtfgvtghiphhivghnthhs X-VR-Cause-3: ucdlqddutddtmdenucfjughrpefuvfhfhffkffgfgggjtgfgsehtjegrtddtfeehnecuhfhrohhmpefu X-VR-Cause-4: vggsrghsthhirghnucfhrhhirghsuceoshhfkeegsehlrghpohhsthgvrdhnvghtqeenucffohhmrghi X-VR-Cause-5: nhepkhgvrhhnvghlrdhorhhgnecukfhppeekfedrudegvddrudegjedrudelfeenucfrrghrrghmpehm X-VR-Cause-6: ohguvgepshhmthhpohhuthdphhgvlhhopegludejvddrvdejrddtrddvudegngdpihhnvghtpeekfedr X-VR-Cause-7: udegvddrudegjedrudelfedpmhgrihhlfhhrohhmpehsfhekgeeslhgrphhoshhtvgdrnhgvthdprhgt X-VR-Cause-8: phhtthhopehmrghrtgdriiihnhhgihgvrhesrghrmhdrtghomh X-VR-AvState: No X-VR-State: 0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Marc, Thanks for your input, please find my comments below. On 06/11/2016 11:58 AM, Marc Zyngier wrote: >> I think Sebastian is even more baffled by the DT mess >> (sorry, intricacies) than I am. > > This mess is what has saved us from the apocalypse 5 years ago, and > describing a complex system is not easy (what a surprise...). If you > just want to apply recipes without understanding the underlying > constraints, you're in for a lot of pain. Nobody said we wanted a recipe, but it would help to have examples of each of the configurations supported. Indeed, there is effort in writing the DT bindings and even Documentation/IRQ-domain.txt yet I did not see example drivers for the different configurations. Also, it is difficult to know what is the recommended way, since old APIs are kept for a while. APIs are usually extended/designed around specific cases, so there must be examples, but they are not easy to find. > >> The base file he was referring to is: >> >> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/tango4-common.dtsi > > I know which file that is, it is mentioned in the diff. I was merely > trying to point out the glaring mistakes that could be enough for a > interrupt controller hierarchy to be completely non-functional: > > - Your crossbar doesn't have a #interrupt-cells property. How do you > expect the interrupt specifiers to be interpreted? Thanks for the pointer, actually, after adding "#interrupt-cells = <3>;" I can see the driver getting requests for domain maps and xlates :-) > - You've changed the default interrupt controller to be your crossbar. > Which means that all the sub-nodes are inheriting it. Have you > checked that this was valid for all of these nodes? What do you mean with "valid for all these nodes"? All HW irq lines go to the crossbar. > > And as it has been pointed out before, you seem to be reusing an > existing driver. Do you know for sure that the usage constraints are > similar? It is not being reused as is, I just thought (incorrectly apparently) that it was a good example for our case. Best regards, Sebastian