/src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/gr/ |
ctxnv40.h | 29 u32 *ctxprog = ctx->ucode; local in function:cp_out 35 ctxprog[ctx->ctxprog_len++] = inst; 63 u32 *ctxprog = ctx->ucode; local in function:cp_name 71 if ((ctxprog[i] & 0xfff00000) != 0xff400000) 73 if ((ctxprog[i] & CP_BRA_IP) != ((name) << CP_BRA_IP_SHIFT)) 75 ctxprog[i] = (ctxprog[i] & 0x00ff00ff) |
|
nouveau_nvkm_engine_gr_ctxnv40.c | 43 * and then the ctxprog is aborted. It looks like a complicated NOP, 678 u32 *ctxprog = kmalloc(256 * 4, GFP_KERNEL), i; local in function:nv40_grctx_init 682 .ucode = ctxprog, 686 if (!ctxprog) 693 nvkm_wr32(device, 0x400328, ctxprog[i]); 696 kfree(ctxprog);
|
nouveau_nvkm_engine_gr_ctxnv50.c | 125 * further known as ctxprog, as well as the initial context values, known 128 * Without ctxprog, you cannot switch contexts. Not even in software, since 137 * Nouveau will just disable acceleration if not given ctxprog + ctxvals, since 138 * it's too much hassle to handle no-ctxprog as a special case. 144 * The ctxprog is written in its own kind of microcode, with very small and 148 * to ctxprog consists of: PGRAPH MMIO registers, PGRAPH context strands, 153 * When ctxprog runs, it's supposed to check what operations are asked of it, 179 /* Main function: construct the ctxprog skeleton, call the other functions. */ 273 u32 *ctxprog = kmalloc(512 * 4, GFP_KERNEL), i; local in function:nv50_grctx_init 277 .ucode = ctxprog, [all...] |