Commit 0689aad7 authored by Xia Yang's avatar Xia Yang Committed by Ben Skeggs

drm/nouveau/fifo/gk104: fix chid bit mask

Fix the channel id bit mask in FIFO schedule timeout error handling.

FIFO_ENGINE_STATUS_NEXT_ID is bit 27:16 thus 0x0fff0000.
FIFO_ENGINE_STATUS_ID      is bit 11:0  thus 0x00000fff.
Signed-off-by: default avatarXia Yang <xiay@nvidia.com>
Reviewed-by: default avatarAlexandre Courbot <acourbot@nvidia.com>
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 9d0394c6
...@@ -198,11 +198,11 @@ gk104_fifo_intr_sched_ctxsw(struct gk104_fifo *fifo) ...@@ -198,11 +198,11 @@ gk104_fifo_intr_sched_ctxsw(struct gk104_fifo *fifo)
for (engn = 0; engn < ARRAY_SIZE(fifo->engine); engn++) { for (engn = 0; engn < ARRAY_SIZE(fifo->engine); engn++) {
u32 stat = nvkm_rd32(device, 0x002640 + (engn * 0x08)); u32 stat = nvkm_rd32(device, 0x002640 + (engn * 0x08));
u32 busy = (stat & 0x80000000); u32 busy = (stat & 0x80000000);
u32 next = (stat & 0x07ff0000) >> 16; u32 next = (stat & 0x0fff0000) >> 16;
u32 chsw = (stat & 0x00008000); u32 chsw = (stat & 0x00008000);
u32 save = (stat & 0x00004000); u32 save = (stat & 0x00004000);
u32 load = (stat & 0x00002000); u32 load = (stat & 0x00002000);
u32 prev = (stat & 0x000007ff); u32 prev = (stat & 0x00000fff);
u32 chid = load ? next : prev; u32 chid = load ? next : prev;
(void)save; (void)save;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment