diff options
author | Dave Airlie <airlied@redhat.com> | 2010-10-05 22:38:04 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-10-05 22:57:11 -0400 |
commit | 0c8eb0dc65f5a78b252eeff6c729ba4741390e23 (patch) | |
tree | b3a64b52e9357ca8ea99966d411842659e2a27cf /drivers/gpu/drm/vmwgfx | |
parent | e6b46ee712b92db1cc2449cf4f65bc635366cad4 (diff) | |
parent | d961db75ce86a84f1f04e91ad1014653ed7d9f46 (diff) |
Merge remote branch 'nouveau/for-airlied' of ../drm-nouveau-next into drm-core-next
[airlied - add fix for vmwgfx build]
* 'nouveau/for-airlied' of ../drm-nouveau-next: (93 commits)
drm/ttm: restructure to allow driver to plug in alternate memory manager
drm/ttm: introduce utility function to free an allocated memory node
drm/nouveau: fix thinkos in mem timing table recordlen check
drm/nouveau: parse voltage from perf 0x40 entires
drm/nouveau: don't use the default pll limits in table v2.1 on nv50+ cards
drm/nv50: Fix large 3D performance regression caused by the interchannel sync patches.
drm/nouveau: Synchronize buffer object moves in hardware.
drm/nouveau: Use semaphores to handle inter-channel sync in hardware.
drm/nouveau: Provide a means to have arbitrary work run on fence completion.
drm/nouveau: Minor refactoring/cleanup of the fence code.
drm/nouveau: Add a module option to force card POST.
drm/nv50: prevent (IB_PUT == IB_GET) for occurring unless idle
drm/nv0x-nv4x: Leave the 0x40 bit untouched when changing CRE_LCD.
drm/nv30-nv40: Fix postdivider mask when writing engine/memory PLLs.
drm/nouveau: Fix perf table parsing on BMP v5.25.
drm/nouveau: fix required mode bandwidth calculation for DP
drm/nouveau: fix typo in c2aa91afea5f7e7ae4530fabd37414a79c03328c
drm/nva3: split pm backend out from nv50
drm/nouveau: run perflvl and M table scripts on mem clock change
drm/nouveau: pass perflvl struct to clock_pre()
...
Diffstat (limited to 'drivers/gpu/drm/vmwgfx')
-rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_fb.c | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c b/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c index c4f5114aee7c..1b3bd8c6c67e 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c | |||
@@ -147,6 +147,7 @@ int vmw_init_mem_type(struct ttm_bo_device *bdev, uint32_t type, | |||
147 | break; | 147 | break; |
148 | case TTM_PL_VRAM: | 148 | case TTM_PL_VRAM: |
149 | /* "On-card" video ram */ | 149 | /* "On-card" video ram */ |
150 | man->func = &ttm_bo_manager_func; | ||
150 | man->gpu_offset = 0; | 151 | man->gpu_offset = 0; |
151 | man->flags = TTM_MEMTYPE_FLAG_FIXED | TTM_MEMTYPE_FLAG_MAPPABLE; | 152 | man->flags = TTM_MEMTYPE_FLAG_FIXED | TTM_MEMTYPE_FLAG_MAPPABLE; |
152 | man->available_caching = TTM_PL_MASK_CACHING; | 153 | man->available_caching = TTM_PL_MASK_CACHING; |
@@ -203,7 +204,7 @@ static int vmw_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_mem_reg | |||
203 | /* System memory */ | 204 | /* System memory */ |
204 | return 0; | 205 | return 0; |
205 | case TTM_PL_VRAM: | 206 | case TTM_PL_VRAM: |
206 | mem->bus.offset = mem->mm_node->start << PAGE_SHIFT; | 207 | mem->bus.offset = mem->start << PAGE_SHIFT; |
207 | mem->bus.base = dev_priv->vram_start; | 208 | mem->bus.base = dev_priv->vram_start; |
208 | mem->bus.is_iomem = true; | 209 | mem->bus.is_iomem = true; |
209 | break; | 210 | break; |
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c b/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c index b27a9f2887d2..e7304188a784 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c | |||
@@ -612,6 +612,7 @@ int vmw_dmabuf_to_start_of_vram(struct vmw_private *vmw_priv, | |||
612 | { | 612 | { |
613 | struct ttm_buffer_object *bo = &vmw_bo->base; | 613 | struct ttm_buffer_object *bo = &vmw_bo->base; |
614 | struct ttm_placement ne_placement = vmw_vram_ne_placement; | 614 | struct ttm_placement ne_placement = vmw_vram_ne_placement; |
615 | struct drm_mm_node *mm_node; | ||
615 | int ret = 0; | 616 | int ret = 0; |
616 | 617 | ||
617 | ne_placement.lpfn = bo->num_pages; | 618 | ne_placement.lpfn = bo->num_pages; |
@@ -625,8 +626,9 @@ int vmw_dmabuf_to_start_of_vram(struct vmw_private *vmw_priv, | |||
625 | if (unlikely(ret != 0)) | 626 | if (unlikely(ret != 0)) |
626 | goto err_unlock; | 627 | goto err_unlock; |
627 | 628 | ||
629 | mm_node = bo->mem.mm_node; | ||
628 | if (bo->mem.mem_type == TTM_PL_VRAM && | 630 | if (bo->mem.mem_type == TTM_PL_VRAM && |
629 | bo->mem.mm_node->start < bo->num_pages) | 631 | mm_node->start < bo->num_pages) |
630 | (void) ttm_bo_validate(bo, &vmw_sys_placement, false, | 632 | (void) ttm_bo_validate(bo, &vmw_sys_placement, false, |
631 | false, false); | 633 | false, false); |
632 | 634 | ||