1. 20 Nov, 2012 1 commit
    • David Herrmann's avatar
      drm: fix returning -EINVAL on setmaster if another master is active · 08bec5b4
      David Herrmann authored
      We link every DRM "file_priv" to a "drm_master" structure. Currently, the
      drmSetMaster() call returns 0 when there is _any_ active master associated
      with the "drm_master" structure of the calling "file_priv". This means,
      that after drmSetMaster() we are not guaranteed to be DRM-Master and might
      not be able to perform mode-setting.
      
      A way to reproduce this is by starting weston with the DRM backend from
      within an X-console (eg., xterm). Because the xserver's "drm_master" is
      currently active, weston is assigned to the same master but is inactive
      because its VT is inactive and the xserver is still active. But when
      "fake-activating" weston, it calls drmSetMaster(). With current behavior
      this returns "0/success" and weston thinks that it is DRM-Master, even
      though it is not (as the xserver is still DRM-Master).
      Expected behavior would be drmSetMaster() to return -EINVAL, because the
      xserver is still DRM-Master. This patch changes exactly that.
      
      The only way this bogus behavior would be useful is for clients to check
      whether their associated "drm_master" is currently the active DRM-Master.
      But this logic fails if no DRM-Master is currently active at all. Because
      then the client itself would become DRM-Master (if it is root) and this
      makes this whole thing useles.
      
      Also note that the second "if-condition":
        file_priv->minor->master != file_priv->master
      is always true and can be skipped.
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@googlemail.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      08bec5b4
  2. 19 Nov, 2012 1 commit
    • Dave Airlie's avatar
      Merge branch 'for-airlied' of git://people.freedesktop.org/~danvet/drm-intel into drm-next · 9fabd4ee
      Dave Airlie authored
      Daniel writes:
      Highlights of this -next round:
      - ivb fdi B/C fixes
      - hsw sprite/plane offset fixes from Damien
      - unified dp/hdmi encoder for hsw, finally external dp support on hsw
        (Paulo)
      - kill-agp and some other prep work in the gtt code from Ben
      - some fb handling fixes from Ville
      - massive pile of patches to align hsw VGA with the spec and make it
        actually work (Paulo)
      - pile of workarounds from Jesse, mostly for vlv, but also some other
        related platforms
      - start of a dev_priv reorg, that thing grew out of bounds and chaotic
      - small bits&pieces all over the place, down to better error handling for
        load-detect on gen2 (Chris, Jani, Mika, Zhenyu, ...)
      
      On top of the previous pile (just copypasta):
      - tons of hsw dp prep patches form Paulo
      - round scheduled work items and timers to nearest second (Chris)
      - some hw workarounds (Jesse&Damien)
      - vlv dp support and related fixups (Vijay et al.)
      - basic haswell dp support, not yet wired up for external ports (Paulo)
      - edp support (Paulo)
      - tons of refactorings to prepare for the above (Paulo)
      - panel rework, unifiying code between lvds and edp panels (Jani)
      - panel fitter scaling modes (Jani + Yuly Novikov)
      - panel power improvements, should now work without the BIOS setting it up
      - extracting some dp helpers from radeon/i915 and move them to
        drm_dp_helper.c
      - randome pile of workarounds (Damien, Ben, ...)
      - some cleanups for the register restore code for suspend/resume
      - secure batchbuffer support, should enable tear-free blits on gen6+
        Chris)
      - random smaller fixlets and cleanups.
      
      * 'for-airlied' of git://people.freedesktop.org/~danvet/drm-intel: (231 commits)
        drm/i915: Restore physical HWS_PGA after resume
        drm/i915: Report amount of usable graphics memory in MiB
        drm/i915/i2c: Track users of GMBUS force-bit
        drm/i915: Allocate the proper size for contexts.
        drm/i915: Update load-detect failure paths for modeset-rework
        drm/i915: Clear unused fields of mode for framebuffer creation
        drm/i915: Always calculate 8xx WM values based on a 32-bpp framebuffer
        drm/i915: Fix sparse warnings in from AGP kill code
        drm/i915: Missed lock change with rps lock
        drm/i915: Move the remaining gtt code
        drm/i915: flush system agent TLBs on SNB
        drm/i915: Kill off now unused gen6+ AGP code
        drm/i915: Calculate correct stolen size for GEN7+
        drm/i915: Stop using AGP layer for GEN6+
        drm/i915: drop the double-OP_STOREDW usage in blt_ring_flush
        drm/i915: don't rewrite the GTT on resume v4
        drm/i915: protect RPS/RC6 related accesses (including PCU) with a new mutex
        drm/i915: put ring frequency and turbo setup into a work queue v5
        drm/i915: don't block resume on fb console resume v2
        drm/i915: extract l3_parity substruct from dev_priv
        ...
      9fabd4ee
  3. 16 Nov, 2012 1 commit
  4. 13 Nov, 2012 2 commits
  5. 11 Nov, 2012 35 commits