.. | .. |
---|
53 | 53 | nvkm_error(subdev, "ch %d fini: %08x\n", user, |
---|
54 | 54 | nvkm_rd32(device, 0x610490 + (ctrl * 0x10))); |
---|
55 | 55 | } |
---|
| 56 | + |
---|
| 57 | + chan->suspend_put = nvkm_rd32(device, 0x640000 + (ctrl * 0x1000)); |
---|
56 | 58 | } |
---|
57 | 59 | |
---|
58 | 60 | static int |
---|
.. | .. |
---|
68 | 70 | nvkm_wr32(device, 0x610498 + (ctrl * 0x0010), 0x00010000); |
---|
69 | 71 | nvkm_wr32(device, 0x61049c + (ctrl * 0x0010), 0x00000001); |
---|
70 | 72 | nvkm_mask(device, 0x610490 + (ctrl * 0x0010), 0x00000010, 0x00000010); |
---|
71 | | - nvkm_wr32(device, 0x640000 + (ctrl * 0x1000), 0x00000000); |
---|
| 73 | + nvkm_wr32(device, 0x640000 + (ctrl * 0x1000), chan->suspend_put); |
---|
72 | 74 | nvkm_wr32(device, 0x610490 + (ctrl * 0x0010), 0x00000013); |
---|
73 | 75 | |
---|
74 | 76 | /* wait for it to go inactive */ |
---|