kernel-5.15/0628-drm-panfrost-Trim-affinity-for-Mali-T620.patch
Mikhail Novosyolov 588bd7cdd3 Add patches of panfrost driver for Baikal
Found information about them by vising commits to Mesa.git here:
https://github.com/asheplyakov/panfrost-baikalm-howto

+ viewe git log v5.4.10..45..[alt's tag] of kernel
2021-06-23 19:21:23 +03:00

27 lines
1 KiB
Diff

From 5192df6d13aa5ad12c5ade843a598b428760d9c0 Mon Sep 17 00:00:00 2001
From: "Vadim V. Vlasov" <vvv19xx@gmail.com>
Date: Fri, 11 Dec 2020 16:55:06 +0300
Subject: [PATCH] drm/panfrost: Trim affinity for Mali T620
libmali uses 0xf affinity instead of 0xff for jobs in slot 1.
Looks like this resolves problem with cache incoherency.
---
drivers/gpu/drm/panfrost/panfrost_job.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/panfrost/panfrost_job.c b/drivers/gpu/drm/panfrost/panfrost_job.c
index 04e6f6f9b742..28a1a8f50fad 100644
--- a/drivers/gpu/drm/panfrost/panfrost_job.c
+++ b/drivers/gpu/drm/panfrost/panfrost_job.c
@@ -143,6 +143,8 @@ static void panfrost_job_write_affinity(struct panfrost_device *pfdev,
* multiple (2) coherent core groups
*/
affinity = pfdev->features.shader_present;
+ if (panfrost_model_eq(pfdev, 0x620) && js == 1)
+ affinity &= 0xf;
job_write(pfdev, JS_AFFINITY_NEXT_LO(js), affinity & 0xFFFFFFFF);
job_write(pfdev, JS_AFFINITY_NEXT_HI(js), affinity >> 32);
--
2.31.1