diff options
author | Jerome Glisse <jglisse@redhat.com> | 2012-01-03 17:37:37 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2012-01-06 09:34:03 +0000 |
commit | dea7e0ac45fd28f90bbc38ff226d36a9f788efbf (patch) | |
tree | 1130a3d51f0f8aa8ab462f1735423e3dc37835b6 /drivers/gpu/drm/radeon/radeon_ttm.c | |
parent | e11d0b87cde80745afe4712a19cd37bca9924a5b (diff) |
ttm: fix agp since ttm tt rework
ttm tt rework modified the way we allocate and populate the
ttm_tt structure, the AGP side was missing some bit to properly
work. Fix those and fix radeon and nouveau AGP support.
Tested on radeon only so far.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_ttm.c')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_ttm.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c index 1882025a9dc..c421e77ace7 100644 --- a/drivers/gpu/drm/radeon/radeon_ttm.c +++ b/drivers/gpu/drm/radeon/radeon_ttm.c @@ -618,6 +618,11 @@ static int radeon_ttm_tt_populate(struct ttm_tt *ttm) return 0; rdev = radeon_get_rdev(ttm->bdev); +#if __OS_HAS_AGP + if (rdev->flags & RADEON_IS_AGP) { + return ttm_agp_tt_populate(ttm); + } +#endif #ifdef CONFIG_SWIOTLB if (swiotlb_nr_tbl()) { @@ -654,6 +659,12 @@ static void radeon_ttm_tt_unpopulate(struct ttm_tt *ttm) unsigned i; rdev = radeon_get_rdev(ttm->bdev); +#if __OS_HAS_AGP + if (rdev->flags & RADEON_IS_AGP) { + ttm_agp_tt_unpopulate(ttm); + return; + } +#endif #ifdef CONFIG_SWIOTLB if (swiotlb_nr_tbl()) { |