diff --git a/drivers/gpu/drm/panfrost/panfrost_gpu.c b/drivers/gpu/drm/panfrost/panfrost_gpu.c
index c138020dd66b638c27b3049077b88ae8b3ffae56..955c55b7a79342011afc62c0a02abb03fb2899c8 100644
--- a/drivers/gpu/drm/panfrost/panfrost_gpu.c
+++ b/drivers/gpu/drm/panfrost/panfrost_gpu.c
@@ -132,13 +132,19 @@ static void panfrost_gpu_init_quirks(struct panfrost_device *pfdev)
 	quirks = gpu_read(pfdev, GPU_L2_MMU_CONFIG);
 
 	/* Limit read & write ID width for AXI */
-	if (panfrost_has_hw_feature(pfdev, HW_FEATURE_3BIT_EXT_RW_L2_MMU_CONFIG))
+	if (0 /* LBEX, TBEX */)
+		quirks &= ~(GENMASK(10, 5) | GENMASK(16, 12));
+	else if (1 /* TTRX, TNAX -- see mali_kbase_l2_mmu_config.c */)
+		quirks &= ~(GENMASK(12, 7) | GENMASK(17, 13));
+	else if (panfrost_has_hw_feature(pfdev, HW_FEATURE_3BIT_EXT_RW_L2_MMU_CONFIG))
 		quirks &= ~(L2_MMU_CONFIG_3BIT_LIMIT_EXTERNAL_READS |
 			    L2_MMU_CONFIG_3BIT_LIMIT_EXTERNAL_WRITES);
 	else
 		quirks &= ~(L2_MMU_CONFIG_LIMIT_EXTERNAL_READS |
 			    L2_MMU_CONFIG_LIMIT_EXTERNAL_WRITES);
 
+	// TODO: if coherency=ACE, allow snoop disparity
+	// see mali_kbase_l2_mmu_config
 	gpu_write(pfdev, GPU_L2_MMU_CONFIG, quirks);
 
 	quirks = 0;