| .. | .. |
|---|
| 182 | 182 | nvkm_error(subdev, "core fini: %08x\n", |
|---|
| 183 | 183 | nvkm_rd32(device, 0x610490)); |
|---|
| 184 | 184 | } |
|---|
| 185 | + |
|---|
| 186 | + chan->suspend_put = nvkm_rd32(device, 0x640000); |
|---|
| 185 | 187 | } |
|---|
| 186 | 188 | |
|---|
| 187 | 189 | static int |
|---|
| .. | .. |
|---|
| 195 | 197 | nvkm_wr32(device, 0x610498, 0x00010000); |
|---|
| 196 | 198 | nvkm_wr32(device, 0x61049c, 0x00000001); |
|---|
| 197 | 199 | nvkm_mask(device, 0x610490, 0x00000010, 0x00000010); |
|---|
| 198 | | - nvkm_wr32(device, 0x640000, 0x00000000); |
|---|
| 200 | + nvkm_wr32(device, 0x640000, chan->suspend_put); |
|---|
| 199 | 201 | nvkm_wr32(device, 0x610490, 0x01000013); |
|---|
| 200 | 202 | |
|---|
| 201 | 203 | /* wait for it to go inactive */ |
|---|