From 3d59d006bd1bebb0ce1c05d629700f5b6ddd524e Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Fri, 26 Apr 2013 11:44:26 +1000 Subject: [PATCH] --- yaml --- r: 371607 b: refs/heads/master c: 893e90c554c1ef85684b335655a5030d38a4a1b0 h: refs/heads/master i: 371605: 216d9cbd14ad6b2dfdbfcf98843ae6519b1d759f 371603: d6bae2a10e39031f3eb71d11c2a4d2090a42e70f 371599: a6df0ed05980f7fff866707fd86e19c33c5b7aee v: v3 --- [refs] | 2 +- trunk/drivers/gpu/drm/nouveau/core/engine/fifo/base.c | 7 +++++++ trunk/drivers/gpu/drm/nouveau/core/include/engine/fifo.h | 3 ++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index f668e05ccd7b..51fc7ea1e7f5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 10eeaf123dd55cd2c1d2d23366d211dafbe71bde +refs/heads/master: 893e90c554c1ef85684b335655a5030d38a4a1b0 diff --git a/trunk/drivers/gpu/drm/nouveau/core/engine/fifo/base.c b/trunk/drivers/gpu/drm/nouveau/core/engine/fifo/base.c index 7341ebe131fa..d3ec436d9cb5 100644 --- a/trunk/drivers/gpu/drm/nouveau/core/engine/fifo/base.c +++ b/trunk/drivers/gpu/drm/nouveau/core/engine/fifo/base.c @@ -91,6 +91,8 @@ nouveau_fifo_channel_create_(struct nouveau_object *parent, if (!chan->user) return -EFAULT; + nouveau_event_trigger(priv->cevent, 0); + chan->size = size; return 0; } @@ -167,6 +169,7 @@ nouveau_fifo_destroy(struct nouveau_fifo *priv) { kfree(priv->channel); nouveau_event_destroy(&priv->uevent); + nouveau_event_destroy(&priv->cevent); nouveau_engine_destroy(&priv->base); } @@ -191,6 +194,10 @@ nouveau_fifo_create_(struct nouveau_object *parent, if (!priv->channel) return -ENOMEM; + ret = nouveau_event_create(1, &priv->cevent); + if (ret) + return ret; + ret = nouveau_event_create(1, &priv->uevent); if (ret) return ret; diff --git a/trunk/drivers/gpu/drm/nouveau/core/include/engine/fifo.h b/trunk/drivers/gpu/drm/nouveau/core/include/engine/fifo.h index b46c197709f3..633c2f806482 100644 --- a/trunk/drivers/gpu/drm/nouveau/core/include/engine/fifo.h +++ b/trunk/drivers/gpu/drm/nouveau/core/include/engine/fifo.h @@ -65,7 +65,8 @@ struct nouveau_fifo_base { struct nouveau_fifo { struct nouveau_engine base; - struct nouveau_event *uevent; + struct nouveau_event *cevent; /* channel creation event */ + struct nouveau_event *uevent; /* async user trigger */ struct nouveau_object **channel; spinlock_t lock;