From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Yinghai Lu <yinghai@kernel.org>
Cc: Liviu Dudau <Liviu.Dudau@arm.com>,
Bjorn Helgaas <bhelgaas@google.com>,
Arnd Bergmann <arnd@arndb.de>, Rob Herring <robh+dt@kernel.org>,
Jason Gunthorpe <jgunthorpe@obsidianresearch.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <Will.Deacon@arm.com>,
Russell King <linux@arm.linux.org.uk>,
linux-pci <linux-pci@vger.kernel.org>,
Linus Walleij <linus.walleij@linaro.org>,
Tanmay Inamdar <tinamdar@apm.com>,
Grant Likely <grant.likely@secretlab.ca>,
Sinan Kaya <okaya@codeaurora.org>,
Jingoo Han <jg1.han@samsung.com>,
Kukjin Kim <kgene.kim@samsung.com>,
Suravee Suthikulanit <suravee.suthikulpanit@amd.com>,
linux-arch <linux-arch@vger.kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
Device Tree ML <devicetree@vger.kernel.org>,
LAKML <linux-arm-kernel@lists.infradead.org>,
Jiang Liu <jiang.liu@linux.intel.com>
Subject: Re: [PATCH v13 10/12] PCI: Assign unassigned bus resources in pci_scan_root_bus()
Date: Tue, 30 Sep 2014 07:02:01 +1000 [thread overview]
Message-ID: <1412024521.4285.98.camel@pasglop> (raw)
In-Reply-To: <CAE9FiQUkcPRMUEn01VJMyXz8aYvk6C5MBNZi5NCV2m3qkNabeg@mail.gmail.com>
On Mon, 2014-09-29 at 12:06 -0700, Yinghai Lu wrote:
> On Mon, Sep 29, 2014 at 11:25 AM, Yinghai Lu <yinghai@kernel.org> wrote:
> > On Mon, Sep 29, 2014 at 7:29 AM, Liviu Dudau <Liviu.Dudau@arm.com> wrote:
> >> If the firmware has not assigned all the bus resources and we are not just
> >> probing the PCI buses, it makes sense to assign the unassigned resources
> >> in pci_scan_root_bus().
> >>
> >> Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
> >> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
> >> CC: Arnd Bergmann <arnd@arndb.de>
> >> CC: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
> >> CC: Rob Herring <robh+dt@kernel.org>
> >> ---
> >> drivers/pci/probe.c | 3 +++
> >> 1 file changed, 3 insertions(+)
> >>
> >> diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
> >> index 636d1c9..d2ebd49 100644
> >> --- a/drivers/pci/probe.c
> >> +++ b/drivers/pci/probe.c
> >> @@ -1951,6 +1951,9 @@ struct pci_bus *pci_scan_root_bus(struct device *parent, int bus,
> >> if (!found)
> >> pci_bus_update_busn_res_end(b, max);
> >>
> >> + if (!pci_has_flag(PCI_PROBE_ONLY))
> >> + pci_assign_unassigned_bus_resources(b);
> >> +
> >> pci_bus_add_devices(b);
> >> return b;
> >> }
> >
> > No, you can not do it that early.
> >
> > On x86, we need to call
> > pcibios_resource_survey_bus at first.
>
> on x86:
> pcibios_init
> pcibios_resource_survey()
> pcibios_assign_resources() via fs_initcall
Right and on powerpc and others as well. We need to survey existing
resources. We also have a number of platform things that might need
to happen before we do the final re-assignment pass.
Ben.
WARNING: multiple messages have this Message-ID (diff)
From: benh@kernel.crashing.org (Benjamin Herrenschmidt)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v13 10/12] PCI: Assign unassigned bus resources in pci_scan_root_bus()
Date: Tue, 30 Sep 2014 07:02:01 +1000 [thread overview]
Message-ID: <1412024521.4285.98.camel@pasglop> (raw)
In-Reply-To: <CAE9FiQUkcPRMUEn01VJMyXz8aYvk6C5MBNZi5NCV2m3qkNabeg@mail.gmail.com>
On Mon, 2014-09-29 at 12:06 -0700, Yinghai Lu wrote:
> On Mon, Sep 29, 2014 at 11:25 AM, Yinghai Lu <yinghai@kernel.org> wrote:
> > On Mon, Sep 29, 2014 at 7:29 AM, Liviu Dudau <Liviu.Dudau@arm.com> wrote:
> >> If the firmware has not assigned all the bus resources and we are not just
> >> probing the PCI buses, it makes sense to assign the unassigned resources
> >> in pci_scan_root_bus().
> >>
> >> Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
> >> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
> >> CC: Arnd Bergmann <arnd@arndb.de>
> >> CC: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
> >> CC: Rob Herring <robh+dt@kernel.org>
> >> ---
> >> drivers/pci/probe.c | 3 +++
> >> 1 file changed, 3 insertions(+)
> >>
> >> diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
> >> index 636d1c9..d2ebd49 100644
> >> --- a/drivers/pci/probe.c
> >> +++ b/drivers/pci/probe.c
> >> @@ -1951,6 +1951,9 @@ struct pci_bus *pci_scan_root_bus(struct device *parent, int bus,
> >> if (!found)
> >> pci_bus_update_busn_res_end(b, max);
> >>
> >> + if (!pci_has_flag(PCI_PROBE_ONLY))
> >> + pci_assign_unassigned_bus_resources(b);
> >> +
> >> pci_bus_add_devices(b);
> >> return b;
> >> }
> >
> > No, you can not do it that early.
> >
> > On x86, we need to call
> > pcibios_resource_survey_bus at first.
>
> on x86:
> pcibios_init
> pcibios_resource_survey()
> pcibios_assign_resources() via fs_initcall
Right and on powerpc and others as well. We need to survey existing
resources. We also have a number of platform things that might need
to happen before we do the final re-assignment pass.
Ben.
next prev parent reply other threads:[~2014-09-29 21:03 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-29 14:29 [PATCH v13 00/12] Support for creating generic PCI host bridges from DT Liviu Dudau
2014-09-29 14:29 ` Liviu Dudau
2014-09-29 14:29 ` [PATCH v13 01/12] asm-generic/io.h: Fix ioport_map() for !CONFIG_GENERIC_IOMAP Liviu Dudau
2014-09-29 14:29 ` Liviu Dudau
2014-09-29 14:29 ` Liviu Dudau
2014-09-29 14:29 ` [PATCH v13 02/12] of/pci: Add pci_register_io_range() and pci_pio_to_address() Liviu Dudau
2014-09-29 14:29 ` Liviu Dudau
2014-09-29 19:20 ` Al Stone
2014-09-29 19:20 ` Al Stone
2014-09-30 8:59 ` Liviu Dudau
2014-09-30 8:59 ` Liviu Dudau
2014-09-30 8:59 ` Liviu Dudau
2014-09-29 14:29 ` [PATCH v13 03/12] ARM: Define PCI_IOBASE as the base of virtual PCI IO space Liviu Dudau
2014-09-29 14:29 ` Liviu Dudau
2014-09-29 14:29 ` Liviu Dudau
2014-09-29 14:29 ` [PATCH v13 04/12] of/pci: Define of_pci_range_to_resource() only when CONFIG_PCI=y Liviu Dudau
2014-09-29 14:29 ` Liviu Dudau
2014-09-29 14:29 ` Liviu Dudau
2014-09-29 14:29 ` [PATCH v13 05/12] of/pci: Move of_pci_range_to_resources() to of/address.c Liviu Dudau
2014-09-29 14:29 ` Liviu Dudau
2014-09-29 14:29 ` Liviu Dudau
2014-09-29 14:29 ` [PATCH v13 06/12] of/pci: Fix the conversion of IO ranges into IO resources Liviu Dudau
2014-09-29 14:29 ` Liviu Dudau
2014-09-29 14:29 ` [PATCH v13 07/12] PCI: Add generic domain handling Liviu Dudau
2014-09-29 14:29 ` Liviu Dudau
2014-09-29 14:29 ` [PATCH v13 08/12] of/pci: Add pci_get_new_domain_nr() and of_get_pci_domain_nr() Liviu Dudau
2014-09-29 14:29 ` Liviu Dudau
2014-09-29 14:29 ` [PATCH v13 09/12] of/pci: Add support for parsing PCI host bridge resources from DT Liviu Dudau
2014-09-29 14:29 ` Liviu Dudau
2014-09-29 14:29 ` [PATCH v13 10/12] PCI: Assign unassigned bus resources in pci_scan_root_bus() Liviu Dudau
2014-09-29 14:29 ` Liviu Dudau
2014-09-29 18:25 ` Yinghai Lu
2014-09-29 18:25 ` Yinghai Lu
2014-09-29 19:06 ` Yinghai Lu
2014-09-29 19:06 ` Yinghai Lu
2014-09-29 21:02 ` Benjamin Herrenschmidt [this message]
2014-09-29 21:02 ` Benjamin Herrenschmidt
2014-09-29 21:33 ` Bjorn Helgaas
2014-09-29 21:33 ` Bjorn Helgaas
2014-09-29 22:31 ` Benjamin Herrenschmidt
2014-09-29 22:31 ` Benjamin Herrenschmidt
2014-09-29 23:08 ` Bjorn Helgaas
2014-09-29 23:08 ` Bjorn Helgaas
2014-09-30 8:54 ` Liviu Dudau
2014-09-30 8:54 ` Liviu Dudau
2014-09-29 14:29 ` [PATCH v13 11/12] PCI: Add pci_remap_iospace() to map bus I/O resources Liviu Dudau
2014-09-29 14:29 ` Liviu Dudau
2014-09-29 14:29 ` Liviu Dudau
2014-09-29 14:29 ` [PATCH v13 12/12] arm64: Add architectural support for PCI Liviu Dudau
2014-09-29 14:29 ` Liviu Dudau
2014-09-29 14:29 ` Liviu Dudau
2014-09-29 19:43 ` [PATCH v13 00/12] Support for creating generic PCI host bridges from DT Bjorn Helgaas
2014-09-29 19:43 ` Bjorn Helgaas
2014-09-30 10:39 ` Liviu Dudau
2014-09-30 10:39 ` Liviu Dudau
[not found] ` <20140930103942.GO841-2JSQmVVBSi7ZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org>
2014-09-30 16:18 ` Bjorn Helgaas
2014-09-30 16:18 ` Bjorn Helgaas
2014-09-30 16:18 ` Bjorn Helgaas
2014-09-30 16:45 ` Liviu Dudau
2014-09-30 16:45 ` Liviu Dudau
2014-09-30 16:54 ` Liviu Dudau
2014-09-30 16:54 ` Liviu Dudau
2014-10-08 7:44 ` Robert Richter
2014-10-08 7:44 ` Robert Richter
2014-10-08 9:13 ` Liviu Dudau
2014-10-08 9:13 ` Liviu Dudau
[not found] ` <20141008091321.GC4652-2JSQmVVBSi7ZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org>
2014-10-08 10:36 ` Robert Richter
2014-10-08 10:36 ` Robert Richter
2014-10-08 10:36 ` Robert Richter
2014-10-08 11:46 ` Liviu Dudau
2014-10-08 11:46 ` Liviu Dudau
2014-10-08 11:46 ` Liviu Dudau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1412024521.4285.98.camel@pasglop \
--to=benh@kernel.crashing.org \
--cc=Liviu.Dudau@arm.com \
--cc=Will.Deacon@arm.com \
--cc=arnd@arndb.de \
--cc=bhelgaas@google.com \
--cc=catalin.marinas@arm.com \
--cc=devicetree@vger.kernel.org \
--cc=grant.likely@secretlab.ca \
--cc=jg1.han@samsung.com \
--cc=jgunthorpe@obsidianresearch.com \
--cc=jiang.liu@linux.intel.com \
--cc=kgene.kim@samsung.com \
--cc=linus.walleij@linaro.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=okaya@codeaurora.org \
--cc=robh+dt@kernel.org \
--cc=suravee.suthikulpanit@amd.com \
--cc=tinamdar@apm.com \
--cc=yinghai@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.