| .. | .. |
|---|
| 21 | 21 | * |
|---|
| 22 | 22 | * Authors: Ben Skeggs |
|---|
| 23 | 23 | */ |
|---|
| 24 | | - |
|---|
| 25 | 24 | #include "nouveau_drv.h" |
|---|
| 26 | 25 | #include "nouveau_dma.h" |
|---|
| 27 | 26 | #include "nouveau_fence.h" |
|---|
| 28 | 27 | |
|---|
| 29 | 28 | #include <nvif/if0004.h> |
|---|
| 29 | +#include <nvif/push006c.h> |
|---|
| 30 | 30 | |
|---|
| 31 | 31 | struct nv04_fence_chan { |
|---|
| 32 | 32 | struct nouveau_fence_chan base; |
|---|
| .. | .. |
|---|
| 39 | 39 | static int |
|---|
| 40 | 40 | nv04_fence_emit(struct nouveau_fence *fence) |
|---|
| 41 | 41 | { |
|---|
| 42 | | - struct nouveau_channel *chan = fence->channel; |
|---|
| 43 | | - int ret = RING_SPACE(chan, 2); |
|---|
| 42 | + struct nvif_push *push = fence->channel->chan.push; |
|---|
| 43 | + int ret = PUSH_WAIT(push, 2); |
|---|
| 44 | 44 | if (ret == 0) { |
|---|
| 45 | | - BEGIN_NV04(chan, NvSubSw, 0x0150, 1); |
|---|
| 46 | | - OUT_RING (chan, fence->base.seqno); |
|---|
| 47 | | - FIRE_RING (chan); |
|---|
| 45 | + PUSH_NVSQ(push, NV_SW, 0x0150, fence->base.seqno); |
|---|
| 46 | + PUSH_KICK(push); |
|---|
| 48 | 47 | } |
|---|
| 49 | 48 | return ret; |
|---|
| 50 | 49 | } |
|---|