search for: vmm

Displaying 20 results from an estimated 536 matches for "vmm".

Did you mean: mm
2020 Apr 24
1
[PATCH] drm/nouveau/mmu: Remove unneeded semicolon
Fixes coccicheck warning: drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.h:307:2-3: Unneeded semicolon drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c:583:2-3: Unneeded semicolon Reported-by: Hulk Robot <hulkci at huawei.com> Signed-off-by: Zheng Bin <zhengbin13 at huawei.com> --- drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c | 2 +- drivers/gpu/drm/nouveau/...
2019 Dec 18
1
[PATCH v2] drm/nouveau/mmu: Remove unneeded semicolon
Fixes coccicheck warning: drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c:583:2-3: Unneeded semicolon drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.h:307:2-3: Unneeded semicolon Reported-by: Hulk Robot <hulkci at huawei.com> Signed-off-by: zhengbin <zhengbin13 at huawei.com> --- v1->v2: add missing one space after the closing curly bracket drivers/gpu/dr...
2019 Dec 16
1
[PATCH] drm/nouveau/mmu: Remove unneeded semicolon
Fixes coccicheck warning: drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c:583:2-3: Unneeded semicolon drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.h:307:2-3: Unneeded semicolon Reported-by: Hulk Robot <hulkci at huawei.com> Signed-off-by: zhengbin <zhengbin13 at huawei.com> --- drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c | 2 +- drivers/gpu/drm/nouveau/n...
2019 Sep 11
4
[PATCH v2 0/4] Merge VRAM MM and GEM VRAM source files
VRAM MM and GEM VRAM are only used with each other. This patch set moves VRAM MM into GEM VRAM source files and cleans up the helper's public interface. Version 2 of the patch set doesn't contain functional changes. I'm reposting due to the rebasing onto the debugfs patches. v2: * updated for debugfs support * fixed typos in comments Thomas Zimmermann (4): drm/vram: Move VRAM
2019 Sep 09
5
[PATCH 0/4] Merge VRAM MM and GEM VRAM source files
VRAM MM and GEM VRAM are only used with each other. This patch set moves VRAM MM into GEM VRAM source files and cleans up the helper's public interface. Thomas Zimmermann (4): drm/vram: Move VRAM memory manager to GEM VRAM implementation drm/vram: Have VRAM MM call GEM VRAM functions directly drm/vram: Unexport internal functions of VRAM MM drm/vram: Unconditonally set BO call-back
2013 Jul 29
0
[PATCH] drm/nouveau: protect vm refcount with mutex
...el(struct nouveau_vm *vm); + void nouveau_vm_map_at(struct nouveau_vma *vma, u64 delta, struct nouveau_mem *node) { @@ -335,10 +337,10 @@ nouveau_vm_get(struct nouveau_vm *vm, u64 size, u32 page_shift, return ret; } } + ++vm->refcount; + vma->vm = vm; mutex_unlock(&nv_subdev(vmm)->mutex); - vma->vm = NULL; - nouveau_vm_ref(vm, &vma->vm, NULL); vma->offset = (u64)vma->node->offset << 12; #ifdef NOUVEAU_VM_POISON if (vm->poison) @@ -353,7 +355,7 @@ nouveau_vm_put(struct nouveau_vma *vma) { struct nouveau_vm *vm = vma->vm; struct...
2013 Aug 11
2
Fixing nouveau for >4k PAGE_SIZE
...ility) makes it work for me. I've disabled nouveau_dri for now as this has its own problems related to Ajax recent gallium endian changes. Note the horrible duplication of nouveau_vm_map_sg... I think to fix it "cleanly" we probably need to slightly change the ->map_sg API to the vmmr. However, I do have a question whose answer might make things a LOT easier if "yes" can make things a lot easier: Can we guarantee that that such an sg object (I assume this is always a ttm_bo getting placed in the "TT" memory, correct ?) has an alignment in *card VM space* th...
2022 Oct 29
3
[PATCH] drm/nouveau/mmu: fix use-after-free bug in nvkm_vmm_pfn_map
If it failed in kzalloc, vma will be freed in nvkm_vmm_node_merge. The later use of vma will casue use after free. Reported-by: Zheng Wang <hackerzheng666 at gmail.com> Reported-by: Zhuorao Yang <alex000young at gmail.com> Fix it by returning to upper caller as soon as error occurs. Signed-off-by: Zheng Wang <zyytlz.wz at 163.com>...
2013 Aug 11
2
Fixing nouveau for >4k PAGE_SIZE
...a/drivers/gpu/drm/nouveau/core/subdev/vm/base.c > > +++ b/drivers/gpu/drm/nouveau/core/subdev/vm/base.c > > @@ -84,10 +84,11 @@ nouveau_vm_map_sg_table(struct nouveau_vma *vma, u64 delta, u64 length, > > { > > struct nouveau_vm *vm = vma->vm; > > struct nouveau_vmmgr *vmm = vm->vmm; > > - int big = vma->node->type != vmm->spg_shift; > > + u32 shift = vma->node->type; > > + int big = shift != vmm->spg_shift; > > u32 offset = vma->node->offset + (delta >> 12); > > - u32 bits = vma->node->typ...
2011 Dec 01
2
How does vmm get all mmio areas of pci devices?
Hi, any one help? I have puzzled by the question of device''s MMIO areas. I know a MMIO operation of guest os handled by VMM as follow steps: 1: Qemu-dm does its initialization and presents virtual devices for guest os. 2: virtual bios executes PCI_setup, it will scan the pci bus and get configure space of all devices,then virtual bios allocation system resources(like port I/O range,MMIO range, interrupt) for device. 3:...
2013 Nov 29
2
Fixing nouveau for >4k PAGE_SIZE
...vidual PAGE_SIZE pages don't cross pde boundaries > > when mapped) > I think these two restrictions are reasonable to enforce, and we should do so. > > > > > Then we can probably simplify the code significantly *and* go back to > > handling PAGE_SIZE pages in the vmm->map_sg() instead of breaking them > > up a level above like I do. > Sounds good! Ok so I experimented with that approach a bit. The code could probably use further simplifications and cleanups but it seems to work. Note that I haven't been able to test much more than the fbdev an...
2019 Mar 16
6
[PATCH 0/4] NV50/GF100 behind constrained hierarchies
Hi Ben, I've been working with an mmio-constrained pci hierarchy intended almost solely for nvme devices and switches. Binding nouveau to an NV50-based gpu results in a kernel panic as the device cannot be fully mapped. I've made modifications in nv50 and vmm to unbind the driver from this hierarchy, and modified gf100 assuming it will have the same issue. 1/4 also includes a fix where nv50 doesn't look like it checks the return value for nvkm_vmm_new for bar1. I don't know if this was intentional (eg, it could work without it). I'm wholly...
2019 Apr 24
0
[PATCH v2 05/17] drm: Add VRAM MM, a simple memory manager for dedicated VRAM
...ailable_caching = TTM_PL_FLAG_UNCACHED | + TTM_PL_FLAG_WC; + man->default_caching = TTM_PL_FLAG_WC; + break; + default: + return -EINVAL; + } + return 0; +} + +static void bo_driver_evict_flags(struct ttm_buffer_object *bo, + struct ttm_placement *placement) +{ + struct drm_vram_mm *vmm = drm_vram_mm_of_bdev(bo->bdev); + + if (vmm->funcs && vmm->funcs->evict_flags) + vmm->funcs->evict_flags(bo, placement); +} + +static int bo_driver_verify_access(struct ttm_buffer_object *bo, + struct file *filp) +{ + struct drm_vram_mm *vmm = drm_vram_mm_of_bdev(b...
2019 Dec 17
1
[PATCH] drm/nouveau: Add correct turing page kinds
...++- drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv50.c | 3 ++- drivers/gpu/drm/nouveau/nvkm/subdev/mmu/priv.h | 8 ++++---- drivers/gpu/drm/nouveau/nvkm/subdev/mmu/tu102.c | 16 +++++++++++++++- drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c | 7 +++++-- .../gpu/drm/nouveau/nvkm/subdev/mmu/vmmgf100.c | 6 +++--- .../gpu/drm/nouveau/nvkm/subdev/mmu/vmmgp100.c | 6 +++--- .../gpu/drm/nouveau/nvkm/subdev/mmu/vmmnv50.c | 6 +++--- 12 files changed, 43 insertions(+), 22 deletions(-) diff --git a/drivers/gpu/drm/nouveau/include/nvif/if0008.h b/drivers/gpu/drm/nouveau/include/nvif/if...
2020 Jun 19
0
[PATCH 10/16] nouveau/hmm: support mapping large sysmem pages
...PAGE_SIZE. Signed-off-by: Ralph Campbell <rcampbell at nvidia.com> --- drivers/gpu/drm/nouveau/nouveau_svm.c | 47 ++++++++++++++----- .../gpu/drm/nouveau/nvkm/subdev/mmu/base.c | 4 ++ .../gpu/drm/nouveau/nvkm/subdev/mmu/priv.h | 2 + drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c | 8 ++-- .../drm/nouveau/nvkm/subdev/mmu/vmmgp100.c | 29 ++++++++---- 5 files changed, 66 insertions(+), 24 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_svm.c b/drivers/gpu/drm/nouveau/nouveau_svm.c index 665dede69bd1..a27625f3c5f9 100644 --- a/drivers/gpu/drm/nouveau/nouveau_...
2019 Dec 18
0
[PATCH v2] drm/nouveau/mmu: Remove unneeded semicolon
Reviewed-by: Pierre Moreau <dev at pmoreau.org> On 2019-12-18 ? 09:28, zhengbin wrote: > Fixes coccicheck warning: > > drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c:583:2-3: Unneeded semicolon > drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.h:307:2-3: Unneeded semicolon > > Reported-by: Hulk Robot <hulkci at huawei.com> > Signed-off-by: zhengbin <zhengbin13 at huawei.com> > --- > v1->v2: add missing one space after the closing...
2020 May 04
0
[PATCH] drm/nouveau/mmu: remove unneeded semicolon
Fix the following coccicheck warning: drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.h:307:2-3: Unneeded semicolon drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c:583:2-3: Unneeded semicolon Signed-off-by: Jason Yan <yanaijie at huawei.com> --- drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.h | 2 +- 2 files changed, 2 insert...
2013 Aug 11
0
Fixing nouveau for >4k PAGE_SIZE
...9;ve disabled nouveau_dri for now > as this has its own problems related to Ajax recent gallium endian > changes. > > Note the horrible duplication of nouveau_vm_map_sg... > > I think to fix it "cleanly" we probably need to slightly change the > ->map_sg API to the vmmr. However, I do have a question whose answer > might make things a LOT easier if "yes" can make things a lot easier: > > Can we guarantee that that such an sg object (I assume this is always > a ttm_bo getting placed in the "TT" memory, correct ?) has an alignment &g...
2013 Aug 29
0
Fixing nouveau for >4k PAGE_SIZE
...u/core/subdev/vm/base.c >> > +++ b/drivers/gpu/drm/nouveau/core/subdev/vm/base.c >> > @@ -84,10 +84,11 @@ nouveau_vm_map_sg_table(struct nouveau_vma *vma, u64 delta, u64 length, >> > { >> > struct nouveau_vm *vm = vma->vm; >> > struct nouveau_vmmgr *vmm = vm->vmm; >> > - int big = vma->node->type != vmm->spg_shift; >> > + u32 shift = vma->node->type; >> > + int big = shift != vmm->spg_shift; >> > u32 offset = vma->node->offset + (delta >> 12); >> > - u...
2020 Jul 01
0
[PATCH v3 3/5] nouveau: fix mapping 2MB sysmem pages
The nvif_object_ioctl() method NVIF_VMM_V0_PFNMAP wasn't correctly setting the hardware specific GPU page table entries for 2MB sized pages. Fix this by adding functions to set and clear PD0 GPU page table entries. Signed-off-by: Ralph Campbell <rcampbell at nvidia.com> --- drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c | 5 +...