aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/evergreen_blit_kms.c
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2011-10-22 10:07:09 -0400
committerDave Airlie <airlied@redhat.com>2011-11-01 12:01:52 -0400
commit9bb7703c5ea62ca1925cbfa0cd776f04de96fcf2 (patch)
tree1a6a08cc83764e843a941346b139ebec126f260b /drivers/gpu/drm/radeon/evergreen_blit_kms.c
parent340764465aa4a586ca332e61ae64883e5ad6f183 (diff)
drm/radeon/kms: rework texture cache flush in r6xx+ blit code
Move the TC flush before the texture setup to match mesa and the ddx. Also, move the TC flush into the texture setup function. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/evergreen_blit_kms.c')
-rw-r--r--drivers/gpu/drm/radeon/evergreen_blit_kms.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/evergreen_blit_kms.c b/drivers/gpu/drm/radeon/evergreen_blit_kms.c
index dcf11bbc06d9..879f7335029e 100644
--- a/drivers/gpu/drm/radeon/evergreen_blit_kms.c
+++ b/drivers/gpu/drm/radeon/evergreen_blit_kms.c
@@ -174,7 +174,7 @@ set_vtx_resource(struct radeon_device *rdev, u64 gpu_addr)
174static void 174static void
175set_tex_resource(struct radeon_device *rdev, 175set_tex_resource(struct radeon_device *rdev,
176 int format, int w, int h, int pitch, 176 int format, int w, int h, int pitch,
177 u64 gpu_addr) 177 u64 gpu_addr, u32 size)
178{ 178{
179 u32 sq_tex_resource_word0, sq_tex_resource_word1; 179 u32 sq_tex_resource_word0, sq_tex_resource_word1;
180 u32 sq_tex_resource_word4, sq_tex_resource_word7; 180 u32 sq_tex_resource_word4, sq_tex_resource_word7;
@@ -196,6 +196,9 @@ set_tex_resource(struct radeon_device *rdev,
196 sq_tex_resource_word7 = format | 196 sq_tex_resource_word7 = format |
197 S__SQ_CONSTANT_TYPE(SQ_TEX_VTX_VALID_TEXTURE); 197 S__SQ_CONSTANT_TYPE(SQ_TEX_VTX_VALID_TEXTURE);
198 198
199 cp_set_surface_sync(rdev,
200 PACKET3_TC_ACTION_ENA, size, gpu_addr);
201
199 radeon_ring_write(rdev, PACKET3(PACKET3_SET_RESOURCE, 8)); 202 radeon_ring_write(rdev, PACKET3(PACKET3_SET_RESOURCE, 8));
200 radeon_ring_write(rdev, 0); 203 radeon_ring_write(rdev, 0);
201 radeon_ring_write(rdev, sq_tex_resource_word0); 204 radeon_ring_write(rdev, sq_tex_resource_word0);