aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2014-01-08 21:30:43 -0500
committerBen Skeggs <bskeggs@redhat.com>2014-01-22 22:38:44 -0500
commit649ec925ae32eaca304589bafb1cb0fef285bbfe (patch)
treea4026254f5bfa4b74016d9f318c3b24837014d3c
parente1b6b14ad5e955c85bdaa8a375554ec1669eed21 (diff)
drm/nve0/fifo: keep mmu fault interrupts enabled at all times
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r--drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c b/drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c
index c4860e3d522d..3bf5ba8804e9 100644
--- a/drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c
+++ b/drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c
@@ -754,6 +754,21 @@ nve0_fifo_uevent_disable(struct nouveau_event *event, int index)
754} 754}
755 755
756int 756int
757nve0_fifo_fini(struct nouveau_object *object, bool suspend)
758{
759 struct nve0_fifo_priv *priv = (void *)object;
760 int ret;
761
762 ret = nouveau_fifo_fini(&priv->base, suspend);
763 if (ret)
764 return ret;
765
766 /* allow mmu fault interrupts, even when we're not using fifo */
767 nv_mask(priv, 0x002140, 0x10000000, 0x10000000);
768 return 0;
769}
770
771int
757nve0_fifo_init(struct nouveau_object *object) 772nve0_fifo_init(struct nouveau_object *object)
758{ 773{
759 struct nve0_fifo_priv *priv = (void *)object; 774 struct nve0_fifo_priv *priv = (void *)object;
@@ -855,7 +870,7 @@ nve0_fifo_oclass = &(struct nve0_fifo_impl) {
855 .ctor = nve0_fifo_ctor, 870 .ctor = nve0_fifo_ctor,
856 .dtor = nve0_fifo_dtor, 871 .dtor = nve0_fifo_dtor,
857 .init = nve0_fifo_init, 872 .init = nve0_fifo_init,
858 .fini = _nouveau_fifo_fini, 873 .fini = nve0_fifo_fini,
859 }, 874 },
860 .channels = 4096, 875 .channels = 4096,
861}.base; 876}.base;