On Tue, Apr 7, 2015 at 8:49 PM, Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> wrote: > On Tue, 2015-04-07 at 17:24 -0700, Yinghai Lu wrote: >> For device resource PREF bit setting under bridge 64-bit pref resource, >> we need to make sure only set PREF for 64bit resource, so set IORESOUCE_MEM_64 >> for 64bit resource during of device resource flags parsing. > >> Link: https://bugzilla.kernel.org/show_bug.cgi?id=96261 >> Link: https://bugzilla.kernel.org/show_bug.cgi?id=96241 > > These patches (from the above BZ) aren't right for one thing: You > shouldn't set the IORESOURCE_PREFETCH in the resource itself. This > *will* break stuff. > > You can put the resource in a prefetchable region indeed, if you > are on a PCIe-only path (though we should have some arch flag > to check that the host bridge indeed doesn't do any prefetch, > on powerpc we are good there). The patch is at: http://git.kernel.org/cgit/linux/kernel/git/helgaas/pci.git/commit/?h=for-linus&id=1a3ec5e7b00dcd9cac24efe3d65bfccf82597ce5 and we limit to set pref bit for pcie end devices mmio 64bit resource. > > But you can't set the "prefetch" bit on the resource because that would > be losing the indication that this resource has side effects. This bit > is used in some cases to enable store gathering when mmap'ing via sysfs > and can be used for similar uses by drivers. Any pointer for that? > > It's one thing to say "you can put non-prefetch BARs in prefetch windows > on that path", it's another one to completely make the BAR looks like > it's prefetchable when it's not. Too hard for me to tell the difference. 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