Home
last modified time | relevance | path

Searched refs:imem (Results 1 – 25 of 36) sorted by relevance

12

/Linux-v5.10/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/
Dgk20a.c54 struct gk20a_instmem *imem; member
145 struct gk20a_instmem *imem = obj->base.imem; in gk20a_instobj_iommu_recycle_vaddr() local
151 imem->vaddr_use -= nvkm_memory_size(&obj->base.memory); in gk20a_instobj_iommu_recycle_vaddr()
152 nvkm_debug(&imem->base.subdev, "vaddr used: %x/%x\n", imem->vaddr_use, in gk20a_instobj_iommu_recycle_vaddr()
153 imem->vaddr_max); in gk20a_instobj_iommu_recycle_vaddr()
160 gk20a_instmem_vaddr_gc(struct gk20a_instmem *imem, const u64 size) in gk20a_instmem_vaddr_gc() argument
162 while (imem->vaddr_use + size > imem->vaddr_max) { in gk20a_instmem_vaddr_gc()
164 if (list_empty(&imem->vaddr_lru)) in gk20a_instmem_vaddr_gc()
168 list_first_entry(&imem->vaddr_lru, in gk20a_instmem_vaddr_gc()
177 struct gk20a_instmem *imem = node->imem; in gk20a_instobj_acquire_dma() local
[all …]
Dbase.c74 nvkm_instobj_dtor(struct nvkm_instmem *imem, struct nvkm_instobj *iobj) in nvkm_instobj_dtor() argument
76 spin_lock(&imem->lock); in nvkm_instobj_dtor()
78 spin_unlock(&imem->lock); in nvkm_instobj_dtor()
83 struct nvkm_instmem *imem, struct nvkm_instobj *iobj) in nvkm_instobj_ctor() argument
87 spin_lock(&imem->lock); in nvkm_instobj_ctor()
88 list_add_tail(&iobj->head, &imem->list); in nvkm_instobj_ctor()
89 spin_unlock(&imem->lock); in nvkm_instobj_ctor()
93 nvkm_instobj_new(struct nvkm_instmem *imem, u32 size, u32 align, bool zero, in nvkm_instobj_new() argument
96 struct nvkm_subdev *subdev = &imem->subdev; in nvkm_instobj_new()
101 ret = imem->func->memory_new(imem, size, align, zero, &memory); in nvkm_instobj_new()
[all …]
Dnv40.c43 struct nv40_instmem *imem; member
51 iowrite32_native(data, iobj->imem->iomem + iobj->node->offset + offset); in nv40_instobj_wr32()
58 return ioread32_native(iobj->imem->iomem + iobj->node->offset + offset); in nv40_instobj_rd32()
77 return iobj->imem->iomem + iobj->node->offset; in nv40_instobj_acquire()
102 mutex_lock(&iobj->imem->base.subdev.mutex); in nv40_instobj_dtor()
103 nvkm_mm_free(&iobj->imem->heap, &iobj->node); in nv40_instobj_dtor()
104 mutex_unlock(&iobj->imem->base.subdev.mutex); in nv40_instobj_dtor()
105 nvkm_instobj_dtor(&iobj->imem->base, &iobj->base); in nv40_instobj_dtor()
123 struct nv40_instmem *imem = nv40_instmem(base); in nv40_instobj_new() local
131 nvkm_instobj_ctor(&nv40_instobj_func, &imem->base, &iobj->base); in nv40_instobj_new()
[all …]
Dnv04.c41 struct nv04_instmem *imem; member
49 struct nvkm_device *device = iobj->imem->base.subdev.device; in nv04_instobj_wr32()
57 struct nvkm_device *device = iobj->imem->base.subdev.device; in nv04_instobj_rd32()
76 struct nvkm_device *device = iobj->imem->base.subdev.device; in nv04_instobj_acquire()
102 mutex_lock(&iobj->imem->base.subdev.mutex); in nv04_instobj_dtor()
103 nvkm_mm_free(&iobj->imem->heap, &iobj->node); in nv04_instobj_dtor()
104 mutex_unlock(&iobj->imem->base.subdev.mutex); in nv04_instobj_dtor()
105 nvkm_instobj_dtor(&iobj->imem->base, &iobj->base); in nv04_instobj_dtor()
123 struct nv04_instmem *imem = nv04_instmem(base); in nv04_instobj_new() local
131 nvkm_instobj_ctor(&nv04_instobj_func, &imem->base, &iobj->base); in nv04_instobj_new()
[all …]
Dnv50.c47 struct nv50_instmem *imem; member
59 struct nv50_instmem *imem = iobj->imem; in nv50_instobj_wr32_slow() local
60 struct nvkm_device *device = imem->base.subdev.device; in nv50_instobj_wr32_slow()
65 spin_lock_irqsave(&imem->base.lock, flags); in nv50_instobj_wr32_slow()
66 if (unlikely(imem->addr != base)) { in nv50_instobj_wr32_slow()
68 imem->addr = base; in nv50_instobj_wr32_slow()
71 spin_unlock_irqrestore(&imem->base.lock, flags); in nv50_instobj_wr32_slow()
78 struct nv50_instmem *imem = iobj->imem; in nv50_instobj_rd32_slow() local
79 struct nvkm_device *device = imem->base.subdev.device; in nv50_instobj_rd32_slow()
85 spin_lock_irqsave(&imem->base.lock, flags); in nv50_instobj_rd32_slow()
[all …]
/Linux-v5.10/drivers/gpu/drm/nouveau/nvkm/engine/fifo/
Ddmanv40.c65 struct nvkm_instmem *imem = device->imem; in nv40_fifo_dma_engine_fini() local
79 nvkm_kmap(imem->ramfc); in nv40_fifo_dma_engine_fini()
80 nvkm_wo32(imem->ramfc, chan->ramfc + ctx, 0x00000000); in nv40_fifo_dma_engine_fini()
81 nvkm_done(imem->ramfc); in nv40_fifo_dma_engine_fini()
95 struct nvkm_instmem *imem = device->imem; in nv40_fifo_dma_engine_init() local
110 nvkm_kmap(imem->ramfc); in nv40_fifo_dma_engine_init()
111 nvkm_wo32(imem->ramfc, chan->ramfc + ctx, inst); in nv40_fifo_dma_engine_init()
112 nvkm_done(imem->ramfc); in nv40_fifo_dma_engine_init()
147 struct nvkm_instmem *imem = chan->fifo->base.engine.subdev.device->imem; in nv40_fifo_dma_object_ctor() local
163 hash = nvkm_ramht_insert(imem->ramht, object, chan->base.chid, 4, in nv40_fifo_dma_object_ctor()
[all …]
Ddmanv04.c39 struct nvkm_instmem *imem = chan->fifo->base.engine.subdev.device->imem; in nv04_fifo_dma_object_dtor() local
42 nvkm_ramht_remove(imem->ramht, cookie); in nv04_fifo_dma_object_dtor()
51 struct nvkm_instmem *imem = chan->fifo->base.engine.subdev.device->imem; in nv04_fifo_dma_object_ctor() local
67 hash = nvkm_ramht_insert(imem->ramht, object, chan->base.chid, 4, in nv04_fifo_dma_object_ctor()
79 struct nvkm_memory *fctx = device->imem->ramfc; in nv04_fifo_dma_fini()
144 struct nvkm_instmem *imem = fifo->base.engine.subdev.device->imem; in nv04_fifo_dma_dtor() local
147 nvkm_kmap(imem->ramfc); in nv04_fifo_dma_dtor()
149 nvkm_wo32(imem->ramfc, chan->ramfc + c->ctxp, 0x00000000); in nv04_fifo_dma_dtor()
151 nvkm_done(imem->ramfc); in nv04_fifo_dma_dtor()
175 struct nvkm_instmem *imem = device->imem; in nv04_fifo_dma_new() local
[all …]
Ddmanv10.c46 struct nvkm_instmem *imem = device->imem; in nv10_fifo_dma_new() local
76 nvkm_kmap(imem->ramfc); in nv10_fifo_dma_new()
77 nvkm_wo32(imem->ramfc, chan->ramfc + 0x00, args->v0.offset); in nv10_fifo_dma_new()
78 nvkm_wo32(imem->ramfc, chan->ramfc + 0x04, args->v0.offset); in nv10_fifo_dma_new()
79 nvkm_wo32(imem->ramfc, chan->ramfc + 0x0c, chan->base.push->addr >> 4); in nv10_fifo_dma_new()
80 nvkm_wo32(imem->ramfc, chan->ramfc + 0x14, in nv10_fifo_dma_new()
87 nvkm_done(imem->ramfc); in nv10_fifo_dma_new()
Ddmanv17.c46 struct nvkm_instmem *imem = device->imem; in nv17_fifo_dma_new() local
77 nvkm_kmap(imem->ramfc); in nv17_fifo_dma_new()
78 nvkm_wo32(imem->ramfc, chan->ramfc + 0x00, args->v0.offset); in nv17_fifo_dma_new()
79 nvkm_wo32(imem->ramfc, chan->ramfc + 0x04, args->v0.offset); in nv17_fifo_dma_new()
80 nvkm_wo32(imem->ramfc, chan->ramfc + 0x0c, chan->base.push->addr >> 4); in nv17_fifo_dma_new()
81 nvkm_wo32(imem->ramfc, chan->ramfc + 0x14, in nv17_fifo_dma_new()
88 nvkm_done(imem->ramfc); in nv17_fifo_dma_new()
Dnv17.c55 struct nvkm_instmem *imem = device->imem; in nv17_fifo_init() local
56 struct nvkm_ramht *ramht = imem->ramht; in nv17_fifo_init()
57 struct nvkm_memory *ramro = imem->ramro; in nv17_fifo_init()
58 struct nvkm_memory *ramfc = imem->ramfc; in nv17_fifo_init()
Dnv40.c65 struct nvkm_instmem *imem = device->imem; in nv40_fifo_init() local
66 struct nvkm_ramht *ramht = imem->ramht; in nv40_fifo_init()
67 struct nvkm_memory *ramro = imem->ramro; in nv40_fifo_init()
68 struct nvkm_memory *ramfc = imem->ramfc; in nv40_fifo_init()
Dnv04.c303 struct nvkm_instmem *imem = device->imem; in nv04_fifo_init() local
304 struct nvkm_ramht *ramht = imem->ramht; in nv04_fifo_init()
305 struct nvkm_memory *ramro = imem->ramro; in nv04_fifo_init()
306 struct nvkm_memory *ramfc = imem->ramfc; in nv04_fifo_init()
/Linux-v5.10/drivers/remoteproc/
Dqcom_pil_info.c33 struct resource imem; in qcom_pil_info_init() local
45 ret = of_address_to_resource(np, 0, &imem); in qcom_pil_info_init()
50 base = ioremap(imem.start, resource_size(&imem)); in qcom_pil_info_init()
56 memset_io(base, 0, resource_size(&imem)); in qcom_pil_info_init()
59 _reloc.num_entries = resource_size(&imem) / PIL_RELOC_ENTRY_SIZE; in qcom_pil_info_init()
/Linux-v5.10/drivers/gpu/drm/nouveau/nvkm/engine/mpeg/
Dnv40.c33 struct nvkm_instmem *imem = device->imem; in nv40_mpeg_mthd_dma() local
37 u32 dma0 = nvkm_instmem_rd32(imem, inst + 0); in nv40_mpeg_mthd_dma()
38 u32 dma1 = nvkm_instmem_rd32(imem, inst + 4); in nv40_mpeg_mthd_dma()
39 u32 dma2 = nvkm_instmem_rd32(imem, inst + 8); in nv40_mpeg_mthd_dma()
/Linux-v5.10/drivers/gpu/drm/nouveau/nvkm/engine/device/
Dbase.c86 .imem = nv04_instmem_new,
107 .imem = nv04_instmem_new,
129 .imem = nv04_instmem_new,
149 .imem = nv04_instmem_new,
171 .imem = nv04_instmem_new,
193 .imem = nv04_instmem_new,
215 .imem = nv04_instmem_new,
237 .imem = nv04_instmem_new,
259 .imem = nv04_instmem_new,
281 .imem = nv04_instmem_new,
[all …]
Duser.c108 struct nvkm_instmem *imem = device->imem; in nvkm_udevice_info() local
190 if (imem && args->v0.ram_size > 0) in nvkm_udevice_info()
191 args->v0.ram_user = args->v0.ram_user - imem->reserved; in nvkm_udevice_info()
/Linux-v5.10/drivers/gpu/drm/nouveau/nvkm/core/
Dmemory.c141 struct nvkm_instmem *imem = device->imem; in nvkm_memory_new() local
145 if (unlikely(target != NVKM_MEM_TARGET_INST || !imem)) in nvkm_memory_new()
148 ret = nvkm_instobj_new(imem, size, align, zero, &memory); in nvkm_memory_new()
/Linux-v5.10/drivers/memory/
Dbrcmstb_dpfe.c185 void __iomem *imem; member
570 u32 __iomem *imem = priv->imem; in __verify_fw_checksum() local
589 sum += readl_relaxed(imem + i); in __verify_fw_checksum()
625 const u32 *dmem, *imem; in brcmstb_dpfe_download_firmware() local
675 imem = fw_blob; in brcmstb_dpfe_download_firmware()
682 ret = __write_firmware(priv->imem, imem, imem_size, is_big_endian); in brcmstb_dpfe_download_firmware()
887 priv->imem = devm_ioremap_resource(dev, res); in brcmstb_dpfe_probe()
888 if (IS_ERR(priv->imem)) { in brcmstb_dpfe_probe()
/Linux-v5.10/drivers/gpu/drm/nouveau/nvkm/subdev/acr/
Dhsfw.c33 kfree(hsfw->imem); in nvkm_acr_hsfw_del()
145 hsfw->imem = kmalloc(desc->code_size, GFP_KERNEL); in nvkm_acr_hsfw_load_bl()
146 memcpy(hsfw->imem, data + desc->code_off, desc->code_size); in nvkm_acr_hsfw_load_bl()
Dpriv.h60 u32 *imem; member
99 u32 *imem; member
Dgm200.c255 nvkm_falcon_load_imem(falcon, hsf->imem, in gm200_acr_hsfw_boot()
325 hsf->imem = kmemdup(hsfw->imem, hsfw->imem_size, GFP_KERNEL); in gm200_acr_hsfw_load()
326 if (!hsf->imem) in gm200_acr_hsfw_load()
/Linux-v5.10/Documentation/devicetree/bindings/memory-controllers/
Dbrcm,dpfe-cpu.txt17 - reg-names: must contain "dpfe-cpu", "dpfe-dmem", and "dpfe-imem";
26 reg-names = "dpfe-cpu", "dpfe-dmem", "dpfe-imem";
/Linux-v5.10/Documentation/devicetree/bindings/dma/
Dst_fdma.txt15 - reg-names : Must contain "slimcore", "dmem", "peripherals", "imem" entries
31 reg-names = "slimcore", "dmem", "peripherals", "imem";
/Linux-v5.10/drivers/gpu/drm/nouveau/include/nvkm/core/
Ddevice.h146 struct nvkm_instmem *imem; member
219 int (*imem )(struct nvkm_device *, int idx, struct nvkm_instmem **); member
/Linux-v5.10/drivers/gpu/drm/nouveau/nvkm/engine/dma/
Duser.c78 struct nvkm_instmem *instmem = device->imem; in nvkm_dmaobj_ctor()

12