Explorar o código

drm/radeon/kms: fix rs600 tlb flush

Typo in in flush leaded to no flush of the RS600 tlb which
ultimately leaded to massive system ram corruption, with
this patch everythings seems to work properly.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Jerome Glisse %!s(int64=15) %!d(string=hai) anos
pai
achega
30f69f3fb2
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      drivers/gpu/drm/radeon/rs600.c

+ 1 - 1
drivers/gpu/drm/radeon/rs600.c

@@ -159,7 +159,7 @@ void rs600_gart_tlb_flush(struct radeon_device *rdev)
 	WREG32_MC(R_000100_MC_PT0_CNTL, tmp);
 	WREG32_MC(R_000100_MC_PT0_CNTL, tmp);
 
 
 	tmp = RREG32_MC(R_000100_MC_PT0_CNTL);
 	tmp = RREG32_MC(R_000100_MC_PT0_CNTL);
-	tmp |= S_000100_INVALIDATE_ALL_L1_TLBS(1) & S_000100_INVALIDATE_L2_CACHE(1);
+	tmp |= S_000100_INVALIDATE_ALL_L1_TLBS(1) | S_000100_INVALIDATE_L2_CACHE(1);
 	WREG32_MC(R_000100_MC_PT0_CNTL, tmp);
 	WREG32_MC(R_000100_MC_PT0_CNTL, tmp);
 
 
 	tmp = RREG32_MC(R_000100_MC_PT0_CNTL);
 	tmp = RREG32_MC(R_000100_MC_PT0_CNTL);