Messages in this thread | | | Date | Mon, 8 Dec 2014 15:59:54 -0800 | Subject | Re: [PATCH] PCI: Clear bridge MEM_64 flag if one child does not support it | From | Yinghai Lu <> |
| |
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.
Thanks
Yinghai
| |