All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: pci-3.14 resource alloc
       [not found]   ` <1391643656.1067.1.camel@artifact>
@ 2014-02-14  0:50     ` Yinghai Lu
       [not found]       ` <z9zi9m.n0zpxd.1hgeaud-qmf@mail.snewbury.org.uk>
  0 siblings, 1 reply; 9+ messages in thread
From: Yinghai Lu @ 2014-02-14  0:50 UTC (permalink / raw)
  To: Steven Newbury; +Cc: Linux Kernel Mailing List, linux-pci

Hi, Steven,

I just rebased all my pci patches (busn_alloc and resource allocation)
on top Linus
tree and Bjorn's pci/next.

Please check them at
git://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git
for-pci-3.15

Let me know if it still works for your setup.

Thanks

Yinghai

Yinghai Lu (28):
  PCI: Try best to allocate pref mmio 64bit above 4g
  PCI, EDAC: fix ordering assign resource and bus_add
  PCI, sysfs: Clean up rescan with schedule_callback
  PCI: Rescan bus using callback method too
  PCI, sysfs: Clean up rescan with schedule_callback
  resources: Split out __allocate_resource()
  resources: Add resource_shrink_parents_top()
  resources: Add probe_resource()
  resources: Replace registered resource in tree.
  PCI: Add pci_bus_extend/shrink_top()
  PCI: Probe safe range that we can use for unassigned bridge.
  PCI: Add pci_bus_replace_busn_res()
  PCI: Allocate bus range instead of use max blindly
  PCI: Strict checking of valid range for bridge
  PCI: Kill pci_fixup_parent_subordinate_busnr()
  PCI: Seperate child bus scanning to two passes overall
  pcmcia: Remove workaround for fixing pci parent bus subordinate
  PCI, pciehp: Remove not needed bus number range checking
  PCI: More strict checking of valid range for bridge
  PCI: Don't shrink too much for hotplug bridge
  PCI: Keep more big bus range for sriov
  PCI: Allocate resource with big size at first when alignment is the same
  resource: Make find_resource could return just fit resource
  resource: Add allocate_resource_fit()
  PCI: Don't allocate small resource in big empty space.
  resource: Only return range with needed align
  PCI: Sort unassigned resources with correct alignment
  PCI, x86: Add pci=assign_pref_bars to realloc pref bars

 arch/x86/include/asm/pci_x86.h |   1 +
 arch/x86/pci/common.c          |   3 +
 arch/x86/pci/i386.c            |  21 ++-
 drivers/edac/i82875p_edac.c    |   3 +-
 drivers/pci/bus.c              |  33 +++--
 drivers/pci/hotplug-pci.c      |  12 +-
 drivers/pci/pci-sysfs.c        |  41 ++++--
 drivers/pci/probe.c            | 321 ++++++++++++++++++++++++++++++-----------
 drivers/pci/remove.c           |  35 +++++
 drivers/pci/setup-bus.c        | 190 ++++++++++++++++--------
 drivers/pci/setup-res.c        |  48 ++++--
 drivers/pcmcia/yenta_socket.c  |  75 ----------
 include/linux/ioport.h         |  15 ++
 include/linux/pci.h            |  11 ++
 kernel/resource.c              | 300 ++++++++++++++++++++++++++++++++++++--
 15 files changed, 828 insertions(+), 281 deletions(-)

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: pci-3.14 resource alloc
       [not found]           ` <1392392764.3520.11.camel@devel-n900>
@ 2014-02-14 19:11             ` Yinghai Lu
  2014-02-18 10:08               ` Steven Newbury
  0 siblings, 1 reply; 9+ messages in thread
From: Yinghai Lu @ 2014-02-14 19:11 UTC (permalink / raw)
  To: Steven Newbury; +Cc: linux-pci, Linux Kernel Mailing List

On Fri, Feb 14, 2014 at 7:46 AM, Steven Newbury <steve@snewbury.org.uk> wrote:
>>
>> Oh, never mind! I didn't notice pref_bar has been renamed to
>> assign_pref_bars. It's working now! :)
>
> There's no pci bridge/bus hotplug though. Docking doesn't reveal the
> pci-e->pci bridge or the (radeon) devices on the other side.

oh, no. could be other regression in linus tree or pci/next.

Can you check if linus tree could reveal pci-e->pci bridge?

or do you use iommu/dmar with the system?

Thanks

Yinghai

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: pci-3.14 resource alloc
  2014-02-14 19:11             ` Yinghai Lu
@ 2014-02-18 10:08               ` Steven Newbury
  2014-02-18 13:59                 ` Bjorn Helgaas
  2014-02-18 18:52                 ` Yinghai Lu
  0 siblings, 2 replies; 9+ messages in thread
From: Steven Newbury @ 2014-02-18 10:08 UTC (permalink / raw)
  To: Yinghai Lu; +Cc: linux-pci, Linux Kernel Mailing List

On Fri, 2014-02-14 at 11:11 -0800, Yinghai Lu wrote:
> On Fri, Feb 14, 2014 at 7:46 AM, Steven Newbury <steve@snewbury.org.uk> wrote:
> >>
> >> Oh, never mind! I didn't notice pref_bar has been renamed to
> >> assign_pref_bars. It's working now! :)
> >
> > There's no pci bridge/bus hotplug though. Docking doesn't reveal the
> > pci-e->pci bridge or the (radeon) devices on the other side.
> 
> oh, no. could be other regression in linus tree or pci/next.
> 

Sorry about taking a while to get back to you.

Previously I needed the busn work to get it working, this was included
in the resource-alloc branch.  It never worked on mainline, the bridge
used to show up but never get scanned.  Now it's not showing up at all
on hotplug.  It could be a dock driver regression.

> Can you check if linus tree could reveal pci-e->pci bridge?
> 
I'll give it a go.

> or do you use iommu/dmar with the system?
> 
No, the only unusual option is I use pci=nocrs since the bios is
completely ignorant of support for 64bit BARs.   
> Thanks
> 
> Yinghai




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: pci-3.14 resource alloc
  2014-02-18 10:08               ` Steven Newbury
@ 2014-02-18 13:59                 ` Bjorn Helgaas
  2014-02-18 14:37                   ` Bjorn Helgaas
  2014-02-18 18:52                 ` Yinghai Lu
  1 sibling, 1 reply; 9+ messages in thread
From: Bjorn Helgaas @ 2014-02-18 13:59 UTC (permalink / raw)
  To: Steven Newbury; +Cc: Yinghai Lu, linux-pci, Linux Kernel Mailing List

On Tue, Feb 18, 2014 at 3:08 AM, Steven Newbury <steve@snewbury.org.uk> wrote:
> On Fri, 2014-02-14 at 11:11 -0800, Yinghai Lu wrote:
>> On Fri, Feb 14, 2014 at 7:46 AM, Steven Newbury <steve@snewbury.org.uk> wrote:
>> >>
>> >> Oh, never mind! I didn't notice pref_bar has been renamed to
>> >> assign_pref_bars. It's working now! :)
>> >
>> > There's no pci bridge/bus hotplug though. Docking doesn't reveal the
>> > pci-e->pci bridge or the (radeon) devices on the other side.
>>
>> oh, no. could be other regression in linus tree or pci/next.
>>
>
> Sorry about taking a while to get back to you.
>
> Previously I needed the busn work to get it working, this was included
> in the resource-alloc branch.  It never worked on mainline, the bridge
> used to show up but never get scanned.  Now it's not showing up at all
> on hotplug.  It could be a dock driver regression.
>
>> Can you check if linus tree could reveal pci-e->pci bridge?
>>
> I'll give it a go.
>
>> or do you use iommu/dmar with the system?
>>
> No, the only unusual option is I use pci=nocrs since the bios is
> completely ignorant of support for 64bit BARs.

Hi Steven, this is a tangent, but can you collect the complete dmesg
log with "pci=nocrs" and let me know what happens when you *don't* use
"pci=nocrs" (a complete dmesg log there would be useful too, but I
don't know if you can boot without it)?  I think Linux *should* be
able to handle 64bit BARs even if the BIOS doesn't.

Please post these as a separate thread so we don't muddle this
conversation with Yinghai.

Bjorn

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: pci-3.14 resource alloc
  2014-02-18 13:59                 ` Bjorn Helgaas
@ 2014-02-18 14:37                   ` Bjorn Helgaas
  2014-02-18 17:31                     ` Steven Newbury
  0 siblings, 1 reply; 9+ messages in thread
From: Bjorn Helgaas @ 2014-02-18 14:37 UTC (permalink / raw)
  To: Steven Newbury; +Cc: Yinghai Lu, linux-pci, Linux Kernel Mailing List

On Tue, Feb 18, 2014 at 6:59 AM, Bjorn Helgaas <bhelgaas@google.com> wrote:
> On Tue, Feb 18, 2014 at 3:08 AM, Steven Newbury <steve@snewbury.org.uk> wrote:

>> No, the only unusual option is I use pci=nocrs since the bios is
>> completely ignorant of support for 64bit BARs.
>
> Hi Steven, this is a tangent, but can you collect the complete dmesg
> log with "pci=nocrs" and let me know what happens when you *don't* use
> "pci=nocrs" (a complete dmesg log there would be useful too, but I
> don't know if you can boot without it)?  I think Linux *should* be
> able to handle 64bit BARs even if the BIOS doesn't.
>
> Please post these as a separate thread so we don't muddle this
> conversation with Yinghai.

Oh, never mind.  I think I remember now.  I think the problem is not
so much that the BIOS doesn't handle 64bit *BARs*, but that your BIOS
doesn't report 64bit host bridge *apertures*, and you want to use
space above 4G for a graphics card or something.

That's not really anything we can fix in PCI because PCI doesn't
discover those apertures.  Host bridge drivers like the generic ACPI
pci_root.c or the native amd_bus.c discover them.  If those drivers
don't discover them, PCI can't just make them up.

It might be nice if we had cleaner kernel options to say "assume a
host bridge window here" and "put this device here," so you didn't
have to use the big hammer of "pci=nocrs".  It's sort of a pain to
figure out how to attach info like that to the correct device (there
might be several host bridges, so how do you specify which one you
care about?), but maybe it could be done.

Bjorn

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: pci-3.14 resource alloc
  2014-02-18 14:37                   ` Bjorn Helgaas
@ 2014-02-18 17:31                     ` Steven Newbury
  0 siblings, 0 replies; 9+ messages in thread
From: Steven Newbury @ 2014-02-18 17:31 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Yinghai Lu, linux-pci, Linux Kernel Mailing List

On Tue, 2014-02-18 at 07:37 -0700, Bjorn Helgaas wrote:
> On Tue, Feb 18, 2014 at 6:59 AM, Bjorn Helgaas <bhelgaas@google.com> wrote:
> > On Tue, Feb 18, 2014 at 3:08 AM, Steven Newbury <steve@snewbury.org.uk> wrote:
> 
> >> No, the only unusual option is I use pci=nocrs since the bios is
> >> completely ignorant of support for 64bit BARs.
> >
> > Hi Steven, this is a tangent, but can you collect the complete dmesg
> > log with "pci=nocrs" and let me know what happens when you *don't* use
> > "pci=nocrs" (a complete dmesg log there would be useful too, but I
> > don't know if you can boot without it)?  I think Linux *should* be
> > able to handle 64bit BARs even if the BIOS doesn't.
> >
> > Please post these as a separate thread so we don't muddle this
> > conversation with Yinghai.
> 
> Oh, never mind.  I think I remember now.  I think the problem is not
> so much that the BIOS doesn't handle 64bit *BARs*, but that your BIOS
> doesn't report 64bit host bridge *apertures*, and you want to use
> space above 4G for a graphics card or something.
> 
Yes, exactly. I should have stated it better.  I need to push the
on-board i965 up above 4G to make room for a radeon which is accessed
through a 32 bit only bridge.  The BIOS doesn't provide any
functionality like this.  The intel devs seemed a little surprised that
the i965 actually worked stably in this configuration given known
errata, but I've actually had no problems with this side of things. 

> That's not really anything we can fix in PCI because PCI doesn't
> discover those apertures.  Host bridge drivers like the generic ACPI
> pci_root.c or the native amd_bus.c discover them.  If those drivers
> don't discover them, PCI can't just make them up.

32 bit only bridges must be getting pretty rare by now, and I presume
any new hardware out there with a dockable PCI bus would provide 64 bit
resource allocation for host bridge apertures when booting to a 64 bit
OS?  Maybe not?
> 
> It might be nice if we had cleaner kernel options to say "assume a
> host bridge window here" and "put this device here," so you didn't
> have to use the big hammer of "pci=nocrs".  It's sort of a pain to
> figure out how to attach info like that to the correct device (there
> might be several host bridges, so how do you specify which one you
> care about?), but maybe it could be done.
> 
That would be much better, even if it's only some way to say "ignore crs
for *this* host bridge (and parents)", or "for host bridges to which
*this* device is attached".



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: pci-3.14 resource alloc
  2014-02-18 10:08               ` Steven Newbury
  2014-02-18 13:59                 ` Bjorn Helgaas
@ 2014-02-18 18:52                 ` Yinghai Lu
  2014-02-18 22:29                   ` Rafael J. Wysocki
  1 sibling, 1 reply; 9+ messages in thread
From: Yinghai Lu @ 2014-02-18 18:52 UTC (permalink / raw)
  To: Steven Newbury, Rafael J. Wysocki; +Cc: linux-pci, Linux Kernel Mailing List

On Tue, Feb 18, 2014 at 2:08 AM, Steven Newbury <steve@snewbury.org.uk> wrote:
>> >
>> > There's no pci bridge/bus hotplug though. Docking doesn't reveal the
>> > pci-e->pci bridge or the (radeon) devices on the other side.
>>
>> oh, no. could be other regression in linus tree or pci/next.
>>
>
> Previously I needed the busn work to get it working, this was included
> in the resource-alloc branch.  It never worked on mainline, the bridge
> used to show up but never get scanned.  Now it's not showing up at all
> on hotplug.  It could be a dock driver regression.

I had the busn_res_alloc patches in the branch.

There is some changes about acpi dock driver from Rafael in recent
kernels. Maybe Rafael could suggest which commit could cause problem,
then you could try revert them on top of branch.

Thanks

Yinghai

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: pci-3.14 resource alloc
  2014-02-18 18:52                 ` Yinghai Lu
@ 2014-02-18 22:29                   ` Rafael J. Wysocki
  2014-02-19  9:11                     ` Steven Newbury
  0 siblings, 1 reply; 9+ messages in thread
From: Rafael J. Wysocki @ 2014-02-18 22:29 UTC (permalink / raw)
  To: Yinghai Lu, Steven Newbury; +Cc: linux-pci, Linux Kernel Mailing List

On Tuesday, February 18, 2014 10:52:54 AM Yinghai Lu wrote:
> On Tue, Feb 18, 2014 at 2:08 AM, Steven Newbury <steve@snewbury.org.uk> wrote:
> >> >
> >> > There's no pci bridge/bus hotplug though. Docking doesn't reveal the
> >> > pci-e->pci bridge or the (radeon) devices on the other side.
> >>
> >> oh, no. could be other regression in linus tree or pci/next.
> >>
> >
> > Previously I needed the busn work to get it working, this was included
> > in the resource-alloc branch.  It never worked on mainline, the bridge
> > used to show up but never get scanned.  Now it's not showing up at all
> > on hotplug.  It could be a dock driver regression.
> 
> I had the busn_res_alloc patches in the branch.
> 
> There is some changes about acpi dock driver from Rafael in recent
> kernels. Maybe Rafael could suggest which commit could cause problem,
> then you could try revert them on top of branch.

I kind of suspect what might have caused them, but that particular thing
would not be easy to revert.

Steven, what was the last kernel in which the bridge showed up?

Did you test 3.14-rc3?

Rafael


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: pci-3.14 resource alloc
  2014-02-18 22:29                   ` Rafael J. Wysocki
@ 2014-02-19  9:11                     ` Steven Newbury
  0 siblings, 0 replies; 9+ messages in thread
From: Steven Newbury @ 2014-02-19  9:11 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: Yinghai Lu, linux-pci, Linux Kernel Mailing List

On Tue, 2014-02-18 at 23:29 +0100, Rafael J. Wysocki wrote:
> On Tuesday, February 18, 2014 10:52:54 AM Yinghai Lu wrote:
> > On Tue, Feb 18, 2014 at 2:08 AM, Steven Newbury <steve@snewbury.org.uk> wrote:
> > >> >
> > >> > There's no pci bridge/bus hotplug though. Docking doesn't reveal the
> > >> > pci-e->pci bridge or the (radeon) devices on the other side.
> > >>
> > >> oh, no. could be other regression in linus tree or pci/next.
> > >>
> > >
> > > Previously I needed the busn work to get it working, this was included
> > > in the resource-alloc branch.  It never worked on mainline, the bridge
> > > used to show up but never get scanned.  Now it's not showing up at all
> > > on hotplug.  It could be a dock driver regression.
> > 
> > I had the busn_res_alloc patches in the branch.
> > 
> > There is some changes about acpi dock driver from Rafael in recent
> > kernels. Maybe Rafael could suggest which commit could cause problem,
> > then you could try revert them on top of branch.
> 
> I kind of suspect what might have caused them, but that particular thing
> would not be easy to revert.
> 
> Steven, what was the last kernel in which the bridge showed up?
> 
> Did you test 3.14-rc3?
> 
> Rafael
> 

I'll try a few different kernels today and see when it last worked.  I
hadn't updated the machine since some 3.12-rc + my local patches so I've
no idea at the moment when it stopped working...



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-02-19  9:11 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <1390773698.3450.12.camel@artifact>
     [not found] ` <CAE9FiQVD=oVHM5WJgSJ5cNpXZ1NYy9E_pcGWfjKnmD9OZoHHsw@mail.gmail.com>
     [not found]   ` <1391643656.1067.1.camel@artifact>
2014-02-14  0:50     ` pci-3.14 resource alloc Yinghai Lu
     [not found]       ` <z9zi9m.n0zpxd.1hgeaud-qmf@mail.snewbury.org.uk>
     [not found]         ` <i9nn22.n0zs79.1hgeaud-qmf@mail.snewbury.org.uk>
     [not found]           ` <1392392764.3520.11.camel@devel-n900>
2014-02-14 19:11             ` Yinghai Lu
2014-02-18 10:08               ` Steven Newbury
2014-02-18 13:59                 ` Bjorn Helgaas
2014-02-18 14:37                   ` Bjorn Helgaas
2014-02-18 17:31                     ` Steven Newbury
2014-02-18 18:52                 ` Yinghai Lu
2014-02-18 22:29                   ` Rafael J. Wysocki
2014-02-19  9:11                     ` Steven Newbury

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.