[Nouveau] [RFC PATCH 4/8] nv50: configure the ring buffer for reading back PM counters

Samuel Pitoiset samuel.pitoiset at gmail.com
Sun Jun 28 00:45:36 PDT 2015



On 06/26/2015 01:04 AM, Ilia Mirkin wrote:
> Yeah, this whole thing has to be guarded by a drm version check,
> otherwise it'll end up with errors in dmesg I assume. Perhaps only
> allocate screen->query when the drm version matches, and gate things
> on that for the rest of the code?

Yes, this sounds good to me.

>
> On Mon, Jun 22, 2015 at 4:53 PM, Samuel Pitoiset
> <samuel.pitoiset at gmail.com> 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.
>>
>> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
>> ---
>>   src/gallium/drivers/nouveau/nv50/nv50_screen.c | 7 +++++++
>>   1 file changed, 7 insertions(+)
>>
>> diff --git a/src/gallium/drivers/nouveau/nv50/nv50_screen.c b/src/gallium/drivers/nouveau/nv50/nv50_screen.c
>> index 3a99cc8..53817c0 100644
>> --- a/src/gallium/drivers/nouveau/nv50/nv50_screen.c
>> +++ b/src/gallium/drivers/nouveau/nv50/nv50_screen.c
>> @@ -441,6 +441,13 @@ nv50_screen_init_hwctx(struct nv50_screen *screen)
>>
>>      BEGIN_NV04(push, SUBC_SW(NV01_SUBCHAN_OBJECT), 1);
>>      PUSH_DATA (push, screen->sw->handle);
>> +   BEGIN_NV04(push, SUBC_SW(0x0190), 1);
>> +   PUSH_DATA (push, screen->query->handle);
>> +   // XXX: Maybe add a check for DRM version here ?
>> +   BEGIN_NV04(push, SUBC_SW(0x0600), 1);
>> +   PUSH_DATA (push, NV50_HW_PM_RING_BUFFER_MAX_QUERIES);
>> +   BEGIN_NV04(push, SUBC_SW(0x0604), 1);
>> +   PUSH_DATA (push, NV50_HW_PM_RING_BUFFER_NUM_DOMAINS);
> FYI you can do BEGIN_NV04(..., 2), since they're sequential.

I'm going to make the change.

>
>>      BEGIN_NV04(push, NV50_3D(COND_MODE), 1);
>>      PUSH_DATA (push, NV50_3D_COND_MODE_ALWAYS);
>> --
>> 2.4.4
>>
>> _______________________________________________
>> Nouveau mailing list
>> Nouveau at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/nouveau



More information about the Nouveau mailing list