mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 17:18:59 +00:00
7d7aa2fd92
This change makes the names of Broadcom targets consistent by using the common notation based on SoC/CPU ID (which is used internally anyway), bcmXXXX instead of brcmXXXX. This is even used for target TITLE in make menuconfig already, only the short target name used brcm so far. Despite, since subtargets range from bcm2708 to bcm2711, it seems appropriate to use bcm27xx instead of bcm2708 (again, as already done for BOARDNAME). This also renames the packages brcm2708-userland and brcm2708-gpu-fw. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Álvaro Fernández Rojas <noltari@gmail.com>
42 lines
1.7 KiB
Diff
42 lines
1.7 KiB
Diff
From 9d8fa62500ae52348d36766e70b49c7508addaf3 Mon Sep 17 00:00:00 2001
|
|
From: Eric Anholt <eric@anholt.net>
|
|
Date: Mon, 3 Dec 2018 14:24:36 -0800
|
|
Subject: [PATCH] drm/v3d: Drop the wait for L2T flush to complete.
|
|
|
|
According to Dave, once you've started an L2T flush, all L2T accesses
|
|
will be blocked until the flush completes. This fixes a consistent
|
|
3-4ms stall between the ioctl and running the job, and 3DMMES Taiji
|
|
goes from 27fps to 110fps.
|
|
|
|
v2: Leave a note about why we don't need to wait for completion.
|
|
|
|
Signed-off-by: Eric Anholt <eric@anholt.net>
|
|
Fixes: 57692c94dcbe ("drm/v3d: Introduce a new DRM driver for Broadcom V3D V3.x+")
|
|
Reviewed-by: Dave Emett <david.emett@broadcom.com>
|
|
Link: https://patchwork.freedesktop.org/patch/msgid/20181203222438.25417-4-eric@anholt.net
|
|
(cherry picked from commit 51c1b6f9eb3dbdec91b0e3c89f623e634c996bbb)
|
|
---
|
|
drivers/gpu/drm/v3d/v3d_gem.c | 8 ++++----
|
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
|
|
--- a/drivers/gpu/drm/v3d/v3d_gem.c
|
|
+++ b/drivers/gpu/drm/v3d/v3d_gem.c
|
|
@@ -143,13 +143,13 @@ v3d_invalidate_l2(struct v3d_dev *v3d, i
|
|
static void
|
|
v3d_flush_l2t(struct v3d_dev *v3d, int core)
|
|
{
|
|
+ /* While there is a busy bit (V3D_L2TCACTL_L2TFLS), we don't
|
|
+ * need to wait for completion before dispatching the job --
|
|
+ * L2T accesses will be stalled until the flush has completed.
|
|
+ */
|
|
V3D_CORE_WRITE(core, V3D_CTL_L2TCACTL,
|
|
V3D_L2TCACTL_L2TFLS |
|
|
V3D_SET_FIELD(V3D_L2TCACTL_FLM_FLUSH, V3D_L2TCACTL_FLM));
|
|
- if (wait_for(!(V3D_CORE_READ(core, V3D_CTL_L2TCACTL) &
|
|
- V3D_L2TCACTL_L2TFLS), 100)) {
|
|
- DRM_ERROR("Timeout waiting for L2T flush\n");
|
|
- }
|
|
}
|
|
|
|
/* Invalidates the slice caches. These are read-only caches. */
|