[Nouveau] [mesa v2 8/9] nvc0: remove allocation of unused sw class

Samuel Pitoiset samuel.pitoiset at gmail.com
Tue Dec 8 06:56:16 PST 2015


NACK.

This patches breaks MP performance counters on Fermi/Kepler because they 
actually use software methods to configure multiplexers. Global perf 
counters will also use software methods to init, sample and read 
hardware counters, so this SW object is definitely needed.

Instead of removing it, we need to do something like that:

http://paste.awesom.eu/EQeX

Thanks.

On 11/27/2015 02:05 AM, Ben Skeggs wrote:
> From: Ben Skeggs <bskeggs at redhat.com>
>
> This would need to be fixed before NVIF can be switched on, but since we
> don't use it anyway, just remove it.
>
> Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
> ---
>   src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 8 --------
>   src/gallium/drivers/nouveau/nvc0/nvc0_screen.h | 1 -
>   2 files changed, 9 deletions(-)
>
> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
> index 4897ebe..11cb74a 100644
> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
> @@ -447,7 +447,6 @@ nvc0_screen_destroy(struct pipe_screen *pscreen)
>      nouveau_object_del(&screen->eng2d);
>      nouveau_object_del(&screen->m2mf);
>      nouveau_object_del(&screen->compute);
> -   nouveau_object_del(&screen->nvsw);
>
>      nouveau_screen_fini(&screen->base);
>
> @@ -698,13 +697,6 @@ nvc0_screen_create(struct nouveau_device *dev)
>      screen->base.fence.update = nvc0_screen_fence_update;
>
>
> -   ret = nouveau_object_new(chan,
> -                            (dev->chipset < 0xe0) ? 0x1f906e : 0x906e, 0x906e,
> -                            NULL, 0, &screen->nvsw);
> -   if (ret)
> -      FAIL_SCREEN_INIT("Error creating SW object: %d\n", ret);
> -
> -
>      switch (dev->chipset & ~0xf) {
>      case 0x110:
>      case 0x100:
> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.h b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.h
> index 8b73102..caf34aa 100644
> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.h
> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.h
> @@ -105,7 +105,6 @@ struct nvc0_screen {
>      struct nouveau_object *eng2d;
>      struct nouveau_object *m2mf;
>      struct nouveau_object *compute;
> -   struct nouveau_object *nvsw;
>   };
>
>   static inline struct nvc0_screen *
>

-- 
-Samuel


More information about the Nouveau mailing list