Rhys Kidd
2019-Feb-17 22:07 UTC
[Nouveau] [PATCH] gr/gf100-: correctly expose fecs methods for ctxsw start and stop
Allow fecs to potentially set both methods: - 0x38 STOP_CTXSW - 0x39 START_CTXSW At present the code only ever starts context swap, and never pauses it as appears to be the intent of one caller of gf100_gr_fecs_ctrl_ctxs(). Cc: Ben Skeggs <bskeggs at redhat.com> Fixes: 2642e0b5 ("gr/gf100-: expose fecs methods for pausing ctxsw") Signed-off-by: Rhys Kidd <rhyskidd at gmail.com> --- Ben, I wrote this patch against the commit in https://github.com/skeggsb/nouveau/ Whilst I haven't seen 2642e0b5 from your "nouveau-next" repo merged into drm-next yet, if that occurs this patch will also need to be tracked into drm-next in order for the fix to make it into Linux 5.1. Would you like me to write that patch as well? drm/nouveau/nvkm/engine/gr/gf100.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drm/nouveau/nvkm/engine/gr/gf100.c b/drm/nouveau/nvkm/engine/gr/gf100.c index 5beb683a..81a13cf9 100644 --- a/drm/nouveau/nvkm/engine/gr/gf100.c +++ b/drm/nouveau/nvkm/engine/gr/gf100.c @@ -729,7 +729,7 @@ gf100_gr_fecs_ctrl_ctxsw(struct gf100_gr *gr, u32 mthd) nvkm_wr32(device, 0x409804, 0xffffffff); nvkm_wr32(device, 0x409840, 0xffffffff); nvkm_wr32(device, 0x409500, 0xffffffff); - nvkm_wr32(device, 0x409504, 0x00000039); + nvkm_wr32(device, 0x409504, mthd); nvkm_msec(device, 2000, u32 stat = nvkm_rd32(device, 0x409804); if (stat == 0x00000002) -- 2.19.1