| /drivers/gpu/drm/nouveau/nvkm/core/ |
| A D | memory.c | 39 kfree(memory->tags); in nvkm_memory_tags_put() 40 memory->tags = NULL; in nvkm_memory_tags_put() 103 memory->func = func; in nvkm_memory_ctor() 110 struct nvkm_memory *memory = container_of(kref, typeof(*memory), kref); in nvkm_memory_del() local 112 if (memory->func->dtor) in nvkm_memory_del() 113 memory = memory->func->dtor(memory); in nvkm_memory_del() 114 kfree(memory); in nvkm_memory_del() 122 if (memory) { in nvkm_memory_unref() 131 if (memory) in nvkm_memory_ref() 133 return memory; in nvkm_memory_ref() [all …]
|
| A D | firmware.c | 116 nvkm_firmware_mem_sgl(struct nvkm_memory *memory) in nvkm_firmware_mem_sgl() argument 137 .memory = &fw->mem.memory, in nvkm_firmware_mem_map() 139 .sgl = nvkm_firmware_mem_sgl(memory), in nvkm_firmware_mem_map() 149 nvkm_firmware_mem_size(struct nvkm_memory *memory) in nvkm_firmware_mem_size() argument 157 nvkm_firmware_mem_addr(struct nvkm_memory *memory) in nvkm_firmware_mem_addr() argument 160 return nvkm_firmware_mem(memory)->phys; in nvkm_firmware_mem_addr() 164 nvkm_firmware_mem_page(struct nvkm_memory *memory) in nvkm_firmware_mem_page() argument 179 nvkm_firmware_mem_dtor(struct nvkm_memory *memory) in nvkm_firmware_mem_dtor() argument 197 struct nvkm_memory *memory = &fw->mem.memory; in nvkm_firmware_dtor() local 207 nvkm_memory_unref(&memory); in nvkm_firmware_dtor() [all …]
|
| A D | gpuobj.c | 50 return nvkm_memory_map(gpuobj->memory, offset, vmm, vma, argv, argc); in nvkm_gpuobj_heap_map() 56 return nvkm_ro32(gpuobj->memory, offset); in nvkm_gpuobj_heap_rd32() 62 nvkm_wo32(gpuobj->memory, offset, data); in nvkm_gpuobj_heap_wr32() 70 nvkm_done(gpuobj->memory); in nvkm_gpuobj_heap_release() 92 gpuobj->map = nvkm_kmap(gpuobj->memory); in nvkm_gpuobj_heap_acquire() 202 abs(align), zero, &gpuobj->memory); in nvkm_gpuobj_ctor() 207 gpuobj->addr = nvkm_memory_addr(gpuobj->memory); in nvkm_gpuobj_ctor() 208 gpuobj->size = nvkm_memory_size(gpuobj->memory); in nvkm_gpuobj_ctor() 222 nvkm_memory_unref(&gpuobj->memory); in nvkm_gpuobj_del() 255 (*pgpuobj)->addr = nvkm_memory_addr(memory); in nvkm_gpuobj_wrap() [all …]
|
| /drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ |
| A D | mem.c | 31 struct nvkm_memory memory; member 45 return nvkm_mem(memory)->target; in nvkm_mem_target() 49 nvkm_mem_page(struct nvkm_memory *memory) in nvkm_mem_page() argument 75 .memory = &mem->memory, in nvkm_mem_map_dma() 115 .memory = &mem->memory, in nvkm_mem_map_sgl() 170 *pmemory = &mem->memory; in nvkm_mem_new_host() 227 struct nvkm_memory *memory = NULL; in nvkm_mem_new_type() local 232 argv, argc, &memory); in nvkm_mem_new_type() 235 argv, argc, &memory); in nvkm_mem_new_type() 239 nvkm_memory_unref(&memory); in nvkm_mem_new_type() [all …]
|
| A D | umem.c | 38 struct nvkm_memory *memory = NULL; in nvkm_umem_search() local 48 memory = nvkm_memory_ref(umem->memory); in nvkm_umem_search() 56 memory = nvkm_memory_ref(umem->memory); in nvkm_umem_search() 59 return memory ? memory : ERR_PTR(-ENOENT); in nvkm_umem_search() 98 int ret = nvkm_mem_map_host(umem->memory, &umem->map); in nvkm_umem_map() 103 *length = nvkm_memory_size(umem->memory); in nvkm_umem_map() 130 nvkm_memory_unref(&umem->memory); in nvkm_umem_dtor() 178 &umem->memory); in nvkm_umem_new() 186 args->v0.page = nvkm_memory_page(umem->memory); in nvkm_umem_new() 187 args->v0.addr = nvkm_memory_addr(umem->memory); in nvkm_umem_new() [all …]
|
| A D | vmmgp100.c | 40 nvkm_kmap(pt->memory); in gp100_vmm_pfn_unmap() 51 nvkm_done(pt->memory); in gp100_vmm_pfn_unmap() 59 nvkm_kmap(pt->memory); in gp100_vmm_pfn_clear() 70 nvkm_done(pt->memory); in gp100_vmm_pfn_clear() 81 nvkm_kmap(pt->memory); in gp100_vmm_pgt_pfn() 111 nvkm_done(pt->memory); in gp100_vmm_pgt_pfn() 141 nvkm_kmap(pt->memory); in gp100_vmm_pgt_dma() 247 nvkm_kmap(pd->memory); in gp100_vmm_pd0_pde() 249 nvkm_done(pd->memory); in gp100_vmm_pd0_pde() 274 nvkm_kmap(pt->memory); in gp100_vmm_pd0_pfn_unmap() [all …]
|
| A D | uvmm.c | 160 struct nvkm_memory *memory; in nvkm_uvmm_mthd_map() local 166 handle = args->v0.memory; in nvkm_uvmm_mthd_map() 175 if (IS_ERR(memory)) { in nvkm_uvmm_mthd_map() 177 return PTR_ERR(memory); in nvkm_uvmm_mthd_map() 218 nvkm_memory_unref(&memory); in nvkm_uvmm_mthd_map() 227 nvkm_memory_unref(&memory); in nvkm_uvmm_mthd_map() 401 struct nvkm_memory *memory; in nvkm_uvmm_mthd_raw_map() local 404 u64 handle = args->memory; in nvkm_uvmm_mthd_raw_map() 417 memory = nvkm_umem_search(client, args->memory); in nvkm_uvmm_mthd_raw_map() 418 if (IS_ERR(memory)) { in nvkm_uvmm_mthd_raw_map() [all …]
|
| A D | vmmgf100.c | 70 nvkm_kmap(pt->memory); in gf100_vmm_pgt_dma() 76 nvkm_done(pt->memory); in gf100_vmm_pgt_dma() 114 switch (nvkm_memory_target(pt->memory)) { in gf100_vmm_pgd_pde() 128 switch (nvkm_memory_target(pt->memory)) { in gf100_vmm_pgd_pde() 141 nvkm_kmap(pd->memory); in gf100_vmm_pgd_pde() 143 nvkm_done(pd->memory); in gf100_vmm_pgd_pde() 204 switch (nvkm_memory_target(pd->memory)) { in gf100_vmm_invalidate() 248 struct nvkm_memory *memory = map->memory; in gf100_vmm_valid() local 284 u32 tags = ALIGN(nvkm_memory_size(memory), 1 << 17) >> comp; in gf100_vmm_valid() 291 ret = nvkm_memory_tags_get(memory, device, tags, in gf100_vmm_valid() [all …]
|
| /drivers/gpu/drm/nouveau/nvkm/subdev/instmem/ |
| A D | base.c | 34 struct nvkm_memory *memory = &iobj->memory; in nvkm_instobj_load() local 39 if (!(map = nvkm_kmap(memory))) { in nvkm_instobj_load() 45 nvkm_done(memory); in nvkm_instobj_load() 54 struct nvkm_memory *memory = &iobj->memory; in nvkm_instobj_save() local 63 if (!(map = nvkm_kmap(memory))) { in nvkm_instobj_save() 69 nvkm_done(memory); in nvkm_instobj_save() 126 zero, nvkm_memory_addr(memory), nvkm_memory_size(memory)); in nvkm_instobj_new() 136 nvkm_done(memory); in nvkm_instobj_new() 139 container_of(memory, struct nvkm_instobj, memory)->preserve = preserve; in nvkm_instobj_new() 142 nvkm_memory_unref(&memory); in nvkm_instobj_new() [all …]
|
| A D | nv50.c | 125 struct nvkm_memory *memory = &iobj->base.memory; in nv50_instobj_kmap() local 129 u64 size = nvkm_memory_size(memory); in nv50_instobj_kmap() 146 nvkm_memory_addr(&eobj->base.memory), in nv50_instobj_kmap() 147 nvkm_memory_size(&eobj->base.memory), in nv50_instobj_kmap() 187 memory = nv50_instobj(memory)->ram; in nv50_instobj_map() 211 iobj->base.memory.ptrs = NULL; in nv50_instobj_release() 286 nv50_instobj_size(struct nvkm_memory *memory) in nv50_instobj_size() argument 292 nv50_instobj_addr(struct nvkm_memory *memory) in nv50_instobj_addr() argument 306 nv50_instobj_release(&iobj->base.memory); in nv50_instobj_bar2() 365 *pmemory = &iobj->base.memory; in nv50_instobj_wrap() [all …]
|
| A D | gk20a.c | 116 gk20a_instobj_target(struct nvkm_memory *memory) in gk20a_instobj_target() argument 122 gk20a_instobj_page(struct nvkm_memory *memory) in gk20a_instobj_page() argument 128 gk20a_instobj_addr(struct nvkm_memory *memory) in gk20a_instobj_addr() argument 130 return (u64)gk20a_instobj(memory)->mn->offset << 12; in gk20a_instobj_addr() 134 gk20a_instobj_size(struct nvkm_memory *memory) in gk20a_instobj_size() argument 176 struct gk20a_instobj *node = gk20a_instobj(memory); in gk20a_instobj_acquire_dma() 191 const u64 size = nvkm_memory_size(memory); in gk20a_instobj_acquire_iommu() 286 .memory = &node->base.memory, in gk20a_instobj_map() 295 gk20a_instobj_dtor_dma(struct nvkm_memory *memory) in gk20a_instobj_dtor_dma() argument 395 node->base.base.memory.ptrs = &gk20a_instobj_ptrs; in gk20a_instobj_ctor_dma() [all …]
|
| A D | nv04.c | 49 struct nv04_instobj *iobj = nv04_instobj(memory); in nv04_instobj_wr32() 69 nv04_instobj_release(struct nvkm_memory *memory) in nv04_instobj_release() argument 74 nv04_instobj_acquire(struct nvkm_memory *memory) in nv04_instobj_acquire() argument 82 nv04_instobj_size(struct nvkm_memory *memory) in nv04_instobj_size() argument 84 return nv04_instobj(memory)->node->length; in nv04_instobj_size() 88 nv04_instobj_addr(struct nvkm_memory *memory) in nv04_instobj_addr() argument 90 return nv04_instobj(memory)->node->offset; in nv04_instobj_addr() 94 nv04_instobj_target(struct nvkm_memory *memory) in nv04_instobj_target() argument 100 nv04_instobj_dtor(struct nvkm_memory *memory) in nv04_instobj_dtor() argument 130 *pmemory = &iobj->base.memory; in nv04_instobj_new() [all …]
|
| A D | nv40.c | 50 struct nv40_instobj *iobj = nv40_instobj(memory); in nv40_instobj_wr32() 68 nv40_instobj_release(struct nvkm_memory *memory) in nv40_instobj_release() argument 74 nv40_instobj_acquire(struct nvkm_memory *memory) in nv40_instobj_acquire() argument 81 nv40_instobj_size(struct nvkm_memory *memory) in nv40_instobj_size() argument 83 return nv40_instobj(memory)->node->length; in nv40_instobj_size() 87 nv40_instobj_addr(struct nvkm_memory *memory) in nv40_instobj_addr() argument 89 return nv40_instobj(memory)->node->offset; in nv40_instobj_addr() 93 nv40_instobj_target(struct nvkm_memory *memory) in nv40_instobj_target() argument 99 nv40_instobj_dtor(struct nvkm_memory *memory) in nv40_instobj_dtor() argument 129 *pmemory = &iobj->base.memory; in nv40_instobj_new() [all …]
|
| /drivers/gpu/drm/nouveau/nvkm/subdev/fb/ |
| A D | ram.c | 32 struct nvkm_memory memory; member 41 return nvkm_instobj_wrap(nvkm_vram(memory)->ram->fb->subdev.device, memory, pmemory); in nvkm_vram_kmap() 48 struct nvkm_vram *vram = nvkm_vram(memory); in nvkm_vram_map() 50 .memory = &vram->memory, in nvkm_vram_map() 59 nvkm_vram_size(struct nvkm_memory *memory) in nvkm_vram_size() argument 65 nvkm_vram_addr(struct nvkm_memory *memory) in nvkm_vram_addr() argument 74 nvkm_vram_page(struct nvkm_memory *memory) in nvkm_vram_page() argument 76 return nvkm_vram(memory)->page; in nvkm_vram_page() 86 nvkm_vram_dtor(struct nvkm_memory *memory) in nvkm_vram_dtor() argument 136 *pmemory = &vram->memory; in nvkm_ram_wrap() [all …]
|
| /drivers/staging/octeon/ |
| A D | ethernet-mem.c | 49 char *memory; in cvm_oct_free_hw_skbuff() local 52 memory = cvmx_fpa_alloc(pool); in cvm_oct_free_hw_skbuff() 53 if (memory) { in cvm_oct_free_hw_skbuff() 59 } while (memory); in cvm_oct_free_hw_skbuff() 79 char *memory; in cvm_oct_fill_hw_memory() local 94 memory = kmalloc(size + 256, GFP_ATOMIC); in cvm_oct_fill_hw_memory() 95 if (unlikely(!memory)) { in cvm_oct_fill_hw_memory() 101 *((char **)fpa - 1) = memory; in cvm_oct_fill_hw_memory() 116 char *memory; in cvm_oct_free_hw_memory() local 124 memory = *((char **)fpa - 1); in cvm_oct_free_hw_memory() [all …]
|
| /drivers/cxl/ |
| A D | Kconfig | 16 memory targets, the CXL.io protocol is equivalent to PCI Express. 53 potential impact to memory currently in use by the kernel. 66 Enable support for host managed device memory (HDM) resources 86 provisioning the persistent memory capacity of CXL memory expanders. 97 memory were attached to the typical CPU memory controller. This is 124 The CXL EDAC memory feature is optional and allows host to 125 control the EDAC memory features configurations of CXL memory 129 of a memory RAS feature established by the platform/device. 173 to control the memory repair features (e.g. sparing, PPR) 174 configurations of CXL memory expander devices. [all …]
|
| /drivers/dax/ |
| A D | Kconfig | 3 tristate "DAX: direct access to differentiated memory" 13 latency...) memory via an mmap(2) capable character 15 platform memory resource that is differentiated from the 16 baseline memory pool. Mappings of a /dev/daxX.Y device impose 20 tristate "PMEM DAX: direct access to persistent memory" 24 Support raw access to persistent memory. Note that this 25 driver consumes memory ranges allocated and exported by the 37 memory. For example, a high bandwidth memory pool. The 39 memory from typical usage by default. This driver creates 40 device-dax instances for these memory ranges, and that also [all …]
|
| /drivers/md/dm-vdo/indexer/ |
| A D | delta-index.c | 470 if (get_immutable_start(memory, i) > get_immutable_start(memory, i + 1)) in verify_delta_index_page() 543 delta_zone->memory = memory; in uds_initialize_delta_index_page() 769 move_bits(delta_zone->memory, delta_lists[i].start, memory, in uds_pack_delta_index_page() 1313 const u8 *memory = delta_zone->memory; in decode_delta() local 1587 u8 *memory; in insert_bits() local 1653 memory = delta_zone->memory; in insert_bits() 1654 move_bits(memory, source, memory, destination, count); in insert_bits() 1665 u8 *memory = delta_zone->memory; in encode_delta() local 1684 u8 *memory = delta_entry->delta_zone->memory; in encode_entry() local 1807 u8 *memory = delta_entry->delta_zone->memory; in delete_bits() local [all …]
|
| /drivers/nvdimm/ |
| A D | Kconfig | 9 Generic support for non-volatile memory devices including 12 bus is registered to advertise PMEM (persistent memory) 14 memory resource that may span multiple DIMMs and support DAX 20 tristate "PMEM: Persistent memory block device support" 28 non-standard OEM-specific E820 memory type (type-12, see 50 update semantics for persistent memory devices, so that 63 bool "PFN: Map persistent (device) memory" 68 Map persistent memory, i.e. advertise it to the memory 78 bool "NVDIMM DAX: Raw access to persistent memory" 82 Support raw device dax access to a persistent memory [all …]
|
| /drivers/gpu/drm/amd/amdkfd/ |
| A D | Kconfig | 16 bool "Enable HMM-based shared virtual memory manager" 22 Enable this to use unified memory and managed memory in HIP. This 23 memory manager supports two modes of operation. One based on 25 based memory management on most GFXv9 GPUs, set the module 35 in peer GPUs' memory without intermediate copies in system memory. 38 GPUs with large memory BARs that expose the entire VRAM in PCIe bus
|
| /drivers/xen/ |
| A D | Kconfig | 6 bool "Xen memory balloon driver" 11 return unneeded memory to the system. 24 memory ranges to use in order to map foreign memory or grants. 33 where <maxmem> is >= requested memory size, 36 where <memory> is requested memory size; alternatively memory 46 for i in /sys/devices/system/memory/memory*/state; do \ 54 int "Hotplugged memory limit (in GiB) for a PV guest" 60 expanded to when using memory hotplug. 62 A PV guest can have more memory than this limit if is 66 tables needed for physical memory administration. [all …]
|
| /drivers/gpu/drm/nouveau/nvkm/engine/fifo/ |
| A D | gv100.c | 118 const u64 bar2 = cctx ? nvkm_memory_bar2(cctx->vctx->inst->memory) : 0ULL; in gv100_ectx_ce_bind() 130 if (nvkm_memory_bar2(vctx->inst->memory) == ~0ULL) in gv100_ectx_ce_ctor() 182 gv100_runl_insert_chan(struct nvkm_chan *chan, struct nvkm_memory *memory, u64 offset) in gv100_runl_insert_chan() argument 187 nvkm_wo32(memory, offset + 0x0, lower_32_bits(user) | chan->runq << 1); in gv100_runl_insert_chan() 188 nvkm_wo32(memory, offset + 0x4, upper_32_bits(user)); in gv100_runl_insert_chan() 189 nvkm_wo32(memory, offset + 0x8, lower_32_bits(inst) | chan->id); in gv100_runl_insert_chan() 190 nvkm_wo32(memory, offset + 0xc, upper_32_bits(inst)); in gv100_runl_insert_chan() 196 nvkm_wo32(memory, offset + 0x0, (128 << 24) | (3 << 16) | 0x00000001); in gv100_runl_insert_cgrp() 197 nvkm_wo32(memory, offset + 0x4, cgrp->chan_nr); in gv100_runl_insert_cgrp() 198 nvkm_wo32(memory, offset + 0x8, cgrp->id); in gv100_runl_insert_cgrp() [all …]
|
| A D | nv50.c | 241 u64 addr = nvkm_memory_addr(memory) + start; in nv50_runl_commit() 250 nvkm_wo32(memory, offset, chan->id); in nv50_runl_insert_chan() 287 struct nvkm_memory *memory; in nv50_runl_update() local 295 memory = nv50_runl_alloc(runl, &start); in nv50_runl_update() 296 if (IS_ERR(memory)) in nv50_runl_update() 297 return PTR_ERR(memory); in nv50_runl_update() 302 nvkm_kmap(memory); in nv50_runl_update() 306 runl->func->insert_cgrp(cgrp, memory, offset); in nv50_runl_update() 312 runl->func->insert_chan(chan, memory, offset); in nv50_runl_update() 316 nvkm_done(memory); in nv50_runl_update() [all …]
|
| /drivers/media/platform/samsung/exynos4-is/ |
| A D | fimc-is.c | 339 &is->memory.addr, GFP_KERNEL); in fimc_is_alloc_cpu_memory() 340 if (is->memory.vaddr == NULL) in fimc_is_alloc_cpu_memory() 343 is->memory.size = FIMC_IS_CPU_MEM_SIZE; in fimc_is_alloc_cpu_memory() 349 (u32)is->memory.addr); in fimc_is_alloc_cpu_memory() 350 dma_free_coherent(dev, is->memory.size, is->memory.vaddr, in fimc_is_alloc_cpu_memory() 351 is->memory.addr); in fimc_is_alloc_cpu_memory() 358 is->is_dma_p_region = is->memory.addr + in fimc_is_alloc_cpu_memory() 370 if (is->memory.vaddr == NULL) in fimc_is_free_cpu_memory() 373 dma_free_coherent(dev, is->memory.size, is->memory.vaddr, in fimc_is_free_cpu_memory() 374 is->memory.addr); in fimc_is_free_cpu_memory() [all …]
|
| /drivers/memory/tegra/ |
| A D | Kconfig | 23 This driver is required to change memory timings / clock rate for 24 external memory. 35 This driver is required to change memory timings / clock rate for 36 external memory. 47 This driver is required to change memory timings / clock rate for 48 external memory. 61 This driver is required to change memory timings / clock rate for 62 external memory.
|