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

2015-12-08 Thread Samuel Pitoiset



On 12/08/2015 04:30 PM, Emil Velikov wrote:

On 8 December 2015 at 14:56, Samuel Pitoiset  wrote:

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.


I'm curious how exactly this happens. Afaict there is no reference to
the nvsw object, which ought to be used, wouldn't it ?
Imho if there is something subtle it's worth adding a comment.


Usually, we need to "register" a subchannel using
the NV01_SUBCHAN_OBJECT command, but surprisingly this doesn't seem to 
be needed for this SW subchan. Probably because it's not *really* a 
subchan like 3D, 2D, COMPUTE, M2MF and so on.


I'm not sure if the right way is to use NV01_SUBCHAN_OBJECT like other 
subchans (even if this one won't change anything), or to add a comment.


Ben, any ideas?



-Emil



--
-Samuel
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


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

2015-12-08 Thread Emil Velikov
On 8 December 2015 at 14:56, Samuel Pitoiset  wrote:
> 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.
>
I'm curious how exactly this happens. Afaict there is no reference to
the nvsw object, which ought to be used, wouldn't it ?
Imho if there is something subtle it's worth adding a comment.

-Emil
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


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

2015-12-08 Thread Samuel Pitoiset

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 

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 
---
  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
___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau