search for: ioremap_nocache

Displaying 20 results from an estimated 51 matches for "ioremap_nocache".

2014 Dec 11
1
[PATCH RFC 3/5] pci: add pci_iomap_range
...ael S. Tsirkin wrote: > if (flags & IORESOURCE_MEM) { > - if (flags & IORESOURCE_CACHEABLE) > + if (!force_nocache && (flags & IORESOURCE_CACHEABLE)) > return ioremap(start, len); > return ioremap_nocache(start, len); > } > ioremap is the same as ioremap_nocache, so this doesn't really make any sense. IORESOURCE_CACHEABLE is practically only set for ROM bars, which we rarely map. Arnd
2014 Dec 11
1
[PATCH RFC 3/5] pci: add pci_iomap_range
...ael S. Tsirkin wrote: > if (flags & IORESOURCE_MEM) { > - if (flags & IORESOURCE_CACHEABLE) > + if (!force_nocache && (flags & IORESOURCE_CACHEABLE)) > return ioremap(start, len); > return ioremap_nocache(start, len); > } > ioremap is the same as ioremap_nocache, so this doesn't really make any sense. IORESOURCE_CACHEABLE is practically only set for ROM bars, which we rarely map. Arnd
2008 Nov 28
6
[PATCH] Dom0-kernel: Fix buggy mask_base in saving/restoring MSI-X table during S3
Hi, Keir, Jan, This patch is a bugfix pointed by Jan. Fix mask_base(actually MSI-X table base, copy name from native) to be a virtual address rather than a physical address. And remove wrong printk in pci_disable_msix. Jan, the error message you saw is wrong output from kernel''s MSI code. Really sorry for my dirty code there. Could you please review the patch and give me feedback?
2006 Jun 22
1
[PATCH] fix linux ioremap() of domain local memory
is_local_lowmem() treats its physical address input as a machine address; this causes agpgart to fail while calling ioremap_nocache(). X still does not load on my Athlon 64 / Via S3 Unichrome, so perhaps best not to apply just yet. Signed-off-by: Avi Kivity <avi@qumranet.com> --- xen-ioremap-fix/linux-2.6-xen-sparse/arch/i386/mm/ioremap-xen.c~ioremap 2006-06-22 20:30:20.000000000 +0300 +++ xen-ioremap-fix/linux-2.6-xe...
2011 Sep 11
1
Xen PCI Pass-through: 0xbf701000 is using VM_IO, but it is 0xfffffffffffff000!
...gt;] ? ioremap_page_range+0x22f/0x300 [ 0.706738] [<ffffffff8103b50e>] __ioremap_caller+0x2ae/0x3a0 [ 0.706755] [<ffffffff8146d39f>] ? usb_hcd_pci_probe+0x18f/0x340 [ 0.706755] [<ffffffff8105c5d0>] ? try_to_wake_up+0x2b0/0x2b0 [ 0.706755] [<ffffffff8103b657>] ioremap_nocache+0x17/0x20 [ 0.706755] [<ffffffff8146d39f>] usb_hcd_pci_probe+0x18f/0x340 [ 0.706755] [<ffffffff8162b80e>] ? _raw_spin_unlock_irqrestore+0x1e/0x30 [ 0.706755] [<ffffffff8132b39f>] local_pci_probe+0x5f/0xd0 [ 0.706755] [<ffffffff8132ccd8>] pci_device_probe+0x88...
2014 May 23
3
[RFC] drm/nouveau: disable caching for VRAM BOs on ARM
...BAR is *not* mapped to the kernel yet (it is BAR1, there is no BAR3 on GK20A) and an ioremap_*() is performed in ttm_bo_ioremap() to make the part of the BAR where the buffer is mapped visible. It seems that doing an ioremap_wc() on the BAR area on Tegra is what leads to these errors. ioremap() or ioremap_nocache() (which are in effect the same on ARM) do not cause this issue. The best way to solve this issue would be to not use the BAR at all since the memory behind these objects can be directly accessed by the CPU. As such it would better be mapped using ttm_bo_kmap_ttm() instead. But right now this is c...
2014 May 23
2
[RFC] drm/nouveau: disable caching for VRAM BOs on ARM
...t; (it is BAR1, there is no BAR3 on GK20A) and an ioremap_*() is >> performed in ttm_bo_ioremap() to make the part of the BAR where the >> buffer is mapped visible. It seems that doing an ioremap_wc() on the >> BAR area on Tegra is what leads to these errors. ioremap() or >> ioremap_nocache() (which are in effect the same on ARM) do not cause >> this issue. >> > It would be cool if you could ask HW, or the blob developers, if this is > a general issue. The external abort is clearly the GPUs AXI client > responding with an error to the read request, though I'm...
2010 Nov 09
0
[PATCH] ia64: fix the build (again)
...ks.c @@ -119,8 +119,12 @@ static void map_igd_reg(void) igd_reg = (igd_mmio & IGD_BAR_MASK) + 0x2000; /* ioremap this physical page */ +#if defined(CONFIG_X86) set_fixmap_nocache(FIX_IGD_MMIO, igd_reg); igd_reg_va = (u8 *)fix_to_virt(FIX_IGD_MMIO); +#else + igd_reg_va = ioremap_nocache(igd_reg, 0x100); +#endif } /* --- a/xen/include/asm-ia64/hvm/vacpi.h +++ b/xen/include/asm-ia64/hvm/vacpi.h @@ -24,10 +24,6 @@ #include <public/arch-ia64/hvm/save.h> /* for struct vacpi_regs */ #include <public/hvm/ioreq.h> -#define ACPI_PM1A_EVT_BLK_ADDRESS 0x0000000000001f40 -...
2015 Jan 14
0
[PATCH v3 08/16] mn10300: drop dead code
...); - unsigned long flags = pci_resource_flags(dev, bar); - - if (!len || !start) - return NULL; - - if ((flags & IORESOURCE_IO) || (flags & IORESOURCE_MEM)) { - if (flags & IORESOURCE_CACHEABLE && !(flags & IORESOURCE_IO)) - return ioremap(start, len); - else - return ioremap_nocache(start, len); - } - - return NULL; -} -EXPORT_SYMBOL(pci_iomap); -- MST
2015 Jan 14
0
[PATCH v3 08/16] mn10300: drop dead code
...); - unsigned long flags = pci_resource_flags(dev, bar); - - if (!len || !start) - return NULL; - - if ((flags & IORESOURCE_IO) || (flags & IORESOURCE_MEM)) { - if (flags & IORESOURCE_CACHEABLE && !(flags & IORESOURCE_IO)) - return ioremap(start, len); - else - return ioremap_nocache(start, len); - } - - return NULL; -} -EXPORT_SYMBOL(pci_iomap); -- MST
2009 Sep 09
4
Dmesg log for 2.6.31-rc8 kernel been built on F12 (rawhide) vs log for same kernel been built on F11 and installed on F12
Previous 2.6.31-rc8 kernel was built on F11 and installed with modules on F12. Current kernel has been built on F12 (2.6.31-0.204.rc9.fc12.x86_64) and installed on F12 before loading under Xen 3.4.1. Dmesg log looks similar to Michael Yuong''s ''rc7.git4''  kernel for F12. Boris. --- On Tue, 9/8/09, Boris Derzhavets <bderzhavets@yahoo.com> wrote: From: Boris
2014 May 23
0
[RFC] drm/nouveau: disable caching for VRAM BOs on ARM
...he kernel yet > (it is BAR1, there is no BAR3 on GK20A) and an ioremap_*() is > performed in ttm_bo_ioremap() to make the part of the BAR where the > buffer is mapped visible. It seems that doing an ioremap_wc() on the > BAR area on Tegra is what leads to these errors. ioremap() or > ioremap_nocache() (which are in effect the same on ARM) do not cause > this issue. > It would be cool if you could ask HW, or the blob developers, if this is a general issue. The external abort is clearly the GPUs AXI client responding with an error to the read request, though I'm not clear where a WC r...
2014 Dec 11
0
[PATCH RFC 3/5] pci: add pci_iomap_range
...len > maxlen) len = maxlen; if (flags & IORESOURCE_IO) return __pci_ioport_map(dev, start, len); if (flags & IORESOURCE_MEM) { - if (flags & IORESOURCE_CACHEABLE) + if (!force_nocache && (flags & IORESOURCE_CACHEABLE)) return ioremap(start, len); return ioremap_nocache(start, len); } @@ -44,5 +58,25 @@ void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen) return NULL; } +/** + * pci_iomap - create a virtual mapping cookie for a PCI BAR + * @dev: PCI device that owns the BAR + * @bar: BAR number + * @maxlen: length of the memory to map...
2014 Dec 11
0
[PATCH RFC 3/5] pci: add pci_iomap_range
...len > maxlen) len = maxlen; if (flags & IORESOURCE_IO) return __pci_ioport_map(dev, start, len); if (flags & IORESOURCE_MEM) { - if (flags & IORESOURCE_CACHEABLE) + if (!force_nocache && (flags & IORESOURCE_CACHEABLE)) return ioremap(start, len); return ioremap_nocache(start, len); } @@ -44,5 +58,25 @@ void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen) return NULL; } +/** + * pci_iomap - create a virtual mapping cookie for a PCI BAR + * @dev: PCI device that owns the BAR + * @bar: BAR number + * @maxlen: length of the memory to map...
2010 Jun 13
1
[PATCHv2] kmmio/mmiotrace: fix double free of kmmio_fault_pages
...ps in + * a short time. We had a bug in deferred freeing procedure which tried + * to free this region multiple times (ioremap can reuse the same address + * for many mappings). + */ +static void do_test_bulk_ioremapping(void) +{ + void __iomem *p; + int i; + + for (i = 0; i < 10; ++i) { + p = ioremap_nocache(mmio_address, PAGE_SIZE); + if (p) + iounmap(p); + } + + /* Force freeing. If it will crash we will know why. */ + synchronize_rcu(); +} + static int __init init(void) { unsigned long size = (read_far) ? (8 << 20) : (16 << 10); @@ -104,6 +125,7 @@ static int __init init(void)...
2014 Dec 11
6
[PATCH RFC 0/5] virtio_pci: modern driver
Based on Rusty's patches. Coding style and funny jokes are his. Bugs and a star wars reference (should be easy to spot) are mine. Untested, but useful as basis for beginning the qemu work. TODO: = simplify probing: use a common probe function, probe with modern driver first, if that fails - probe with legacy driver. BUGS: ATM legacy driver can win and drive a transitional device
2014 Dec 11
6
[PATCH RFC 0/5] virtio_pci: modern driver
Based on Rusty's patches. Coding style and funny jokes are his. Bugs and a star wars reference (should be easy to spot) are mine. Untested, but useful as basis for beginning the qemu work. TODO: = simplify probing: use a common probe function, probe with modern driver first, if that fails - probe with legacy driver. BUGS: ATM legacy driver can win and drive a transitional device
2006 Dec 01
1
[PATCH 2/10] Add support for netfront/netback acceleration drivers
...always be readonly - caller + could have passed in _PAGE_RW in flags */ + flags |= _KERNPG_TABLE_READONLY; if (__direct_remap_pfn_range(&init_mm, (unsigned long)addr, phys_addr>>PAGE_SHIFT, size, __pgprot(flags), domid)) { @@ -285,7 +287,7 @@ void __iomem *ioremap_nocache (unsigned void __iomem *ioremap_nocache (unsigned long phys_addr, unsigned long size) { unsigned long last_addr; - void __iomem *p = __ioremap(phys_addr, size, _PAGE_PCD); + void __iomem *p = __ioremap(phys_addr, size, _PAGE_PCD | _PAGE_RW); if (!p) return p; diff -r b58bcd6551e2 linu...
2014 May 23
0
[RFC] drm/nouveau: disable caching for VRAM BOs on ARM
...e is no BAR3 on GK20A) and an ioremap_*() is > >> performed in ttm_bo_ioremap() to make the part of the BAR where the > >> buffer is mapped visible. It seems that doing an ioremap_wc() on the > >> BAR area on Tegra is what leads to these errors. ioremap() or > >> ioremap_nocache() (which are in effect the same on ARM) do not cause > >> this issue. > >> > > It would be cool if you could ask HW, or the blob developers, if this is > > a general issue. The external abort is clearly the GPUs AXI client > > responding with an error to the read...
2010 Jun 05
2
[PATCH] kmmio/mmiotrace: fix double free of kmmio_fault_pages
After every iounmap mmiotrace has to free kmmio_fault_pages, but it can't do it directly, so it defers freeing by RCU. It usually works, but when mmiotraced code calls ioremap-iounmap multiple times without sleeping between (so RCU won't kick in and start freeing) it can be given the same virtual address, so at every iounmap mmiotrace will schedule the same pages for release. Obviously it