1. 03 Sep, 2014 6 commits
    • Sonika Jindal's avatar
      drm/i915: Add 180 degree primary plane rotation support · 48404c1e
      Sonika Jindal authored
      Primary planes support 180 degree rotation. Expose the feature
      through rotation drm property.
      
      v2: Calculating linear/tiled offsets based on pipe source width and
      height. Added 180 degree rotation support in ironlake_update_plane.
      
      v3: Checking if CRTC is active before issueing update_plane. Added
      wait for vblank to make sure we dont overtake page flips. Disabling
      FBC since it does not work with rotated planes.
      
      v4: Updated rotation checks for pending flips, fbc disable. Creating
      rotation property only for Gen4 onwards. Property resetting as part
      of lastclose.
      
      v5: Resetting property in i915_driver_lastclose properly for planes
      and crtcs. Fixed linear offset calculation that was off by 1 w.r.t
      width in i9xx_update_plane and ironlake_update_plane. Removed tab
      based indentation and unnecessary braces in intel_crtc_set_property
      and intel_update_fbc. FBC and flip related checks should be done only
      for valid crtcs.
      
      v6: Minor nits in FBC disable checks for comments in intel_crtc_set_property
      and positioning the disable code in intel_update_fbc.
      
      v7: In case rotation property on inactive crtc is updated, we return
      successfully printing debug log as crtc is inactive and only property change
      is preserved.
      
      v8: update_plane is changed to update_primary_plane, crtc->fb is changed to
      crtc->primary->fb  and return value of update_primary_plane is ignored.
      
      v9: added rotation property to primary plane instead of crtc. Removing reset
      of rotation property from lastclose. rotation_property is moved to
      drm_mode_config, so drm layer will take care of resetting. Adding updation of
      fbc when rotation is set to 0. Allowing rotation only if value is
      different than old one.
      
      v10: Calling intel_primary_plane_setplane instead of update_primary_plane in
      set_property(Daniel).
      
      v11: Using same set_property function for both primary and sprite, Adding
      primary plane specific code in the same function (Matt).
      
      v12: Removing disabling/ enabling of fbc from set_property because it is done
      from intel_pipe_set_base. Other formatting
      
      v13: we need to call disable_fbc before changing the rotation to 180,
      disable_fbc from intel_pipe_set_base gets called very late, that will
      be used to re-enable fbc if rotation is set to 0 (Ville).
      
      Testcase: igt/kms_rotation_crc
      Signed-off-by: default avatarUma Shankar <uma.shankar@intel.com>
      Signed-off-by: default avatarSagar Kamble <sagar.a.kamble@intel.com>
      Signed-off-by: default avatarSonika Jindal <sonika.jindal@intel.com>
      [danvet: Add FIXME to explain why we need the open-coded update_fbc
      hunk to disable fbc when rotated 180 degree. And make checkpatch
      happier.]
      Acked-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      48404c1e
    • Sonika Jindal's avatar
      drm/i915: Updating plane parameters for primary plane in setplane · ce54d85a
      Sonika Jindal authored
      This unifies how the primary plane functions work with how the sprite
      functions works, which allows us to reuse them to update primary plane
      properties.
      
      v2: Moving setting of plane members in the end to take care of failure cases and
      not-visible cases (Matt).
      Signed-off-by: default avatarSonika Jindal <sonika.jindal@intel.com>
      Acked-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      [danvet: Add a real commit message.]
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      ce54d85a
    • McAulay, Alistair's avatar
      drm/i915: Rework GPU reset sequence to match driver load & thaw · 6689c167
      McAulay, Alistair authored
      This patch is to address Daniels concerns over different code during reset:
      
      http://lists.freedesktop.org/archives/intel-gfx/2014-June/047758.html
      
      "The reason for aiming as hard as possible to use the exact same code for
      driver load, gpu reset and runtime pm/system resume is that we've simply
      seen too many bugs due to slight variations and unintended omissions."
      
      Tested using igt drv_hangman.
      
      V2: Cleaner way of preventing check_wedge returning -EAGAIN
      V3: Clean the last_context during reset, to ensure do_switch() does the MI_SET_CONTEXT. As per review.
      Signed-off-by: default avatarMcAulay, Alistair <alistair.mcaulay@intel.com>
      Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@intel.com>
      [danvet: Rebase over ctx->ppgtt rework and extend the comment in
      check_wedge a bit.]
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      6689c167
    • Andreas Pokorny's avatar
      drm/qxl: enables gem prime helpers for qxl using dummy driver callbacks · 47c12968
      Andreas Pokorny authored
      As there should not be any other virtual device that might share buffers,
      the callbacks remain empty stubs. Still prime can be used to transfer buffers
      between processes that use qxl.
      Signed-off-by: default avatarAndreas Pokorny <andreas.pokorny@canonical.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      47c12968
    • Andreas Pokorny's avatar
    • Dave Airlie's avatar
      Merge branch 'for-airlied-next' of git://people.freedesktop.org/~mlankhorst/linux into drm-next · 6ba59f3b
      Dave Airlie authored
      Merge the move to generic fences for TTM using drivers.
      
      * 'for-airlied-next' of git://people.freedesktop.org/~mlankhorst/linux:
        drm/nouveau: use shared fences for readable objects
        drm/nouveau: Keep only a single list for validation.
        drm/ttm: use rcu in core ttm
        drm/vmwgfx: use rcu in vmw_user_dmabuf_synccpu_grab
        drm/radeon: use rcu waits in some ioctls
        drm/nouveau: use rcu in nouveau_gem_ioctl_cpu_prep
        drm/ttm: flip the switch, and convert to dma_fence
        drm/qxl: rework to new fence interface
        drm/nouveau: rework to new fence interface
        drm/vmwgfx: rework to new fence interface, v2
        drm/vmwgfx: get rid of different types of fence_flags entirely
        drm/radeon: use common fence implementation for fences, v4
        drm/ttm: kill off some members to ttm_validate_buffer
        drm/ttm: add interruptible parameter to ttm_eu_reserve_buffers
        drm/ttm: kill fence_lock
        drm/ttm: call ttm_bo_wait while inside a reservation
        drm/nouveau: require reservations for nouveau_fence_sync and nouveau_bo_fence
        drm/nouveau: add reservation to nouveau_gem_ioctl_cpu_prep
      6ba59f3b
  2. 02 Sep, 2014 12 commits
  3. 01 Sep, 2014 7 commits
  4. 28 Aug, 2014 5 commits
  5. 27 Aug, 2014 10 commits