]> git.baikalelectronics.ru Git - kernel.git/commit
drm/radeon: fix VM page table setup on SI
authorAlex Deucher <alexander.deucher@amd.com>
Thu, 28 Jun 2012 21:53:07 +0000 (17:53 -0400)
committerDave Airlie <airlied@redhat.com>
Fri, 29 Jun 2012 14:13:07 +0000 (15:13 +0100)
commitad8f38eb2190a0261d428fb2e42f7f59381d9951
tree3213564dfdc84546c4bc772e9d9865f8bdfefbee
parent28e36b441dd6550ccadc60315d31d1656a4a1558
drm/radeon: fix VM page table setup on SI

Cayman and trinity allow for variable sized VM page
tables, but SI requires that all page tables be the
same size.  The current code assumes variablely sized
VM page tables so SI may end up with part of each page
table overlapping with other memory which could end
up being interpreted by the VM hw as garbage.

Change the code to better accomodate SI.  Allocate enough
space for at least 2 full page tables and always set
last_pfn to max_pfn on SI so each VM is backed by a full
page table.  This limits us to only 2 VMs active at any
given time on SI.  This will be rectified and the code can
be reunified once we move to two level page tables.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/radeon/radeon_gart.c
drivers/gpu/drm/radeon/si.c