Merge tag 'mac80211-next-for-john-2014-11-04' of git://git.kernel.org/pub/scm/linux...
[firefly-linux-kernel-4.4.55.git] / drivers / gpu / drm / vmwgfx / vmwgfx_dmabuf.c
index ed1d51006ab1e3054dc8cab075db1b776d204cc7..914b375763dcaf753da1763bba14b1718f37fa9b 100644 (file)
@@ -198,13 +198,19 @@ int vmw_dmabuf_to_start_of_vram(struct vmw_private *dev_priv,
 {
        struct ttm_buffer_object *bo = &buf->base;
        struct ttm_placement placement;
+       struct ttm_place place;
        int ret = 0;
 
        if (pin)
-               placement = vmw_vram_ne_placement;
+               place = vmw_vram_ne_placement.placement[0];
        else
-               placement = vmw_vram_placement;
-       placement.lpfn = bo->num_pages;
+               place = vmw_vram_placement.placement[0];
+       place.lpfn = bo->num_pages;
+
+       placement.num_placement = 1;
+       placement.placement = &place;
+       placement.num_busy_placement = 1;
+       placement.busy_placement = &place;
 
        ret = ttm_write_lock(&dev_priv->reservation_sem, interruptible);
        if (unlikely(ret != 0))
@@ -293,21 +299,23 @@ void vmw_bo_get_guest_ptr(const struct ttm_buffer_object *bo,
  */
 void vmw_bo_pin(struct ttm_buffer_object *bo, bool pin)
 {
-       uint32_t pl_flags;
+       struct ttm_place pl;
        struct ttm_placement placement;
        uint32_t old_mem_type = bo->mem.mem_type;
        int ret;
 
        lockdep_assert_held(&bo->resv->lock.base);
 
-       pl_flags = TTM_PL_FLAG_VRAM | VMW_PL_FLAG_GMR | VMW_PL_FLAG_MOB
+       pl.fpfn = 0;
+       pl.lpfn = 0;
+       pl.flags = TTM_PL_FLAG_VRAM | VMW_PL_FLAG_GMR | VMW_PL_FLAG_MOB
                | TTM_PL_FLAG_SYSTEM | TTM_PL_FLAG_CACHED;
        if (pin)
-               pl_flags |= TTM_PL_FLAG_NO_EVICT;
+               pl.flags |= TTM_PL_FLAG_NO_EVICT;
 
        memset(&placement, 0, sizeof(placement));
        placement.num_placement = 1;
-       placement.placement = &pl_flags;
+       placement.placement = &pl;
 
        ret = ttm_bo_validate(bo, &placement, false, true);