| .. | .. |
|---|
| 94 | 94 | nvkm_error(subdev, "ch %d fini timeout, %08x\n", user, |
|---|
| 95 | 95 | nvkm_rd32(device, 0x610200 + (ctrl * 0x10))); |
|---|
| 96 | 96 | } |
|---|
| 97 | + |
|---|
| 98 | + chan->suspend_put = nvkm_rd32(device, 0x640000 + (ctrl * 0x1000)); |
|---|
| 97 | 99 | } |
|---|
| 98 | 100 | |
|---|
| 99 | 101 | static int |
|---|
| .. | .. |
|---|
| 109 | 111 | nvkm_wr32(device, 0x610208 + (ctrl * 0x0010), 0x00010000); |
|---|
| 110 | 112 | nvkm_wr32(device, 0x61020c + (ctrl * 0x0010), ctrl); |
|---|
| 111 | 113 | nvkm_mask(device, 0x610200 + (ctrl * 0x0010), 0x00000010, 0x00000010); |
|---|
| 112 | | - nvkm_wr32(device, 0x640000 + (ctrl * 0x1000), 0x00000000); |
|---|
| 114 | + nvkm_wr32(device, 0x640000 + (ctrl * 0x1000), chan->suspend_put); |
|---|
| 113 | 115 | nvkm_wr32(device, 0x610200 + (ctrl * 0x0010), 0x00000013); |
|---|
| 114 | 116 | |
|---|
| 115 | 117 | /* wait for it to go inactive */ |
|---|