Patch "drm/radeon: partially revert "fix VM_CONTEXT*_PAGE_TABLE_END_ADDR handling"" has been added to the 3.14-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
drm/radeon: partially revert "fix VM_CONTEXT*_PAGE_TABLE_END_ADDR handling"
to the 3.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
drm-radeon-partially-revert-fix-vm_context-_page_table_end_addr-handling.patch
and it can be found in the queue-3.14 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
7c0411d2fabc2e2702c9871ffb603e251158b317Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christian=20K=C3=B6nig?= <[email protected]>
Date: Thu, 28 May 2015 15:51:59 +0200
Subject: drm/radeon: partially revert "fix VM_CONTEXT*_PAGE_TABLE_END_ADDR handling"
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From: =?UTF-8?q?Christian=20K=C3=B6nig?= <[email protected]>
commit 7c0411d2fabc2e2702c9871ffb603e251158b317 upstream.
We have that bug for years and some users report side effects when fixing it on older hardware.
So revert it for VM_CONTEXT0_PAGE_TABLE_END_ADDR, but keep it for VM 1-15.
--- drivers/gpu/drm/radeon/cik.c | 2 +- drivers/gpu/drm/radeon/evergreen.c | 2 +- drivers/gpu/drm/radeon/ni.c | 2 +- drivers/gpu/drm/radeon/r600.c | 2 +- drivers/gpu/drm/radeon/rv770.c | 2 +- drivers/gpu/drm/radeon/si.c | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-)
drivers/gpu/drm/radeon/cik.c +1 -1
@@ -5342,7 +5342,7 @@ static int cik_pcie_gart_enable(struct r L2_CACHE_BIGK_FRAGMENT_SIZE(6));/* setup context0 */ WREG32 (VM_CONTEXT0_PAGE_TABLE_START_ADDR , rdev->mc.gtt_start >>12 ); -WREG32 (VM_CONTEXT0_PAGE_TABLE_END_ADDR , (rdev->mc.gtt_end >>12 ) -1 ); +WREG32 (VM_CONTEXT0_PAGE_TABLE_END_ADDR , rdev->mc.gtt_end >>12 );WREG32 (VM_CONTEXT0_PAGE_TABLE_BASE_ADDR , rdev->gart.table_addr >>12 );WREG32 (VM_CONTEXT0_PROTECTION_FAULT_DEFAULT_ADDR , (u32)(rdev->dummy_page.addr >>12 ));
drivers/gpu/drm/radeon/evergreen.c +1 -1
@@ -2474,7 +2474,7 @@ static int evergreen_pcie_gart_enable(stWREG32 (MC_VM_MB_L1_TLB2_CNTL , tmp);WREG32 (MC_VM_MB_L1_TLB3_CNTL , tmp);WREG32 (VM_CONTEXT0_PAGE_TABLE_START_ADDR , rdev->mc.gtt_start >>12 ); -WREG32 (VM_CONTEXT0_PAGE_TABLE_END_ADDR , (rdev->mc.gtt_end >>12 ) -1 ); +WREG32 (VM_CONTEXT0_PAGE_TABLE_END_ADDR , rdev->mc.gtt_end >>12 );WREG32 (VM_CONTEXT0_PAGE_TABLE_BASE_ADDR , rdev->gart.table_addr >>12 );WREG32 (VM_CONTEXT0_CNTL ,ENABLE_CONTEXT |PAGE_TABLE_DEPTH (0 ) |RANGE_PROTECTION_FAULT_ENABLE_DEFAULT );
drivers/gpu/drm/radeon/ni.c +1 -1
@@ -1237,7 +1237,7 @@ static int cayman_pcie_gart_enable(struc L2_CACHE_BIGK_FRAGMENT_SIZE(6));/* setup context0 */ WREG32 (VM_CONTEXT0_PAGE_TABLE_START_ADDR , rdev->mc.gtt_start >>12 ); -WREG32 (VM_CONTEXT0_PAGE_TABLE_END_ADDR , (rdev->mc.gtt_end >>12 ) -1 ); +WREG32 (VM_CONTEXT0_PAGE_TABLE_END_ADDR , rdev->mc.gtt_end >>12 );WREG32 (VM_CONTEXT0_PAGE_TABLE_BASE_ADDR , rdev->gart.table_addr >>12 );WREG32 (VM_CONTEXT0_PROTECTION_FAULT_DEFAULT_ADDR , (u32)(rdev->dummy_page.addr >>12 ));
drivers/gpu/drm/radeon/r600.c +1 -1
@@ -996,7 +996,7 @@ static int r600_pcie_gart_enable(structWREG32 (MC_VM_L1_TLB_MCB_RD_SEM_CNTL , tmp |ENABLE_SEMAPHORE_MODE );WREG32 (MC_VM_L1_TLB_MCB_WR_SEM_CNTL , tmp |ENABLE_SEMAPHORE_MODE );WREG32 (VM_CONTEXT0_PAGE_TABLE_START_ADDR , rdev->mc.gtt_start >>12 ); -WREG32 (VM_CONTEXT0_PAGE_TABLE_END_ADDR , (rdev->mc.gtt_end >>12 ) -1 ); +WREG32 (VM_CONTEXT0_PAGE_TABLE_END_ADDR , rdev->mc.gtt_end >>12 );WREG32 (VM_CONTEXT0_PAGE_TABLE_BASE_ADDR , rdev->gart.table_addr >>12 );WREG32 (VM_CONTEXT0_CNTL ,ENABLE_CONTEXT |PAGE_TABLE_DEPTH (0 ) |RANGE_PROTECTION_FAULT_ENABLE_DEFAULT );
drivers/gpu/drm/radeon/rv770.c +1 -1
@@ -916,7 +916,7 @@ static int rv770_pcie_gart_enable(structWREG32 (MC_VM_MB_L1_TLB2_CNTL , tmp);WREG32 (MC_VM_MB_L1_TLB3_CNTL , tmp);WREG32 (VM_CONTEXT0_PAGE_TABLE_START_ADDR , rdev->mc.gtt_start >>12 ); -WREG32 (VM_CONTEXT0_PAGE_TABLE_END_ADDR , (rdev->mc.gtt_end >>12 ) -1 ); +WREG32 (VM_CONTEXT0_PAGE_TABLE_END_ADDR , rdev->mc.gtt_end >>12 );WREG32 (VM_CONTEXT0_PAGE_TABLE_BASE_ADDR , rdev->gart.table_addr >>12 );WREG32 (VM_CONTEXT0_CNTL ,ENABLE_CONTEXT |PAGE_TABLE_DEPTH (0 ) |RANGE_PROTECTION_FAULT_ENABLE_DEFAULT );
drivers/gpu/drm/radeon/si.c +1 -1
@@ -4069,7 +4069,7 @@ static int si_pcie_gart_enable(struct ra L2_CACHE_BIGK_FRAGMENT_SIZE(0));/* setup context0 */ WREG32 (VM_CONTEXT0_PAGE_TABLE_START_ADDR , rdev->mc.gtt_start >>12 ); -WREG32 (VM_CONTEXT0_PAGE_TABLE_END_ADDR , (rdev->mc.gtt_end >>12 ) -1 ); +WREG32 (VM_CONTEXT0_PAGE_TABLE_END_ADDR , rdev->mc.gtt_end >>12 );WREG32 (VM_CONTEXT0_PAGE_TABLE_BASE_ADDR , rdev->gart.table_addr >>12 );WREG32 (VM_CONTEXT0_PROTECTION_FAULT_DEFAULT_ADDR , (u32)(rdev->dummy_page.addr >>12 ));
Patches currently in stable-queue which might be from [email protected] are
queue-3.14/drm-radeon-partially-revert-fix-vm_context-_page_table_end_addr-handling.patch queue-3.14/drm-radeon-fix-vm_context-_page_table_end_addr-handling.patch