drm/radeon: allocate page tables on demand v4
authorChristian König <deathsimple@vodafone.de>
Tue, 9 Oct 2012 11:31:17 +0000 (13:31 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 15 Oct 2012 17:21:01 +0000 (13:21 -0400)
commit90a51a329258e3c868f6f4c1fb264ca01c590c57
tree2bfb3fd80201daaa1eda0be376478146e273e526
parent23d4f1f246a98dde1dc485e0be9a647126630347
drm/radeon: allocate page tables on demand v4

Based on Dmitries work, but splitting the code into page
directory and page table handling makes it far more
readable and (hopefully) more reliable.

Allocations of page tables are made from the SA on demand,
that should still work fine since all page tables are of
the same size.

Also using the fact that allocations from the SA are mostly
continuously (except for end of buffer wraps and under very
high memory pressure) to group updates send to the chipset
specific code into larger chunks.

v3: mostly a rewrite of Dmitries previous patch.
v4: fix some typos and coding style

Signed-off-by: Dmitry Cherkasov <Dmitrii.Cherkasov@amd.com>
Signed-off-by: Christian König <deathsimple@vodafone.de>
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/radeon/ni.c
drivers/gpu/drm/radeon/radeon.h
drivers/gpu/drm/radeon/radeon_gart.c