SB600 for the Nemo board has non-zero devices on non-root bus

Message ID 99f78122-cd53-100f-4f58-be5bf7927d4e@xenosoft.de
State New
Headers show
Series
  • SB600 for the Nemo board has non-zero devices on non-root bus
Related show

Commit Message

Christian Zigotzky Dec. 6, 2017, 11:03 a.m.
On 06 December 2017 at 09:37AM, Christian Zigotzky wrote:
 > On 03 December 2017 at 10:43AM, Christian Zigotzky wrote:
 > >
 > > On 3. Dec 2017, at 00:02, Olof Johansson <olof@lixom.net> wrote:
 > >>
 > >> Typo, should be ';', not ':'. I obviously didn't even try 
compiling this. :)
 > >>
 > >>
 > >> -Olof
 > >
 > > Hi Olof,
 > >
 > > Thanks a lot for your patch! I will test it on Wednesday.
 > >
 > > Cheers,
 > > Christian
 >
 >
 > Hi Olof,
 >
 > I tested your patch today. Unfortunately the kernel 4.15-rc2 doesn't 
compile with your patch.
 >
 > Error messages:
 >
 >                        ^~~~~~~~~
 > arch/powerpc/platforms/pasemi/pci.c: In function ‘pas_pci_init’:
 > arch/powerpc/platforms/pasemi/pci.c:298:2: error: implicit 
declaration of function ‘pci_set_flag’ 
[-Werror=implicit-function-declaration]
 >   pci_set_flag(PCI_SCAN_ALL_PCIE_DEVS);
 >   ^~~~~~~~~~~~
 > cc1: some warnings being treated as errors
 >
 > ---
 >
 > I figured out that we need 'pci_set_flags' instead of 'pci_set_flag'. 
I modified your patch and after that the kernel compiles. Please find 
attached the new patch.
 >
 > Cheers,
 > Christian

Hi Olof,

Many thanks for your patch! :-) The RC2 of kernel 4.15 boots without any 
problems on my P.A. Semi Nemo board (A-EON AmigaOne X1000). I don’t need 
the additional boot argument 'pci=pcie_scan_all' anymore.

Is it possible to merge it via the powerpc tree?

Thanks,
Christian

Comments

Michael Ellerman Dec. 6, 2017, 12:57 p.m. | #1
Christian Zigotzky <chzigotzky@xenosoft.de> writes:
...
>
> Hi Olof,
>
> Many thanks for your patch! :-) The RC2 of kernel 4.15 boots without any 
> problems on my P.A. Semi Nemo board (A-EON AmigaOne X1000). I don’t need 
> the additional boot argument 'pci=pcie_scan_all' anymore.
>
> Is it possible to merge it via the powerpc tree?

Yes.

It would be good to confirm that the change is harmless on other pasemi
boards. I'll try and get mine booted tomorrow, unless someone beats me
to it.

cheers
Bjorn Helgaas Dec. 6, 2017, 9:06 p.m. | #2
On Wed, Dec 06, 2017 at 11:57:03PM +1100, Michael Ellerman wrote:
> Christian Zigotzky <chzigotzky@xenosoft.de> writes:
> ...
> >
> > Hi Olof,
> >
> > Many thanks for your patch! :-) The RC2 of kernel 4.15 boots without any 
> > problems on my P.A. Semi Nemo board (A-EON AmigaOne X1000). I don’t need 
> > the additional boot argument 'pci=pcie_scan_all' anymore.
> >
> > Is it possible to merge it via the powerpc tree?
> 
> Yes.
> 
> It would be good to confirm that the change is harmless on other pasemi
> boards. I'll try and get mine booted tomorrow, unless someone beats me
> to it.

Theoretically, it should not do any harm since it only turns off an
enumeration optimization.  Boot will be slightly slower but should
still work fine.

Darren's idea of doing it at the same time you tweak the SB600 "relax
pci-e" bit is ideal because then the two pieces are obviously
connected and it wouldn't affect any other systems at all.

Bjorn
Michael Ellerman Dec. 8, 2017, 11:59 a.m. | #3
Bjorn Helgaas <helgaas@kernel.org> writes:

> On Wed, Dec 06, 2017 at 11:57:03PM +1100, Michael Ellerman wrote:
>> Christian Zigotzky <chzigotzky@xenosoft.de> writes:
>> ...
>> >
>> > Hi Olof,
>> >
>> > Many thanks for your patch! :-) The RC2 of kernel 4.15 boots without any 
>> > problems on my P.A. Semi Nemo board (A-EON AmigaOne X1000). I don’t need 
>> > the additional boot argument 'pci=pcie_scan_all' anymore.
>> >
>> > Is it possible to merge it via the powerpc tree?
>> 
>> Yes.
>> 
>> It would be good to confirm that the change is harmless on other pasemi
>> boards. I'll try and get mine booted tomorrow, unless someone beats me
>> to it.
>
> Theoretically, it should not do any harm since it only turns off an
> enumeration optimization.  Boot will be slightly slower but should
> still work fine.

Yep OK.

> Darren's idea of doing it at the same time you tweak the SB600 "relax
> pci-e" bit is ideal because then the two pieces are obviously
> connected and it wouldn't affect any other systems at all.

Yes that would be ideal. That patch is currently out-of-tree I gather,
but I guess everyone who's using these machines must have that patch
anyway.

Darren what does that code look like? Can we get it upstream and close
the loop on this?

cheers

Patch

arch/powerpc/platforms/pasemi/pci.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/powerpc/platforms/pasemi/pci.c b/arch/powerpc/platforms/pasemi/pci.c
index 5ff6108..ea54ed2 100644
--- a/arch/powerpc/platforms/pasemi/pci.c
+++ b/arch/powerpc/platforms/pasemi/pci.c
@@ -224,6 +224,8 @@  void __init pas_pci_init(void)
 		return;
 	}
 
+	pci_set_flags(PCI_SCAN_ALL_PCIE_DEVS);
+
 	for (np = NULL; (np = of_get_next_child(root, np)) != NULL;)
 		if (np->name && !strcmp(np->name, "pxp") && !pas_add_bridge(np))
 			of_node_get(np);