diff options
| author | Eric Anholt <eric@anholt.net> | 2018-12-03 17:24:37 -0500 |
|---|---|---|
| committer | Eric Anholt <eric@anholt.net> | 2018-12-07 13:56:36 -0500 |
| commit | 7b9d2fe4350a9c12f66ad8cc78c1098226f6c3c2 (patch) | |
| tree | 27c1e9108d97cf99e3d3771566392c7767b96f9d /drivers/gpu/drm | |
| parent | 51c1b6f9eb3dbdec91b0e3c89f623e634c996bbb (diff) | |
drm/v3d: Stop trying to flush L2C on V3D 3.3+
This cache was replaced with the slice accessing the L2T in the newer
generations. Noted by Dave during review.
Signed-off-by: Eric Anholt <eric@anholt.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20181203222438.25417-5-eric@anholt.net
Reviewed-by: Dave Emett <david.emett@broadcom.com>
Diffstat (limited to 'drivers/gpu/drm')
| -rw-r--r-- | drivers/gpu/drm/v3d/v3d_gem.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/gpu/drm/v3d/v3d_gem.c b/drivers/gpu/drm/v3d/v3d_gem.c index 2b378de23fbd..06525ea9ec50 100644 --- a/drivers/gpu/drm/v3d/v3d_gem.c +++ b/drivers/gpu/drm/v3d/v3d_gem.c | |||
| @@ -130,10 +130,15 @@ v3d_flush_l3(struct v3d_dev *v3d) | |||
| 130 | } | 130 | } |
| 131 | } | 131 | } |
| 132 | 132 | ||
| 133 | /* Invalidates the (read-only) L2 cache. */ | 133 | /* Invalidates the (read-only) L2C cache. This was the L2 cache for |
| 134 | * uniforms and instructions on V3D 3.2. | ||
| 135 | */ | ||
| 134 | static void | 136 | static void |
| 135 | v3d_invalidate_l2(struct v3d_dev *v3d, int core) | 137 | v3d_invalidate_l2c(struct v3d_dev *v3d, int core) |
| 136 | { | 138 | { |
| 139 | if (v3d->ver > 32) | ||
| 140 | return; | ||
| 141 | |||
| 137 | V3D_CORE_WRITE(core, V3D_CTL_L2CACTL, | 142 | V3D_CORE_WRITE(core, V3D_CTL_L2CACTL, |
| 138 | V3D_L2CACTL_L2CCLR | | 143 | V3D_L2CACTL_L2CCLR | |
| 139 | V3D_L2CACTL_L2CENA); | 144 | V3D_L2CACTL_L2CENA); |
| @@ -168,7 +173,7 @@ v3d_invalidate_caches(struct v3d_dev *v3d) | |||
| 168 | { | 173 | { |
| 169 | v3d_flush_l3(v3d); | 174 | v3d_flush_l3(v3d); |
| 170 | 175 | ||
| 171 | v3d_invalidate_l2(v3d, 0); | 176 | v3d_invalidate_l2c(v3d, 0); |
| 172 | v3d_invalidate_slices(v3d, 0); | 177 | v3d_invalidate_slices(v3d, 0); |
| 173 | v3d_flush_l2t(v3d, 0); | 178 | v3d_flush_l2t(v3d, 0); |
| 174 | } | 179 | } |
