diff options
| -rw-r--r-- | drivers/gpu/drm/nouveau/core/engine/fifo/base.c | 7 | ||||
| -rw-r--r-- | drivers/gpu/drm/nouveau/core/include/engine/fifo.h | 3 |
2 files changed, 9 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/core/engine/fifo/base.c b/drivers/gpu/drm/nouveau/core/engine/fifo/base.c index 7341ebe131fa..d3ec436d9cb5 100644 --- a/drivers/gpu/drm/nouveau/core/engine/fifo/base.c +++ b/drivers/gpu/drm/nouveau/core/engine/fifo/base.c | |||
| @@ -91,6 +91,8 @@ nouveau_fifo_channel_create_(struct nouveau_object *parent, | |||
| 91 | if (!chan->user) | 91 | if (!chan->user) |
| 92 | return -EFAULT; | 92 | return -EFAULT; |
| 93 | 93 | ||
| 94 | nouveau_event_trigger(priv->cevent, 0); | ||
| 95 | |||
| 94 | chan->size = size; | 96 | chan->size = size; |
| 95 | return 0; | 97 | return 0; |
| 96 | } | 98 | } |
| @@ -167,6 +169,7 @@ nouveau_fifo_destroy(struct nouveau_fifo *priv) | |||
| 167 | { | 169 | { |
| 168 | kfree(priv->channel); | 170 | kfree(priv->channel); |
| 169 | nouveau_event_destroy(&priv->uevent); | 171 | nouveau_event_destroy(&priv->uevent); |
| 172 | nouveau_event_destroy(&priv->cevent); | ||
| 170 | nouveau_engine_destroy(&priv->base); | 173 | nouveau_engine_destroy(&priv->base); |
| 171 | } | 174 | } |
| 172 | 175 | ||
| @@ -191,6 +194,10 @@ nouveau_fifo_create_(struct nouveau_object *parent, | |||
| 191 | if (!priv->channel) | 194 | if (!priv->channel) |
| 192 | return -ENOMEM; | 195 | return -ENOMEM; |
| 193 | 196 | ||
| 197 | ret = nouveau_event_create(1, &priv->cevent); | ||
| 198 | if (ret) | ||
| 199 | return ret; | ||
| 200 | |||
| 194 | ret = nouveau_event_create(1, &priv->uevent); | 201 | ret = nouveau_event_create(1, &priv->uevent); |
| 195 | if (ret) | 202 | if (ret) |
| 196 | return ret; | 203 | return ret; |
diff --git a/drivers/gpu/drm/nouveau/core/include/engine/fifo.h b/drivers/gpu/drm/nouveau/core/include/engine/fifo.h index b46c197709f3..633c2f806482 100644 --- a/drivers/gpu/drm/nouveau/core/include/engine/fifo.h +++ b/drivers/gpu/drm/nouveau/core/include/engine/fifo.h | |||
| @@ -65,7 +65,8 @@ struct nouveau_fifo_base { | |||
| 65 | struct nouveau_fifo { | 65 | struct nouveau_fifo { |
| 66 | struct nouveau_engine base; | 66 | struct nouveau_engine base; |
| 67 | 67 | ||
| 68 | struct nouveau_event *uevent; | 68 | struct nouveau_event *cevent; /* channel creation event */ |
| 69 | struct nouveau_event *uevent; /* async user trigger */ | ||
| 69 | 70 | ||
| 70 | struct nouveau_object **channel; | 71 | struct nouveau_object **channel; |
| 71 | spinlock_t lock; | 72 | spinlock_t lock; |
