1. 20 Jan, 2014 11 commits
    • Ville Syrjälä's avatar
      drm: Change {pixel,line,frame}dur_ns from s64 to int · 3c184f69
      Ville Syrjälä authored
      Using s64 for the timestamping constants is wasteful. Signed 32bit
      integers get us a range of over +-2 seconds. Presuming that no-one
      wants to a vrefresh rate less than 0.5, we can switch to using int
      for the timestamping constants. We save a few bytes in drm_crtc and
      avoid a bunch of 64bit math.
      
      Reviewed-by: mario.kleiner.de@gmail.com
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      3c184f69
    • Ville Syrjälä's avatar
      drm: Use crtc_clock in drm_calc_timestamping_constants() · 77666b72
      Ville Syrjälä authored
      drm_calc_timestamping_constants() computes the pixel/line/frame
      durations based on the crtc_ timing values. The corresponding pixel
      clock is in mode->crtc_clock, so we need to use that instead of
      mode->clock.
      
      This should fix drm_calc_timestamping_constants() for frame packing
      stereo modes.
      
      Reviewed-by: mario.kleiner.de@gmail.com
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      77666b72
    • Ville Syrjälä's avatar
      drm/radeon: Populate crtc_clock in radeon_atom_get_tv_timings() · 265d09aa
      Ville Syrjälä authored
      crtc_clock is now supposed to be the actual pixel clock corresponding to
      the other crtc_ timing values. Populate crtc_clock appropriately in
      radeon_atom_get_tv_timings().
      
      This was the only obvious place where we frob with the crtc_ timigns
      directly instead of calling drm_mode_set_crtcinfo() which would also
      update crtc_clock.
      
      Reviewed-by: mario.kleiner.de@gmail.com
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      265d09aa
    • Ville Syrjälä's avatar
      drm: Simplify the math in drm_calc_timestamping_constants() · 0dae35a3
      Ville Syrjälä authored
      drm_calc_timestamping_constants() makes the math more complex
      than necessary.
      - multipying the dotclock by 1000 is pointless, just makes all the
        numbers bigger
      - div64_u64() is also pointless, div_u64 is enough
      - pixeldur_ns doesn't need any 64bit math
      
      Reviewed-by: mario.kleiner.de@gmail.com
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      0dae35a3
    • Ville Syrjälä's avatar
      drm: Improve drm_calc_timestamping_constants() documentation · 21b21560
      Ville Syrjälä authored
      Move the long blurp to into the body of the comment, leaving only
      a short summary line at the top.
      
      Reviewed-by: mario.kleiner.de@gmail.com
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      21b21560
    • Ville Syrjälä's avatar
      drm/i915: Call drm_calc_timestamping_constants() earlier · c326c0a9
      Ville Syrjälä authored
      Update the pixel/line/frame duration information when we switch to the
      new pipe config. This will keep the timestamping constants in better
      sync with the real hardware state.
      
      Reviewed-by: mario.kleiner.de@gmail.com
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      c326c0a9
    • Ville Syrjälä's avatar
      drm/i915: Kill hwmode save/restore · 4b4b9238
      Ville Syrjälä authored
      drm core no longer uses crtc->hwmode, and neither does i915, so we can totally ignore it
      in i915.
      
      Reviewed-by: mario.kleiner.de@gmail.com
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      4b4b9238
    • Ville Syrjälä's avatar
      drm: Pass the display mode to drm_calc_vbltimestamp_from_scanoutpos() · 7da903ef
      Ville Syrjälä authored
      Rather than using crtc->hwmode, just pass the relevant mode to
      drm_calc_vbltimestamp_from_scanoutpos(). This removes the last hwmode
      usage from core drm.
      
      Reviewed-by: mario.kleiner.de@gmail.com
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      7da903ef
    • Ville Syrjälä's avatar
      drm: Pass the display mode to drm_calc_timestamping_constants() · 545cdd55
      Ville Syrjälä authored
      We don't really use hwmode anymore in i915, so eliminating its use
      from the core code seems prudent. Just pass the appropriate mode
      to drm_calc_timestamping_constants().
      
      Reviewed-by: mario.kleiner.de@gmail.com
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      545cdd55
    • Dave Airlie's avatar
      Merge branch 'drm-intel-next' of git://people.freedesktop.org/~danvet/drm-intel into drm-next · cfd72a4c
      Dave Airlie authored
      drm-intel-next-2014-01-10:
      - final bits for runtime D3 on Haswell from Paul (now enabled fully)
      - parse the backlight modulation freq information in the VBT from Jani
        (but not yet used)
      - more watermark improvements from Ville for ilk-ivb and bdw
      - bugfixes for fastboot from Jesse
      - watermark fix for i830M (but not yet everything)
      - vlv vga hotplug w/a (Imre)
      - piles of other small improvements, cleanups and fixes all over
      
      Note that the pull request includes a backmerge of the last drm-fixes
      pulled into Linus' tree - things where getting a bit too messy. So the
      shortlog also contains a bunch of patches from Linus tree. Please yell if
      you want me to frob it for you a bit.
      
      * 'drm-intel-next' of git://people.freedesktop.org/~danvet/drm-intel: (609 commits)
        drm/i915/bdw: make sure south port interrupts are enabled properly v2
        drm/i915: Include more information in disabled hotplug interrupt warning
        drm/i915: Only complain about a rogue hotplug IRQ after disabling
        drm/i915: Only WARN about a stuck hotplug irq ONCE
        drm/i915: s/hotplugt_status_gen4/hotplug_status_g4x/
      cfd72a4c
    • Dave Airlie's avatar
      Merge tag 'vmwgfx-next-2014-01-17' of git://people.freedesktop.org/~thomash/linux into drm-next · 9354eafd
      Dave Airlie authored
      Pull request of 2014-01-17
      
      Pull request for 3.14. One not so urgent fix, One huge device update.
      
      The pull request corresponds to the patches sent out on dri-devel, except:
      [PATCH 02/33], review tag typo pointed out by Matt Turner.
      [PATCH 04/33], dropped. The new surface formats are never used.
      
      The upcoming vmware svga2 hardware version 11 will introduce the concept
      of "guest backed objects" or -resources. The device will in principle
      get all
      of its memory from the guest, which has big advantages from the device
      point of view.
      
      This means that vmwgfx contexts, shaders and surfaces need to be backed
      by guest memory in the form of buffer objects called MOBs, presumably
      short for MemoryOBjects, which are bound to the device in a special way.
      
      This patch series introduces guest backed object support. Some new IOCTLs
      are added to allocate these new guest backed object, and to optionally
      provide
      them with a backing MOB.
      
      There is an update to the gallium driver that comes with this update, and
      it will be pushed in the near timeframe presumably to a separate mesa branch
      before merged to master.
      
      * tag 'vmwgfx-next-2014-01-17' of git://people.freedesktop.org/~thomash/linux: (33 commits)
        drm/vmwgfx: Invalidate surface on non-readback unbind
        drm/vmwgfx: Silence the device command verifier
        drm/vmwgfx: Implement 64-bit Otable- and MOB binding v2
        drm/vmwgfx: Fix surface framebuffer check for guest-backed surfaces
        drm/vmwgfx: Update otable definitions
        drm/vmwgfx: Use the linux DMA api also for MOBs
        drm/vmwgfx: Ditch the vmw_dummy_query_bo_prepare function
        drm/vmwgfx: Persistent tracking of context bindings
        drm/vmwgfx: Track context bindings and scrub them upon exiting execbuf
        drm/vmwgfx: Block the BIND_SHADERCONSTS command
        drm/vmwgfx: Add a parameter to get max MOB memory size
        drm/vmwgfx: Implement a buffer object synccpu ioctl.
        drm/vmwgfx: Make sure that the multisampling is off
        drm/vmwgfx: Extend the command verifier to handle guest-backed on / off
        drm/vmwgfx: Fix up the vmwgfx_drv.h header for new files
        drm/vmwgfx: Enable 3D for new hardware version
        drm/vmwgfx: Add new unused (by user-space) commands to the verifier
        drm/vmwgfx: Validate guest-backed shader const commands
        drm/vmwgfx: Add guest-backed shaders
        drm/vmwgfx: Hook up guest-backed surfaces
        ...
      9354eafd
  2. 17 Jan, 2014 29 commits