From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1423797AbcBQPWU (ORCPT ); Wed, 17 Feb 2016 10:22:20 -0500 Received: from mail-yk0-f175.google.com ([209.85.160.175]:35459 "EHLO mail-yk0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1422654AbcBQPWS (ORCPT ); Wed, 17 Feb 2016 10:22:18 -0500 MIME-Version: 1.0 In-Reply-To: <56C48C45.7050203@semihalf.com> References: <1455630825-27253-1-git-send-email-tn@semihalf.com> <1455630825-27253-8-git-send-email-tn@semihalf.com> <56C47E9A.5010901@semihalf.com> <56C48C45.7050203@semihalf.com> From: Jayachandran Chandrashekaran Nair Date: Wed, 17 Feb 2016 20:51:37 +0530 Message-ID: Subject: Re: [PATCH V5 07/15] pci, acpi: Provide generic way to assign bus domain number. To: Tomasz Nowicki Cc: Bjorn Helgaas , Arnd Bergmann , will.deacon@arm.com, catalin.marinas@arm.com, rafael@kernel.org, Hanjun Guo , Lorenzo Pieralisi , okaya@codeaurora.org, jiang.liu@linux.intel.com, Jayachandran Chandrashekaran Nair , Stefano Stabellini , robert.richter@caviumnetworks.com, Marcin Wojtas , Liviu.Dudau@arm.com, David Daney , wangyijing@huawei.com, Suravee.Suthikulpanit@amd.com, msalter@redhat.com, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, linaro-acpi@lists.linaro.org, jcm@redhat.com Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Feb 17, 2016 at 8:35 PM, Tomasz Nowicki wrote: > On 17.02.2016 15:21, Jayachandran Chandrashekaran Nair wrote: >> >> On Wed, Feb 17, 2016 at 7:37 PM, Tomasz Nowicki wrote: >>> >>> On 17.02.2016 14:44, Jayachandran Chandrashekaran Nair wrote: >>>> >>>> >>>> Tomasz, Lorenzo, >>>> >>>> On Tue, Feb 16, 2016 at 7:23 PM, Tomasz Nowicki wrote: >>>>> >>>>> >>>>>> As we now have valid PCI host bridge device reference we can >>>>>> introduce code that is going to find its bus domain number using >>>>>> ACPI _SEG method. >>>>>> >>>>>> Note that _SEG method is optional, therefore _SEG absence means >>>>>> that all PCI buses belong to domain 0. >>>>>> >>>>>> While at it, for the sake of code clarity we put ACPI and DT domain >>>>>> assign methods into the corresponding helpers. >>>> >>>> >>>> In my patchset, I had a slightly different and I think better approach >>>> for >>>> this without calling the _SEG method again. Please see >>>> http://www.spinics.net/lists/arm-kernel/msg478167.html >>>> at the last part >>>> ofhttp://www.spinics.net/lists/arm-kernel/msg478169.html >>> >>> >>> Relying on NULL parent device to make decision on boot method is really >>> ugly >>> way. This may hit us again once we want to obtain another firmware >>> specific >>> info e.g. numa node. IMO we need to fix it this way. >> >> >> I am not relying on NULL there, in the current code parent is NULL >> in case of ACPI, and the check is needed not to crash (unless that >> has changed). > > > This series passes down valid parent, see [PATCH V5 06/15]. > >> >> The main part was the macro acpi_pci_get_segment() and the use >> of acpi_pci_root_info from sysdata to do this. > > > Since we can obtain related firmware specific data from valid parent device > (without defining another accessors), I do not see the point to use sysdata. > Let me know your opinion. In the patch, you use the parent info and call _SEG method again. The segment information is available in the ->root->segment of acpi_pci_root_info if you setup the sysdata like in my patch JC.