Displaying 5 results from an estimated 5 matches for "nvkm_memory_ctor".
2023 Dec 08
1
[PATCH] drm/nouveau: Fixup gk20a instobj hierarchy
...struct nvkm_vmm_map map = {
- .memory = &node->memory,
+ .memory = &node->base.memory,
.offset = offset,
.mem = node->mn,
};
@@ -391,8 +391,8 @@ gk20a_instobj_ctor_dma(struct gk20a_instmem *imem, u32 npages, u32 align,
return -ENOMEM;
*_node = &node->base;
- nvkm_memory_ctor(&gk20a_instobj_func_dma, &node->base.memory);
- node->base.memory.ptrs = &gk20a_instobj_ptrs;
+ nvkm_memory_ctor(&gk20a_instobj_func_dma, &node->base.base.memory);
+ node->base.base.memory.ptrs = &gk20a_instobj_ptrs;
node->base.vaddr = dma_alloc_attrs(dev,...
2023 Dec 14
1
[PATCH] drm/nouveau: Fixup gk20a instobj hierarchy
...>memory,
> + .memory = &node->base.memory,
> .offset = offset,
> .mem = node->mn,
> };
> @@ -391,8 +391,8 @@ gk20a_instobj_ctor_dma(struct gk20a_instmem *imem, u32 npages, u32 align,
> return -ENOMEM;
> *_node = &node->base;
>
> - nvkm_memory_ctor(&gk20a_instobj_func_dma, &node->base.memory);
> - node->base.memory.ptrs = &gk20a_instobj_ptrs;
> + nvkm_memory_ctor(&gk20a_instobj_func_dma, &node->base.base.memory);
> + node->base.base.memory.ptrs = &gk20a_instobj_ptrs;
>
> node->base.v...
2019 Aug 23
1
[PATCH] drm/nouveau: Fix memory leak in nvkm_ram_get()
.../fb/ram.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.c
index b11867f682cb..60be4d811187 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.c
@@ -124,6 +124,9 @@ nvkm_ram_get(struct nvkm_device *device, u8 heap, u8 type, u8 rpage, u64 size,
nvkm_memory_ctor(&nvkm_vram, &vram->memory);
vram->ram = ram;
vram->page = page;
+
+ if (*pmemory)
+ nvkm_memory_unref(pmemory);
*pmemory = &vram->memory;
mutex_lock(&ram->fb->subdev.mutex);
--
2.14.4
2015 Nov 11
2
[PATCH] instmem/gk20a: use DMA API CPU mapping
...se = gk20a_instobj_release,
+ .acquire = gk20a_instobj_acquire_iommu,
+ .release = gk20a_instobj_release_iommu,
.rd32 = gk20a_instobj_rd32,
.wr32 = gk20a_instobj_wr32,
.map = gk20a_instobj_map,
@@ -402,10 +382,10 @@ gk20a_instobj_ctor_dma(struct gk20a_instmem *imem, u32 npages, u32 align,
nvkm_memory_ctor(&gk20a_instobj_func_dma, &node->base.memory);
- node->cpuaddr = dma_alloc_attrs(dev, npages << PAGE_SHIFT,
- &node->handle, GFP_KERNEL,
- &imem->attrs);
- if (!node->cpuaddr) {
+ node->base.vaddr = dma_alloc_attrs(dev, npages << PAGE_SHIFT,
+...
2015 Nov 11
0
[PATCH] instmem/gk20a: use DMA API CPU mapping
...ire = gk20a_instobj_acquire_iommu,
> + .release = gk20a_instobj_release_iommu,
> .rd32 = gk20a_instobj_rd32,
> .wr32 = gk20a_instobj_wr32,
> .map = gk20a_instobj_map,
> @@ -402,10 +382,10 @@ gk20a_instobj_ctor_dma(struct gk20a_instmem *imem, u32 npages, u32 align,
>
> nvkm_memory_ctor(&gk20a_instobj_func_dma, &node->base.memory);
>
> - node->cpuaddr = dma_alloc_attrs(dev, npages << PAGE_SHIFT,
> - &node->handle, GFP_KERNEL,
> - &imem->attrs);
> - if (!node->cpuaddr) {
> + node->base.vaddr = dma_alloc_attrs(dev,...