[Nouveau] [PATCH 3/6] drm/nv50: delete ramfc object after disabling fifo, not before

Maarten Maathuis madman2003 at gmail.com
Tue Feb 2 13:37:14 PST 2010


I intend to push patch 1-3 tomorrow if there are no objections.

Acks are appreciated as usual.

On Tue, Feb 2, 2010 at 10:36 PM, Maarten Maathuis <madman2003 at gmail.com> wrote:
> - ramfc is zero'ed upon destruction, so it's safer to do things in the right
> order.
>
> Signed-off-by: Maarten Maathuis <madman2003 at gmail.com>
> ---
>  drivers/gpu/drm/nouveau/nv50_fifo.c |    9 ++++++---
>  1 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/nouveau/nv50_fifo.c b/drivers/gpu/drm/nouveau/nv50_fifo.c
> index 32b244b..204a79f 100644
> --- a/drivers/gpu/drm/nouveau/nv50_fifo.c
> +++ b/drivers/gpu/drm/nouveau/nv50_fifo.c
> @@ -317,17 +317,20 @@ void
>  nv50_fifo_destroy_context(struct nouveau_channel *chan)
>  {
>        struct drm_device *dev = chan->dev;
> +       struct nouveau_gpuobj_ref *ramfc = chan->ramfc;
>
>        NV_DEBUG(dev, "ch%d\n", chan->id);
>
> -       nouveau_gpuobj_ref_del(dev, &chan->ramfc);
> -       nouveau_gpuobj_ref_del(dev, &chan->cache);
> -
> +       /* This will ensure the channel is seen as disabled. */
> +       chan->ramfc = NULL;
>        nv50_fifo_channel_disable(dev, chan->id, false);
>
>        /* Dummy channel, also used on ch 127 */
>        if (chan->id == 0)
>                nv50_fifo_channel_disable(dev, 127, false);
> +
> +       nouveau_gpuobj_ref_del(dev, &ramfc);
> +       nouveau_gpuobj_ref_del(dev, &chan->cache);
>  }
>
>  int
> --
> 1.6.6.1
>
>


More information about the Nouveau mailing list