nvk: Don't emit MME FIFO config on Blackwell+

I can't see this in traces on Blackwell and it causes hangs.

These regs are in the hopper class headers so should be fine there.

Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34910>
This commit is contained in:
Dave Airlie 2025-04-15 07:03:42 +10:00 committed by Marge Bot
parent bd7777aee6
commit 1c77a6f049
3 changed files with 8 additions and 3 deletions

View file

@ -5,6 +5,7 @@
#include "mme_runner.h"
#include "mme_tu104_sim.h"
#include "clcd97.h"
#include "nv_push_clc597.h"
class mme_tu104_sim_test : public ::testing::Test, public mme_hw_runner {
@ -1638,7 +1639,8 @@ TEST_F(mme_tu104_sim_test, dma_read_fifoed)
auto macro = mme_builder_finish_vec(&b);
P_IMMD(p, NVC597, SET_MME_DATA_FIFO_CONFIG, FIFO_SIZE_SIZE_4KB);
if (devinfo->cls_eng3d < BLACKWELL_A)
P_IMMD(p, NVC597, SET_MME_DATA_FIFO_CONFIG, FIFO_SIZE_SIZE_4KB);
for (uint32_t i = 0; i < 64; i++)
data[i] = 1000 + i;

View file

@ -15,6 +15,7 @@
#include "cla1c0.h"
#include "clc0c0.h"
#include "clc5c0.h"
#include "clcdc0.h"
#include "nv_push_cl90c0.h"
#include "nv_push_cl9097.h"
#include "nv_push_cla0c0.h"
@ -514,7 +515,8 @@ nvk_CmdDispatchIndirect(VkCommandBuffer commandBuffer,
struct nv_push *p;
if (nvk_cmd_buffer_compute_cls(cmd) >= TURING_COMPUTE_A) {
p = nvk_cmd_buffer_push(cmd, 14);
P_IMMD(p, NVC597, SET_MME_DATA_FIFO_CONFIG, FIFO_SIZE_SIZE_4KB);
if (nvk_cmd_buffer_compute_cls(cmd) < BLACKWELL_COMPUTE_A)
P_IMMD(p, NVC597, SET_MME_DATA_FIFO_CONFIG, FIFO_SIZE_SIZE_4KB);
P_1INC(p, NV9097, CALL_MME_MACRO(NVK_MME_DISPATCH_INDIRECT));
P_INLINE_DATA(p, dispatch_addr >> 32);
P_INLINE_DATA(p, dispatch_addr);

View file

@ -28,6 +28,7 @@
#include "nv_push_clc197.h"
#include "nv_push_clc397.h"
#include "nv_push_clc597.h"
#include "clcd97.h"
#include "drf.h"
static inline uint16_t
@ -138,7 +139,7 @@ nvk_push_draw_state_init(struct nvk_queue *queue, struct nv_push *p)
free(dw);
}
if (pdev->info.cls_eng3d >= TURING_A)
if (pdev->info.cls_eng3d >= TURING_A && pdev->info.cls_eng3d < BLACKWELL_A)
P_IMMD(p, NVC597, SET_MME_DATA_FIFO_CONFIG, FIFO_SIZE_SIZE_4KB);
/* Enable FP helper invocation memory loads