Message ID | CADaLNDm8Zp_kAqVvSd0po9S3j2rSXxtUJ1M33dW7gLZzvueweQ@mail.gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 12/02/2016 01:42 AM, Duc Dang wrote: > On Thu, Dec 1, 2016 at 9:50 PM, Jon Masters <jcm@redhat.com> wrote: >> On 11/30/2016 07:28 PM, Bjorn Helgaas wrote: >> >>> I'm hoping to end up with something like this: >>> https://git.kernel.org/cgit/linux/kernel/git/helgaas/pci.git/commit/?h=pci/ecam&id=51ad4df79a9b7f2a66b346a46b21a785a2937469 >> >> The following build warnings happen using your branch on RHELSA7.3: >> >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> THUNDER_PEM_QUIRK(2, 0), /* off-chip devices */ >> ^ >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[44].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[44].cfgres.end’) [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[45].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[45].cfgres.end’) [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[46].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[46].cfgres.end’) [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[47].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[47].cfgres.end’) [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[48].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[48].cfgres.end’) [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[49].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[49].cfgres.end’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> THUNDER_PEM_QUIRK(2, 1), /* off-chip devices */ >> ^ >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[50].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[50].cfgres.end’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[51].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[51].cfgres.end’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[52].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[52].cfgres.end’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[53].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[53].cfgres.end’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[54].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[54].cfgres.end’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[55].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[55].cfgres.end’) [enabled by default] > > I saw this too. It can be fixed by changes below: > > diff --git a/drivers/acpi/pci_mcfg.c b/drivers/acpi/pci_mcfg.c > index 7319188..3d7c5cc 100644 > --- a/drivers/acpi/pci_mcfg.c > +++ b/drivers/acpi/pci_mcfg.c > @@ -98,16 +98,16 @@ struct mcfg_fixup { > { "CAVIUM", "THUNDERX", rev, seg, MCFG_BUS_ANY, \ > &pci_thunder_ecam_ops } > /* SoC pass1.x */ > - THUNDER_PEM_QUIRK(2, 0), /* off-chip devices */ > - THUNDER_PEM_QUIRK(2, 1), /* off-chip devices */ > - THUNDER_ECAM_QUIRK(2, 0), > - THUNDER_ECAM_QUIRK(2, 1), > - THUNDER_ECAM_QUIRK(2, 2), > - THUNDER_ECAM_QUIRK(2, 3), > - THUNDER_ECAM_QUIRK(2, 10), > - THUNDER_ECAM_QUIRK(2, 11), > - THUNDER_ECAM_QUIRK(2, 12), > - THUNDER_ECAM_QUIRK(2, 13), > + THUNDER_PEM_QUIRK(2, 0UL), /* off-chip devices */ > + THUNDER_PEM_QUIRK(2, 1UL), /* off-chip devices */ > + THUNDER_ECAM_QUIRK(2, 0UL), > + THUNDER_ECAM_QUIRK(2, 1UL), > + THUNDER_ECAM_QUIRK(2, 2UL), > + THUNDER_ECAM_QUIRK(2, 3UL), > + THUNDER_ECAM_QUIRK(2, 10UL), > + THUNDER_ECAM_QUIRK(2, 11UL), > + THUNDER_ECAM_QUIRK(2, 12UL), > + THUNDER_ECAM_QUIRK(2, 13UL), > > #define XGENE_V1_ECAM_MCFG(rev, seg) \ > {"APM ", "XGENE ", rev, seg, MCFG_BUS_ANY, \ ...which reminds me to followup on that project to get an Intel-style 0-day test service running for arm64. It's been kicking around too long.
On 02.12.2016 07:42, Duc Dang wrote: > On Thu, Dec 1, 2016 at 9:50 PM, Jon Masters <jcm@redhat.com> wrote: >> On 11/30/2016 07:28 PM, Bjorn Helgaas wrote: >> >>> I'm hoping to end up with something like this: >>> https://git.kernel.org/cgit/linux/kernel/git/helgaas/pci.git/commit/?h=pci/ecam&id=51ad4df79a9b7f2a66b346a46b21a785a2937469 >> >> The following build warnings happen using your branch on RHELSA7.3: >> >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> THUNDER_PEM_QUIRK(2, 0), /* off-chip devices */ >> ^ >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[44].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[44].cfgres.end’) [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[45].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[45].cfgres.end’) [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[46].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[46].cfgres.end’) [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[47].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[47].cfgres.end’) [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[48].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[48].cfgres.end’) [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[49].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:101:2: warning: (near initialization for ‘mcfg_quirks[49].cfgres.end’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> THUNDER_PEM_QUIRK(2, 1), /* off-chip devices */ >> ^ >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[50].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[50].cfgres.end’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[51].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[51].cfgres.end’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[52].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[52].cfgres.end’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[53].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[53].cfgres.end’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[54].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[54].cfgres.end’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[55].cfgres.start’) [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: left shift count >= width of type [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: initializer element is not a constant expression [enabled by default] >> drivers/acpi/pci_mcfg.c:102:2: warning: (near initialization for ‘mcfg_quirks[55].cfgres.end’) [enabled by default] > > I saw this too. It can be fixed by changes below: > > diff --git a/drivers/acpi/pci_mcfg.c b/drivers/acpi/pci_mcfg.c > index 7319188..3d7c5cc 100644 > --- a/drivers/acpi/pci_mcfg.c > +++ b/drivers/acpi/pci_mcfg.c > @@ -98,16 +98,16 @@ struct mcfg_fixup { > { "CAVIUM", "THUNDERX", rev, seg, MCFG_BUS_ANY, \ > &pci_thunder_ecam_ops } > /* SoC pass1.x */ > - THUNDER_PEM_QUIRK(2, 0), /* off-chip devices */ > - THUNDER_PEM_QUIRK(2, 1), /* off-chip devices */ > - THUNDER_ECAM_QUIRK(2, 0), > - THUNDER_ECAM_QUIRK(2, 1), > - THUNDER_ECAM_QUIRK(2, 2), > - THUNDER_ECAM_QUIRK(2, 3), > - THUNDER_ECAM_QUIRK(2, 10), > - THUNDER_ECAM_QUIRK(2, 11), > - THUNDER_ECAM_QUIRK(2, 12), > - THUNDER_ECAM_QUIRK(2, 13), > + THUNDER_PEM_QUIRK(2, 0UL), /* off-chip devices */ > + THUNDER_PEM_QUIRK(2, 1UL), /* off-chip devices */ > + THUNDER_ECAM_QUIRK(2, 0UL), > + THUNDER_ECAM_QUIRK(2, 1UL), > + THUNDER_ECAM_QUIRK(2, 2UL), > + THUNDER_ECAM_QUIRK(2, 3UL), > + THUNDER_ECAM_QUIRK(2, 10UL), > + THUNDER_ECAM_QUIRK(2, 11UL), > + THUNDER_ECAM_QUIRK(2, 12UL), > + THUNDER_ECAM_QUIRK(2, 13UL), > The UL suffix is needed for *THUNDER_PEM_QUIRK* only. THUNDER_ECAM_QUIRK is fine. - THUNDER_PEM_QUIRK(2, 0), /* off-chip devices */ - THUNDER_PEM_QUIRK(2, 1), /* off-chip devices */ + THUNDER_PEM_QUIRK(2, 0UL), /* off-chip devices */ + THUNDER_PEM_QUIRK(2, 1UL), /* off-chip devices */ Tomasz
On 02.12.16 11:06:24, Tomasz Nowicki wrote: > On 02.12.2016 07:42, Duc Dang wrote: > >@@ -98,16 +98,16 @@ struct mcfg_fixup { > > { "CAVIUM", "THUNDERX", rev, seg, MCFG_BUS_ANY, \ > > &pci_thunder_ecam_ops } > > /* SoC pass1.x */ > >- THUNDER_PEM_QUIRK(2, 0), /* off-chip devices */ > >- THUNDER_PEM_QUIRK(2, 1), /* off-chip devices */ > >- THUNDER_ECAM_QUIRK(2, 0), > >- THUNDER_ECAM_QUIRK(2, 1), > >- THUNDER_ECAM_QUIRK(2, 2), > >- THUNDER_ECAM_QUIRK(2, 3), > >- THUNDER_ECAM_QUIRK(2, 10), > >- THUNDER_ECAM_QUIRK(2, 11), > >- THUNDER_ECAM_QUIRK(2, 12), > >- THUNDER_ECAM_QUIRK(2, 13), > >+ THUNDER_PEM_QUIRK(2, 0UL), /* off-chip devices */ > >+ THUNDER_PEM_QUIRK(2, 1UL), /* off-chip devices */ > >+ THUNDER_ECAM_QUIRK(2, 0UL), > >+ THUNDER_ECAM_QUIRK(2, 1UL), > >+ THUNDER_ECAM_QUIRK(2, 2UL), > >+ THUNDER_ECAM_QUIRK(2, 3UL), > >+ THUNDER_ECAM_QUIRK(2, 10UL), > >+ THUNDER_ECAM_QUIRK(2, 11UL), > >+ THUNDER_ECAM_QUIRK(2, 12UL), > >+ THUNDER_ECAM_QUIRK(2, 13UL), > > > > The UL suffix is needed for *THUNDER_PEM_QUIRK* only. THUNDER_ECAM_QUIRK is > fine. We should better make the type cast part of the macro. + this: --- #define THUNDER_MCFG_RES(addr, node) \ DEFINE_RES_MEM(addr + (node << 44), 0x39 * SZ_16M) --- The args in the macro need parentheses. -Robert
On Fri, Dec 02, 2016 at 11:45:00AM +0100, Robert Richter wrote: > On 02.12.16 11:06:24, Tomasz Nowicki wrote: > > On 02.12.2016 07:42, Duc Dang wrote: > > > >@@ -98,16 +98,16 @@ struct mcfg_fixup { > > > { "CAVIUM", "THUNDERX", rev, seg, MCFG_BUS_ANY, \ > > > &pci_thunder_ecam_ops } > > > /* SoC pass1.x */ > > >- THUNDER_PEM_QUIRK(2, 0), /* off-chip devices */ > > >- THUNDER_PEM_QUIRK(2, 1), /* off-chip devices */ > > >- THUNDER_ECAM_QUIRK(2, 0), > > >- THUNDER_ECAM_QUIRK(2, 1), > > >- THUNDER_ECAM_QUIRK(2, 2), > > >- THUNDER_ECAM_QUIRK(2, 3), > > >- THUNDER_ECAM_QUIRK(2, 10), > > >- THUNDER_ECAM_QUIRK(2, 11), > > >- THUNDER_ECAM_QUIRK(2, 12), > > >- THUNDER_ECAM_QUIRK(2, 13), > > >+ THUNDER_PEM_QUIRK(2, 0UL), /* off-chip devices */ > > >+ THUNDER_PEM_QUIRK(2, 1UL), /* off-chip devices */ > > >+ THUNDER_ECAM_QUIRK(2, 0UL), > > >+ THUNDER_ECAM_QUIRK(2, 1UL), > > >+ THUNDER_ECAM_QUIRK(2, 2UL), > > >+ THUNDER_ECAM_QUIRK(2, 3UL), > > >+ THUNDER_ECAM_QUIRK(2, 10UL), > > >+ THUNDER_ECAM_QUIRK(2, 11UL), > > >+ THUNDER_ECAM_QUIRK(2, 12UL), > > >+ THUNDER_ECAM_QUIRK(2, 13UL), > > > > > > > The UL suffix is needed for *THUNDER_PEM_QUIRK* only. THUNDER_ECAM_QUIRK is > > fine. > > We should better make the type cast part of the macro. > > + this: > > --- > #define THUNDER_MCFG_RES(addr, node) \ > DEFINE_RES_MEM(addr + (node << 44), 0x39 * SZ_16M) > --- > > The args in the macro need parentheses. Would you mind sending me a little incremental patch doing what you want? I could try myself, but since I don't have an arm64 cross-build setup, I'm working in the dark.
On 02.12.16 10:27:43, Bjorn Helgaas wrote: > On Fri, Dec 02, 2016 at 11:45:00AM +0100, Robert Richter wrote: > > On 02.12.16 11:06:24, Tomasz Nowicki wrote: > > > On 02.12.2016 07:42, Duc Dang wrote: > > > > > >@@ -98,16 +98,16 @@ struct mcfg_fixup { > > > > { "CAVIUM", "THUNDERX", rev, seg, MCFG_BUS_ANY, \ > > > > &pci_thunder_ecam_ops } > > > > /* SoC pass1.x */ > > > >- THUNDER_PEM_QUIRK(2, 0), /* off-chip devices */ > > > >- THUNDER_PEM_QUIRK(2, 1), /* off-chip devices */ > > > >- THUNDER_ECAM_QUIRK(2, 0), > > > >- THUNDER_ECAM_QUIRK(2, 1), > > > >- THUNDER_ECAM_QUIRK(2, 2), > > > >- THUNDER_ECAM_QUIRK(2, 3), > > > >- THUNDER_ECAM_QUIRK(2, 10), > > > >- THUNDER_ECAM_QUIRK(2, 11), > > > >- THUNDER_ECAM_QUIRK(2, 12), > > > >- THUNDER_ECAM_QUIRK(2, 13), > > > >+ THUNDER_PEM_QUIRK(2, 0UL), /* off-chip devices */ > > > >+ THUNDER_PEM_QUIRK(2, 1UL), /* off-chip devices */ > > > >+ THUNDER_ECAM_QUIRK(2, 0UL), > > > >+ THUNDER_ECAM_QUIRK(2, 1UL), > > > >+ THUNDER_ECAM_QUIRK(2, 2UL), > > > >+ THUNDER_ECAM_QUIRK(2, 3UL), > > > >+ THUNDER_ECAM_QUIRK(2, 10UL), > > > >+ THUNDER_ECAM_QUIRK(2, 11UL), > > > >+ THUNDER_ECAM_QUIRK(2, 12UL), > > > >+ THUNDER_ECAM_QUIRK(2, 13UL), > > > > > > > > > > The UL suffix is needed for *THUNDER_PEM_QUIRK* only. THUNDER_ECAM_QUIRK is > > > fine. > > > > We should better make the type cast part of the macro. > > > > + this: > > > > --- > > #define THUNDER_MCFG_RES(addr, node) \ > > DEFINE_RES_MEM(addr + (node << 44), 0x39 * SZ_16M) > > --- > > > > The args in the macro need parentheses. > > Would you mind sending me a little incremental patch doing what you > want? I could try myself, but since I don't have an arm64 cross-build > setup, I'm working in the dark. Your current branch looks good. 5d06f9125ec0 PCI: Explain ARM64 ACPI/MCFG quirk Kconfig and build strategy Thanks, -Robert
diff --git a/drivers/acpi/pci_mcfg.c b/drivers/acpi/pci_mcfg.c index 7319188..3d7c5cc 100644 --- a/drivers/acpi/pci_mcfg.c +++ b/drivers/acpi/pci_mcfg.c @@ -98,16 +98,16 @@ struct mcfg_fixup { { "CAVIUM", "THUNDERX", rev, seg, MCFG_BUS_ANY, \ &pci_thunder_ecam_ops } /* SoC pass1.x */ - THUNDER_PEM_QUIRK(2, 0), /* off-chip devices */ - THUNDER_PEM_QUIRK(2, 1), /* off-chip devices */ - THUNDER_ECAM_QUIRK(2, 0), - THUNDER_ECAM_QUIRK(2, 1), - THUNDER_ECAM_QUIRK(2, 2), - THUNDER_ECAM_QUIRK(2, 3), - THUNDER_ECAM_QUIRK(2, 10), - THUNDER_ECAM_QUIRK(2, 11), - THUNDER_ECAM_QUIRK(2, 12), - THUNDER_ECAM_QUIRK(2, 13), + THUNDER_PEM_QUIRK(2, 0UL), /* off-chip devices */ + THUNDER_PEM_QUIRK(2, 1UL), /* off-chip devices */ + THUNDER_ECAM_QUIRK(2, 0UL), + THUNDER_ECAM_QUIRK(2, 1UL), + THUNDER_ECAM_QUIRK(2, 2UL), + THUNDER_ECAM_QUIRK(2, 3UL), + THUNDER_ECAM_QUIRK(2, 10UL), + THUNDER_ECAM_QUIRK(2, 11UL), + THUNDER_ECAM_QUIRK(2, 12UL), + THUNDER_ECAM_QUIRK(2, 13UL), #define XGENE_V1_ECAM_MCFG(rev, seg) \ {"APM ", "XGENE ", rev, seg, MCFG_BUS_ANY, \