diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2011-10-22 10:07:09 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2011-11-01 12:01:52 -0400 |
commit | 9bb7703c5ea62ca1925cbfa0cd776f04de96fcf2 (patch) | |
tree | 1a6a08cc83764e843a941346b139ebec126f260b /drivers/gpu/drm/radeon/evergreen_blit_kms.c | |
parent | 340764465aa4a586ca332e61ae64883e5ad6f183 (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.c | 5 |
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) | |||
174 | static void | 174 | static void |
175 | set_tex_resource(struct radeon_device *rdev, | 175 | set_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); |