Messages in this thread | | | Date | Tue, 9 Dec 2014 11:11:19 +1100 | From | Gavin Shan <> | Subject | Re: [PATCH] PCI: Clear bridge MEM_64 flag if one child does not support it |
| |
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@kernel.crashing.org> 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. >
I'm going to give it a spin and Richard, could you please apply Yinghai's patch to see if your SRIOV code can work properly?
Thanks, Gavin
| |