Loading drivers/gpu/drm/nouveau/include/nvkm/core/memory.h +4 −3 Original line number Diff line number Diff line Loading @@ -6,9 +6,10 @@ struct nvkm_vma; struct nvkm_vm; enum nvkm_memory_target { NVKM_MEM_TARGET_INST, NVKM_MEM_TARGET_VRAM, NVKM_MEM_TARGET_HOST, NVKM_MEM_TARGET_INST, /* instance memory */ NVKM_MEM_TARGET_VRAM, /* video memory */ NVKM_MEM_TARGET_HOST, /* coherent system memory */ NVKM_MEM_TARGET_NCOH, /* non-coherent system memory */ }; struct nvkm_memory { Loading drivers/gpu/drm/nouveau/nvkm/engine/fifo/gf100.c +8 −1 Original line number Diff line number Diff line Loading @@ -68,7 +68,14 @@ gf100_fifo_runlist_commit(struct gf100_fifo *fifo) } nvkm_done(cur); target = (nvkm_memory_target(cur) == NVKM_MEM_TARGET_HOST) ? 0x3 : 0x0; switch (nvkm_memory_target(cur)) { case NVKM_MEM_TARGET_VRAM: target = 0; break; case NVKM_MEM_TARGET_NCOH: target = 3; break; default: mutex_unlock(&subdev->mutex); WARN_ON(1); return; } nvkm_wr32(device, 0x002270, (nvkm_memory_addr(cur) >> 12) | (target << 28)); Loading drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c +7 −4 Original line number Diff line number Diff line Loading @@ -83,10 +83,13 @@ gk104_fifo_runlist_commit(struct gk104_fifo *fifo, int runl) } nvkm_done(mem); if (nvkm_memory_target(mem) == NVKM_MEM_TARGET_VRAM) target = 0; else target = 3; switch (nvkm_memory_target(mem)) { case NVKM_MEM_TARGET_VRAM: target = 0; break; case NVKM_MEM_TARGET_NCOH: target = 3; break; default: WARN_ON(1); return; } nvkm_wr32(device, 0x002270, (nvkm_memory_addr(mem) >> 12) | (target << 28)); Loading drivers/gpu/drm/nouveau/nvkm/falcon/v1.c +7 −4 Original line number Diff line number Diff line Loading @@ -136,10 +136,13 @@ nvkm_falcon_v1_bind_context(struct nvkm_falcon *falcon, struct nvkm_gpuobj *ctx) nvkm_falcon_wr32(falcon, 0xe00 + 4 * FALCON_DMAIDX_PHYS_SYS_NCOH, 0x6); /* Set context */ if (nvkm_memory_target(ctx->memory) == NVKM_MEM_TARGET_VRAM) inst_loc = 0x0; /* FB */ else inst_loc = 0x3; /* Non-coherent sysmem */ switch (nvkm_memory_target(ctx->memory)) { case NVKM_MEM_TARGET_VRAM: inst_loc = 0; break; case NVKM_MEM_TARGET_NCOH: inst_loc = 3; break; default: WARN_ON(1); return; } /* Enable context */ nvkm_falcon_mask(falcon, 0x048, 0x1, 0x1); Loading drivers/gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.c +1 −1 Original line number Diff line number Diff line Loading @@ -116,7 +116,7 @@ struct gk20a_instmem { static enum nvkm_memory_target gk20a_instobj_target(struct nvkm_memory *memory) { return NVKM_MEM_TARGET_HOST; return NVKM_MEM_TARGET_NCOH; } static u64 Loading Loading
drivers/gpu/drm/nouveau/include/nvkm/core/memory.h +4 −3 Original line number Diff line number Diff line Loading @@ -6,9 +6,10 @@ struct nvkm_vma; struct nvkm_vm; enum nvkm_memory_target { NVKM_MEM_TARGET_INST, NVKM_MEM_TARGET_VRAM, NVKM_MEM_TARGET_HOST, NVKM_MEM_TARGET_INST, /* instance memory */ NVKM_MEM_TARGET_VRAM, /* video memory */ NVKM_MEM_TARGET_HOST, /* coherent system memory */ NVKM_MEM_TARGET_NCOH, /* non-coherent system memory */ }; struct nvkm_memory { Loading
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gf100.c +8 −1 Original line number Diff line number Diff line Loading @@ -68,7 +68,14 @@ gf100_fifo_runlist_commit(struct gf100_fifo *fifo) } nvkm_done(cur); target = (nvkm_memory_target(cur) == NVKM_MEM_TARGET_HOST) ? 0x3 : 0x0; switch (nvkm_memory_target(cur)) { case NVKM_MEM_TARGET_VRAM: target = 0; break; case NVKM_MEM_TARGET_NCOH: target = 3; break; default: mutex_unlock(&subdev->mutex); WARN_ON(1); return; } nvkm_wr32(device, 0x002270, (nvkm_memory_addr(cur) >> 12) | (target << 28)); Loading
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c +7 −4 Original line number Diff line number Diff line Loading @@ -83,10 +83,13 @@ gk104_fifo_runlist_commit(struct gk104_fifo *fifo, int runl) } nvkm_done(mem); if (nvkm_memory_target(mem) == NVKM_MEM_TARGET_VRAM) target = 0; else target = 3; switch (nvkm_memory_target(mem)) { case NVKM_MEM_TARGET_VRAM: target = 0; break; case NVKM_MEM_TARGET_NCOH: target = 3; break; default: WARN_ON(1); return; } nvkm_wr32(device, 0x002270, (nvkm_memory_addr(mem) >> 12) | (target << 28)); Loading
drivers/gpu/drm/nouveau/nvkm/falcon/v1.c +7 −4 Original line number Diff line number Diff line Loading @@ -136,10 +136,13 @@ nvkm_falcon_v1_bind_context(struct nvkm_falcon *falcon, struct nvkm_gpuobj *ctx) nvkm_falcon_wr32(falcon, 0xe00 + 4 * FALCON_DMAIDX_PHYS_SYS_NCOH, 0x6); /* Set context */ if (nvkm_memory_target(ctx->memory) == NVKM_MEM_TARGET_VRAM) inst_loc = 0x0; /* FB */ else inst_loc = 0x3; /* Non-coherent sysmem */ switch (nvkm_memory_target(ctx->memory)) { case NVKM_MEM_TARGET_VRAM: inst_loc = 0; break; case NVKM_MEM_TARGET_NCOH: inst_loc = 3; break; default: WARN_ON(1); return; } /* Enable context */ nvkm_falcon_mask(falcon, 0x048, 0x1, 0x1); Loading
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.c +1 −1 Original line number Diff line number Diff line Loading @@ -116,7 +116,7 @@ struct gk20a_instmem { static enum nvkm_memory_target gk20a_instobj_target(struct nvkm_memory *memory) { return NVKM_MEM_TARGET_HOST; return NVKM_MEM_TARGET_NCOH; } static u64 Loading