| .. | .. |
|---|
| 179 | 179 | nvkm_error(subdev, "core fini: %08x\n", |
|---|
| 180 | 180 | nvkm_rd32(device, 0x610200)); |
|---|
| 181 | 181 | } |
|---|
| 182 | + |
|---|
| 183 | + chan->suspend_put = nvkm_rd32(device, 0x640000); |
|---|
| 182 | 184 | } |
|---|
| 183 | 185 | |
|---|
| 184 | 186 | static int |
|---|
| .. | .. |
|---|
| 198 | 200 | nvkm_wr32(device, 0x610208, 0x00010000); |
|---|
| 199 | 201 | nvkm_wr32(device, 0x61020c, 0x00000000); |
|---|
| 200 | 202 | nvkm_mask(device, 0x610200, 0x00000010, 0x00000010); |
|---|
| 201 | | - nvkm_wr32(device, 0x640000, 0x00000000); |
|---|
| 203 | + nvkm_wr32(device, 0x640000, chan->suspend_put); |
|---|
| 202 | 204 | nvkm_wr32(device, 0x610200, 0x01000013); |
|---|
| 203 | 205 | |
|---|
| 204 | 206 | /* wait for it to go inactive */ |
|---|