···134134 * -EBUSY if timeout exceeded135135 */136136static inline int137137-READ_GET(struct nouveau_channel *chan, uint32_t *prev_get, uint32_t *timeout)137137+READ_GET(struct nouveau_channel *chan, uint64_t *prev_get, int *timeout)138138{139139- uint32_t val;139139+ uint64_t val;140140141141 val = nvchan_rd32(chan, chan->user_get);142142+ if (chan->user_get_hi)143143+ val |= (uint64_t)nvchan_rd32(chan, chan->user_get_hi) << 32;142144143145 /* reset counter as long as GET is still advancing, this is144146 * to avoid misdetecting a GPU lockup if the GPU happens to···220218static int221219nv50_dma_wait(struct nouveau_channel *chan, int slots, int count)222220{223223- uint32_t cnt = 0, prev_get = 0;224224- int ret;221221+ uint64_t prev_get = 0;222222+ int ret, cnt = 0;225223226224 ret = nv50_dma_push_wait(chan, slots + 1);227225 if (unlikely(ret))···263261int264262nouveau_dma_wait(struct nouveau_channel *chan, int slots, int size)265263{266266- uint32_t prev_get = 0, cnt = 0;267267- int get;264264+ uint64_t prev_get = 0;265265+ int cnt = 0, get;268266269267 if (chan->dma.ib_max)270268 return nv50_dma_wait(chan, slots, size);