From 956556b3c30ce3d38d0af795f9383df3bc2cf8a2 Mon Sep 17 00:00:00 2001 From: Ilia Mirkin Date: Mon, 13 Feb 2017 11:14:51 -0500 Subject: nvc0: disable linked tsc mode in compute launch descriptor Empirically, this makes things work. Presumably this was originally copied from the blob, which does make use of linked tsc mode. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99532 Signed-off-by: Ilia Mirkin Reviewed-by: Samuel Pitoiset Cc: mesa-stable@lists.freedesktop.org --- src/gallium/drivers/nouveau/nvc0/nve4_compute.c | 1 + src/gallium/drivers/nouveau/nvc0/nve4_compute.h | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/nouveau/nvc0/nve4_compute.c b/src/gallium/drivers/nouveau/nvc0/nve4_compute.c index d661c000b32..15b4750d3ad 100644 --- a/src/gallium/drivers/nouveau/nvc0/nve4_compute.c +++ b/src/gallium/drivers/nouveau/nvc0/nve4_compute.c @@ -816,6 +816,7 @@ nve4_compute_dump_launch_desc(const struct nve4_cp_launch_desc *desc) debug_printf("barrier count: %u\n", desc->bar_alloc); debug_printf("$r count: %u\n", desc->gpr_alloc); debug_printf("cache split: %s\n", nve4_cache_split_name(desc->cache_split)); + debug_printf("linked tsc: %d\n", desc->linked_tsc); for (i = 0; i < 8; ++i) { uint64_t address; diff --git a/src/gallium/drivers/nouveau/nvc0/nve4_compute.h b/src/gallium/drivers/nouveau/nvc0/nve4_compute.h index b98c65d4a09..5fe58b96718 100644 --- a/src/gallium/drivers/nouveau/nvc0/nve4_compute.h +++ b/src/gallium/drivers/nouveau/nvc0/nve4_compute.h @@ -8,7 +8,10 @@ struct nve4_cp_launch_desc { u32 unk0[8]; u32 entry; - u32 unk9[3]; + u32 unk9[2]; + u32 unk11_0 : 30; + u32 linked_tsc : 1; + u32 unk11_31 : 1; u32 griddim_x : 31; u32 unk12 : 1; u16 griddim_y; @@ -48,7 +51,7 @@ nve4_cp_launch_desc_init_default(struct nve4_cp_launch_desc *desc) memset(desc, 0, sizeof(*desc)); desc->unk0[7] = 0xbc000000; - desc->unk9[2] = 0x44014000; + desc->unk11_0 = 0x04014000; desc->unk47_20 = 0x300; } -- cgit v1.2.3