search for: ioremap_wc

Displaying 20 results from an estimated 42 matches for "ioremap_wc".

2014 May 19
2
[RFC] drm/nouveau: disable caching for VRAM BOs on ARM
...-mapped BO, e.g. a BO >> mapped through the BAR. >> > Um wait, this memory is behind an already mapped bar? I think ioremap on > ARM defaults to uncached mappings, so if you want to access the memory > behind this bar as WC you need to map the BAR as a whole as WC by using > ioremap_wc. Tried mapping the BAR using ioremap_wc(), but to no avail. On the other hand, could it be that VRAM BOs end up creating a mapping over an already-mapped region? I seem to remember that ARM might not like it...
2014 May 23
3
[RFC] drm/nouveau: disable caching for VRAM BOs on ARM
...the BAR. >> >> >> > Um wait, this memory is behind an already mapped bar? I think ioremap on >> > ARM defaults to uncached mappings, so if you want to access the memory >> > behind this bar as WC you need to map the BAR as a whole as WC by using >> > ioremap_wc. >> >> Tried mapping the BAR using ioremap_wc(), but to no avail. On the other >> hand, could it be that VRAM BOs end up creating a mapping over an >> already-mapped region? I seem to remember that ARM might not like it... > > Multiple mapping are generally allowed, as...
2014 May 23
2
[RFC] drm/nouveau: disable caching for VRAM BOs on ARM
...>>>>> Um wait, this memory is behind an already mapped bar? I think ioremap on >>>>> ARM defaults to uncached mappings, so if you want to access the memory >>>>> behind this bar as WC you need to map the BAR as a whole as WC by using >>>>> ioremap_wc. >>>> >>>> Tried mapping the BAR using ioremap_wc(), but to no avail. On the other >>>> hand, could it be that VRAM BOs end up creating a mapping over an >>>> already-mapped region? I seem to remember that ARM might not like it... >>> >&gt...
2014 May 23
0
[RFC] drm/nouveau: disable caching for VRAM BOs on ARM
...gt;> > >> > Um wait, this memory is behind an already mapped bar? I think ioremap on > >> > ARM defaults to uncached mappings, so if you want to access the memory > >> > behind this bar as WC you need to map the BAR as a whole as WC by using > >> > ioremap_wc. > >> > >> Tried mapping the BAR using ioremap_wc(), but to no avail. On the other > >> hand, could it be that VRAM BOs end up creating a mapping over an > >> already-mapped region? I seem to remember that ARM might not like it... > > > > Multiple map...
2014 May 19
2
[RFC] drm/nouveau: disable caching for VRAM BOs on ARM
This patch is not meant to be merged, but rather to try and understand why this is needed and what a more suitable solution could be. Allowing BOs to be write-cached results in the following happening when trying to run any program on Tegra/GK20A: Unhandled fault: external abort on non-linefetch (0x1008) at 0xf0036010 ... (nouveau_bo_rd32) from [<c0357d00>] (nouveau_fence_update+0x5c/0x80)
2014 May 23
0
[RFC] drm/nouveau: disable caching for VRAM BOs on ARM
...;> Um wait, this memory is behind an already mapped bar? I think ioremap on > >>>>> ARM defaults to uncached mappings, so if you want to access the memory > >>>>> behind this bar as WC you need to map the BAR as a whole as WC by using > >>>>> ioremap_wc. > >>>> > >>>> Tried mapping the BAR using ioremap_wc(), but to no avail. On the other > >>>> hand, could it be that VRAM BOs end up creating a mapping over an > >>>> already-mapped region? I seem to remember that ARM might not like it......
2014 May 19
0
[RFC] drm/nouveau: disable caching for VRAM BOs on ARM
...;> mapped through the BAR. > >> > > Um wait, this memory is behind an already mapped bar? I think ioremap on > > ARM defaults to uncached mappings, so if you want to access the memory > > behind this bar as WC you need to map the BAR as a whole as WC by using > > ioremap_wc. > > Tried mapping the BAR using ioremap_wc(), but to no avail. On the other > hand, could it be that VRAM BOs end up creating a mapping over an > already-mapped region? I seem to remember that ARM might not like it... Multiple mapping are generally allowed, as long as they have the...
2020 Jul 15
3
[PATCH 1/4] drm: remove optional dummy function from drivers using TTM
Implementing those is completely unecessary. Signed-off-by: Christian K?nig <christian.koenig at amd.com> --- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 5 ----- drivers/gpu/drm/drm_gem_vram_helper.c | 5 ----- drivers/gpu/drm/qxl/qxl_ttm.c | 6 ------ drivers/gpu/drm/radeon/radeon_ttm.c | 5 ----- drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c | 11 -----------
2012 Dec 27
7
[Bug 58806] New: failed to create kernel channel, -12 on G4 PPC
https://bugs.freedesktop.org/show_bug.cgi?id=58806 Priority: medium Bug ID: 58806 Assignee: nouveau at lists.freedesktop.org Summary: failed to create kernel channel, -12 on G4 PPC QA Contact: xorg-team at lists.x.org Severity: normal Classification: Unclassified OS: Linux (All) Reporter: stefan at
2014 May 23
2
[RFC] drm/nouveau: disable caching for VRAM BOs on ARM
...wait, this memory is behind an already mapped bar? I think ioremap on >>>>>>> ARM defaults to uncached mappings, so if you want to access the memory >>>>>>> behind this bar as WC you need to map the BAR as a whole as WC by using >>>>>>> ioremap_wc. >>>>>> >>>>>> Tried mapping the BAR using ioremap_wc(), but to no avail. On the other >>>>>> hand, could it be that VRAM BOs end up creating a mapping over an >>>>>> already-mapped region? I seem to remember that ARM might not...
2014 May 19
0
[RFC] drm/nouveau: disable caching for VRAM BOs on ARM
..._bo_rd32 is done over an IO-mapped BO, e.g. a BO > mapped through the BAR. > Um wait, this memory is behind an already mapped bar? I think ioremap on ARM defaults to uncached mappings, so if you want to access the memory behind this bar as WC you need to map the BAR as a whole as WC by using ioremap_wc. Regards, Lucas > Any idea about the origin of this behavior? Does ARM forbid cached > mappings over IO regions? > > Signed-off-by: Alexandre Courbot <acourbot at nvidia.com> > --- > drivers/gpu/drm/nouveau/nouveau_bo.c | 4 ++++ > 1 file changed, 4 insertions(+) >...
2013 Aug 12
1
[PATCH v2 1/7] Intel MIC Host Driver for X100 family.
...pdev->dev, "Cannot remap MMIO BAR\n"); > + rc = -EIO; > + goto release_regions; > + } > + > + mdev->aper.pa = pci_resource_start(pdev, mdev->ops->aper_bar); > + mdev->aper.len = pci_resource_len(pdev, mdev->ops->aper_bar); > + mdev->aper.va = ioremap_wc(mdev->aper.pa, mdev->aper.len); > + if (!mdev->aper.va) { > + dev_err(&pdev->dev, "Cannot remap Aperture BAR\n"); > + rc = -EIO; > + goto unmap_mmio; > + } > + > + mdev->ops->init(mdev); > + > + pci_set_drvdata(pdev, mdev); > + > +...
2013 Aug 12
1
[PATCH v2 1/7] Intel MIC Host Driver for X100 family.
...pdev->dev, "Cannot remap MMIO BAR\n"); > + rc = -EIO; > + goto release_regions; > + } > + > + mdev->aper.pa = pci_resource_start(pdev, mdev->ops->aper_bar); > + mdev->aper.len = pci_resource_len(pdev, mdev->ops->aper_bar); > + mdev->aper.va = ioremap_wc(mdev->aper.pa, mdev->aper.len); > + if (!mdev->aper.va) { > + dev_err(&pdev->dev, "Cannot remap Aperture BAR\n"); > + rc = -EIO; > + goto unmap_mmio; > + } > + > + mdev->ops->init(mdev); > + > + pci_set_drvdata(pdev, mdev); > + > +...
2020 Oct 15
5
[PATCH v4 05/10] drm/ttm: Add vmap/vunmap to TTM and TTM GEM helpers
...) > + > + if (mem->bus.addr) > + vaddr_iomem = (void *)(((u8 *)mem->bus.addr)); > + else if (mem->placement & TTM_PL_FLAG_WC) I've just nuked the TTM_PL_FLAG_WC flag in drm-misc-next. There is a new mem->bus.caching enum as replacement. > + vaddr_iomem = ioremap_wc(mem->bus.offset, size); > + else > + vaddr_iomem = ioremap(mem->bus.offset, size); > + > + if (!vaddr_iomem) > + return -ENOMEM; > + > + dma_buf_map_set_vaddr_iomem(map, vaddr_iomem); > + > + } else { > + struct ttm_operation_ctx ctx = { > + .interru...
2020 Oct 19
1
[PATCH v4 05/10] drm/ttm: Add vmap/vunmap to TTM and TTM GEM helpers
...tionally. Which one is preferable? Best regards Thomas >> +??????? else if (mem->placement & TTM_PL_FLAG_WC) > > I've just nuked the TTM_PL_FLAG_WC flag in drm-misc-next. There is a new > mem->bus.caching enum as replacement. > >> +??????????? vaddr_iomem = ioremap_wc(mem->bus.offset, size); >> +??????? else >> +??????????? vaddr_iomem = ioremap(mem->bus.offset, size); >> + >> +??????? if (!vaddr_iomem) >> +??????????? return -ENOMEM; >> + >> +??????? dma_buf_map_set_vaddr_iomem(map, vaddr_iomem); >> + >&g...
2010 Mar 01
6
[Bug 26813] New: Nouveau ioremap WARNING with current Linus' git tree
...l Trace: [ 14.072407] [<c1030bbe>] warn_slowpath_common+0x65/0x95 [ 14.072416] [<c1030c00>] warn_slowpath_null+0x12/0x15 [ 14.072425] [<c101d24a>] __ioremap_caller+0xd1/0x247 [ 14.072435] [<c10b6e4b>] ? create_object+0x1fa/0x207 [ 14.072443] [<c101d464>] ioremap_wc+0x1e/0x28 [ 14.072455] [<f81a19d0>] ? ttm_mem_reg_ioremap+0x70/0x93 [ttm] [ 14.072467] [<f81a19d0>] ttm_mem_reg_ioremap+0x70/0x93 [ttm] [ 14.072498] [<f8217588>] ? nouveau_bo_wr32+0x3ab/0x735 [nouveau] [ 14.072510] [<f81a1f74>] ttm_bo_move_memcpy+0x63/0x257 [ttm]...
2020 Oct 15
1
[PATCH v4 05/10] drm/ttm: Add vmap/vunmap to TTM and TTM GEM helpers
...m = (void *)(((u8 *)mem->bus.addr)); > > > + else if (mem->placement & TTM_PL_FLAG_WC) > > > > I've just nuked the TTM_PL_FLAG_WC flag in drm-misc-next. There is a new > > mem->bus.caching enum as replacement. > > > > > + vaddr_iomem = ioremap_wc(mem->bus.offset, > > > size); > > > + else > > > + vaddr_iomem = ioremap(mem->bus.offset, size); > > > + > > > + if (!vaddr_iomem) > > > + return -ENOMEM; > > > + > > > + dma_buf_map_set_vaddr_iomem(map, vaddr_iome...
2020 Oct 19
0
[PATCH v4 05/10] drm/ttm: Add vmap/vunmap to TTM and TTM GEM helpers
...n. > > Best regards > Thomas > >>> +??????? else if (mem->placement & TTM_PL_FLAG_WC) >> I've just nuked the TTM_PL_FLAG_WC flag in drm-misc-next. There is a new >> mem->bus.caching enum as replacement. >> >>> +??????????? vaddr_iomem = ioremap_wc(mem->bus.offset, size); >>> +??????? else >>> +??????????? vaddr_iomem = ioremap(mem->bus.offset, size); >>> + >>> +??????? if (!vaddr_iomem) >>> +??????????? return -ENOMEM; >>> + >>> +??????? dma_buf_map_set_vaddr_iomem(map, vad...
2020 Oct 15
0
[PATCH v4 05/10] drm/ttm: Add vmap/vunmap to TTM and TTM GEM helpers
...if (ret) + return ret; + + if (mem->bus.is_iomem) { + void __iomem *vaddr_iomem; + unsigned long size = bo->num_pages << PAGE_SHIFT; + + if (mem->bus.addr) + vaddr_iomem = (void *)(((u8 *)mem->bus.addr)); + else if (mem->placement & TTM_PL_FLAG_WC) + vaddr_iomem = ioremap_wc(mem->bus.offset, size); + else + vaddr_iomem = ioremap(mem->bus.offset, size); + + if (!vaddr_iomem) + return -ENOMEM; + + dma_buf_map_set_vaddr_iomem(map, vaddr_iomem); + + } else { + struct ttm_operation_ctx ctx = { + .interruptible = false, + .no_wait_gpu = false + }; + struc...
2020 Oct 20
0
[PATCH v5 05/10] drm/ttm: Add vmap/vunmap to TTM and TTM GEM helpers
...em); + if (ret) + return ret; + + if (mem->bus.is_iomem) { + void __iomem *vaddr_iomem; + size_t size = bo->num_pages << PAGE_SHIFT; + + if (mem->bus.addr) + vaddr_iomem = (void __iomem *)mem->bus.addr; + else if (mem->bus.caching == ttm_write_combined) + vaddr_iomem = ioremap_wc(mem->bus.offset, size); + else + vaddr_iomem = ioremap(mem->bus.offset, size); + + if (!vaddr_iomem) + return -ENOMEM; + + dma_buf_map_set_vaddr_iomem(map, vaddr_iomem); + + } else { + struct ttm_operation_ctx ctx = { + .interruptible = false, + .no_wait_gpu = false + }; + struc...