summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/ttm/ttm_bo_manager.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2014-11-13 09:06:41 +1000
committerDave Airlie <airlied@redhat.com>2014-11-13 09:06:41 +1000
commit7fd36c0bae07d8c7fa9668ea6ba28dbcb4f9955b (patch)
treef7266faf8ca3eb44780d942e33a8af81c6ce1046 /drivers/gpu/drm/ttm/ttm_bo_manager.c
parentfcf93f6948c3c29fd414bc00f1f713c501dfd22e (diff)
parentc81b99423bd9d3fc35ac8752ca5fb4c50eab063c (diff)
Merge branch 'drm-next-3.19' of git://people.freedesktop.org/~agd5f/linux into drm-next
Radeon patches for 3.19. Christian has a number of GPUVM improvements slated as well, but I'd like to wait until he gets back to work next week to pull those in. Highlights of this pull: - ttm performance improvements - CI dpm fixes * 'drm-next-3.19' of git://people.freedesktop.org/~agd5f/linux: (26 commits) drm/radeon/si/ci: make u8 static arrays constant drm/radeon: set power control in ci dpm enable drm/radeon: powertune fixes for hawaii drm/radeon: fix dpm mc init for certain hawaii boards drm/radeon: set bootup pcie level to max for ci dpm drm/radeon: fix default dpm state setup drm/radeon: workaround a hw bug in bonaire pcie dpm drm/radeon: fix mclk vddc configuration for cards for hawaii drm/radeon: fix sclk DS enablement drm/radeon: fix activity settings for sclk and mclk for CI drm/radeon: improve mclk param calcuations for ci dpm drm/radeon: fix dram timing for certain hawaii boards drm/radeon: switch force state commands for CI drm/radeon: fix for memory training on bonaire 0x6649 drm/radeon/ci: handle gpio controlled dpm features properly drm/radeon: store the gpio shift as well drm/radeon: export radeon_atombios_lookup_gpio drm/radeon: fix typo in CI dpm disable drm/radeon: rework CI dpm thermal setup drm/radeon: rework SI dpm thermal setup ...
Diffstat (limited to 'drivers/gpu/drm/ttm/ttm_bo_manager.c')
-rw-r--r--drivers/gpu/drm/ttm/ttm_bo_manager.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_bo_manager.c b/drivers/gpu/drm/ttm/ttm_bo_manager.c
index 964387fc5c8..aa0bd054d3e 100644
--- a/drivers/gpu/drm/ttm/ttm_bo_manager.c
+++ b/drivers/gpu/drm/ttm/ttm_bo_manager.c
@@ -55,6 +55,7 @@ static int ttm_bo_man_get_node(struct ttm_mem_type_manager *man,
struct ttm_range_manager *rman = (struct ttm_range_manager *) man->priv;
struct drm_mm *mm = &rman->mm;
struct drm_mm_node *node = NULL;
+ enum drm_mm_search_flags sflags = DRM_MM_SEARCH_BEST;
enum drm_mm_allocator_flags aflags = DRM_MM_CREATE_DEFAULT;
unsigned long lpfn;
int ret;
@@ -67,15 +68,16 @@ static int ttm_bo_man_get_node(struct ttm_mem_type_manager *man,
if (!node)
return -ENOMEM;
- if (place->flags & TTM_PL_FLAG_TOPDOWN)
+ if (place->flags & TTM_PL_FLAG_TOPDOWN) {
+ sflags = DRM_MM_SEARCH_BELOW;
aflags = DRM_MM_CREATE_TOP;
+ }
spin_lock(&rman->lock);
ret = drm_mm_insert_node_in_range_generic(mm, node, mem->num_pages,
mem->page_alignment, 0,
place->fpfn, lpfn,
- DRM_MM_SEARCH_BEST,
- aflags);
+ sflags, aflags);
spin_unlock(&rman->lock);
if (unlikely(ret)) {