summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2014-08-10 04:10:25 +1000
committerBen Skeggs <bskeggs@redhat.com>2014-08-10 05:28:05 +1000
commit867920f8c920bcaa5a6fa5ebad4596669b82ba80 (patch)
tree063aebcdfdeba309f3921d9fe2a8463aec64ff7c /drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c
parent6c6ae061b61c1fd0d1823765299bcc009ddc21c8 (diff)
downloadop-kernel-dev-867920f8c920bcaa5a6fa5ebad4596669b82ba80.zip
op-kernel-dev-867920f8c920bcaa5a6fa5ebad4596669b82ba80.tar.gz
drm/nouveau/fifo: implement nvif event source
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c')
-rw-r--r--drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c b/drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c
index ef730b5..d2f0fd3 100644
--- a/drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c
+++ b/drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c
@@ -339,6 +339,7 @@ nve0_fifo_ofuncs = {
.map = _nouveau_fifo_channel_map,
.rd32 = _nouveau_fifo_channel_rd32,
.wr32 = _nouveau_fifo_channel_wr32,
+ .ntfy = _nouveau_fifo_channel_ntfy
};
static struct nouveau_oclass
@@ -871,7 +872,7 @@ nve0_fifo_intr_runlist(struct nve0_fifo_priv *priv)
static void
nve0_fifo_intr_engine(struct nve0_fifo_priv *priv)
{
- nvkm_event_send(&priv->base.uevent, 1, 0, NULL, 0);
+ nouveau_fifo_uevent(&priv->base);
}
static void
@@ -977,21 +978,9 @@ nve0_fifo_uevent_fini(struct nvkm_event *event, int type, int index)
nv_mask(fifo, 0x002140, 0x80000000, 0x00000000);
}
-static int
-nve0_fifo_uevent_ctor(void *data, u32 size, struct nvkm_notify *notify)
-{
- if (size == 0) {
- notify->size = 0;
- notify->types = 1;
- notify->index = 0;
- return 0;
- }
- return -ENOSYS;
-}
-
static const struct nvkm_event_func
nve0_fifo_uevent_func = {
- .ctor = nve0_fifo_uevent_ctor,
+ .ctor = nouveau_fifo_uevent_ctor,
.init = nve0_fifo_uevent_init,
.fini = nve0_fifo_uevent_fini,
};
OpenPOWER on IntegriCloud