Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759113AbbFBNFI (ORCPT ); Tue, 2 Jun 2015 09:05:08 -0400 Received: from foss.arm.com ([217.140.101.70]:37135 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759070AbbFBNFC (ORCPT ); Tue, 2 Jun 2015 09:05:02 -0400 Message-ID: <556DA9F9.5080902@arm.com> Date: Tue, 02 Jun 2015 14:04:57 +0100 From: Marc Zyngier Organization: ARM Ltd User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.4.0 MIME-Version: 1.0 To: "majun (F)" , Catalin Marinas , LKML , linux-arm-kernel , Will Deacon , Mark Rutland , jason Cooper , Thomas Gleixner , Li zefan , "huxinwei@huawei.com" Subject: Re: [PATCH 3/4]: Change arm-gic-its to support the Mbigen interrupt References: <55692C32.2050209@huawei.com> <556C2226.70502@arm.com> <556D94C1.6060300@huawei.com> In-Reply-To: <556D94C1.6060300@huawei.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1623 Lines: 43 On 02/06/15 12:34, majun (F) wrote: > Hi Marc: Thanks for your review. > > Accroding to my initial scheme, mbigen and pci devices uses the same > parent domain--MSI domain. > > But accroding to your opinion, it seems use the ITS domain as parent > domain of Mbigne is a better way. Am i right ? Let's face it, your MBIGEN is not a PCI device at all. It is something else entirely, and you're just adding complexity to a subsystem that really doesn't need it. So why would you hack the PCI domain implementation at all? The kernel now has the right level of abstraction, where you can provide interrupts to different implementations of MSIs. Even better, you can base your MBIGEN domain on the core code that lives in kernel/irq/msi.c, just like PCI does (drivers/pci/msi.c). You will end up with something like: PCI/MSI --> ITS --> GIC MBIGEN _/ where both domains can coexist happily, and still share a common code base. This shouldn't require any hack either. The only possible snag is to be able to obtain a pointer to the ITS domain (there is currently no provision for that), but that should be easily solved. My point here is that if you need to do touch the core code, you need to be able to justify it. So far, I haven't seen anything in your HW that would require the kind of redesign you've posted. Thanks, M. -- Jazz is not dead. It just smells funny... -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/