[Mesa-dev] [PATCH v2 4/7] nv50: configure the ring buffer for reading back PM counters
Martin Peres
martin.peres at free.fr
Wed Jul 22 13:54:58 PDT 2015
On 01/07/15 01:01, Samuel Pitoiset wrote:
> To write data at the right offset, the kernel has to know some
> parameters of this ring buffer, like the number of domains and the
> maximum number of queries.
>
> Changes since v2:
> - only configure the ring buffer if the notifier BO is allocated
> - only use one BEGIN_NV04()
>
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
> src/gallium/drivers/nouveau/nv50/nv50_screen.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/src/gallium/drivers/nouveau/nv50/nv50_screen.c b/src/gallium/drivers/nouveau/nv50/nv50_screen.c
> index ab95d65..335bff1 100644
> --- a/src/gallium/drivers/nouveau/nv50/nv50_screen.c
> +++ b/src/gallium/drivers/nouveau/nv50/nv50_screen.c
> @@ -442,6 +442,16 @@ nv50_screen_init_hwctx(struct nv50_screen *screen)
> BEGIN_NV04(push, SUBC_SW(NV01_SUBCHAN_OBJECT), 1);
> PUSH_DATA (push, screen->sw->handle);
>
> + if (screen->query) {
> + /* Do not need to configure the ring buffer used to read back
> + * global performance counters when it is not allocated. */
> + BEGIN_NV04(push, SUBC_SW(0x0190), 1);
> + PUSH_DATA (push, screen->query->handle);
> + BEGIN_NV04(push, SUBC_SW(0x0600), 2);
Shouldn't we have the sw method's handle defined in libdrm?
Anyway, patches 3 and 4 are
Reviewed-by: Martin Peres <martin.peres at free.fr>
> + PUSH_DATA (push, NV50_HW_PM_RING_BUFFER_MAX_QUERIES);
> + PUSH_DATA (push, NV50_HW_PM_RING_BUFFER_NUM_DOMAINS);
> + }
> +
> BEGIN_NV04(push, NV50_3D(COND_MODE), 1);
> PUSH_DATA (push, NV50_3D_COND_MODE_ALWAYS);
>
More information about the mesa-dev
mailing list