Merge branch 'drm-core-next' of git://people.freedesktop.org/~airlied/linux
Linus Torvalds [Tue, 10 Jan 2012 19:04:36 +0000 (11:04 -0800)]
* 'drm-core-next' of git://people.freedesktop.org/~airlied/linux: (307 commits)
  drm/nouveau/pm: fix build with HWMON off
  gma500: silence gcc warnings in mid_get_vbt_data()
  drm/ttm: fix condition (and vs or)
  drm/radeon: double lock typo in radeon_vm_bo_rmv()
  drm/radeon: use after free in radeon_vm_bo_add()
  drm/sis|via: don't return stack garbage from free_mem ioctl
  drm/radeon/kms: remove pointless CS flags priority struct
  drm/radeon/kms: check if vm is supported in VA ioctl
  drm: introduce drm_can_sleep and use in intel/radeon drivers. (v2)
  radeon: Fix disabling PCI bus mastering on big endian hosts.
  ttm: fix agp since ttm tt rework
  agp: Fix multi-line warning message whitespace
  drm/ttm/dma: Fix accounting error when calling ttm_mem_global_free_page and don't try to free freed pages.
  drm/ttm/dma: Only call set_pages_array_wb when the page is not in WB pool.
  drm/radeon/kms: sync across multiple rings when doing bo moves v3
  drm/radeon/kms: Add support for multi-ring sync in CS ioctl (v2)
  drm/radeon: GPU virtual memory support v22
  drm: make DRM_UNLOCKED ioctls with their own mutex
  drm: no need to hold global mutex for static data
  drm/radeon/benchmark: common modes sweep ignores 640x480@32
  ...

Fix up trivial conflicts in radeon/evergreen.c and vmwgfx/vmwgfx_kms.c

1  2 
drivers/gpu/drm/i915/i915_gem_execbuffer.c
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/radeon/evergreen.c
drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
include/drm/drmP.h

Simple merge
@@@ -3264,30 -3343,6 +3343,18 @@@ int evergreen_init(struct radeon_devic
                evergreen_pcie_gart_fini(rdev);
                rdev->accel_working = false;
        }
-       if (rdev->accel_working) {
-               r = radeon_ib_pool_init(rdev);
-               if (r) {
-                       DRM_ERROR("radeon: failed initializing IB pool (%d).\n", r);
-                       rdev->accel_working = false;
-               }
-               r = r600_ib_test(rdev);
-               if (r) {
-                       DRM_ERROR("radeon: failed testing IB (%d).\n", r);
-                       rdev->accel_working = false;
-               }
-       }
 +
 +      /* Don't start up if the MC ucode is missing on BTC parts.
 +       * The default clocks and voltages before the MC ucode
 +       * is loaded are not suffient for advanced operations.
 +       */
 +      if (ASIC_IS_DCE5(rdev)) {
 +              if (!rdev->mc_fw && !(rdev->flags & RADEON_IS_IGP)) {
 +                      DRM_ERROR("radeon: MC ucode required for NI+.\n");
 +                      return -EINVAL;
 +              }
 +      }
 +
        return 0;
  }
  
@@@ -1093,17 -1093,25 +1093,25 @@@ static struct drm_framebuffer *vmw_kms_
        struct vmw_surface *surface = NULL;
        struct vmw_dma_buffer *bo = NULL;
        struct ttm_base_object *user_obj;
+       struct drm_mode_fb_cmd mode_cmd;
 -      u64 required_size;
        int ret;
  
+       mode_cmd.width = mode_cmd2->width;
+       mode_cmd.height = mode_cmd2->height;
+       mode_cmd.pitch = mode_cmd2->pitches[0];
+       mode_cmd.handle = mode_cmd2->handles[0];
+       drm_fb_get_bpp_depth(mode_cmd2->pixel_format, &mode_cmd.depth,
+                                   &mode_cmd.bpp);
        /**
         * This code should be conditioned on Screen Objects not being used.
         * If screen objects are used, we can allocate a GMR to hold the
         * requested framebuffer.
         */
  
 -      required_size = mode_cmd.pitch * mode_cmd.height;
 -      if (unlikely(required_size > (u64) dev_priv->vram_size)) {
 +      if (!vmw_kms_validate_mode_vram(dev_priv,
-                                       mode_cmd->pitch,
-                                       mode_cmd->height)) {
++                                      mode_cmd.pitch,
++                                      mode_cmd.height)) {
                DRM_ERROR("VRAM size is too small for requested mode.\n");
                return ERR_PTR(-ENOMEM);
        }
Simple merge