Merge tag 'drm-intel-next-2013-03-23' of git://people.freedesktop.org/~danvet/drm...
authorDave Airlie <airlied@redhat.com>
Fri, 5 Apr 2013 00:18:13 +0000 (10:18 +1000)
committerDave Airlie <airlied@redhat.com>
Fri, 5 Apr 2013 00:18:13 +0000 (10:18 +1000)
Daniel writes:
Highlights:
- Imre's for_each_sg_pages rework (now also with the stolen mem backed
  case fixed with a hack) plus the drm prime sg list coalescing patch from
  Rahul Sharma. I have some follow-up cleanups pending, already acked by
  Andrew Morton.
- Some prep-work for the crazy no-pch/display-less platform by Ben.
- Some vlv patches, by far not all (Jesse et al).
- Clean up the HDMI/SDVO #define confusion (Paulo)
- gen2-4 vblank fixes from Ville.
- Unclaimed register warning fixes for hsw (Paulo). More still to come ...
- Complete pageflips which have been stuck in a gpu hang, should prevent
  stuck gl compositors (Ville).
- pm patches for vt-switchless resume (Jesse). Note that the i915 enabling
  is not (yet) included, that took a bit longer to settle. PM patches are
  acked by Rafael Wysocki.
- Minor fixlets all over from various people.

* tag 'drm-intel-next-2013-03-23' of git://people.freedesktop.org/~danvet/drm-intel: (79 commits)
  drm/i915: Implement WaSwitchSolVfFArbitrationPriority
  drm/i915: Set the VIC in AVI infoframe for SDVO
  drm/i915: Kill a strange comment about DPMS functions
  drm/i915: Correct sandybrige overclocking
  drm/i915: Introduce GEN7_FEATURES for device info
  drm/i915: Move num_pipes to intel info
  drm/i915: fixup pd vs pt confusion in gen6 ppgtt code
  style nit: Align function parameter continuation properly.
  drm/i915: VLV doesn't have HDMI on port C
  drm/i915: DSPFW and BLC regs are in the display offset range
  drm/i915: set conservative clock gating values on VLV v2
  drm/i915: fix WaDisablePSDDualDispatchEnable on VLV v2
  drm/i915: add more VLV IDs
  drm/i915: use VLV DIP routines on VLV v2
  drm/i915: add media well to VLV force wake routines v2
  drm/i915: don't use plane pipe select on VLV
  drm: modify pages_to_sg prime helper to create optimized SG table
  drm/i915: use for_each_sg_page for setting up the gtt ptes
  drm/i915: create compact dma scatter lists for gem objects
  drm/i915: handle walking compact dma scatter lists
  ...

1  2 
drivers/gpu/drm/i915/i915_debugfs.c
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_gem_execbuffer.c
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/i915/intel_panel.c
drivers/gpu/drm/i915/intel_pm.c

Simple merge
index e9b57893db2b1ebba1348a71e37c845f98c3286b,6c4b13c0ee775270ea87f7feac5a9dc708e8d2e9..0614aff23e7655d94900ac93fb99aa991adb697b
@@@ -121,15 -121,8 +121,13 @@@ MODULE_PARM_DESC(i915_enable_ppgtt
  unsigned int i915_preliminary_hw_support __read_mostly = 0;
  module_param_named(preliminary_hw_support, i915_preliminary_hw_support, int, 0600);
  MODULE_PARM_DESC(preliminary_hw_support,
-               "Enable preliminary hardware support. "
-               "Enable Haswell and ValleyView Support. "
-               "(default: false)");
+               "Enable preliminary hardware support. (default: false)");
  
 +int i915_disable_power_well __read_mostly = 0;
 +module_param_named(disable_power_well, i915_disable_power_well, int, 0600);
 +MODULE_PARM_DESC(disable_power_well,
 +               "Disable the power well when possible (default: false)");
 +
  static struct drm_driver driver;
  extern int intel_agp_enabled;
  
Simple merge
index 9a48e1a2d417ce7d294af15dd393ea93ec419cbb,983083976dd819038474ee643414f9c12f29a8b7..117ce38136812d1689ecc4b65ffe743a5e86a71c
@@@ -732,11 -730,9 +730,11 @@@ validate_exec_list(struct drm_i915_gem_
                   int count)
  {
        int i;
 +      int relocs_total = 0;
 +      int relocs_max = INT_MAX / sizeof(struct drm_i915_gem_relocation_entry);
  
        for (i = 0; i < count; i++) {
-               char __user *ptr = (char __user *)(uintptr_t)exec[i].relocs_ptr;
+               char __user *ptr = to_user_ptr(exec[i].relocs_ptr);
                int length; /* limited by fault_in_pages_readable() */
  
                if (exec[i].flags & __EXEC_OBJECT_UNKNOWN_FLAGS)
Simple merge
index 8fc93f90a7cdf9262d52186697b09ca84879b137,662a185274e686eb89e735255cdf3b46deb5ad5b..fe111f1aadb3fce53e6e02d1b2671c95a6eb153c
@@@ -851,9 -798,9 +808,9 @@@ intel_dp_set_m_n(struct drm_crtc *crtc
         * set up for 8-bits of R/G/B, or 3 bytes total.
         */
        intel_link_compute_m_n(intel_crtc->bpp, lane_count,
 -                             mode->clock, adjusted_mode->clock, &m_n);
 +                             target_clock, adjusted_mode->clock, &m_n);
  
-       if (IS_HASWELL(dev)) {
+       if (HAS_DDI(dev)) {
                I915_WRITE(PIPE_DATA_M1(cpu_transcoder),
                           TU_SIZE(m_n.tu) | m_n.gmch_m);
                I915_WRITE(PIPE_DATA_N1(cpu_transcoder), m_n.gmch_n);
Simple merge
index adca00783e61b304723d3d05197b53f47b6b33db,ce3db2c1f1d9d055fe3812e392b2ca27f6fcf322..2de6da683de2a42aee62fb9a27a82d722831ab8d
@@@ -4076,12 -4092,9 +4092,12 @@@ void intel_set_power_well(struct drm_de
        bool is_enabled, enable_requested;
        uint32_t tmp;
  
-       if (!IS_HASWELL(dev))
+       if (!HAS_POWER_WELL(dev))
                return;
  
 +      if (!i915_disable_power_well && !enable)
 +              return;
 +
        tmp = I915_READ(HSW_PWR_WELL_DRIVER);
        is_enabled = tmp & HSW_PWR_WELL_STATE;
        enable_requested = tmp & HSW_PWR_WELL_ENABLE;