diff options
Diffstat (limited to 'nvkm/subdev/pwr/fuc/memx.fuc')
-rw-r--r-- | nvkm/subdev/pwr/fuc/memx.fuc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/nvkm/subdev/pwr/fuc/memx.fuc b/nvkm/subdev/pwr/fuc/memx.fuc index 635539700..bd639fbaa 100644 --- a/nvkm/subdev/pwr/fuc/memx.fuc +++ b/nvkm/subdev/pwr/fuc/memx.fuc @@ -242,13 +242,15 @@ memx_exec: mov b32 $r2 $r11 memx_exec_next: - // fetch the packet header, and locate opcode info + // fetch the packet header ld b32 $r3 D[$r1] add b32 $r1 4 - shr b32 $r4 $r3 16 - mulu $r3 #memx_func_size + extr $r4 $r3 16:31 + extr $r3 $r3 0:15 // execute the opcode handler + sub b32 $r3 1 + mulu $r3 #memx_func_size ld b32 $r5 D[$r3 + #memx_func_head + #memx_func] call $r5 |