Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752616AbaGKJaO (ORCPT ); Fri, 11 Jul 2014 05:30:14 -0400 Received: from service87.mimecast.com ([91.220.42.44]:58973 "EHLO service87.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752568AbaGKJaL convert rfc822-to-8bit (ORCPT ); Fri, 11 Jul 2014 05:30:11 -0400 Date: Fri, 11 Jul 2014 10:30:07 +0100 From: Liviu Dudau To: Bjorn Helgaas Cc: linux-pci , Catalin Marinas , Will Deacon , Benjamin Herrenschmidt , Arnd Bergmann , linaro-kernel , Tanmay Inamdar , Grant Likely , Sinan Kaya , Jingoo Han , Kukjin Kim , Suravee Suthikulanit , LKML , Device Tree ML , LAKML Subject: Re: [PATCH v8 6/9] pci: Introduce a domain number for pci_host_bridge. Message-ID: <20140711093007.GN6501@e106497-lin.cambridge.arm.com> References: <1404240214-9804-1-git-send-email-Liviu.Dudau@arm.com> <1404240214-9804-7-git-send-email-Liviu.Dudau@arm.com> <20140708005954.GC22939@google.com> <20140708104655.GC6501@e106497-lin.cambridge.arm.com> <20140708224847.GC4980@e106497-lin.cambridge.arm.com> <20140710094758.GA6501@e106497-lin.cambridge.arm.com> MIME-Version: 1.0 In-Reply-To: User-Agent: Mutt/1.5.22 (2013-10-16) X-OriginalArrivalTime: 11 Jul 2014 09:30:08.0073 (UTC) FILETIME=[B472B390:01CF9CEA] X-MC-Unique: 114071110300808701 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jul 10, 2014 at 11:36:10PM +0100, Bjorn Helgaas wrote: > On Thu, Jul 10, 2014 at 3:47 AM, Liviu Dudau wrote: > > > I don't see a way out of adding new PCI interfaces if we want to have support in > > the PCI framework for unifying existing architectures. Of course, there is the painful > > alternative of changing the existing APIs and fixing arches in one go, but like you've > > said is going to be messy. I don't think I (or the people and companies wanting PCIe > > on arm64) should cop out and pick a quick fix that adds sysdata structure into arm64 > > just to avoid new APIs, as this is not going to help anyone in long term. What I can > > do is to create a set of parallel APIs for pci_{scan,create}_root_bus() that take > > a pci_host_bridge pointer and start converting architectures one by one to that API > > while deprecating the existing one. That way we can add arm64 easily as it would be > > the first architecture to use new code without breaking things *and* we provide a > > migration path. > > A lot of the v7 discussion was about pci_register_io_range(). I > apologize, because I think I really derailed things there and it was > unwarranted. Arnd was right that migrating other arches should be a > separate effort. I *think* I was probably thinking about the proposal > of adding pci_create_root_bus_in_domain(), and my reservations about > that got transferred to the pci_register_io_range() discussion. In > any case, I'm completely fine with pci_register_io_range() now. > > Most of the rest of the v7 discussion was about "Introduce a domain > number for pci_host_bridge." I think we should add arm64 using the > existing pci_scan_root_bus() and keep the domain number in the arm64 > sysdata structure like every other arch does. Isn't that feasible? > We can worry about domain unification later. Thanks! I'm really not that keen to add sysdata support in the arch code as it requires initialisation code that I have tried to eliminate. What I'm going to suggest for my v9 is a parallel set of APIs that arm64 will be the first to use without changing the existing pci_{scan,create}_bus() functions and then the conversion process will migrate arches to the new API. Best regards, Liviu > > I haven't followed closely enough to know what other objections people had. > > Bjorn > -- ==================== | I would like to | | fix the world, | | but they're not | | giving me the | \ source code! / --------------- ¯\_(ツ)_/¯ -- 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/