* PCI reset problem
@ 2013-08-28 13:33 Johannes Thumshirn
2013-08-28 16:50 ` Bjorn Helgaas
0 siblings, 1 reply; 16+ messages in thread
From: Johannes Thumshirn @ 2013-08-28 13:33 UTC (permalink / raw)
To: linux-pci; +Cc: johannes.thumshirn
Hi List,
I have a rather odd problem with a PCIe swicht/bridge which does not get
enumerated correctly. If I issue _two_ manual rescans of the PCI bus via sysfs,
everything get setup correctly. To work around the problem I decided to make a
platform specific PCI quirk (for the embedded system I'm on, to not break
anything else) and issue the pci_rescan_bus() myself as a "final" fixup. However
this does not have any effect at all.
Does anyone have an idea what I could do wrong?
Example:
root@generic-powerpc:~# lspci -tv
-[0000:00]---00.0-[01]--
root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan
[...]
root@generic-powerpc:~# lspci -tv
-[0000:00]---00.0-[01-05]----00.0-[02-05]--+-01.0-[03]--
+-02.0-[04]--
\-03.0-[05]--
root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan
[...]
root@generic-powerpc:~# lspci -tv
-[0000:00]---00.0-[01-05]----00.0-[02-05]--+-01.0-[03]----00.0 Silicon Image, Inc. SiI 3132 Serial ATA Raid II Controller
+-02.0-[04]--
\-03.0-[05]--+-00.0 Pericom Semiconductor Device 400e
+-00.1 Pericom Semiconductor Device 400e
\-00.2 Pericom Semiconductor Device 400f
"My" rescan quirk:
#if CONFIG_PCI
static DEFINE_MUTEX(rescan_mutex);
static void xm51_fixup_bridge(struct pci_dev *dev)
{
struct pci_bus *b = NULL;
mutex_lock(&rescan_mutex);
while((b = pci_find_next_bus(b)) != NULL)
pci_rescan_bus(b);
mutex_unlock(&rescan_mutex);
}
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_FREESCALE, 0x0401, xm51_fixup_bridge);
#endif
Thanks in advance,
Johannes
^ permalink raw reply [flat|nested] 16+ messages in thread* Re: PCI reset problem 2013-08-28 13:33 PCI reset problem Johannes Thumshirn @ 2013-08-28 16:50 ` Bjorn Helgaas 2013-08-29 8:29 ` Johannes Thumshirn 0 siblings, 1 reply; 16+ messages in thread From: Bjorn Helgaas @ 2013-08-28 16:50 UTC (permalink / raw) To: Johannes Thumshirn; +Cc: linux-pci@vger.kernel.org, Yinghai Lu [+cc Yinghai] On Wed, Aug 28, 2013 at 7:33 AM, Johannes Thumshirn <johannes.thumshirn@men.de> wrote: > Hi List, > > I have a rather odd problem with a PCIe swicht/bridge which does not get > enumerated correctly. If I issue _two_ manual rescans of the PCI bus via sysfs, > everything get setup correctly. To work around the problem I decided to make a > platform specific PCI quirk (for the embedded system I'm on, to not break > anything else) and issue the pci_rescan_bus() myself as a "final" fixup. However > this does not have any effect at all. > > Does anyone have an idea what I could do wrong? A rescan doesn't really do anything differently from the initial boot-time scan. Maybe there's an issue with the switch taking a long time to respond after reset? But that doesn't seem likely, because if you do manual rescans via sysfs, that should give plenty of time and you wouldn't have to do it *twice*. Maybe there's some resource or bus number allocation issue such that we don't even get down to the problem switch the first couple of times? > Example: > root@generic-powerpc:~# lspci -tv > -[0000:00]---00.0-[01]-- > root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan > [...] > root@generic-powerpc:~# lspci -tv > -[0000:00]---00.0-[01-05]----00.0-[02-05]--+-01.0-[03]-- > +-02.0-[04]-- > \-03.0-[05]-- > root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan > [...] > root@generic-powerpc:~# lspci -tv > -[0000:00]---00.0-[01-05]----00.0-[02-05]--+-01.0-[03]----00.0 Silicon Image, Inc. SiI 3132 Serial ATA Raid II Controller > +-02.0-[04]-- > \-03.0-[05]--+-00.0 Pericom Semiconductor Device 400e > +-00.1 Pericom Semiconductor Device 400e > \-00.2 Pericom Semiconductor Device 400f I bet that's what's happening: the first lspci shows the 00:00.0 bridge leading only to bus 01. The second lspci shows 00:00.0 leading to [bus 01-05], so its bus number aperture has been reconfigured. On x86 the BIOS typically configures all the bridges so we can see all the devices. But it looks like your platform doesn't, and the Linux paths that do similar configuration are not as well exercised. Can you collect a complete dmesg log including initial boot and your manual sysfs rescansand attach it to a new bugzilla report at https://bugzilla.kernel.org/enter_bug.cgi?component=PCI&product=Drivers ? There might be some generic way we can fix this. Bjorn > "My" rescan quirk: > #if CONFIG_PCI > static DEFINE_MUTEX(rescan_mutex); > static void xm51_fixup_bridge(struct pci_dev *dev) > { > struct pci_bus *b = NULL; > > mutex_lock(&rescan_mutex); > while((b = pci_find_next_bus(b)) != NULL) > pci_rescan_bus(b); > mutex_unlock(&rescan_mutex); > } > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_FREESCALE, 0x0401, xm51_fixup_bridge); > #endif > > > Thanks in advance, > Johannes > -- > To unsubscribe from this list: send the line "unsubscribe linux-pci" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: PCI reset problem 2013-08-28 16:50 ` Bjorn Helgaas @ 2013-08-29 8:29 ` Johannes Thumshirn 2013-08-29 12:01 ` Bjorn Helgaas 2013-08-29 17:40 ` Yinghai Lu 0 siblings, 2 replies; 16+ messages in thread From: Johannes Thumshirn @ 2013-08-29 8:29 UTC (permalink / raw) To: Bjorn Helgaas; +Cc: Johannes Thumshirn, linux-pci@vger.kernel.org, Yinghai Lu On Wed, Aug 28, 2013 at 10:50:58AM -0600, Bjorn Helgaas wrote: > [+cc Yinghai] > > On Wed, Aug 28, 2013 at 7:33 AM, Johannes Thumshirn > <johannes.thumshirn@men.de> wrote: > > Hi List, > > > > I have a rather odd problem with a PCIe swicht/bridge which does not get > > enumerated correctly. If I issue _two_ manual rescans of the PCI bus via sysfs, > > everything get setup correctly. To work around the problem I decided to make a > > platform specific PCI quirk (for the embedded system I'm on, to not break > > anything else) and issue the pci_rescan_bus() myself as a "final" fixup. However > > this does not have any effect at all. > > > > Does anyone have an idea what I could do wrong? > > A rescan doesn't really do anything differently from the initial > boot-time scan. Maybe there's an issue with the switch taking a long > time to respond after reset? But that doesn't seem likely, because if > you do manual rescans via sysfs, that should give plenty of time and > you wouldn't have to do it *twice*. > > Maybe there's some resource or bus number allocation issue such that > we don't even get down to the problem switch the first couple of > times? > > > Example: > > root@generic-powerpc:~# lspci -tv > > -[0000:00]---00.0-[01]-- > > root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan > > [...] > > root@generic-powerpc:~# lspci -tv > > -[0000:00]---00.0-[01-05]----00.0-[02-05]--+-01.0-[03]-- > > +-02.0-[04]-- > > \-03.0-[05]-- > > root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan > > [...] > > root@generic-powerpc:~# lspci -tv > > -[0000:00]---00.0-[01-05]----00.0-[02-05]--+-01.0-[03]----00.0 Silicon Image, Inc. SiI 3132 Serial ATA Raid II Controller > > +-02.0-[04]-- > > \-03.0-[05]--+-00.0 Pericom Semiconductor Device 400e > > +-00.1 Pericom Semiconductor Device 400e > > \-00.2 Pericom Semiconductor Device 400f > > I bet that's what's happening: the first lspci shows the 00:00.0 > bridge leading only to bus 01. The second lspci shows 00:00.0 leading > to [bus 01-05], so its bus number aperture has been reconfigured. > > On x86 the BIOS typically configures all the bridges so we can see all > the devices. But it looks like your platform doesn't, and the Linux > paths that do similar configuration are not as well exercised. > I'll have a look into my U-Boot again as well, maybe I can resolve it there. > Can you collect a complete dmesg log including initial boot and your > manual sysfs rescansand attach it to a new bugzilla report at > https://bugzilla.kernel.org/enter_bug.cgi?component=PCI&product=Drivers > ? There might be some generic way we can fix this. > I can do, though I have to say, it's a 3.8 Kernel from Freescale's SDK. I don't really know if mainline wants to care about it. > Bjorn > > > "My" rescan quirk: > > #if CONFIG_PCI > > static DEFINE_MUTEX(rescan_mutex); > > static void xm51_fixup_bridge(struct pci_dev *dev) > > { > > struct pci_bus *b = NULL; > > > > mutex_lock(&rescan_mutex); > > while((b = pci_find_next_bus(b)) != NULL) > > pci_rescan_bus(b); > > mutex_unlock(&rescan_mutex); > > } > > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_FREESCALE, 0x0401, xm51_fixup_bridge); > > #endif > > > > > > Thanks in advance, > > Johannes > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-pci" in > > the body of a message to majordomo@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html Johannes ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: PCI reset problem 2013-08-29 8:29 ` Johannes Thumshirn @ 2013-08-29 12:01 ` Bjorn Helgaas 2013-08-29 15:07 ` Johannes Thumshirn 2013-08-29 17:40 ` Yinghai Lu 1 sibling, 1 reply; 16+ messages in thread From: Bjorn Helgaas @ 2013-08-29 12:01 UTC (permalink / raw) To: Johannes Thumshirn; +Cc: linux-pci@vger.kernel.org, Yinghai Lu On Thu, Aug 29, 2013 at 2:29 AM, Johannes Thumshirn <johannes.thumshirn@men.de> wrote: > On Wed, Aug 28, 2013 at 10:50:58AM -0600, Bjorn Helgaas wrote: >> [+cc Yinghai] >> >> On Wed, Aug 28, 2013 at 7:33 AM, Johannes Thumshirn >> <johannes.thumshirn@men.de> wrote: >> > Hi List, >> > >> > I have a rather odd problem with a PCIe swicht/bridge which does not get >> > enumerated correctly. If I issue _two_ manual rescans of the PCI bus via sysfs, >> > everything get setup correctly. To work around the problem I decided to make a >> > platform specific PCI quirk (for the embedded system I'm on, to not break >> > anything else) and issue the pci_rescan_bus() myself as a "final" fixup. However >> > this does not have any effect at all. >> > >> > Does anyone have an idea what I could do wrong? >> >> A rescan doesn't really do anything differently from the initial >> boot-time scan. Maybe there's an issue with the switch taking a long >> time to respond after reset? But that doesn't seem likely, because if >> you do manual rescans via sysfs, that should give plenty of time and >> you wouldn't have to do it *twice*. >> >> Maybe there's some resource or bus number allocation issue such that >> we don't even get down to the problem switch the first couple of >> times? >> >> > Example: >> > root@generic-powerpc:~# lspci -tv >> > -[0000:00]---00.0-[01]-- >> > root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan >> > [...] >> > root@generic-powerpc:~# lspci -tv >> > -[0000:00]---00.0-[01-05]----00.0-[02-05]--+-01.0-[03]-- >> > +-02.0-[04]-- >> > \-03.0-[05]-- >> > root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan >> > [...] >> > root@generic-powerpc:~# lspci -tv >> > -[0000:00]---00.0-[01-05]----00.0-[02-05]--+-01.0-[03]----00.0 Silicon Image, Inc. SiI 3132 Serial ATA Raid II Controller >> > +-02.0-[04]-- >> > \-03.0-[05]--+-00.0 Pericom Semiconductor Device 400e >> > +-00.1 Pericom Semiconductor Device 400e >> > \-00.2 Pericom Semiconductor Device 400f >> >> I bet that's what's happening: the first lspci shows the 00:00.0 >> bridge leading only to bus 01. The second lspci shows 00:00.0 leading >> to [bus 01-05], so its bus number aperture has been reconfigured. >> >> On x86 the BIOS typically configures all the bridges so we can see all >> the devices. But it looks like your platform doesn't, and the Linux >> paths that do similar configuration are not as well exercised. >> > > I'll have a look into my U-Boot again as well, maybe I can resolve it there. > >> Can you collect a complete dmesg log including initial boot and your >> manual sysfs rescansand attach it to a new bugzilla report at >> https://bugzilla.kernel.org/enter_bug.cgi?component=PCI&product=Drivers >> ? There might be some generic way we can fix this. >> > > I can do, though I have to say, it's a 3.8 Kernel from Freescale's SDK. I > don't really know if mainline wants to care about it. I don't think much has changed in this area since then, so I think this issue is still relevant. On x86 there's a boot command option "pci=assign-busses". I don't think the boot option is implemented for other arches, so you'll probably have to change the source to accomplish the same thing. Take a look at pcibios_assign_all_busses() for your platform. If it doesn't already return "true", try changing it so it does. It looks like we should try to assign bus numbers when pcibios_assign_all_busses() is true. Bjorn ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: PCI reset problem 2013-08-29 12:01 ` Bjorn Helgaas @ 2013-08-29 15:07 ` Johannes Thumshirn 2013-08-29 15:52 ` Bjorn Helgaas 0 siblings, 1 reply; 16+ messages in thread From: Johannes Thumshirn @ 2013-08-29 15:07 UTC (permalink / raw) To: Bjorn Helgaas; +Cc: Johannes Thumshirn, linux-pci@vger.kernel.org, Yinghai Lu On Thu, Aug 29, 2013 at 06:01:43AM -0600, Bjorn Helgaas wrote: > On Thu, Aug 29, 2013 at 2:29 AM, Johannes Thumshirn > <johannes.thumshirn@men.de> wrote: > > On Wed, Aug 28, 2013 at 10:50:58AM -0600, Bjorn Helgaas wrote: > >> [+cc Yinghai] > >> > >> On Wed, Aug 28, 2013 at 7:33 AM, Johannes Thumshirn > >> <johannes.thumshirn@men.de> wrote: > >> > Hi List, > >> > > >> > I have a rather odd problem with a PCIe swicht/bridge which does not get > >> > enumerated correctly. If I issue _two_ manual rescans of the PCI bus via sysfs, > >> > everything get setup correctly. To work around the problem I decided to make a > >> > platform specific PCI quirk (for the embedded system I'm on, to not break > >> > anything else) and issue the pci_rescan_bus() myself as a "final" fixup. However > >> > this does not have any effect at all. > >> > > >> > Does anyone have an idea what I could do wrong? > >> > >> A rescan doesn't really do anything differently from the initial > >> boot-time scan. Maybe there's an issue with the switch taking a long > >> time to respond after reset? But that doesn't seem likely, because if > >> you do manual rescans via sysfs, that should give plenty of time and > >> you wouldn't have to do it *twice*. > >> > >> Maybe there's some resource or bus number allocation issue such that > >> we don't even get down to the problem switch the first couple of > >> times? > >> > >> > Example: > >> > root@generic-powerpc:~# lspci -tv > >> > -[0000:00]---00.0-[01]-- > >> > root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan > >> > [...] > >> > root@generic-powerpc:~# lspci -tv > >> > -[0000:00]---00.0-[01-05]----00.0-[02-05]--+-01.0-[03]-- > >> > +-02.0-[04]-- > >> > \-03.0-[05]-- > >> > root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan > >> > [...] > >> > root@generic-powerpc:~# lspci -tv > >> > -[0000:00]---00.0-[01-05]----00.0-[02-05]--+-01.0-[03]----00.0 Silicon Image, Inc. SiI 3132 Serial ATA Raid II Controller > >> > +-02.0-[04]-- > >> > \-03.0-[05]--+-00.0 Pericom Semiconductor Device 400e > >> > +-00.1 Pericom Semiconductor Device 400e > >> > \-00.2 Pericom Semiconductor Device 400f > >> > >> I bet that's what's happening: the first lspci shows the 00:00.0 > >> bridge leading only to bus 01. The second lspci shows 00:00.0 leading > >> to [bus 01-05], so its bus number aperture has been reconfigured. > >> > >> On x86 the BIOS typically configures all the bridges so we can see all > >> the devices. But it looks like your platform doesn't, and the Linux > >> paths that do similar configuration are not as well exercised. > >> > > > > I'll have a look into my U-Boot again as well, maybe I can resolve it there. > > > >> Can you collect a complete dmesg log including initial boot and your > >> manual sysfs rescansand attach it to a new bugzilla report at > >> https://bugzilla.kernel.org/enter_bug.cgi?component=PCI&product=Drivers > >> ? There might be some generic way we can fix this. > >> > > > > I can do, though I have to say, it's a 3.8 Kernel from Freescale's SDK. I > > don't really know if mainline wants to care about it. > > I don't think much has changed in this area since then, so I think > this issue is still relevant. > > On x86 there's a boot command option "pci=assign-busses". I don't > think the boot option is implemented for other arches, so you'll > probably have to change the source to accomplish the same thing. Take > a look at pcibios_assign_all_busses() for your platform. If it > doesn't already return "true", try changing it so it does. It looks > like we should try to assign bus numbers when > pcibios_assign_all_busses() is true. > > Bjorn Unfortunately this didn't change anything at all. As well as adding the PCI_REASSIGN_ALL_RSRC flag. But while testing I've found the ppc_md.pcibios_fixup_resources hook. I'll try to manually assign resources in there or clear them and call the pci core's ressource allocation code. I'll post an update once I make any progress. Johannes ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: PCI reset problem 2013-08-29 15:07 ` Johannes Thumshirn @ 2013-08-29 15:52 ` Bjorn Helgaas 2013-08-30 8:01 ` Johannes Thumshirn 0 siblings, 1 reply; 16+ messages in thread From: Bjorn Helgaas @ 2013-08-29 15:52 UTC (permalink / raw) To: Johannes Thumshirn; +Cc: linux-pci@vger.kernel.org, Yinghai Lu On Thu, Aug 29, 2013 at 9:07 AM, Johannes Thumshirn <johannes.thumshirn@men.de> wrote: > On Thu, Aug 29, 2013 at 06:01:43AM -0600, Bjorn Helgaas wrote: >> On Thu, Aug 29, 2013 at 2:29 AM, Johannes Thumshirn >> <johannes.thumshirn@men.de> wrote: >> > On Wed, Aug 28, 2013 at 10:50:58AM -0600, Bjorn Helgaas wrote: >> >> [+cc Yinghai] >> >> >> >> On Wed, Aug 28, 2013 at 7:33 AM, Johannes Thumshirn >> >> <johannes.thumshirn@men.de> wrote: >> >> > Hi List, >> >> > >> >> > I have a rather odd problem with a PCIe swicht/bridge which does not get >> >> > enumerated correctly. If I issue _two_ manual rescans of the PCI bus via sysfs, >> >> > everything get setup correctly. To work around the problem I decided to make a >> >> > platform specific PCI quirk (for the embedded system I'm on, to not break >> >> > anything else) and issue the pci_rescan_bus() myself as a "final" fixup. However >> >> > this does not have any effect at all. >> >> > >> >> > Does anyone have an idea what I could do wrong? >> >> >> >> A rescan doesn't really do anything differently from the initial >> >> boot-time scan. Maybe there's an issue with the switch taking a long >> >> time to respond after reset? But that doesn't seem likely, because if >> >> you do manual rescans via sysfs, that should give plenty of time and >> >> you wouldn't have to do it *twice*. >> >> >> >> Maybe there's some resource or bus number allocation issue such that >> >> we don't even get down to the problem switch the first couple of >> >> times? >> >> >> >> > Example: >> >> > root@generic-powerpc:~# lspci -tv >> >> > -[0000:00]---00.0-[01]-- >> >> > root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan >> >> > [...] >> >> > root@generic-powerpc:~# lspci -tv >> >> > -[0000:00]---00.0-[01-05]----00.0-[02-05]--+-01.0-[03]-- >> >> > +-02.0-[04]-- >> >> > \-03.0-[05]-- >> >> > root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan >> >> > [...] >> >> > root@generic-powerpc:~# lspci -tv >> >> > -[0000:00]---00.0-[01-05]----00.0-[02-05]--+-01.0-[03]----00.0 Silicon Image, Inc. SiI 3132 Serial ATA Raid II Controller >> >> > +-02.0-[04]-- >> >> > \-03.0-[05]--+-00.0 Pericom Semiconductor Device 400e >> >> > +-00.1 Pericom Semiconductor Device 400e >> >> > \-00.2 Pericom Semiconductor Device 400f >> >> >> >> I bet that's what's happening: the first lspci shows the 00:00.0 >> >> bridge leading only to bus 01. The second lspci shows 00:00.0 leading >> >> to [bus 01-05], so its bus number aperture has been reconfigured. >> >> >> >> On x86 the BIOS typically configures all the bridges so we can see all >> >> the devices. But it looks like your platform doesn't, and the Linux >> >> paths that do similar configuration are not as well exercised. >> >> >> > >> > I'll have a look into my U-Boot again as well, maybe I can resolve it there. >> > >> >> Can you collect a complete dmesg log including initial boot and your >> >> manual sysfs rescansand attach it to a new bugzilla report at >> >> https://bugzilla.kernel.org/enter_bug.cgi?component=PCI&product=Drivers >> >> ? There might be some generic way we can fix this. >> >> >> > >> > I can do, though I have to say, it's a 3.8 Kernel from Freescale's SDK. I >> > don't really know if mainline wants to care about it. >> >> I don't think much has changed in this area since then, so I think >> this issue is still relevant. >> >> On x86 there's a boot command option "pci=assign-busses". I don't >> think the boot option is implemented for other arches, so you'll >> probably have to change the source to accomplish the same thing. Take >> a look at pcibios_assign_all_busses() for your platform. If it >> doesn't already return "true", try changing it so it does. It looks >> like we should try to assign bus numbers when >> pcibios_assign_all_busses() is true. > > Unfortunately this didn't change anything at all. As well as adding the > PCI_REASSIGN_ALL_RSRC flag. But while testing I've found the > ppc_md.pcibios_fixup_resources hook. I'll try to manually assign resources in > there or clear them and call the pci core's ressource allocation code. I'll post > an update once I make any progress. It's a generic problem -- there's nothing arch-specific about assigning bus numbers -- so it would be a shame to fix this in an arch-specific hook. Make sure you set CONFIG_PCI_DEBUG=y to get the extra debug messages from the probing path. Bjorn ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: PCI reset problem 2013-08-29 15:52 ` Bjorn Helgaas @ 2013-08-30 8:01 ` Johannes Thumshirn 2013-08-30 13:40 ` Bjorn Helgaas 2013-08-30 19:46 ` Yinghai Lu 0 siblings, 2 replies; 16+ messages in thread From: Johannes Thumshirn @ 2013-08-30 8:01 UTC (permalink / raw) To: Bjorn Helgaas; +Cc: Johannes Thumshirn, linux-pci@vger.kernel.org, Yinghai Lu On Thu, Aug 29, 2013 at 09:52:30AM -0600, Bjorn Helgaas wrote: > On Thu, Aug 29, 2013 at 9:07 AM, Johannes Thumshirn > <johannes.thumshirn@men.de> wrote: > > On Thu, Aug 29, 2013 at 06:01:43AM -0600, Bjorn Helgaas wrote: > >> On Thu, Aug 29, 2013 at 2:29 AM, Johannes Thumshirn > >> <johannes.thumshirn@men.de> wrote: > >> > On Wed, Aug 28, 2013 at 10:50:58AM -0600, Bjorn Helgaas wrote: > >> >> [+cc Yinghai] > >> >> > >> >> On Wed, Aug 28, 2013 at 7:33 AM, Johannes Thumshirn > >> >> <johannes.thumshirn@men.de> wrote: > >> >> > Hi List, > >> >> > > >> >> > I have a rather odd problem with a PCIe swicht/bridge which does not get > >> >> > enumerated correctly. If I issue _two_ manual rescans of the PCI bus via sysfs, > >> >> > everything get setup correctly. To work around the problem I decided to make a > >> >> > platform specific PCI quirk (for the embedded system I'm on, to not break > >> >> > anything else) and issue the pci_rescan_bus() myself as a "final" fixup. However > >> >> > this does not have any effect at all. > >> >> > > >> >> > Does anyone have an idea what I could do wrong? > >> >> > >> >> A rescan doesn't really do anything differently from the initial > >> >> boot-time scan. Maybe there's an issue with the switch taking a long > >> >> time to respond after reset? But that doesn't seem likely, because if > >> >> you do manual rescans via sysfs, that should give plenty of time and > >> >> you wouldn't have to do it *twice*. > >> >> > >> >> Maybe there's some resource or bus number allocation issue such that > >> >> we don't even get down to the problem switch the first couple of > >> >> times? > >> >> > >> >> > Example: > >> >> > root@generic-powerpc:~# lspci -tv > >> >> > -[0000:00]---00.0-[01]-- > >> >> > root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan > >> >> > [...] > >> >> > root@generic-powerpc:~# lspci -tv > >> >> > -[0000:00]---00.0-[01-05]----00.0-[02-05]--+-01.0-[03]-- > >> >> > +-02.0-[04]-- > >> >> > \-03.0-[05]-- > >> >> > root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan > >> >> > [...] > >> >> > root@generic-powerpc:~# lspci -tv > >> >> > -[0000:00]---00.0-[01-05]----00.0-[02-05]--+-01.0-[03]----00.0 Silicon Image, Inc. SiI 3132 Serial ATA Raid II Controller > >> >> > +-02.0-[04]-- > >> >> > \-03.0-[05]--+-00.0 Pericom Semiconductor Device 400e > >> >> > +-00.1 Pericom Semiconductor Device 400e > >> >> > \-00.2 Pericom Semiconductor Device 400f > >> >> > >> >> I bet that's what's happening: the first lspci shows the 00:00.0 > >> >> bridge leading only to bus 01. The second lspci shows 00:00.0 leading > >> >> to [bus 01-05], so its bus number aperture has been reconfigured. > >> >> > >> >> On x86 the BIOS typically configures all the bridges so we can see all > >> >> the devices. But it looks like your platform doesn't, and the Linux > >> >> paths that do similar configuration are not as well exercised. > >> >> > >> > > >> > I'll have a look into my U-Boot again as well, maybe I can resolve it there. > >> > > >> >> Can you collect a complete dmesg log including initial boot and your > >> >> manual sysfs rescansand attach it to a new bugzilla report at > >> >> https://bugzilla.kernel.org/enter_bug.cgi?component=PCI&product=Drivers > >> >> ? There might be some generic way we can fix this. > >> >> > >> > > >> > I can do, though I have to say, it's a 3.8 Kernel from Freescale's SDK. I > >> > don't really know if mainline wants to care about it. > >> > >> I don't think much has changed in this area since then, so I think > >> this issue is still relevant. > >> > >> On x86 there's a boot command option "pci=assign-busses". I don't > >> think the boot option is implemented for other arches, so you'll > >> probably have to change the source to accomplish the same thing. Take > >> a look at pcibios_assign_all_busses() for your platform. If it > >> doesn't already return "true", try changing it so it does. It looks > >> like we should try to assign bus numbers when > >> pcibios_assign_all_busses() is true. > > > > Unfortunately this didn't change anything at all. As well as adding the > > PCI_REASSIGN_ALL_RSRC flag. But while testing I've found the > > ppc_md.pcibios_fixup_resources hook. I'll try to manually assign resources in > > there or clear them and call the pci core's ressource allocation code. I'll post > > an update once I make any progress. > > It's a generic problem -- there's nothing arch-specific about > assigning bus numbers -- so it would be a shame to fix this in an > arch-specific hook. > > Make sure you set CONFIG_PCI_DEBUG=y to get the extra debug messages > from the probing path. > > Bjorn @ Bjorn: OK, I'll change my focus to drivers/pci then. CONFIG_PCI_DEBUG is on. --snip-- Found FSL PCI host bridge at 0x00000000fe200000. Firmware bus number: 0->5 PCI host bridge /pcie@fe200000 (primary) ranges: MEM 0x0000000080000000..0x000000009fffffff -> 0x0000000080000000 IO 0x00000000f8000000..0x00000000f800ffff -> 0x0000000000000000 /pcie@fe200000: PCICSRBAR @ 0xff000000 PCI: Probing PCI hardware fsl-pci fe200000.pcie: PCI host bridge to bus 0000:00 pci_bus 0000:00: root bus resource [io 0x0000-0xffff] pci_bus 0000:00: root bus resource [mem 0x80000000-0x9fffffff] pci_bus 0000:00: root bus resource [bus 00-ff] pci 0000:00:00.0: PCI bridge to [bus 01-ff] pci 0000:00:00.0: PCI bridge to [bus 01] pci 0000:00:00.0: bridge window [io 0x0000-0xffff] pci 0000:00:00.0: bridge window [mem 0x80000000-0x9fffffff] --snip-- To me this looks like the bridge is set up correctly. But it fails to enumerate subsequent bridges (please correct me if I'm wrong here). The resources match my configuration in U-Boot. IO @ 0x0000-0xffff and MEM @ 0x80000000-0x9fffffff. @ Yinghai I'll test on mainline and then check pci-busn-alloc, but I have this strange feeling that it could be an interaction with Freescale's DPAA Ethernet, which is not yet merged into mainline. Thanks a lot, Johannes ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: PCI reset problem 2013-08-30 8:01 ` Johannes Thumshirn @ 2013-08-30 13:40 ` Bjorn Helgaas 2013-08-30 13:58 ` Johannes Thumshirn 2013-08-30 19:46 ` Yinghai Lu 1 sibling, 1 reply; 16+ messages in thread From: Bjorn Helgaas @ 2013-08-30 13:40 UTC (permalink / raw) To: Johannes Thumshirn; +Cc: linux-pci@vger.kernel.org, Yinghai Lu On Fri, Aug 30, 2013 at 2:01 AM, Johannes Thumshirn <johannes.thumshirn@men.de> wrote: > On Thu, Aug 29, 2013 at 09:52:30AM -0600, Bjorn Helgaas wrote: >> On Thu, Aug 29, 2013 at 9:07 AM, Johannes Thumshirn >> <johannes.thumshirn@men.de> wrote: >> > On Thu, Aug 29, 2013 at 06:01:43AM -0600, Bjorn Helgaas wrote: >> >> On Thu, Aug 29, 2013 at 2:29 AM, Johannes Thumshirn >> >> <johannes.thumshirn@men.de> wrote: >> >> > On Wed, Aug 28, 2013 at 10:50:58AM -0600, Bjorn Helgaas wrote: >> >> >> [+cc Yinghai] >> >> >> >> >> >> On Wed, Aug 28, 2013 at 7:33 AM, Johannes Thumshirn >> >> >> <johannes.thumshirn@men.de> wrote: >> >> >> > Hi List, >> >> >> > >> >> >> > I have a rather odd problem with a PCIe swicht/bridge which does not get >> >> >> > enumerated correctly. If I issue _two_ manual rescans of the PCI bus via sysfs, >> >> >> > everything get setup correctly. To work around the problem I decided to make a >> >> >> > platform specific PCI quirk (for the embedded system I'm on, to not break >> >> >> > anything else) and issue the pci_rescan_bus() myself as a "final" fixup. However >> >> >> > this does not have any effect at all. >> >> >> > >> >> >> > Does anyone have an idea what I could do wrong? >> >> >> >> >> >> A rescan doesn't really do anything differently from the initial >> >> >> boot-time scan. Maybe there's an issue with the switch taking a long >> >> >> time to respond after reset? But that doesn't seem likely, because if >> >> >> you do manual rescans via sysfs, that should give plenty of time and >> >> >> you wouldn't have to do it *twice*. >> >> >> >> >> >> Maybe there's some resource or bus number allocation issue such that >> >> >> we don't even get down to the problem switch the first couple of >> >> >> times? >> >> >> >> >> >> > Example: >> >> >> > root@generic-powerpc:~# lspci -tv >> >> >> > -[0000:00]---00.0-[01]-- >> >> >> > root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan >> >> >> > [...] >> >> >> > root@generic-powerpc:~# lspci -tv >> >> >> > -[0000:00]---00.0-[01-05]----00.0-[02-05]--+-01.0-[03]-- >> >> >> > +-02.0-[04]-- >> >> >> > \-03.0-[05]-- >> >> >> > root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan >> >> >> > [...] >> >> >> > root@generic-powerpc:~# lspci -tv >> >> >> > -[0000:00]---00.0-[01-05]----00.0-[02-05]--+-01.0-[03]----00.0 Silicon Image, Inc. SiI 3132 Serial ATA Raid II Controller >> >> >> > +-02.0-[04]-- >> >> >> > \-03.0-[05]--+-00.0 Pericom Semiconductor Device 400e >> >> >> > +-00.1 Pericom Semiconductor Device 400e >> >> >> > \-00.2 Pericom Semiconductor Device 400f >> >> >> >> >> >> I bet that's what's happening: the first lspci shows the 00:00.0 >> >> >> bridge leading only to bus 01. The second lspci shows 00:00.0 leading >> >> >> to [bus 01-05], so its bus number aperture has been reconfigured. >> >> >> >> >> >> On x86 the BIOS typically configures all the bridges so we can see all >> >> >> the devices. But it looks like your platform doesn't, and the Linux >> >> >> paths that do similar configuration are not as well exercised. >> >> >> >> >> > >> >> > I'll have a look into my U-Boot again as well, maybe I can resolve it there. >> >> > >> >> >> Can you collect a complete dmesg log including initial boot and your >> >> >> manual sysfs rescansand attach it to a new bugzilla report at >> >> >> https://bugzilla.kernel.org/enter_bug.cgi?component=PCI&product=Drivers >> >> >> ? There might be some generic way we can fix this. >> >> >> >> >> > >> >> > I can do, though I have to say, it's a 3.8 Kernel from Freescale's SDK. I >> >> > don't really know if mainline wants to care about it. >> >> >> >> I don't think much has changed in this area since then, so I think >> >> this issue is still relevant. >> >> >> >> On x86 there's a boot command option "pci=assign-busses". I don't >> >> think the boot option is implemented for other arches, so you'll >> >> probably have to change the source to accomplish the same thing. Take >> >> a look at pcibios_assign_all_busses() for your platform. If it >> >> doesn't already return "true", try changing it so it does. It looks >> >> like we should try to assign bus numbers when >> >> pcibios_assign_all_busses() is true. >> > >> > Unfortunately this didn't change anything at all. As well as adding the >> > PCI_REASSIGN_ALL_RSRC flag. But while testing I've found the >> > ppc_md.pcibios_fixup_resources hook. I'll try to manually assign resources in >> > there or clear them and call the pci core's ressource allocation code. I'll post >> > an update once I make any progress. >> >> It's a generic problem -- there's nothing arch-specific about >> assigning bus numbers -- so it would be a shame to fix this in an >> arch-specific hook. >> >> Make sure you set CONFIG_PCI_DEBUG=y to get the extra debug messages >> from the probing path. >> >> Bjorn > > @ Bjorn: > > OK, I'll change my focus to drivers/pci then. > > CONFIG_PCI_DEBUG is on. > > --snip-- > Found FSL PCI host bridge at 0x00000000fe200000. Firmware bus number: 0->5 > PCI host bridge /pcie@fe200000 (primary) ranges: > MEM 0x0000000080000000..0x000000009fffffff -> 0x0000000080000000 > IO 0x00000000f8000000..0x00000000f800ffff -> 0x0000000000000000 > /pcie@fe200000: PCICSRBAR @ 0xff000000 > PCI: Probing PCI hardware > fsl-pci fe200000.pcie: PCI host bridge to bus 0000:00 > pci_bus 0000:00: root bus resource [io 0x0000-0xffff] > pci_bus 0000:00: root bus resource [mem 0x80000000-0x9fffffff] > pci_bus 0000:00: root bus resource [bus 00-ff] > pci 0000:00:00.0: PCI bridge to [bus 01-ff] > pci 0000:00:00.0: PCI bridge to [bus 01] > pci 0000:00:00.0: bridge window [io 0x0000-0xffff] > pci 0000:00:00.0: bridge window [mem 0x80000000-0x9fffffff] > --snip-- It saves time if you include the complete dmesg rather than snipping parts out of it (unless you need to strip out secret proprietary info, of course). > To me this looks like the bridge is set up correctly. But it fails to enumerate > subsequent bridges (please correct me if I'm wrong here). The "pci 0000:00:00.0: PCI bridge to [bus 01]" means the bridge is configured for only a single bus (bus 01) behind it. You have a lot more stuff there, so the bridge has to be reconfigured before we can see it all. Apparently this does happen when you do the rescans, so it would be useful to see the dmesg log that includes those. Eventually you'll see a similar line that says "pci 0000:00:00.0: PCI bridge to [bus 01-05]". Bjorn ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: PCI reset problem 2013-08-30 13:40 ` Bjorn Helgaas @ 2013-08-30 13:58 ` Johannes Thumshirn 0 siblings, 0 replies; 16+ messages in thread From: Johannes Thumshirn @ 2013-08-30 13:58 UTC (permalink / raw) To: Bjorn Helgaas; +Cc: Johannes Thumshirn, linux-pci@vger.kernel.org, Yinghai Lu On Fri, Aug 30, 2013 at 07:40:18AM -0600, Bjorn Helgaas wrote: > On Fri, Aug 30, 2013 at 2:01 AM, Johannes Thumshirn > <johannes.thumshirn@men.de> wrote: > > On Thu, Aug 29, 2013 at 09:52:30AM -0600, Bjorn Helgaas wrote: > >> On Thu, Aug 29, 2013 at 9:07 AM, Johannes Thumshirn > >> <johannes.thumshirn@men.de> wrote: > >> > On Thu, Aug 29, 2013 at 06:01:43AM -0600, Bjorn Helgaas wrote: > >> >> On Thu, Aug 29, 2013 at 2:29 AM, Johannes Thumshirn > >> >> <johannes.thumshirn@men.de> wrote: > >> >> > On Wed, Aug 28, 2013 at 10:50:58AM -0600, Bjorn Helgaas wrote: > >> >> >> [+cc Yinghai] > >> >> >> > >> >> >> On Wed, Aug 28, 2013 at 7:33 AM, Johannes Thumshirn > >> >> >> <johannes.thumshirn@men.de> wrote: > >> >> >> > Hi List, > >> >> >> > > >> >> >> > I have a rather odd problem with a PCIe swicht/bridge which does not get > >> >> >> > enumerated correctly. If I issue _two_ manual rescans of the PCI bus via sysfs, > >> >> >> > everything get setup correctly. To work around the problem I decided to make a > >> >> >> > platform specific PCI quirk (for the embedded system I'm on, to not break > >> >> >> > anything else) and issue the pci_rescan_bus() myself as a "final" fixup. However > >> >> >> > this does not have any effect at all. > >> >> >> > > >> >> >> > Does anyone have an idea what I could do wrong? > >> >> >> > >> >> >> A rescan doesn't really do anything differently from the initial > >> >> >> boot-time scan. Maybe there's an issue with the switch taking a long > >> >> >> time to respond after reset? But that doesn't seem likely, because if > >> >> >> you do manual rescans via sysfs, that should give plenty of time and > >> >> >> you wouldn't have to do it *twice*. > >> >> >> > >> >> >> Maybe there's some resource or bus number allocation issue such that > >> >> >> we don't even get down to the problem switch the first couple of > >> >> >> times? > >> >> >> > >> >> >> > Example: > >> >> >> > root@generic-powerpc:~# lspci -tv > >> >> >> > -[0000:00]---00.0-[01]-- > >> >> >> > root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan > >> >> >> > [...] > >> >> >> > root@generic-powerpc:~# lspci -tv > >> >> >> > -[0000:00]---00.0-[01-05]----00.0-[02-05]--+-01.0-[03]-- > >> >> >> > +-02.0-[04]-- > >> >> >> > \-03.0-[05]-- > >> >> >> > root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan > >> >> >> > [...] > >> >> >> > root@generic-powerpc:~# lspci -tv > >> >> >> > -[0000:00]---00.0-[01-05]----00.0-[02-05]--+-01.0-[03]----00.0 Silicon Image, Inc. SiI 3132 Serial ATA Raid II Controller > >> >> >> > +-02.0-[04]-- > >> >> >> > \-03.0-[05]--+-00.0 Pericom Semiconductor Device 400e > >> >> >> > +-00.1 Pericom Semiconductor Device 400e > >> >> >> > \-00.2 Pericom Semiconductor Device 400f > >> >> >> > >> >> >> I bet that's what's happening: the first lspci shows the 00:00.0 > >> >> >> bridge leading only to bus 01. The second lspci shows 00:00.0 leading > >> >> >> to [bus 01-05], so its bus number aperture has been reconfigured. > >> >> >> > >> >> >> On x86 the BIOS typically configures all the bridges so we can see all > >> >> >> the devices. But it looks like your platform doesn't, and the Linux > >> >> >> paths that do similar configuration are not as well exercised. > >> >> >> > >> >> > > >> >> > I'll have a look into my U-Boot again as well, maybe I can resolve it there. > >> >> > > >> >> >> Can you collect a complete dmesg log including initial boot and your > >> >> >> manual sysfs rescansand attach it to a new bugzilla report at > >> >> >> https://bugzilla.kernel.org/enter_bug.cgi?component=PCI&product=Drivers > >> >> >> ? There might be some generic way we can fix this. > >> >> >> > >> >> > > >> >> > I can do, though I have to say, it's a 3.8 Kernel from Freescale's SDK. I > >> >> > don't really know if mainline wants to care about it. > >> >> > >> >> I don't think much has changed in this area since then, so I think > >> >> this issue is still relevant. > >> >> > >> >> On x86 there's a boot command option "pci=assign-busses". I don't > >> >> think the boot option is implemented for other arches, so you'll > >> >> probably have to change the source to accomplish the same thing. Take > >> >> a look at pcibios_assign_all_busses() for your platform. If it > >> >> doesn't already return "true", try changing it so it does. It looks > >> >> like we should try to assign bus numbers when > >> >> pcibios_assign_all_busses() is true. > >> > > >> > Unfortunately this didn't change anything at all. As well as adding the > >> > PCI_REASSIGN_ALL_RSRC flag. But while testing I've found the > >> > ppc_md.pcibios_fixup_resources hook. I'll try to manually assign resources in > >> > there or clear them and call the pci core's ressource allocation code. I'll post > >> > an update once I make any progress. > >> > >> It's a generic problem -- there's nothing arch-specific about > >> assigning bus numbers -- so it would be a shame to fix this in an > >> arch-specific hook. > >> > >> Make sure you set CONFIG_PCI_DEBUG=y to get the extra debug messages > >> from the probing path. > >> > >> Bjorn > > > > @ Bjorn: > > > > OK, I'll change my focus to drivers/pci then. > > > > CONFIG_PCI_DEBUG is on. > > > > --snip-- > > Found FSL PCI host bridge at 0x00000000fe200000. Firmware bus number: 0->5 > > PCI host bridge /pcie@fe200000 (primary) ranges: > > MEM 0x0000000080000000..0x000000009fffffff -> 0x0000000080000000 > > IO 0x00000000f8000000..0x00000000f800ffff -> 0x0000000000000000 > > /pcie@fe200000: PCICSRBAR @ 0xff000000 > > PCI: Probing PCI hardware > > fsl-pci fe200000.pcie: PCI host bridge to bus 0000:00 > > pci_bus 0000:00: root bus resource [io 0x0000-0xffff] > > pci_bus 0000:00: root bus resource [mem 0x80000000-0x9fffffff] > > pci_bus 0000:00: root bus resource [bus 00-ff] > > pci 0000:00:00.0: PCI bridge to [bus 01-ff] > > pci 0000:00:00.0: PCI bridge to [bus 01] > > pci 0000:00:00.0: bridge window [io 0x0000-0xffff] > > pci 0000:00:00.0: bridge window [mem 0x80000000-0x9fffffff] > > --snip-- > > It saves time if you include the complete dmesg rather than snipping > parts out of it (unless you need to strip out secret proprietary info, > of course). > > > To me this looks like the bridge is set up correctly. But it fails to enumerate > > subsequent bridges (please correct me if I'm wrong here). > > The "pci 0000:00:00.0: PCI bridge to [bus 01]" means the bridge is > configured for only a single bus (bus 01) behind it. You have a lot > more stuff there, so the bridge has to be reconfigured before we can > see it all. Apparently this does happen when you do the rescans, so > it would be useful to see the dmesg log that includes those. > Eventually you'll see a similar line that says "pci 0000:00:00.0: PCI > bridge to [bus 01-05]". > > Bjorn --snip-- root@generic-powerpc:~# lspci 00:00.0 PCI bridge: Freescale Semiconductor Inc P4080 (rev 20) [root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan pci_bus 0000:00: scanning bus pcieport 0000:00:00.0: scanning [bus 01-01] behind bridge, pass 0 pcieport 0000:00:00.0: scanning [bus 00-00] behind bridge, pass 1 pci_bus 0000:01: scanning bus pci 0000:01:00.0: [12d8:400a] type 01 class 0x060400 pci 0000:01:00.0: calling pcibios_fixup_resources+0x0/0x100 pci 0000:01:00.0: supports D1 D2 pci 0000:01:00.0: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:01:00.0: PME# disabled pci 0000:01:00.0: scanning [bus 00-00] behind bridge, pass 0 pci 0000:01:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring pci 0000:01:00.0: scanning [bus 00-00] behind bridge, pass 1 pci_bus 0000:02: busn_res: can not insert [bus 02-ff] under [bus 01] (conflicts with (null) [bus 01]) pci_bus 0000:02: scanning bus pci 0000:02:01.0: [12d8:400a] type 01 class 0x060400 pci 0000:02:01.0: calling pcibios_fixup_resources+0x0/0x100 pci 0000:02:01.0: supports D1 D2 pci 0000:02:01.0: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:02:01.0: PME# disabled pci 0000:02:02.0: [12d8:400a] type 01 class 0x060400 pci 0000:02:02.0: calling pcibios_fixup_resources+0x0/0x100 pci 0000:02:02.0: supports D1 D2 pci 0000:02:02.0: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:02:02.0: PME# disabled pci 0000:02:03.0: [12d8:400a] type 01 class 0x060400 pci 0000:02:03.0: calling pcibios_fixup_resources+0x0/0x100 pci 0000:02:03.0: supports D1 D2 pci 0000:02:03.0: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:02:03.0: PME# disabled pci_bus 0000:02: fixups for bus pci 0000:01:00.0: PCI bridge to [bus 02-ff] pci 0000:01:00.0: bridge window [io 0x0000-0x0fff] pci 0000:01:00.0: bridge window [mem 0x00000000-0x000fffff] pci 0000:01:00.0: bridge window [mem 0x00000000-0x000fffff 64bit pref] pci 0000:02:01.0: scanning [bus 00-00] behind bridge, pass 0 pci 0000:02:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring pci 0000:02:02.0: scanning [bus 00-00] behind bridge, pass 0 pci 0000:02:02.0: bridge configuration invalid ([bus 00-00]), reconfiguring pci 0000:02:03.0: scanning [bus 00-00] behind bridge, pass 0 pci 0000:02:03.0: bridge configuration invalid ([bus 00-00]), reconfiguring pci 0000:02:01.0: scanning [bus 00-00] behind bridge, pass 1 pci_bus 0000:03: scanning bus pci_bus 0000:03: fixups for bus pci 0000:02:01.0: PCI bridge to [bus 03-ff] pci 0000:02:01.0: bridge window [io 0x0000-0x0fff] pci 0000:02:01.0: bridge window [mem 0x00000000-0x000fffff] pci 0000:02:01.0: bridge window [mem 0x00000000-0x000fffff 64bit pref] pci_bus 0000:03: bus scan returning with max=03 pci_bus 0000:03: busn_res: [bus 03-ff] end is updated to 03 pci_bus 0000:03: [bus 03] partially hidden behind bridge 0000:01 [bus 01-02] pci 0000:02:02.0: scanning [bus 00-00] behind bridge, pass 1 pci_bus 0000:04: scanning bus pci_bus 0000:04: fixups for bus pci 0000:02:02.0: PCI bridge to [bus 04-ff] pci 0000:02:02.0: bridge window [io 0x0000-0x0fff] pci 0000:02:02.0: bridge window [mem 0x00000000-0x000fffff] pci 0000:02:02.0: bridge window [mem 0x00000000-0x000fffff 64bit pref] pci_bus 0000:04: bus scan returning with max=04 pci_bus 0000:04: busn_res: [bus 04-ff] end is updated to 04 pci_bus 0000:04: [bus 04] partially hidden behind bridge 0000:01 [bus 01-02] pci 0000:02:03.0: scanning [bus 00-00] behind bridge, pass 1 pci_bus 0000:05: scanning bus pci_bus 0000:05: fixups for bus pci 0000:02:03.0: PCI bridge to [bus 05-ff] pci 0000:02:03.0: bridge window [io 0x0000-0x0fff] pci 0000:02:03.0: bridge window [mem 0x00000000-0x000fffff] pci 0000:02:03.0: bridge window [mem 0x00000000-0x000fffff 64bit pref] pci_bus 0000:05: bus scan returning with max=05 pci_bus 0000:05: busn_res: [bus 05-ff] end is updated to 05 pci_bus 0000:05: [bus 05] partially hidden behind bridge 0000:01 [bus 01-02] pci_bus 0000:02: bus scan returning with max=05 pci_bus 0000:02: busn_res: [bus 02-ff] end is updated to 05 pci_bus 0000:01: bus scan returning with max=05 pci_bus 0000:01: busn_res: [bus 01-05] end can not be updated to 05 pci_bus 0000:00: bus scan returning with max=05 pcieport 0000:00:00.0: bridge window [mem 0x00100000-0x003fffff 64bit pref] to [bus 01-05] add_size 200000 pcieport 0000:00:00.0: res[9]=[mem 0x00100000-0x003fffff 64bit pref] get_res_add_size add_size 200000 pcieport 0000:00:00.0: BAR 9: can't assign mem pref (size 0x500000) pci 0000:01:00.0: BAR 8: assigned [mem 0x80000000-0x802fffff] pci 0000:01:00.0: BAR 9: assigned [mem 0x80300000-0x805fffff 64bit pref] pci 0000:01:00.0: BAR 7: assigned [io 0x1000-0x3fff] pci 0000:02:01.0: BAR 8: assigned [mem 0x80000000-0x800fffff] pci 0000:02:01.0: BAR 9: assigned [mem 0x80300000-0x803fffff 64bit pref] pci 0000:02:02.0: BAR 8: assigned [mem 0x80100000-0x801fffff] pci 0000:02:02.0: BAR 9: assigned [mem 0x80400000-0x804fffff 64bit pref] pci 0000:02:03.0: BAR 8: assigned [mem 0x80200000-0x802fffff] pci 0000:02:03.0: BAR 9: assigned [mem 0x80500000-0x805fffff 64bit pref] pci 0000:02:01.0: BAR 7: assigned [io 0x1000-0x1fff] pci 0000:02:02.0: BAR 7: assigned [io 0x2000-0x2fff] pci 0000:02:03.0: BAR 7: assigned [io 0x3000-0x3fff] pci 0000:02:01.0: PCI bridge to [bus 03] pci 0000:02:01.0: bridge window [io 0x1000-0x1fff] pci 0000:02:01.0: bridge window [mem 0x80000000-0x800fffff] pci 0000:02:01.0: bridge window [mem 0x80300000-0x803fffff 64bit pref] pci 0000:02:02.0: PCI bridge to [bus 04] pci 0000:02:02.0: bridge window [io 0x2000-0x2fff] pci 0000:02:02.0: bridge window [mem 0x80100000-0x801fffff] pci 0000:02:02.0: bridge window [mem 0x80400000-0x804fffff 64bit pref] pci 0000:02:03.0: PCI bridge to [bus 05] pci 0000:02:03.0: bridge window [io 0x3000-0x3fff] pci 0000:02:03.0: bridge window [mem 0x80200000-0x802fffff] pci 0000:02:03.0: bridge window [mem 0x80500000-0x805fffff 64bit pref] pci 0000:01:00.0: PCI bridge to [bus 02-05] pci 0000:01:00.0: bridge window [io 0x1000-0x3fff] pci 0000:01:00.0: bridge window [mem 0x80000000-0x802fffff] pci 0000:01:00.0: bridge window [mem 0x80300000-0x805fffff 64bit pref] pci 0000:01:00.0: enabling device (0000 -> 0003) pci 0000:01:00.0: enabling bus mastering pci 0000:02:01.0: enabling device (0000 -> 0003) pci 0000:02:01.0: enabling bus mastering pci 0000:02:02.0: enabling device (0000 -> 0003) pci 0000:02:02.0: enabling bus mastering pci 0000:02:03.0: enabling device (0000 -> 0003) pci 0000:02:03.0: enabling bus mastering root@generic-powerpc:~# ~.Connected. Connected. Disconnected. --snip-- This is what I get on boot with pci flag PCI_REASSIGN_ALL_BUS added. --snip-- Found FSL PCI host bridge at 0x00000000fe200000. Firmware bus number: 0->5 PCI host bridge /pcie@fe200000 (primary) ranges: MEM 0x0000000080000000..0x000000009fffffff -> 0x0000000080000000 IO 0x00000000f8000000..0x00000000f800ffff -> 0x0000000000000000 /pcie@fe200000: PCICSRBAR @ 0xff000000 PCI: Probing PCI hardware fsl-pci fe200000.pcie: PCI host bridge to bus 0000:00 pci_bus 0000:00: root bus resource [io 0x0000-0xffff] pci_bus 0000:00: root bus resource [mem 0x80000000-0x9fffffff] pci_bus 0000:00: root bus resource [bus 00-ff] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to ff pci_bus 0000:00: scanning bus pci 0000:00:00.0: [1957:0401] type 01 class 0x0b2000 pci 0000:00:00.0: calling quirk_freescale_class+0x0/0x48 pci 0000:00:00.0: Setting PCI class for FSL PCI host bridge pci 0000:00:00.0: reg 10: [mem 0xff000000-0xffffffff] pci 0000:00:00.0: calling fixup_hide_host_resource_fsl+0x0/0x6c pci 0000:00:00.0: calling pcibios_fixup_resources+0x0/0x100 pci 0000:00:00.0: calling quirk_fsl_pcie_header+0x0/0x84 pci 0000:00:00.0: supports D1 D2 pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:00:00.0: PME# disabled pci_bus 0000:00: fixups for bus pci 0000:00:00.0: scanning [bus 01-05] behind bridge, pass 0 pci 0000:00:00.0: scanning [bus 00-00] behind bridge, pass 1 pci_bus 0000:01: scanning bus pci_bus 0000:01: fixups for bus pci 0000:00:00.0: PCI bridge to [bus 01-ff] pci 0000:00:00.0: bridge window [io 0x1000-0x1fff] pci 0000:00:00.0: bridge window [mem 0x80000000-0x801fffff] pci_bus 0000:01: bus scan returning with max=01 pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01 pci_bus 0000:00: bus scan returning with max=01 pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 01 PCI: Cannot allocate resource region 0 of device 0000:00:00.0, will remap PCI 0000:00 Cannot reserve Legacy IO [io 0x0000-0x0fff] pci 0000:00:00.0: bridge window [mem 0x00100000-0x000fffff 64bit pref] to [bus 01] add_size 200000 pci 0000:00:00.0: res[9]=[mem 0x00100000-0x000fffff 64bit pref] get_res_add_size add_size 200000 pci 0000:00:00.0: BAR 0: can't assign mem (size 0x1000000) pci 0000:00:00.0: BAR 9: can't assign mem pref (size 0x200000) pci 0000:00:00.0: PCI bridge to [bus 01] pci 0000:00:00.0: bridge window [io 0x0000-0xffff] pci 0000:00:00.0: bridge window [mem 0x80000000-0x9fffffff] pci_bus 0000:00: resource 4 [io 0x0000-0xffff] pci_bus 0000:00: resource 5 [mem 0x80000000-0x9fffffff] pci_bus 0000:01: resource 0 [io 0x0000-0xffff] pci_bus 0000:01: resource 1 [mem 0x80000000-0x9fffffff] --snip-- Thanks, Johannes ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: PCI reset problem 2013-08-30 8:01 ` Johannes Thumshirn 2013-08-30 13:40 ` Bjorn Helgaas @ 2013-08-30 19:46 ` Yinghai Lu 2013-09-02 8:00 ` Johannes Thumshirn 1 sibling, 1 reply; 16+ messages in thread From: Yinghai Lu @ 2013-08-30 19:46 UTC (permalink / raw) To: Johannes Thumshirn; +Cc: Bjorn Helgaas, linux-pci@vger.kernel.org On Fri, Aug 30, 2013 at 1:01 AM, Johannes Thumshirn <johannes.thumshirn@men.de> wrote: > > I'll test on mainline and then check pci-busn-alloc, but I have this strange > feeling that it could be an interaction with Freescale's DPAA Ethernet, which is > not yet merged into mainline. please try for-pci-busn-alloc at git://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git for-pci-busn-alloc-3.11 it is based on linus's tree + pci/next Yinghai ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: PCI reset problem 2013-08-30 19:46 ` Yinghai Lu @ 2013-09-02 8:00 ` Johannes Thumshirn 2013-09-02 22:18 ` Yinghai Lu 0 siblings, 1 reply; 16+ messages in thread From: Johannes Thumshirn @ 2013-09-02 8:00 UTC (permalink / raw) To: Yinghai Lu; +Cc: Johannes Thumshirn, Bjorn Helgaas, linux-pci@vger.kernel.org On Fri, Aug 30, 2013 at 12:46:27PM -0700, Yinghai Lu wrote: > On Fri, Aug 30, 2013 at 1:01 AM, Johannes Thumshirn > <johannes.thumshirn@men.de> wrote: > > > > I'll test on mainline and then check pci-busn-alloc, but I have this strange > > feeling that it could be an interaction with Freescale's DPAA Ethernet, which is > > not yet merged into mainline. > > please try for-pci-busn-alloc at > git://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git > for-pci-busn-alloc-3.11 > > it is based on linus's tree + pci/next > > Yinghai Hi Yinghai, I've tested the board with your for-pci-busn-alloc-3.11 branch. Initial enumeration is just as it was before. With the difference that a "sysfs-rescan" now results in: root@generic-powerpc:~# lspci 00:00.0 PCI bridge: Freescale Semiconductor Inc P4080 (rev 20) root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan pci_bus 0000:00: scanning bus pcieport 0000:00:00.0: scanning [bus 01-01] behind bridge, pass 0 pcieport 0000:00:00.0: scanning [bus 00-00] behind bridge, pass 1 pcieport 0000:00:00.0: rescan scaned bridge as broken one again ? pci_bus 0000:00: bus scan returning with max=00 root@generic-powerpc:~# lspci 00:00.0 PCI bridge: Freescale Semiconductor Inc P4080 (rev 20) The good news for me is, I can work on your tree to try to resolve the issue. Johannes ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: PCI reset problem 2013-09-02 8:00 ` Johannes Thumshirn @ 2013-09-02 22:18 ` Yinghai Lu 2013-09-03 9:55 ` Johannes Thumshirn 0 siblings, 1 reply; 16+ messages in thread From: Yinghai Lu @ 2013-09-02 22:18 UTC (permalink / raw) To: Johannes Thumshirn; +Cc: Bjorn Helgaas, linux-pci@vger.kernel.org On Mon, Sep 2, 2013 at 1:00 AM, Johannes Thumshirn <johannes.thumshirn@men.de> wrote: > I've tested the board with your for-pci-busn-alloc-3.11 branch. Initial > enumeration is just as it was before. With the difference that a "sysfs-rescan" > now results in: > > root@generic-powerpc:~# lspci > 00:00.0 PCI bridge: Freescale Semiconductor Inc P4080 (rev 20) > root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan > pci_bus 0000:00: scanning bus > pcieport 0000:00:00.0: scanning [bus 01-01] behind bridge, pass 0 > pcieport 0000:00:00.0: scanning [bus 00-00] behind bridge, pass 1 > pcieport 0000:00:00.0: rescan scaned bridge as broken one again ? > pci_bus 0000:00: bus scan returning with max=00 > root@generic-powerpc:~# lspci > 00:00.0 PCI bridge: Freescale Semiconductor Inc P4080 (rev 20) please send out whole boot log with "debug ignore_loglevel initcall_debug" ? please make sure you have "CONFIG_PCI_DEBUG=y" in .config. Yinghai ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: PCI reset problem 2013-09-02 22:18 ` Yinghai Lu @ 2013-09-03 9:55 ` Johannes Thumshirn 2013-09-03 19:38 ` Yinghai Lu 0 siblings, 1 reply; 16+ messages in thread From: Johannes Thumshirn @ 2013-09-03 9:55 UTC (permalink / raw) To: Yinghai Lu; +Cc: Johannes Thumshirn, Bjorn Helgaas, linux-pci@vger.kernel.org On Mon, Sep 02, 2013 at 03:18:48PM -0700, Yinghai Lu wrote: > On Mon, Sep 2, 2013 at 1:00 AM, Johannes Thumshirn > <johannes.thumshirn@men.de> wrote: > > > I've tested the board with your for-pci-busn-alloc-3.11 branch. Initial > > enumeration is just as it was before. With the difference that a "sysfs-rescan" > > now results in: > > > > root@generic-powerpc:~# lspci > > 00:00.0 PCI bridge: Freescale Semiconductor Inc P4080 (rev 20) > > root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan > > pci_bus 0000:00: scanning bus > > pcieport 0000:00:00.0: scanning [bus 01-01] behind bridge, pass 0 > > pcieport 0000:00:00.0: scanning [bus 00-00] behind bridge, pass 1 > > pcieport 0000:00:00.0: rescan scaned bridge as broken one again ? > > pci_bus 0000:00: bus scan returning with max=00 > > root@generic-powerpc:~# lspci > > 00:00.0 PCI bridge: Freescale Semiconductor Inc P4080 (rev 20) > > please send out whole boot log with "debug ignore_loglevel initcall_debug" ? > please make sure you have "CONFIG_PCI_DEBUG=y" in .config. > > Yinghai ---snip--- U-Boot 2013.01-00004-g3198ea1-dirty (Aug 29 2013 - 13:56:16) MEN XM51 1.1 (fallback) CPU0: P4080, Version: 2.0, (0x82000020) Core: E500MC, Version: 2.0, (0x80230020) Clock Configuration: CPU0:1200 MHz, CPU1:1200 MHz, CPU2:1200 MHz, CPU3:1200 MHz, CPU4:1200 MHz, CPU5:1200 MHz, CPU6:1200 MHz, CPU7:1200 MHz, CCB:600 MHz, DDR:600 MHz (1200 MT/s data rate) (Asynchronous), LBC:37.500 MHz FMAN1: 450 MHz FMAN2: 450 MHz QMAN: 300 MHz PME: 450 MHz L1: D-cache 32 kB enabled I-cache 32 kB enabled Reset Configuration Word (RCW): 00000000: 4c580000 00000000 18185218 0000cccc 00000010: 38404400 3c3c2000 fe800000 e1000000 00000020: 00000000 00000000 00000000 c0ddd0f4 00000030: a0000000 00000000 00000000 00000000 Board: MEN XM51 Reset Configuration Word (RCW): 00000000: 4c580000 00000000 18185218 0000cccc 00000010: 38404400 3c3c2000 fe800000 e1000000 00000020: 00000000 00000000 00000000 c0ddd0f4 00000030: a0000000 00000000 00000000 00000000 I2C: ready DRAM: Initializing....using SPD (memory mapped) (memory mapped) Detected UDIMM Detected UDIMM DDR: 2 GiB (DDR3, 64-bit, CL=8, ECC on) DDR Controller Interleaving Mode: cache line Flash: 64 MiB L2: 128 KB enabled Corenet Platform Cache: 2048 KB enabled SERDES: timeout resetting bank 3 SERDES: timeout resetting bank 2 PCIe1: Root Complex, x1, regs @ 0xfe200000 01:00.0 - 12d8:400a - Bridge device 02:01.0 - 12d8:400a - Bridge device 03:00.0 - 1095:3132 - Mass storage controller 02:02.0 - 12d8:400a - Bridge device 02:03.0 - 12d8:400a - Bridge device 05:00.0 - 12d8:400e - Serial bus controller 05:00.1 - 12d8:400e - Serial bus controller 05:00.2 - 12d8:400f - Serial bus controller PCIe1: Bus 00 - 05 PCIe2: Root Complex, no link, regs @ 0xfe201000 PCIe2: Bus 06 - 06 PCIe3: Root Complex, no link, regs @ 0xfe202000 PCIe3: Bus 07 - 07 In: serial Out: serial Err: serial SERDES Reference Clocks: Bank1=100MHz Board: name=XM51-00 rev=01.02.00 ser#=38 Net: Fman1: Uploading microcode version 101.8.0 Failed to connect Fman2: Uploading microcode version 101.8.0 Failed to connect FM2@DTSEC3, FM2@DTSEC4 [PRIME] Boot: \x1a os=linux bootmethod=tftp Auto-update from TFTP: failed, env. variable 'updatefile' not found Hit any key to stop autoboot: 3 \b\b\b 2 \b\b\b 1 \b\b\b 0 via TFTP: FM2@DTSEC4 Waiting for PHY auto negotiation to complete......... TIMEOUT ! FM2@DTSEC4: No link. Using FM2@DTSEC3 device TFTP from server 10.0.0.1; our IP address is 10.0.0.10 Filename '/tftpboot/pMulti_XM51'. Load address: 0x2000000 Loading: *\b################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ########################################## 4.3 MiB/s done Bytes transferred = 7199855 (6ddc6f hex) WARNING: adjusting available memory to 30000000 ## Booting kernel from Legacy Image at 02000000 ... Image Name: XM51 Linux Created: 2013-09-02 7:48:35 UTC Image Type: PowerPC Linux Multi-File Image (gzip compressed) Data Size: 7199791 Bytes = 6.9 MiB Load Address: 00000000 Entry Point: 00000000 Contents: Image 0: 3408358 Bytes = 3.3 MiB Image 1: 3767252 Bytes = 3.6 MiB Image 2: 24163 Bytes = 23.6 KiB Verifying Checksum ... OK ## Loading init Ramdisk from multi component Legacy Image at 02000000 ... ## Flattened Device Tree from multi component Image at 02000000 Booting using the fdt at 0x026d7e0c Uncompressing Multi-File Image ... OK Loading Ramdisk to 2fc68000, end 2ffffbd4 ... OK Loading Device Tree to 00ff7000, end 00fffe62 ... OK debug: ignoring loglevel setting. Using P4080 DS machine description Memory CAM mapping: 256/256/256 Mb, residual: 1280Mb Linux version 3.11.0-rc7-00133-g33a99f2-dirty (jt@jtlinux) (gcc version 4.7.2 (GCC) ) #1 SMP Mon Sep 2 09:22:39 CEST 2013 Found initrd at 0xefc68000:0xeffffbd4 Found legacy serial port 0 for /soc@fe000000/serial@11c500 mem=fe11c500, taddr=fe11c500, irq=0, clk=300000000, speed=0 Found legacy serial port 1 for /soc@fe000000/serial@11c600 mem=fe11c600, taddr=fe11c600, irq=0, clk=300000000, speed=0 Found legacy serial port 2 for /soc@fe000000/serial@11d500 mem=fe11d500, taddr=fe11d500, irq=0, clk=300000000, speed=0 Found legacy serial port 3 for /soc@fe000000/serial@11d600 mem=fe11d600, taddr=fe11d600, irq=0, clk=300000000, speed=0 CPU maps initialized for 1 thread per core (thread shift is 0) bootconsole [udbg0] enabled setup_arch: bootmem P4080 DS board from Freescale Semiconductor arch: exit Top of RAM: 0x80000000, Total RAM: 0x80000000 Memory hole size: 0MB Zone ranges: DMA [mem 0x00000000-0x2fffffff] Normal empty HighMem [mem 0x30000000-0x7fffffff] Movable zone start for each node Early memory node ranges node 0: [mem 0x00000000-0x7fffffff] On node 0 totalpages: 524288 free_area_init_node: node 0, pgdat c0670540, node_mem_map c0fff000 DMA zone: 1536 pages used for memmap DMA zone: 0 pages reserved DMA zone: 196608 pages, LIFO batch:31 HighMem zone: 2560 pages used for memmap HighMem zone: 327680 pages, LIFO batch:31 MMU: Allocated 1088 bytes of context maps for 255 contexts PERCPU: Embedded 7 pages/cpu @c200b000 s7168 r8192 d13312 u32768 pcpu-alloc: s7168 r8192 d13312 u32768 alloc=8*4096 pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [0] 4 [0] 5 [0] 6 [0] 7 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 522752 Kernel command line: root=/dev/ram rw console=ttyS0,115200 ip=10.0.0.10:10.0.0.1:192.1.1.22:255.255.255.0::eth0:off debug ignore_loglevel initcall_debug PID hash table entries: 4096 (order: 2, 16384 bytes) Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) Sorting __ex_table... Memory: 2002668K/2097152K available (4780K kernel code, 224K rwdata, 1396K rodata, 240K init, 309K bss, 94484K reserved, 1310712K highmem) Kernel virtual memory layout: * 0xfff5f000..0xfffff000 : fixmap * 0xffc00000..0xffe00000 : highmem PTEs * 0xffbfe000..0xffc00000 : early ioremap * 0xf1000000..0xffbfe000 : vmalloc & ioremap Hierarchical RCU implementation. RCU debugfs-based tracing is enabled. NR_IRQS:512 nr_irqs:512 16 mpic: Setting up MPIC " OpenPIC " version 1.2 at fe040000, max 8 CPUs mpic: ISU size: 512, shift: 9, mask: 1ff mpic: Initializing for 512 sources time_init: decrementer frequency = 37.500000 MHz time_init: processor frequency = 1200.000000 MHz clocksource: timebase mult[1aaaaaab] shift[24] registered clockevent: decrementer mult[999999a] shift[32] cpu[0] Console: colour dummy device 80x25 pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 512 mpic: requesting IPIs... calling epapr_paravirt_init+0x0/0xf8 @ 1 initcall epapr_paravirt_init+0x0/0xf8 returned -19 after 0 usecs calling init_e500_pmu+0x0/0xc0 @ 1 e500 family performance monitor hardware support registered initcall init_e500_pmu+0x0/0xc0 returned 0 after 3906 usecs calling spawn_ksoftirqd+0x0/0x44 @ 1 initcall spawn_ksoftirqd+0x0/0x44 returned 0 after 0 usecs calling init_workqueues+0x0/0x3b8 @ 1 initcall init_workqueues+0x0/0x3b8 returned 0 after 0 usecs calling check_cpu_stall_init+0x0/0x34 @ 1 initcall check_cpu_stall_init+0x0/0x34 returned 0 after 0 usecs calling migration_init+0x0/0x8c @ 1 initcall migration_init+0x0/0x8c returned 0 after 0 usecs calling cpu_stop_init+0x0/0xa8 @ 1 initcall cpu_stop_init+0x0/0xa8 returned 0 after 0 usecs calling rcu_scheduler_really_started+0x0/0x14 @ 1 initcall rcu_scheduler_really_started+0x0/0x14 returned 0 after 0 usecs calling rcu_spawn_gp_kthread+0x0/0xb0 @ 1 initcall rcu_spawn_gp_kthread+0x0/0xb0 returned 0 after 0 usecs Brought up 8 CPUs devtmpfs: initialized calling ipc_ns_init+0x0/0x2c @ 1 initcall ipc_ns_init+0x0/0x2c returned 0 after 0 usecs calling init_mmap_min_addr+0x0/0x18 @ 1 initcall init_mmap_min_addr+0x0/0x18 returned 0 after 0 usecs calling net_ns_init+0x0/0x1a8 @ 1 initcall net_ns_init+0x0/0x1a8 returned 0 after 0 usecs calling proc_ppc64_create+0x0/0x94 @ 1 initcall proc_ppc64_create+0x0/0x94 returned 0 after 0 usecs calling wq_sysfs_init+0x0/0x10 @ 1 initcall wq_sysfs_init+0x0/0x10 returned 0 after 0 usecs calling ksysfs_init+0x0/0xb0 @ 1 initcall ksysfs_init+0x0/0xb0 returned 0 after 0 usecs calling init_jiffies_clocksource+0x0/0xc @ 1 initcall init_jiffies_clocksource+0x0/0xc returned 0 after 0 usecs calling init_zero_pfn+0x0/0x20 @ 1 initcall init_zero_pfn+0x0/0x20 returned 0 after 0 usecs calling fsnotify_init+0x0/0x3c @ 1 initcall fsnotify_init+0x0/0x3c returned 0 after 0 usecs calling filelock_init+0x0/0xb4 @ 1 initcall filelock_init+0x0/0xb4 returned 0 after 0 usecs calling init_misc_binfmt+0x0/0x4c @ 1 initcall init_misc_binfmt+0x0/0x4c returned 0 after 0 usecs calling init_script_binfmt+0x0/0x30 @ 1 initcall init_script_binfmt+0x0/0x30 returned 0 after 0 usecs calling init_elf_binfmt+0x0/0x30 @ 1 initcall init_elf_binfmt+0x0/0x30 returned 0 after 0 usecs calling debugfs_init+0x0/0x80 @ 1 initcall debugfs_init+0x0/0x80 returned 0 after 0 usecs calling prandom_init+0x0/0xf8 @ 1 initcall prandom_init+0x0/0xf8 returned 0 after 0 usecs calling sock_init+0x0/0xb0 @ 1 initcall sock_init+0x0/0xb0 returned 0 after 0 usecs calling netlink_proto_init+0x0/0x1d4 @ 1 NET: Registered protocol family 16 initcall netlink_proto_init+0x0/0x1d4 returned 0 after 3906 usecs calling bdi_class_init+0x0/0x74 @ 1 initcall bdi_class_init+0x0/0x74 returned 0 after 0 usecs calling kobject_uevent_init+0x0/0xc @ 1 initcall kobject_uevent_init+0x0/0xc returned 0 after 0 usecs calling gpiolib_sysfs_init+0x0/0xb8 @ 1 initcall gpiolib_sysfs_init+0x0/0xb8 returned 0 after 0 usecs calling pcibus_class_init+0x0/0x14 @ 1 initcall pcibus_class_init+0x0/0x14 returned 0 after 0 usecs calling pci_driver_init+0x0/0xc @ 1 initcall pci_driver_init+0x0/0xc returned 0 after 0 usecs calling tty_class_init+0x0/0x58 @ 1 initcall tty_class_init+0x0/0x58 returned 0 after 0 usecs calling vtconsole_class_init+0x0/0x104 @ 1 initcall vtconsole_class_init+0x0/0x104 returned 0 after 3906 usecs calling spi_init+0x0/0xa0 @ 1 initcall spi_init+0x0/0xa0 returned 0 after 0 usecs calling i2c_init+0x0/0x94 @ 1 initcall i2c_init+0x0/0x94 returned 0 after 0 usecs calling vdso_init+0x0/0x504 @ 1 initcall vdso_init+0x0/0x504 returned 0 after 0 usecs calling powerpc_debugfs_init+0x0/0x40 @ 1 initcall powerpc_debugfs_init+0x0/0x40 returned 0 after 0 usecs calling ppc_init+0x0/0x60 @ 1 initcall ppc_init+0x0/0x60 returned 0 after 3906 usecs calling setup_rstcr+0x0/0xdc @ 1 initcall setup_rstcr+0x0/0xdc returned 0 after 0 usecs calling of_add_fixed_phys+0x0/0xdc @ 1 initcall of_add_fixed_phys+0x0/0xdc returned 0 after 0 usecs calling fsl_pci_init+0x0/0x10 @ 1 initcall fsl_pci_init+0x0/0x10 returned 0 after 0 usecs calling __machine_initcall_p2041_rdb_swiotlb_setup_bus_notifier+0x0/0x24 @ 1 initcall __machine_initcall_p2041_rdb_swiotlb_setup_bus_notifier+0x0/0x24 returned 0 after 0 usecs calling __machine_initcall_p2041_rdb_corenet_ds_publish_devices+0x0/0x24 @ 1 initcall __machine_initcall_p2041_rdb_corenet_ds_publish_devices+0x0/0x24 returned 0 after 0 usecs calling __machine_initcall_p3041_ds_swiotlb_setup_bus_notifier+0x0/0x24 @ 1 initcall __machine_initcall_p3041_ds_swiotlb_setup_bus_notifier+0x0/0x24 returned 0 after 0 usecs calling __machine_initcall_p3041_ds_corenet_ds_publish_devices+0x0/0x24 @ 1 initcall __machine_initcall_p3041_ds_corenet_ds_publish_devices+0x0/0x24 returned 0 after 0 usecs calling __machine_initcall_p4080_ds_swiotlb_setup_bus_notifier+0x0/0x24 @ 1 initcall __machine_initcall_p4080_ds_swiotlb_setup_bus_notifier+0x0/0x24 returned 0 after 0 usecs calling __machine_initcall_p4080_ds_corenet_ds_publish_devices+0x0/0x24 @ 1 Found FSL PCI host bridge at 0x00000000fe200000. Firmware bus number: 0->5 PCI host bridge /pcie@fe200000 (primary) ranges: MEM 0x0000000080000000..0x000000009fffffff -> 0x0000000080000000 IO 0x00000000f8000000..0x00000000f800ffff -> 0x0000000000000000 /pcie@fe200000: PCICSRBAR @ 0xff000000 initcall __machine_initcall_p4080_ds_corenet_ds_publish_devices+0x0/0x24 returned 0 after 19531 usecs calling __machine_initcall_p5020_ds_swiotlb_setup_bus_notifier+0x0/0x24 @ 1 initcall __machine_initcall_p5020_ds_swiotlb_setup_bus_notifier+0x0/0x24 returned 0 after 0 usecs calling __machine_initcall_p5020_ds_corenet_ds_publish_devices+0x0/0x24 @ 1 initcall __machine_initcall_p5020_ds_corenet_ds_publish_devices+0x0/0x24 returned 0 after 0 usecs calling __machine_initcall_p5040_ds_swiotlb_setup_bus_notifier+0x0/0x24 @ 1 initcall __machine_initcall_p5040_ds_swiotlb_setup_bus_notifier+0x0/0x24 returned 0 after 0 usecs calling __machine_initcall_p5040_ds_corenet_ds_publish_devices+0x0/0x24 @ 1 initcall __machine_initcall_p5040_ds_corenet_ds_publish_devices+0x0/0x24 returned 0 after 0 usecs calling mpc8xxx_add_gpiochips+0x0/0x20c @ 1 initcall mpc8xxx_add_gpiochips+0x0/0x20c returned 0 after 3906 usecs calling topology_init+0x0/0x110 @ 1 initcall topology_init+0x0/0x110 returned 0 after 3906 usecs calling swiotlb_late_init+0x0/0x58 @ 1 initcall swiotlb_late_init+0x0/0x58 returned 0 after 11718 usecs calling pcibios_init+0x0/0x114 @ 1 PCI: Probing PCI hardware fsl-pci fe200000.pcie: PCI host bridge to bus 0000:00 pci_bus 0000:00: root bus resource [io 0x0000-0xffff] pci_bus 0000:00: root bus resource [mem 0x80000000-0x9fffffff] pci_bus 0000:00: root bus resource [bus 00-ff] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to ff pci_bus 0000:00: scanning bus pci 0000:00:00.0: [1957:0401] type 01 class 0x0b2000 pci 0000:00:00.0: ignoring class 0x0b2000 (doesn't match header type 01) pci 0000:00:00.0: calling fixup_hide_host_resource_fsl+0x0/0x6c calling fixup_hide_host_resource_fsl+0x0/0x6c @ 1 for 0000:00:00.0 pci fixup fixup_hide_host_resource_fsl+0x0/0x6c returned after 0 usecs for 0000:00:00.0 pci 0000:00:00.0: calling pcibios_fixup_resources+0x0/0x128 calling pcibios_fixup_resources+0x0/0x128 @ 1 for 0000:00:00.0 pci fixup pcibios_fixup_resources+0x0/0x128 returned after 0 usecs for 0000:00:00.0 pci 0000:00:00.0: calling quirk_fsl_pcie_header+0x0/0x84 calling quirk_fsl_pcie_header+0x0/0x84 @ 1 for 0000:00:00.0 pci fixup quirk_fsl_pcie_header+0x0/0x84 returned after 0 usecs for 0000:00:00.0 pci 0000:00:00.0: supports D1 D2 pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:00:00.0: PME# disabled pci 0000:00:00.0: scanning [bus 01-05] behind bridge, pass 0 pci 0000:00:00.0: check if busn 01-05 is in busn_res: [bus 00-ff] pci_bus 0000:00: fixups for bus pci 0000:00:00.0: scanning [bus 00-00] behind bridge, pass 1 pci_bus 0000:01: busn_res: [bus 01-08] is updated under [bus 00-ff] pci_bus 0000:01: scanning bus pci_bus 0000:01: fixups for bus pci 0000:00:00.0: PCI bridge to [bus 01-08] pci 0000:00:00.0: bridge window [io 0x1000-0x1fff] pci 0000:00:00.0: bridge window [mem 0x80000000-0x801fffff] pci_bus 0000:01: bus scan returning with max=01 pci_bus 0000:01: busn_res: [bus 01-08] end is updated to 01 pci_bus 0000:00: bus scan returning with max=01 pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 01 PCI 0000:00 Cannot reserve Legacy IO [io 0x0000-0x0fff] pci 0000:00:00.0: PCI bridge to [bus 01] pci 0000:00:00.0: bridge window [io 0x0000-0xffff] pci 0000:00:00.0: bridge window [mem 0x80000000-0x9fffffff] pci_bus 0000:00: resource 4 [io 0x0000-0xffff] pci_bus 0000:00: resource 5 [mem 0x80000000-0x9fffffff] pci_bus 0000:01: resource 0 [io 0x0000-0xffff] pci_bus 0000:01: resource 1 [mem 0x80000000-0x9fffffff] initcall pcibios_init+0x0/0x114 returned 0 after 144531 usecs calling add_system_ram_resources+0x0/0xe8 @ 1 initcall add_system_ram_resources+0x0/0xe8 returned 0 after 0 usecs calling fsl_of_msi_init+0x0/0x10 @ 1 Setting up Freescale MSI support Setting up Freescale MSI support Setting up Freescale MSI support initcall fsl_of_msi_init+0x0/0x10 returned 0 after 7812 usecs calling param_sysfs_init+0x0/0x1b4 @ 1 initcall param_sysfs_init+0x0/0x1b4 returned 0 after 11718 usecs calling pm_sysrq_init+0x0/0x30 @ 1 initcall pm_sysrq_init+0x0/0x30 returned 0 after 0 usecs calling default_bdi_init+0x0/0xa4 @ 1 initcall default_bdi_init+0x0/0xa4 returned 0 after 0 usecs calling init_bio+0x0/0x114 @ 1 bio: create slab <bio-0> at 0 initcall init_bio+0x0/0x114 returned 0 after 3906 usecs calling fsnotify_notification_init+0x0/0xa8 @ 1 initcall fsnotify_notification_init+0x0/0xa8 returned 0 after 0 usecs calling cryptomgr_init+0x0/0xc @ 1 initcall cryptomgr_init+0x0/0xc returned 0 after 0 usecs calling blk_settings_init+0x0/0x30 @ 1 initcall blk_settings_init+0x0/0x30 returned 0 after 0 usecs calling blk_ioc_init+0x0/0x44 @ 1 initcall blk_ioc_init+0x0/0x44 returned 0 after 0 usecs calling blk_softirq_init+0x0/0x90 @ 1 initcall blk_softirq_init+0x0/0x90 returned 0 after 0 usecs calling blk_iopoll_setup+0x0/0x90 @ 1 initcall blk_iopoll_setup+0x0/0x90 returned 0 after 0 usecs calling genhd_device_init+0x0/0x98 @ 1 initcall genhd_device_init+0x0/0x98 returned 0 after 0 usecs calling gpiolib_debugfs_init+0x0/0x44 @ 1 initcall gpiolib_debugfs_init+0x0/0x44 returned 0 after 0 usecs calling pci_slot_init+0x0/0x64 @ 1 initcall pci_slot_init+0x0/0x64 returned 0 after 0 usecs calling misc_init+0x0/0xe0 @ 1 initcall misc_init+0x0/0xe0 returned 0 after 0 usecs calling init_scsi+0x0/0xa4 @ 1 SCSI subsystem initialized initcall init_scsi+0x0/0xa4 returned 0 after 3906 usecs calling ata_init+0x0/0x354 @ 1 libata version 3.00 loaded. initcall ata_init+0x0/0x354 returned 0 after 3906 usecs calling phy_init+0x0/0x48 @ 1 initcall phy_init+0x0/0x48 returned 0 after 0 usecs calling usb_init+0x0/0x190 @ 1 usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb initcall usb_init+0x0/0x190 returned 0 after 7812 usecs calling serio_init+0x0/0x4c @ 1 initcall serio_init+0x0/0x4c returned 0 after 0 usecs calling input_init+0x0/0x13c @ 1 initcall input_init+0x0/0x13c returned 0 after 0 usecs calling rtc_init+0x0/0x80 @ 1 initcall rtc_init+0x0/0x80 returned 0 after 0 usecs calling hwmon_init+0x0/0x64 @ 1 initcall hwmon_init+0x0/0x64 returned 0 after 0 usecs calling proto_init+0x0/0xc @ 1 initcall proto_init+0x0/0xc returned 0 after 0 usecs calling net_dev_init+0x0/0x1ec @ 1 initcall net_dev_init+0x0/0x1ec returned 0 after 0 usecs calling neigh_init+0x0/0xac @ 1 initcall neigh_init+0x0/0xac returned 0 after 0 usecs calling fib_rules_init+0x0/0xd8 @ 1 initcall fib_rules_init+0x0/0xd8 returned 0 after 0 usecs calling genl_init+0x0/0xa8 @ 1 initcall genl_init+0x0/0xa8 returned 0 after 0 usecs calling dma_init+0x0/0x8 @ 1 initcall dma_init+0x0/0x8 returned 0 after 0 usecs calling add_rtc+0x0/0x134 @ 1 initcall add_rtc+0x0/0x134 returned -19 after 0 usecs calling clocksource_done_booting+0x0/0x64 @ 1 Switched to clocksource timebase initcall clocksource_done_booting+0x0/0x64 returned 0 after 2870 usecs calling init_pipe_fs+0x0/0x70 @ 1 initcall init_pipe_fs+0x0/0x70 returned 0 after 63 usecs calling eventpoll_init+0x0/0xe4 @ 1 initcall eventpoll_init+0x0/0xe4 returned 0 after 28 usecs calling anon_inode_init+0x0/0x80 @ 1 initcall anon_inode_init+0x0/0x80 returned 0 after 27 usecs calling blk_scsi_ioctl_init+0x0/0xc8 @ 1 initcall blk_scsi_ioctl_init+0x0/0xc8 returned 0 after 0 usecs calling chr_dev_init+0x0/0xf8 @ 1 initcall chr_dev_init+0x0/0xf8 returned 0 after 8229 usecs calling firmware_class_init+0x0/0x5c @ 1 initcall firmware_class_init+0x0/0x5c returned 0 after 86 usecs calling sysctl_core_init+0x0/0x44 @ 1 initcall sysctl_core_init+0x0/0x44 returned 0 after 19 usecs calling inet_init+0x0/0x2e0 @ 1 NET: Registered protocol family 2 TCP established hash table entries: 8192 (order: 4, 65536 bytes) TCP bind hash table entries: 8192 (order: 4, 65536 bytes) TCP: Hash tables configured (established 8192 bind 8192) TCP: reno registered UDP hash table entries: 512 (order: 2, 16384 bytes) UDP-Lite hash table entries: 512 (order: 2, 16384 bytes) initcall inet_init+0x0/0x2e0 returned 0 after 30198 usecs calling ipv4_offload_init+0x0/0x6c @ 1 initcall ipv4_offload_init+0x0/0x6c returned 0 after 0 usecs calling af_unix_init+0x0/0x70 @ 1 NET: Registered protocol family 1 initcall af_unix_init+0x0/0x70 returned 0 after 2986 usecs calling ipv6_offload_init+0x0/0x8c @ 1 initcall ipv6_offload_init+0x0/0x8c returned 0 after 1 usecs calling init_sunrpc+0x0/0x84 @ 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. initcall init_sunrpc+0x0/0x84 returned 0 after 16240 usecs calling pci_apply_final_quirks+0x0/0x134 @ 1 PCI: CLS 32 bytes, default 64 initcall pci_apply_final_quirks+0x0/0x134 returned 0 after 2626 usecs calling populate_rootfs+0x0/0x218 @ 1 Trying to unpack rootfs image as initramfs... rootfs image is not initramfs (no cpio magic); looks like an initrd Freeing initrd memory: 3676K (efc68000 - effff000) initcall populate_rootfs+0x0/0x218 returned 0 after 25026 usecs calling register_powersave_nap_sysctl+0x0/0x2c @ 1 initcall register_powersave_nap_sysctl+0x0/0x2c returned 0 after 23 usecs calling rtc_init+0x0/0x7c @ 1 initcall rtc_init+0x0/0x7c returned -19 after 0 usecs calling serial_dev_init+0x0/0x16c @ 1 initcall serial_dev_init+0x0/0x16c returned 0 after 206 usecs calling audit_classes_init+0x0/0x6c @ 1 initcall audit_classes_init+0x0/0x6c returned 0 after 3 usecs calling fsl_lbc_init+0x0/0x10 @ 1 initcall fsl_lbc_init+0x0/0x10 returned 0 after 314 usecs calling proc_execdomains_init+0x0/0x40 @ 1 initcall proc_execdomains_init+0x0/0x40 returned 0 after 7 usecs calling ioresources_init+0x0/0x68 @ 1 initcall ioresources_init+0x0/0x68 returned 0 after 5 usecs calling uid_cache_init+0x0/0xbc @ 1 initcall uid_cache_init+0x0/0xbc returned 0 after 18 usecs calling init_posix_timers+0x0/0x1fc @ 1 initcall init_posix_timers+0x0/0x1fc returned 0 after 13 usecs calling init_posix_cpu_timers+0x0/0xe4 @ 1 initcall init_posix_cpu_timers+0x0/0xe4 returned 0 after 0 usecs calling init_sched_debug_procfs+0x0/0x50 @ 1 initcall init_sched_debug_procfs+0x0/0x50 returned 0 after 3 usecs calling timekeeping_init_ops+0x0/0x2c @ 1 initcall timekeeping_init_ops+0x0/0x2c returned 0 after 0 usecs calling init_clocksource_sysfs+0x0/0x98 @ 1 initcall init_clocksource_sysfs+0x0/0x98 returned 0 after 178 usecs calling init_timer_list_procfs+0x0/0x50 @ 1 initcall init_timer_list_procfs+0x0/0x50 returned 0 after 5 usecs calling alarmtimer_init+0x0/0x198 @ 1 initcall alarmtimer_init+0x0/0x198 returned 0 after 213 usecs calling clockevents_init_sysfs+0x0/0xf4 @ 1 initcall clockevents_init_sysfs+0x0/0xf4 returned 0 after 692 usecs calling futex_init+0x0/0x80 @ 1 initcall futex_init+0x0/0x80 returned 0 after 4 usecs calling proc_dma_init+0x0/0x40 @ 1 initcall proc_dma_init+0x0/0x40 returned 0 after 6 usecs calling proc_modules_init+0x0/0x44 @ 1 initcall proc_modules_init+0x0/0x44 returned 0 after 2 usecs calling kallsyms_init+0x0/0x44 @ 1 initcall kallsyms_init+0x0/0x44 returned 0 after 6 usecs calling crash_save_vmcoreinfo_init+0x0/0x438 @ 1 initcall crash_save_vmcoreinfo_init+0x0/0x438 returned 0 after 55 usecs calling crash_notes_memory_init+0x0/0x4c @ 1 initcall crash_notes_memory_init+0x0/0x4c returned 0 after 9 usecs calling ikconfig_init+0x0/0x64 @ 1 initcall ikconfig_init+0x0/0x64 returned 0 after 3 usecs calling audit_init+0x0/0x178 @ 1 audit: initializing netlink socket (disabled) type=2000 audit(1.560:1): initialized initcall audit_init+0x0/0x178 returned 0 after 7308 usecs calling hung_task_init+0x0/0x74 @ 1 initcall hung_task_init+0x0/0x74 returned 0 after 52 usecs calling rcutree_trace_init+0x0/0x1bc @ 1 initcall rcutree_trace_init+0x0/0x1bc returned 0 after 48 usecs calling utsname_sysctl_init+0x0/0x2c @ 1 initcall utsname_sysctl_init+0x0/0x2c returned 0 after 11 usecs calling perf_event_sysfs_init+0x0/0xb8 @ 1 initcall perf_event_sysfs_init+0x0/0xb8 returned 0 after 243 usecs calling init_per_zone_wmark_min+0x0/0xd4 @ 1 initcall init_per_zone_wmark_min+0x0/0xd4 returned 0 after 459 usecs calling kswapd_init+0x0/0x2c @ 1 initcall kswapd_init+0x0/0x2c returned 0 after 71 usecs calling setup_vmstat+0x0/0xe4 @ 1 initcall setup_vmstat+0x0/0xe4 returned 0 after 26 usecs calling mm_sysfs_init+0x0/0x48 @ 1 initcall mm_sysfs_init+0x0/0x48 returned 0 after 7 usecs calling mm_compute_batch_init+0x0/0x74 @ 1 initcall mm_compute_batch_init+0x0/0x74 returned 0 after 0 usecs calling slab_proc_init+0x0/0x44 @ 1 initcall slab_proc_init+0x0/0x44 returned 0 after 3 usecs calling init_reserve_notifier+0x0/0x8 @ 1 initcall init_reserve_notifier+0x0/0x8 returned 0 after 0 usecs calling init_admin_reserve+0x0/0x38 @ 1 initcall init_admin_reserve+0x0/0x38 returned 0 after 0 usecs calling init_user_reserve+0x0/0x38 @ 1 initcall init_user_reserve+0x0/0x38 returned 0 after 0 usecs calling proc_vmalloc_init+0x0/0x44 @ 1 initcall proc_vmalloc_init+0x0/0x44 returned 0 after 2 usecs calling memblock_init_debugfs+0x0/0x90 @ 1 initcall memblock_init_debugfs+0x0/0x90 returned 0 after 12 usecs calling init_emergency_pool+0x0/0x80 @ 1 bounce pool size: 64 pages initcall init_emergency_pool+0x0/0x80 returned 0 after 2372 usecs calling procswaps_init+0x0/0x44 @ 1 initcall procswaps_init+0x0/0x44 returned 0 after 3 usecs calling slab_proc_init+0x0/0x8 @ 1 initcall slab_proc_init+0x0/0x8 returned 0 after 0 usecs calling cpucache_init+0x0/0x6c @ 1 initcall cpucache_init+0x0/0x6c returned 0 after 2 usecs calling fcntl_init+0x0/0x44 @ 1 initcall fcntl_init+0x0/0x44 returned 0 after 15 usecs calling proc_filesystems_init+0x0/0x40 @ 1 initcall proc_filesystems_init+0x0/0x40 returned 0 after 3 usecs calling dio_init+0x0/0x44 @ 1 initcall dio_init+0x0/0x44 returned 0 after 9 usecs calling fsnotify_mark_init+0x0/0x58 @ 1 initcall fsnotify_mark_init+0x0/0x58 returned 0 after 47 usecs calling dnotify_init+0x0/0x98 @ 1 initcall dnotify_init+0x0/0x98 returned 0 after 24 usecs calling inotify_user_setup+0x0/0x88 @ 1 initcall inotify_user_setup+0x0/0x88 returned 0 after 21 usecs calling aio_setup+0x0/0x78 @ 1 initcall aio_setup+0x0/0x78 returned 0 after 22 usecs calling proc_locks_init+0x0/0x44 @ 1 initcall proc_locks_init+0x0/0x44 returned 0 after 4 usecs calling init_mbcache+0x0/0x2c @ 1 initcall init_mbcache+0x0/0x2c returned 0 after 0 usecs calling proc_cmdline_init+0x0/0x40 @ 1 initcall proc_cmdline_init+0x0/0x40 returned 0 after 2 usecs calling proc_consoles_init+0x0/0x44 @ 1 initcall proc_consoles_init+0x0/0x44 returned 0 after 2 usecs calling proc_cpuinfo_init+0x0/0x40 @ 1 initcall proc_cpuinfo_init+0x0/0x40 returned 0 after 2 usecs calling proc_devices_init+0x0/0x44 @ 1 initcall proc_devices_init+0x0/0x44 returned 0 after 2 usecs calling proc_interrupts_init+0x0/0x44 @ 1 initcall proc_interrupts_init+0x0/0x44 returned 0 after 2 usecs calling proc_loadavg_init+0x0/0x40 @ 1 initcall proc_loadavg_init+0x0/0x40 returned 0 after 2 usecs calling proc_meminfo_init+0x0/0x40 @ 1 initcall proc_meminfo_init+0x0/0x40 returned 0 after 2 usecs calling proc_stat_init+0x0/0x40 @ 1 initcall proc_stat_init+0x0/0x40 returned 0 after 3 usecs calling proc_uptime_init+0x0/0x40 @ 1 initcall proc_uptime_init+0x0/0x40 returned 0 after 2 usecs calling proc_version_init+0x0/0x40 @ 1 initcall proc_version_init+0x0/0x40 returned 0 after 2 usecs calling proc_softirqs_init+0x0/0x40 @ 1 initcall proc_softirqs_init+0x0/0x40 returned 0 after 2 usecs calling proc_kcore_init+0x0/0x90 @ 1 initcall proc_kcore_init+0x0/0x90 returned 0 after 4 usecs calling proc_kmsg_init+0x0/0x40 @ 1 initcall proc_kmsg_init+0x0/0x40 returned 0 after 3 usecs calling proc_page_init+0x0/0x68 @ 1 initcall proc_page_init+0x0/0x68 returned 0 after 5 usecs calling init_devpts_fs+0x0/0x84 @ 1 initcall init_devpts_fs+0x0/0x84 returned 0 after 46 usecs calling init_ext3_fs+0x0/0x98 @ 1 initcall init_ext3_fs+0x0/0x98 returned 0 after 25 usecs calling init_ext2_fs+0x0/0x88 @ 1 initcall init_ext2_fs+0x0/0x88 returned 0 after 13 usecs calling journal_init+0x0/0xe8 @ 1 initcall journal_init+0x0/0xe8 returned 0 after 40 usecs calling init_cramfs_fs+0x0/0x4c @ 1 initcall init_cramfs_fs+0x0/0x4c returned 0 after 14 usecs calling init_ramfs_fs+0x0/0xc @ 1 initcall init_ramfs_fs+0x0/0xc returned 0 after 1 usecs calling init_fat_fs+0x0/0x6c @ 1 initcall init_fat_fs+0x0/0x6c returned 0 after 27 usecs calling init_vfat_fs+0x0/0xc @ 1 initcall init_vfat_fs+0x0/0xc returned 0 after 1 usecs calling init_msdos_fs+0x0/0xc @ 1 initcall init_msdos_fs+0x0/0xc returned 0 after 1 usecs calling init_iso9660_fs+0x0/0xa0 @ 1 initcall init_iso9660_fs+0x0/0xa0 returned 0 after 17 usecs calling init_nfs_fs+0x0/0x158 @ 1 initcall init_nfs_fs+0x0/0x158 returned 0 after 172 usecs calling init_nfs_v2+0x0/0x2c @ 1 initcall init_nfs_v2+0x0/0x2c returned 0 after 0 usecs calling init_nfs_v3+0x0/0x2c @ 1 initcall init_nfs_v3+0x0/0x2c returned 0 after 0 usecs calling init_nfs_v4+0x0/0x54 @ 1 NFS: Registering the id_resolver key type Key type id_resolver registered Key type id_legacy registered initcall init_nfs_v4+0x0/0x54 returned 0 after 9089 usecs calling init_nfsd+0x0/0x10c @ 1 Installing knfsd (copyright (C) 1996 okir@monad.swb.de). initcall init_nfsd+0x0/0x10c returned 0 after 4971 usecs calling init_nlm+0x0/0x64 @ 1 initcall init_nlm+0x0/0x64 returned 0 after 8 usecs calling init_nls_iso8859_1+0x0/0xc @ 1 initcall init_nls_iso8859_1+0x0/0xc returned 0 after 0 usecs calling init_nls_utf8+0x0/0x2c @ 1 initcall init_nls_utf8+0x0/0x2c returned 0 after 0 usecs calling init_ntfs_fs+0x0/0x200 @ 1 NTFS driver 2.1.30 [Flags: R/O]. initcall init_ntfs_fs+0x0/0x200 returned 0 after 2940 usecs calling init_jffs2_fs+0x0/0xe4 @ 1 jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. initcall init_jffs2_fs+0x0/0xe4 returned 0 after 4805 usecs calling init_udf_fs+0x0/0x88 @ 1 initcall init_udf_fs+0x0/0x88 returned 0 after 10 usecs calling ipc_init+0x0/0x38 @ 1 msgmni has been set to 1487 initcall ipc_init+0x0/0x38 returned 0 after 2461 usecs calling ipc_sysctl_init+0x0/0x2c @ 1 initcall ipc_sysctl_init+0x0/0x2c returned 0 after 12 usecs calling init_mqueue_fs+0x0/0xcc @ 1 initcall init_mqueue_fs+0x0/0xcc returned 0 after 60 usecs calling key_proc_init+0x0/0x58 @ 1 initcall key_proc_init+0x0/0x58 returned 0 after 5 usecs calling crypto_wq_init+0x0/0x50 @ 1 initcall crypto_wq_init+0x0/0x50 returned 0 after 66 usecs calling crypto_algapi_init+0x0/0x24 @ 1 initcall crypto_algapi_init+0x0/0x24 returned 0 after 4 usecs calling skcipher_module_init+0x0/0x54 @ 1 initcall skcipher_module_init+0x0/0x54 returned 0 after 0 usecs calling chainiv_module_init+0x0/0xc @ 1 initcall chainiv_module_init+0x0/0xc returned 0 after 1 usecs calling eseqiv_module_init+0x0/0xc @ 1 initcall eseqiv_module_init+0x0/0xc returned 0 after 0 usecs calling hmac_module_init+0x0/0xc @ 1 initcall hmac_module_init+0x0/0xc returned 0 after 0 usecs calling crypto_null_mod_init+0x0/0x68 @ 1 initcall crypto_null_mod_init+0x0/0x68 returned 0 after 219 usecs calling md4_mod_init+0x0/0xc @ 1 initcall md4_mod_init+0x0/0xc returned 0 after 64 usecs calling md5_mod_init+0x0/0xc @ 1 initcall md5_mod_init+0x0/0xc returned 0 after 52 usecs calling sha1_generic_mod_init+0x0/0xc @ 1 initcall sha1_generic_mod_init+0x0/0xc returned 0 after 50 usecs calling sha256_generic_mod_init+0x0/0x10 @ 1 initcall sha256_generic_mod_init+0x0/0x10 returned 0 after 100 usecs calling sha512_generic_mod_init+0x0/0x10 @ 1 initcall sha512_generic_mod_init+0x0/0x10 returned 0 after 100 usecs calling crypto_cbc_module_init+0x0/0xc @ 1 initcall crypto_cbc_module_init+0x0/0xc returned 0 after 1 usecs calling crypto_pcbc_module_init+0x0/0xc @ 1 initcall crypto_pcbc_module_init+0x0/0xc returned 0 after 0 usecs calling des_generic_mod_init+0x0/0x10 @ 1 initcall des_generic_mod_init+0x0/0x10 returned 0 after 98 usecs calling aes_init+0x0/0xc @ 1 initcall aes_init+0x0/0xc returned 0 after 53 usecs calling deflate_mod_init+0x0/0xc @ 1 initcall deflate_mod_init+0x0/0xc returned 0 after 51 usecs calling crc32c_mod_init+0x0/0xc @ 1 initcall crc32c_mod_init+0x0/0xc returned 0 after 51 usecs calling crypto_authenc_module_init+0x0/0xc @ 1 initcall crypto_authenc_module_init+0x0/0xc returned 0 after 0 usecs calling crypto_authenc_esn_module_init+0x0/0xc @ 1 initcall crypto_authenc_esn_module_init+0x0/0xc returned 0 after 0 usecs calling krng_mod_init+0x0/0xc @ 1 initcall krng_mod_init+0x0/0xc returned 0 after 54 usecs calling proc_genhd_init+0x0/0x68 @ 1 initcall proc_genhd_init+0x0/0x68 returned 0 after 11 usecs calling noop_init+0x0/0xc @ 1 io scheduler noop registered initcall noop_init+0x0/0xc returned 0 after 2553 usecs calling deadline_init+0x0/0xc @ 1 io scheduler deadline registered initcall deadline_init+0x0/0xc returned 0 after 2886 usecs calling cfq_init+0x0/0xa8 @ 1 io scheduler cfq registered (default) initcall cfq_init+0x0/0xa8 returned 0 after 3311 usecs calling libcrc32c_mod_init+0x0/0x50 @ 1 initcall libcrc32c_mod_init+0x0/0x50 returned 0 after 4 usecs calling percpu_counter_startup+0x0/0x48 @ 1 initcall percpu_counter_startup+0x0/0x48 returned 0 after 0 usecs calling pci_proc_init+0x0/0x94 @ 1 initcall pci_proc_init+0x0/0x94 returned 0 after 15 usecs calling pcie_portdrv_init+0x0/0x94 @ 1 initcall pcie_portdrv_init+0x0/0x94 returned 0 after 224 usecs calling aer_service_init+0x0/0x44 @ 1 initcall aer_service_init+0x0/0x44 returned 0 after 79 usecs calling pty_init+0x0/0x248 @ 1 initcall pty_init+0x0/0x248 returned 0 after 138 usecs calling sysrq_init+0x0/0x110 @ 1 initcall sysrq_init+0x0/0x110 returned 0 after 11 usecs calling serial8250_init+0x0/0x1b0 @ 1 Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled serial8250.0: ttyS0 at MMIO 0xfe11c500 (irq = 36) is a 16550A console [ttyS0] enabled, bootconsole disabled console [ttyS0] enabled, bootconsole disabled serial8250.0: ttyS1 at MMIO 0xfe11c600 (irq = 36) is a 16550A serial8250.0: ttyS2 at MMIO 0xfe11d500 (irq = 37) is a 16550A serial8250.0: ttyS3 at MMIO 0xfe11d600 (irq = 37) is a 16550A initcall serial8250_init+0x0/0x1b0 returned 0 after 36130 usecs calling serial_pci_driver_init+0x0/0x18 @ 1 initcall serial_pci_driver_init+0x0/0x18 returned 0 after 105 usecs calling ehv_bc_init+0x0/0x1a4 @ 1 ePAPR hypervisor byte channel driver initcall ehv_bc_init+0x0/0x1a4 returned -19 after 3320 usecs calling rand_initialize+0x0/0x48 @ 1 initcall rand_initialize+0x0/0x48 returned 0 after 31 usecs calling nvram_init+0x0/0x6c @ 1 Generic non-volatile memory driver v1.1 initcall nvram_init+0x0/0x6c returned 0 after 3619 usecs calling topology_sysfs_init+0x0/0x90 @ 1 initcall topology_sysfs_init+0x0/0x90 returned 0 after 80 usecs calling brd_init+0x0/0x1ec @ 1 brd: module loaded initcall brd_init+0x0/0x1ec returned 0 after 6182 usecs calling loop_init+0x0/0x160 @ 1 loop: module loaded initcall loop_init+0x0/0x160 returned 0 after 4294 usecs calling at24_init+0x0/0x60 @ 1 initcall at24_init+0x0/0x60 returned 0 after 80 usecs calling spi_transport_init+0x0/0xb0 @ 1 initcall spi_transport_init+0x0/0xb0 returned 0 after 136 usecs calling sym2_init+0x0/0x134 @ 1 initcall sym2_init+0x0/0x134 returned 0 after 102 usecs calling init_st+0x0/0x1a8 @ 1 st: Version 20101219, fixed bufsize 32768, s/g segs 256 initcall init_st+0x0/0x1a8 returned 0 after 4989 usecs calling init_sd+0x0/0x1a8 @ 1 initcall init_sd+0x0/0x1a8 returned 0 after 172 usecs calling init_sr+0x0/0x68 @ 1 initcall init_sr+0x0/0x68 returned 0 after 72 usecs calling init_sg+0x0/0x158 @ 1 initcall init_sg+0x0/0x158 returned 0 after 98 usecs calling sil24_pci_driver_init+0x0/0x18 @ 1 initcall sil24_pci_driver_init+0x0/0x18 returned 0 after 94 usecs calling init_mtd+0x0/0x118 @ 1 initcall init_mtd+0x0/0x118 returned 0 after 447 usecs calling ofpart_parser_init+0x0/0x5c @ 1 initcall ofpart_parser_init+0x0/0x5c returned 0 after 0 usecs calling cmdline_parser_init+0x0/0x24 @ 1 initcall cmdline_parser_init+0x0/0x24 returned 0 after 0 usecs calling init_mtdblock+0x0/0xc @ 1 initcall init_mtdblock+0x0/0xc returned 0 after 2 usecs calling cfi_probe_init+0x0/0x2c @ 1 initcall cfi_probe_init+0x0/0x2c returned 0 after 0 usecs calling of_flash_driver_init+0x0/0x10 @ 1 ee000000.flash: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x000089 Chip ID 0x00891f Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Using buffer write method Using auto-unlock on power-up/resume cfi_cmdset_0001: Erase suspend on write enabled erase region 0: offset=0x0,size=0x20000,blocks=255 erase region 1: offset=0x1fe0000,size=0x8000,blocks=4 initcall of_flash_driver_init+0x0/0x10 returned 0 after 48398 usecs calling m25p80_driver_init+0x0/0xc @ 1 initcall m25p80_driver_init+0x0/0xc returned 0 after 76 usecs calling fsl_espi_driver_init+0x0/0x10 @ 1 fsl_espi fe110000.spi: master is unqueued, this is deprecated fsl_espi fe110000.spi: at 0xf10c2000 (irq = 53) initcall fsl_espi_driver_init+0x0/0x10 returned 0 after 9939 usecs calling fsl_spi_init+0x0/0x10 @ 1 initcall fsl_spi_init+0x0/0x10 returned 0 after 172 usecs calling spi_gpio_driver_init+0x0/0x10 @ 1 initcall spi_gpio_driver_init+0x0/0x10 returned 0 after 151 usecs calling net_olddevs_init+0x0/0x90 @ 1 initcall net_olddevs_init+0x0/0x90 returned 0 after 8 usecs calling vsc82xx_init+0x0/0x10 @ 1 initcall vsc82xx_init+0x0/0x10 returned 0 after 278 usecs calling fixed_mdio_bus_init+0x0/0x114 @ 1 libphy: Fixed MDIO Bus: probed initcall fixed_mdio_bus_init+0x0/0x114 returned 0 after 2921 usecs calling mdio_mux_gpio_driver_init+0x0/0x10 @ 1 initcall mdio_mux_gpio_driver_init+0x0/0x10 returned 0 after 173 usecs calling mdio_mux_mmioreg_driver_init+0x0/0x10 @ 1 initcall mdio_mux_mmioreg_driver_init+0x0/0x10 returned 0 after 149 usecs calling fsl_pq_mdio_driver_init+0x0/0x10 @ 1 initcall fsl_pq_mdio_driver_init+0x0/0x10 returned 0 after 149 usecs calling xgmac_mdio_driver_init+0x0/0x10 @ 1 initcall xgmac_mdio_driver_init+0x0/0x10 returned 0 after 149 usecs calling cdrom_init+0x0/0x3c @ 1 initcall cdrom_init+0x0/0x3c returned 0 after 10 usecs calling ehci_hcd_init+0x0/0xb8 @ 1 ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver initcall ehci_hcd_init+0x0/0xb8 returned 0 after 5252 usecs calling ehci_pci_init+0x0/0x90 @ 1 ehci-pci: EHCI PCI platform driver initcall ehci_pci_init+0x0/0x90 returned 0 after 3154 usecs calling i8042_init+0x0/0x120 @ 1 initcall i8042_init+0x0/0x120 returned -19 after 116 usecs calling serport_init+0x0/0x4c @ 1 initcall serport_init+0x0/0x4c returned 0 after 0 usecs calling cmos_init+0x0/0x60 @ 1 initcall cmos_init+0x0/0x60 returned -19 after 224 usecs calling ds1307_driver_init+0x0/0x10 @ 1 initcall ds1307_driver_init+0x0/0x10 returned 0 after 78 usecs calling ds3232_driver_init+0x0/0x10 @ 1 initcall ds3232_driver_init+0x0/0x10 returned 0 after 71 usecs calling rx8581_driver_init+0x0/0x10 @ 1 initcall rx8581_driver_init+0x0/0x10 returned 0 after 70 usecs calling i2c_dev_init+0x0/0xec @ 1 i2c /dev entries driver initcall i2c_dev_init+0x0/0xec returned 0 after 2202 usecs calling mpc_i2c_driver_init+0x0/0x10 @ 1 mpc-i2c fe118100.i2c: timeout 1000000 us at24 0-0054: 32768 byte 24c256 EEPROM, writable, 1 bytes/write rtc-rx8581 0-0051: chip found, driver version 0.1 rtc-rx8581 0-0051: Unable to read device flags rtc-rx8581 0-0051: rtc core: registered rtc-rx8581 as rtc0 mpc-i2c fe118000.i2c: timeout 1000000 us mpc-i2c fe119000.i2c: timeout 1000000 us mpc-i2c fe119100.i2c: timeout 1000000 us initcall mpc_i2c_driver_init+0x0/0x10 returned 0 after 35747 usecs calling lm75_driver_init+0x0/0x10 @ 1 lm75 0-0057: hwmon0: sensor 'lm75' initcall lm75_driver_init+0x0/0x10 returned 0 after 3709 usecs calling lm90_driver_init+0x0/0x10 @ 1 initcall lm90_driver_init+0x0/0x10 returned 0 after 85 usecs calling caam_driver_init+0x0/0x10 @ 1 initcall caam_driver_init+0x0/0x10 returned 0 after 178 usecs calling caam_algapi_init+0x0/0x27c @ 1 initcall caam_algapi_init+0x0/0x27c returned -19 after 104 usecs calling caam_algapi_hash_init+0x0/0x1a4 @ 1 initcall caam_algapi_hash_init+0x0/0x1a4 returned -19 after 81 usecs calling caam_rng_init+0x0/0x160 @ 1 initcall caam_rng_init+0x0/0x160 returned -19 after 81 usecs calling hid_init+0x0/0x6c @ 1 initcall hid_init+0x0/0x6c returned 0 after 114 usecs calling hid_generic_init+0x0/0x18 @ 1 initcall hid_generic_init+0x0/0x18 returned 0 after 87 usecs calling hid_init+0x0/0x70 @ 1 usbcore: registered new interface driver usbhid usbhid: USB HID core driver initcall hid_init+0x0/0x70 returned 0 after 6737 usecs calling staging_init+0x0/0x8 @ 1 initcall staging_init+0x0/0x8 returned 0 after 0 usecs calling fsl_hypervisor_init+0x0/0x360 @ 1 Freescale hypervisor management driver fsl-hv: no hypervisor found initcall fsl_hypervisor_init+0x0/0x360 returned -19 after 5893 usecs calling sock_diag_init+0x0/0xc @ 1 initcall sock_diag_init+0x0/0xc returned 0 after 14 usecs calling flow_cache_init_global+0x0/0x1b4 @ 1 initcall flow_cache_init_global+0x0/0x1b4 returned 0 after 53 usecs calling sysctl_ipv4_init+0x0/0xc4 @ 1 initcall sysctl_ipv4_init+0x0/0xc4 returned 0 after 71 usecs calling ipip_init+0x0/0xb4 @ 1 ipip: IPv4 over IPv4 tunneling driver initcall ipip_init+0x0/0xb4 returned 0 after 3721 usecs calling ah4_init+0x0/0x94 @ 1 initcall ah4_init+0x0/0x94 returned 0 after 1 usecs calling esp4_init+0x0/0x90 @ 1 initcall esp4_init+0x0/0x90 returned 0 after 0 usecs calling ipcomp4_init+0x0/0x90 @ 1 initcall ipcomp4_init+0x0/0x90 returned 0 after 0 usecs calling ipip_init+0x0/0xdc @ 1 initcall ipip_init+0x0/0xdc returned 0 after 1 usecs calling xfrm4_beet_init+0x0/0x10 @ 1 initcall xfrm4_beet_init+0x0/0x10 returned 0 after 0 usecs calling tunnel4_init+0x0/0x90 @ 1 initcall tunnel4_init+0x0/0x90 returned 0 after 0 usecs calling xfrm4_transport_init+0x0/0x10 @ 1 initcall xfrm4_transport_init+0x0/0x10 returned 0 after 0 usecs calling xfrm4_mode_tunnel_init+0x0/0x10 @ 1 initcall xfrm4_mode_tunnel_init+0x0/0x10 returned 0 after 0 usecs calling inet_diag_init+0x0/0xa4 @ 1 initcall inet_diag_init+0x0/0xa4 returned 0 after 1 usecs calling tcp_diag_init+0x0/0xc @ 1 initcall tcp_diag_init+0x0/0xc returned 0 after 0 usecs calling cubictcp_register+0x0/0xa0 @ 1 TCP: cubic registered initcall cubictcp_register+0x0/0xa0 returned 0 after 1959 usecs calling xfrm_user_init+0x0/0x68 @ 1 Initializing XFRM netlink socket initcall xfrm_user_init+0x0/0x68 returned 0 after 2898 usecs calling inet6_init+0x0/0x2c8 @ 1 NET: Registered protocol family 10 initcall inet6_init+0x0/0x2c8 returned 0 after 3498 usecs calling xfrm6_transport_init+0x0/0x10 @ 1 initcall xfrm6_transport_init+0x0/0x10 returned 0 after 0 usecs calling xfrm6_mode_tunnel_init+0x0/0x10 @ 1 initcall xfrm6_mode_tunnel_init+0x0/0x10 returned 0 after 0 usecs calling xfrm6_beet_init+0x0/0x10 @ 1 initcall xfrm6_beet_init+0x0/0x10 returned 0 after 0 usecs calling sit_init+0x0/0xf0 @ 1 sit: IPv6 over IPv4 tunneling driver initcall sit_init+0x0/0xf0 returned 0 after 3678 usecs calling packet_init+0x0/0x60 @ 1 NET: Registered protocol family 17 initcall packet_init+0x0/0x60 returned 0 after 3077 usecs calling ipsec_pfkey_init+0x0/0xa0 @ 1 NET: Registered protocol family 15 initcall ipsec_pfkey_init+0x0/0xa0 returned 0 after 3071 usecs calling init_rpcsec_gss+0x0/0x94 @ 1 initcall init_rpcsec_gss+0x0/0x94 returned 0 after 21 usecs calling sctp_init+0x0/0x534 @ 1 sctp: Hash tables configured (established 65536 bind 65536) initcall sctp_init+0x0/0x534 returned 0 after 6472 usecs calling init_dns_resolver+0x0/0x128 @ 1 Key type dns_resolver registered initcall init_dns_resolver+0x0/0x128 returned 0 after 2910 usecs calling kexec_setup+0x0/0x158 @ 1 initcall kexec_setup+0x0/0x158 returned 0 after 12 usecs calling init_oops_id+0x0/0x5c @ 1 initcall init_oops_id+0x0/0x5c returned 0 after 4 usecs calling sched_init_debug+0x0/0x40 @ 1 initcall sched_init_debug+0x0/0x40 returned 0 after 9 usecs calling pm_qos_power_init+0x0/0x7c @ 1 initcall pm_qos_power_init+0x0/0x7c returned 0 after 375 usecs calling printk_late_init+0x0/0x84 @ 1 initcall printk_late_init+0x0/0x84 returned 0 after 0 usecs calling tk_debug_sleep_time_init+0x0/0x58 @ 1 initcall tk_debug_sleep_time_init+0x0/0x58 returned 0 after 7 usecs calling prandom_reseed+0x0/0xc8 @ 1 initcall prandom_reseed+0x0/0xc8 returned 0 after 48 usecs calling pci_resource_alignment_sysfs_init+0x0/0x14 @ 1 initcall pci_resource_alignment_sysfs_init+0x0/0x14 returned 0 after 4 usecs calling pci_sysfs_init+0x0/0x70 @ 1 initcall pci_sysfs_init+0x0/0x70 returned 0 after 21 usecs calling random_int_secret_init+0x0/0x34 @ 1 initcall random_int_secret_init+0x0/0x34 returned 0 after 18 usecs calling deferred_probe_initcall+0x0/0x84 @ 1 initcall deferred_probe_initcall+0x0/0x84 returned 0 after 95 usecs calling rtc_hctosys+0x0/0x11c @ 1 rtc-rx8581 0-0051: Unable to read device flags rtc-rx8581 0-0051: hctosys: unable to read the hardware clock initcall rtc_hctosys+0x0/0x11c returned -5 after 9595 usecs calling tcp_congestion_default+0x0/0xc @ 1 initcall tcp_congestion_default+0x0/0xc returned 0 after 1 usecs calling tcp_fastopen_init+0x0/0x38 @ 1 initcall tcp_fastopen_init+0x0/0x38 returned 0 after 24 usecs calling ip_auto_config+0x0/0x1020 @ 1 initcall ip_auto_config+0x0/0x1020 returned -19 after 11763116 usecs calling clk_disable_unused+0x0/0xf4 @ 1 initcall clk_disable_unused+0x0/0xf4 returned 0 after 1 usecs calling initialize_hashrnd+0x0/0x30 @ 1 initcall initialize_hashrnd+0x0/0x30 returned 0 after 7 usecs async_waiting @ 1 async_continuing @ 1 after 0 usec RAMDISK: gzip image found at block 0 kjournald starting. Commit interval 5 seconds EXT3-fs (ram0): using internal journal EXT3-fs (ram0): mounted filesystem with writeback data mode VFS: Mounted root (ext3 filesystem) on device 1:0. async_waiting @ 1 async_continuing @ 1 after 0 usec Freeing unused kernel memory: 240K (c060c000 - c0648000) INIT: version 2.88 booting Starting udev Starting Bootlog daemon: bootlogd: cannot allocate pseudo tty: No such file or directory bootlogd. Configuring network interfaces... ifconfig: SIOCGIFFLAGS: No such device ifconfig: SIOCSIFADDR: No such device route: SIOCADDRT: No such device rtc-rx8581 0-0051: Unable to read device flags hwclock: RTC_RD_TIME: Input/output error Fri Dec 14 13:17:00 UTC 2012 rtc-rx8581 0-0051: Unable to read control register hwclock: RTC_SETrtc-rx8581 0-0051: Unable to read device flags _TIME: Input/outINIT: Entering runlevel: 5 rtc-rx8581 0-0051: Unable to read device flags hwclock: RTC_RD_TIME: Input/output error Starting syslogd/klogd: done Stopping Bootlog daemon: bootlogd. ELDK 5.3 generic-powerpc ttyS0 generic-powerpc login: root root@generic-powerpc:~# lspci 00:00.0 PCI bridge: Freescale Semiconductor Inc P4080 (rev 20) root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan pci_bus 0000:00: scanning bus pcieport 0000:00:00.0: scanning [bus 01-01] behind bridge, pass 0 pcieport 0000:00:00.0: scanning [bus 00-00] behind bridge, pass 1 pcieport 0000:00:00.0: rescan scaned bridge as broken one again ? pci_bus 0000:00: bus scan returning with max=00 root@generic-powerpc:~# lspci 00:00.0 PCI bridge: Freescale Semiconductor Inc P4080 (rev 20) root@generic-powerpc:~# ~.Connected. Connected. Disconnected. ---snip--- As far as I can see with my layman's eyes is, it finds the subordinate busses 1-5 behind the bridge but then somehow looses them again in the enumeration phase. Thanks, Johannes ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: PCI reset problem 2013-09-03 9:55 ` Johannes Thumshirn @ 2013-09-03 19:38 ` Yinghai Lu 2013-09-04 8:10 ` Johannes Thumshirn 0 siblings, 1 reply; 16+ messages in thread From: Yinghai Lu @ 2013-09-03 19:38 UTC (permalink / raw) To: Johannes Thumshirn; +Cc: Bjorn Helgaas, linux-pci@vger.kernel.org On Tue, Sep 3, 2013 at 2:55 AM, Johannes Thumshirn <johannes.thumshirn@men.de> wrote: > > As far as I can see with my layman's eyes is, it finds the subordinate busses > 1-5 behind the bridge but then somehow looses them again in the enumeration > phase. fsl-pci fe200000.pcie: PCI host bridge to bus 0000:00 pci_bus 0000:00: root bus resource [io 0x0000-0xffff] pci_bus 0000:00: root bus resource [mem 0x80000000-0x9fffffff] pci_bus 0000:00: root bus resource [bus 00-ff] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to ff pci_bus 0000:00: scanning bus pci 0000:00:00.0: [1957:0401] type 01 class 0x0b2000 pci 0000:00:00.0: ignoring class 0x0b2000 (doesn't match header type 01) pci 0000:00:00.0: calling fixup_hide_host_resource_fsl+0x0/0x6c calling fixup_hide_host_resource_fsl+ 0x0/0x6c @ 1 for 0000:00:00.0 pci fixup fixup_hide_host_resource_fsl+0x0/0x6c returned after 0 usecs for 0000:00:00.0 pci 0000:00:00.0: calling pcibios_fixup_resources+0x0/0x128 calling pcibios_fixup_resources+0x0/0x128 @ 1 for 0000:00:00.0 pci fixup pcibios_fixup_resources+0x0/0x128 returned after 0 usecs for 0000:00:00.0 pci 0000:00:00.0: calling quirk_fsl_pcie_header+0x0/0x84 calling quirk_fsl_pcie_header+0x0/0x84 @ 1 for 0000:00:00.0 pci fixup quirk_fsl_pcie_header+0x0/0x84 returned after 0 usecs for 0000:00:00.0 ===> it overrides the class from 0b2000 to 060400 pci 0000:00:00.0: supports D1 D2 pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:00:00.0: PME# disabled pci 0000:00:00.0: scanning [bus 01-05] behind bridge, pass 0 pci 0000:00:00.0: check if busn 01-05 is in busn_res: [bus 00-ff] pci_bus 0000:00: fixups for bus pci 0000:00:00.0: scanning [bus 00-00] behind bridge, pass 1 ====> so you have PCI_REASSIGN_ALL_BUS set ... pci_bus 0000:01: busn_res: [bus 01-08] is updated under [bus 00-ff] pci_bus 0000:01: scanning bus ====> should have child devices probed here... but not happen... so your pcie switch will need more time to settle down? pci_bus 0000:01: fixups for bus pci 0000:00:00.0: PCI bridge to [bus 01-08] pci 0000:00:00.0: bridge window [io 0x1000-0x1fff] pci 0000:00:00.0: bridge window [mem 0x80000000-0x801fffff] pci_bus 0000:01: bus scan returning with max=01 pci_bus 0000:01: busn_res: [bus 01-08] end is updated to 01 pci_bus 0000:00: bus scan returning with max=01 pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 01 ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: PCI reset problem 2013-09-03 19:38 ` Yinghai Lu @ 2013-09-04 8:10 ` Johannes Thumshirn 0 siblings, 0 replies; 16+ messages in thread From: Johannes Thumshirn @ 2013-09-04 8:10 UTC (permalink / raw) To: Yinghai Lu; +Cc: Johannes Thumshirn, Bjorn Helgaas, linux-pci@vger.kernel.org On Tue, Sep 03, 2013 at 12:38:06PM -0700, Yinghai Lu wrote: > On Tue, Sep 3, 2013 at 2:55 AM, Johannes Thumshirn > <johannes.thumshirn@men.de> wrote: > > > > As far as I can see with my layman's eyes is, it finds the subordinate busses > > 1-5 behind the bridge but then somehow looses them again in the enumeration > > phase. > > fsl-pci fe200000.pcie: PCI host bridge to bus 0000:00 > pci_bus 0000:00: root bus resource [io 0x0000-0xffff] > pci_bus 0000:00: root bus resource [mem 0x80000000-0x9fffffff] > pci_bus 0000:00: root bus resource [bus 00-ff] > pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to ff > pci_bus 0000:00: scanning bus > pci 0000:00:00.0: [1957:0401] type 01 class 0x0b2000 > pci 0000:00:00.0: ignoring class 0x0b2000 (doesn't match header type 01) > pci 0000:00:00.0: calling fixup_hide_host_resource_fsl+0x0/0x6c > calling fixup_hide_host_resource_fsl+ > 0x0/0x6c @ 1 for 0000:00:00.0 > pci fixup fixup_hide_host_resource_fsl+0x0/0x6c returned after 0 usecs > for 0000:00:00.0 > pci 0000:00:00.0: calling pcibios_fixup_resources+0x0/0x128 > calling pcibios_fixup_resources+0x0/0x128 @ 1 for 0000:00:00.0 > pci fixup pcibios_fixup_resources+0x0/0x128 returned after 0 usecs for > 0000:00:00.0 > pci 0000:00:00.0: calling quirk_fsl_pcie_header+0x0/0x84 > calling quirk_fsl_pcie_header+0x0/0x84 @ 1 for 0000:00:00.0 > pci fixup quirk_fsl_pcie_header+0x0/0x84 returned after 0 usecs for 0000:00:00.0 > > ===> it overrides the class from 0b2000 to 060400 > > pci 0000:00:00.0: supports D1 D2 > pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot D3cold > pci 0000:00:00.0: PME# disabled > pci 0000:00:00.0: scanning [bus 01-05] behind bridge, pass 0 > pci 0000:00:00.0: check if busn 01-05 is in busn_res: [bus 00-ff] > > > pci_bus 0000:00: fixups for bus > pci 0000:00:00.0: scanning [bus 00-00] behind bridge, pass 1 > > ====> > > so you have PCI_REASSIGN_ALL_BUS set ... > > pci_bus 0000:01: busn_res: [bus 01-08] is updated under [bus 00-ff] > pci_bus 0000:01: scanning bus > > ====> should have child devices probed here... but not happen... > > so your pcie switch will need more time to settle down? > > pci_bus 0000:01: fixups for bus > pci 0000:00:00.0: PCI bridge to [bus 01-08] > pci 0000:00:00.0: bridge window [io 0x1000-0x1fff] > pci 0000:00:00.0: bridge window [mem 0x80000000-0x801fffff] > pci_bus 0000:01: bus scan returning with max=01 > pci_bus 0000:01: busn_res: [bus 01-08] end is updated to 01 > pci_bus 0000:00: bus scan returning with max=01 > pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 01 This is what I've thought as well, so I've put an msleep(5000) into pci_scan_child_bus' loop. But this didn't improve the situation either. As I've already said, I ran out of ideas with this problem. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: PCI reset problem 2013-08-29 8:29 ` Johannes Thumshirn 2013-08-29 12:01 ` Bjorn Helgaas @ 2013-08-29 17:40 ` Yinghai Lu 1 sibling, 0 replies; 16+ messages in thread From: Yinghai Lu @ 2013-08-29 17:40 UTC (permalink / raw) To: Johannes Thumshirn; +Cc: Bjorn Helgaas, linux-pci@vger.kernel.org On Thu, Aug 29, 2013 at 1:29 AM, Johannes Thumshirn <johannes.thumshirn@men.de> wrote: > On Wed, Aug 28, 2013 at 10:50:58AM -0600, Bjorn Helgaas wrote: >> [+cc Yinghai] ... >> > I have a rather odd problem with a PCIe swicht/bridge which does not get >> > enumerated correctly. If I issue _two_ manual rescans of the PCI bus via sysfs, >> > everything get setup correctly. To work around the problem I decided to make a ... >> A rescan doesn't really do anything differently from the initial >> boot-time scan. Maybe there's an issue with the switch taking a long >> time to respond after reset? But that doesn't seem likely, because if >> you do manual rescans via sysfs, that should give plenty of time and >> you wouldn't have to do it *twice*. Can you confirm that? If you wait long enough, and you only need issue one rescan? >> >> Maybe there's some resource or bus number allocation issue such that >> we don't even get down to the problem switch the first couple of >> times? >> >> > Example: >> > root@generic-powerpc:~# lspci -tv >> > -[0000:00]---00.0-[01]-- >> > root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan >> > [...] >> > root@generic-powerpc:~# lspci -tv >> > -[0000:00]---00.0-[01-05]----00.0-[02-05]--+-01.0-[03]-- >> > +-02.0-[04]-- >> > \-03.0-[05]-- >> > root@generic-powerpc:~# echo 1 > /sys/bus/pci/rescan >> > [...] >> > root@generic-powerpc:~# lspci -tv >> > -[0000:00]---00.0-[01-05]----00.0-[02-05]--+-01.0-[03]----00.0 Silicon Image, Inc. SiI 3132 Serial ATA Raid II Controller >> > +-02.0-[04]-- >> > \-03.0-[05]--+-00.0 Pericom Semiconductor Device 400e >> > +-00.1 Pericom Semiconductor Device 400e >> > \-00.2 Pericom Semiconductor Device 400f >> >> I bet that's what's happening: the first lspci shows the 00:00.0 >> bridge leading only to bus 01. The second lspci shows 00:00.0 leading >> to [bus 01-05], so its bus number aperture has been reconfigured. >> >> On x86 the BIOS typically configures all the bridges so we can see all >> the devices. But it looks like your platform doesn't, and the Linux >> paths that do similar configuration are not as well exercised. >> > > I'll have a look into my U-Boot again as well, maybe I can resolve it there. > >> Can you collect a complete dmesg log including initial boot and your >> manual sysfs rescansand attach it to a new bugzilla report at >> https://bugzilla.kernel.org/enter_bug.cgi?component=PCI&product=Drivers >> ? There might be some generic way we can fix this. >> > > I can do, though I have to say, it's a 3.8 Kernel from Freescale's SDK. I > don't really know if mainline wants to care about it. let us know if you can test other kernel. If so, i would rebase pci-busn-alloc branch, so you could test on it. Yinghai ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2013-09-04 8:10 UTC | newest] Thread overview: 16+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-08-28 13:33 PCI reset problem Johannes Thumshirn 2013-08-28 16:50 ` Bjorn Helgaas 2013-08-29 8:29 ` Johannes Thumshirn 2013-08-29 12:01 ` Bjorn Helgaas 2013-08-29 15:07 ` Johannes Thumshirn 2013-08-29 15:52 ` Bjorn Helgaas 2013-08-30 8:01 ` Johannes Thumshirn 2013-08-30 13:40 ` Bjorn Helgaas 2013-08-30 13:58 ` Johannes Thumshirn 2013-08-30 19:46 ` Yinghai Lu 2013-09-02 8:00 ` Johannes Thumshirn 2013-09-02 22:18 ` Yinghai Lu 2013-09-03 9:55 ` Johannes Thumshirn 2013-09-03 19:38 ` Yinghai Lu 2013-09-04 8:10 ` Johannes Thumshirn 2013-08-29 17:40 ` Yinghai Lu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).