1. 09 12月, 2014 6 次提交
  2. 04 12月, 2014 1 次提交
  3. 27 11月, 2014 4 次提交
    • R
      drm: fix indentation · 417009fb
      Rob Clark 提交于
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      417009fb
    • R
      drm/atomic: add plane iterator macros · dd275956
      Rob Clark 提交于
      Add helper macros to iterate the current, or incoming set of planes
      attached to a crtc.  These helpers are only available for drivers
      converted to use atomic-helpers.
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      [danvet: Squash in fixup from Rob to move the planemask iterator to
      drm_crtc.h and document it. That one is needed by the atomic ioctl so
      can't be in a helper library.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      dd275956
    • R
      drm/atomic: track bitmask of planes attached to crtc · 6ddd388a
      Rob Clark 提交于
      Chasing plane->state->crtc of planes that are *not* part of the same
      atomic update is racy, making it incredibly awkward (or impossible) to
      do something simple like iterate over all planes and figure out which
      ones are attached to a crtc.
      
      Solve this by adding a bitmask of currently attached planes in the
      crtc-state.
      
      Note that the transitional helpers do not maintain the plane_mask.  But
      they only support the legacy ioctls, which have sufficient brute-force
      locking around plane updates that they can continue to loop over all
      planes to see what is attached to a crtc the old way.
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      [danvet:
      - Drop comments about locking in set_crtc_for_plane since they're a
        bit misleading - we already should hold lock for the current crtc.
      - Also WARN_ON if get_state on the old crtc fails since that should
        have been done already.
      - Squash in fixup to check get_plane_state return value, reported by
        Dan Carpenter and acked by Rob Clark.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      6ddd388a
    • L
      drm: Decouple EDID parsing from I2C adapter · 18df89fe
      Lars-Peter Clausen 提交于
      The drm_get_edid() function performs direct I2C accesses to read EDID
      blocks, assuming that the monitor DDC interface is directly connected to
      the I2C bus. It can't thus be used with HDMI encoders that control the
      DDC bus and expose EDID blocks through a different interface.
      
      Refactor drm_do_get_edid() to take a block read callback function
      instead of an I2C adapter, and export it for direct use by drivers.
      
      As in the general case the DDC bus is accessible by the kernel at the
      I2C level, drivers must make all reasonable efforts to expose it as an
      I2C adapter and use drm_get_edid() instead of abusing this function.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
      Reviewed-by: NRob Clark <robdclark@gmail.com>
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      18df89fe
  4. 25 11月, 2014 4 次提交
  5. 21 11月, 2014 1 次提交
  6. 20 11月, 2014 2 次提交
    • D
      drm: s/enum_blob_list/enum_list/ in drm_property · 3758b341
      Daniel Vetter 提交于
      I guess for hysterical raisins this was meant to be the way to read
      blob properties. But that's done with the two-stage approach which
      uses separate blob kms object and the special-purpose get_blob ioctl.
      
      Shipping userspace seems to have never relied on this, and the kernel
      also never put any blob thing onto that property. And nowadays it
      would blow up, e.g. in drm_property_destroy. Also it makes no sense to
      return values in an ioctl that only returns metadata about everything.
      
      So let's ditch all the internal code for the blob list, rename the
      list to be unambiguous and sprinkle comments all over the place to
      explain this peculiar piece of api.
      
      v2: Squash in fixup from Rob to remove now unused variables.
      
      Cc: Rob Clark <robdclark@gmail.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      Reviewed-by: NRob Clark <robdclark@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      3758b341
    • D
      drm/atomic: Don't overrun the connector array when hotplugging · f52b69f1
      Daniel Vetter 提交于
      Yet another fallout from not considering DP MST hotplug. With the
      previous patches we have stable indices, but it might still happen
      that a connector gets added between when we allocate the array and
      when we actually add a connector. Especially when we back off due to
      ww mutex contention or similar issues.
      
      So store the sizes of the arrays in struct drm_atomic_state and double
      check them. We don't really care about races except that we want to
      use a consistent value, so ACCESS_ONCE is all we need. And if we
      indeed notice that we'd overrun the array then just give up and
      restart the entire ioctl.
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      Reviewed-by: NRob Clark <robdclark@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      f52b69f1
  7. 15 11月, 2014 3 次提交
  8. 13 11月, 2014 19 次提交