On Mon, Dec 08, 2014 at 03:59:54PM -0800, Yinghai Lu wrote: >On Mon, Dec 8, 2014 at 2:56 PM, Benjamin Herrenschmidt ><benh@xxxxxxxxxxxxxxxxxxx> wrote: >> On Mon, 2014-12-08 at 13:52 -0800, Yinghai Lu wrote: >>> 2. or scan the children resource other than ROM to clear bridge MEM_64 >>> for mmio pref. >>> >>> The patch is using second way so will keep child mmio pref into bridge >>> mmio pref range. >> >> That means that having a single ROM BAR that is 32-bit and prefetchable >> will downgrade the entire window to 32-bit ? That's not going to work >> either. > >the ROM BAR get skipped during the checking. > >+ if (i != PCI_ROM_RESOURCE) >+ mem64_mask &= r->flags & IORESOURCE_MEM_64; >+ } > >> >> I have GPUs with 16G BARs for example... suddenly they don't fit >> anaymore because we downgraded the window to 32 bit because somewhere >> there's a 32-bit pref resource ? >> >> That will break more than it fixes... > >Please check if this patch break your platform. I tried on my setup on >x86. and it is still >working on 64 bit resource allocation. > Yinghai, With the patch, the Power8 machine boots up and have resources assigned properly: 64-bits pref BARs are covered by 64-bits pref windows and left memory BARs are covered by 32-bits non-pref windows. Note that I didn't find an 32-bits-pref BAR on the system. For SRIOV case, Richard still need test. Thanks, Gavin >Thanks > >Yinghai > -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html