.. | .. |
---|
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 */ |
---|