1. 05 6月, 2014 1 次提交
    • M
      drm/plane-helper: Add drm_plane_helper_check_update() (v3) · 7daf8d54
      Matt Roper 提交于
      Pull the parameter checking from drm_primary_helper_update() out into
      its own function; drivers that provide their own setplane()
      implementations rather than using the helper may still want to share
      this parameter checking logic.
      
      A few of the checks here were also updated based on suggestions by
      Ville Syrjälä.
      
      v3:
       - s/primary_helper/plane_helper/ --- this checking logic may be useful
         for other types of planes as well.
       - Fix visibility check (need to dereference visibility pointer)
      v2:
       - Pass src/dest/clip rects and min/max scaling down to helper to avoid
         duplication of effort between helper and drivers (suggested by
         Ville).
       - Allow caller to specify whether the primary plane should be
         updatable while the crtc is disabled.
      
      Cc: dri-devel@lists.freedesktop.org
      Reviewed-by: NChon Ming Lee <chon.ming.lee@intel.com>
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Acked-by: NDave Airlie <airlied@gmail.com>
      [danvet: Include header properly and fixup declaration mismatch to
      make this compile.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      7daf8d54
  2. 02 6月, 2014 1 次提交
    • T
      drm/plane: Fix sparse warnings · f220e626
      Thierry Reding 提交于
      Include the drm_plane_helper.h header file to fix the following sparse
      warnings:
      
      	  CHECK   drivers/gpu/drm/drm_plane_helper.c
      	drivers/gpu/drm/drm_plane_helper.c:102:5: warning: symbol 'drm_primary_helper_update' was not declared. Should it be static?
      	drivers/gpu/drm/drm_plane_helper.c:219:5: warning: symbol 'drm_primary_helper_disable' was not declared. Should it be static?
      	drivers/gpu/drm/drm_plane_helper.c:233:6: warning: symbol 'drm_primary_helper_destroy' was not declared. Should it be static?
      	drivers/gpu/drm/drm_plane_helper.c:241:30: warning: symbol 'drm_primary_helper_funcs' was not declared. Should it be static?
      	drivers/gpu/drm/drm_plane_helper.c:259:18: warning: symbol 'drm_primary_helper_create_plane' was not declared. Should it be static?
      
      Doing that makes gcc complain as follows:
      
      	  CC      drivers/gpu/drm/drm_plane_helper.o
      	drivers/gpu/drm/drm_plane_helper.c:260:19: error: conflicting types for 'drm_primary_helper_create_plane'
      	 struct drm_plane *drm_primary_helper_create_plane(struct drm_device *dev,
      	                   ^
      	In file included from drivers/gpu/drm/drm_plane_helper.c:29:0:
      	include/drm/drm_plane_helper.h:42:19: note: previous declaration of 'drm_primary_helper_create_plane' was here
      	 struct drm_plane *drm_primary_helper_create_plane(struct drm_device *dev,
      	                   ^
      	drivers/gpu/drm/drm_plane_helper.c: In function 'drm_primary_helper_create_plane':
      	drivers/gpu/drm/drm_plane_helper.c:274:11: warning: assignment discards 'const' qualifier from pointer target type
      	   formats = safe_modeset_formats;
      	           ^
      	In file included from include/linux/linkage.h:6:0,
      	                 from include/linux/kernel.h:6,
      	                 from include/drm/drmP.h:45,
      	                 from drivers/gpu/drm/drm_plane_helper.c:27:
      	drivers/gpu/drm/drm_plane_helper.c: At top level:
      	drivers/gpu/drm/drm_plane_helper.c:289:15: error: conflicting types for 'drm_primary_helper_create_plane'
      	 EXPORT_SYMBOL(drm_primary_helper_create_plane);
      	               ^
      	include/linux/export.h:57:21: note: in definition of macro '__EXPORT_SYMBOL'
      	  extern typeof(sym) sym;     \
      	                     ^
      	drivers/gpu/drm/drm_plane_helper.c:289:1: note: in expansion of macro 'EXPORT_SYMBOL'
      	 EXPORT_SYMBOL(drm_primary_helper_create_plane);
      	 ^
      	In file included from drivers/gpu/drm/drm_plane_helper.c:29:0:
      	include/drm/drm_plane_helper.h:42:19: note: previous declaration of 'drm_primary_helper_create_plane' was here
      	 struct drm_plane *drm_primary_helper_create_plane(struct drm_device *dev,
      	                   ^
      
      Which can easily be fixed by making the signatures of the implementation
      and the prototype match.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Reviewed-by: NMatt Roper <matthew.d.roper@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      f220e626
  3. 02 4月, 2014 1 次提交
    • M
      drm: Add primary plane helpers (v3) · c103d1cf
      Matt Roper 提交于
      When we expose non-overlay planes to userspace, they will become
      accessible via standard userspace plane API's.  We should be able to
      handle the standard plane operations against primary planes in a generic
      way via the modeset handler.
      
      Drivers that can program primary planes more efficiently, that want to
      use their own primary plane structure to track additional information,
      or that don't have the limitations assumed by the helpers are free to
      provide their own implementation of some or all of these handlers.
      
      v3: Tweak kerneldoc formatting slightly to avoid ugliness
      v2:
       - Move plane helpers to a new file (drm_plane_helper.c)
       - Tighten checks on update handler (check for scaling, CRTC coverage,
         subpixel positioning)
       - Pass proper panning parameters to modeset interface
       - Disallow disabling primary plane (and thus CRTC) if other planes are
         still active on the CRTC.
       - Use a minimal format list that should work on all hardware/drivers.
         Drivers may call this function with a more accurate plane list to
         enable additional formats they can support.
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: NRob Clark <robdclark@gmail.com>
      c103d1cf
  4. 17 7月, 2012 1 次提交
  5. 12 5月, 2012 1 次提交
  6. 07 5月, 2012 1 次提交
  7. 10 3月, 2012 1 次提交
  8. 09 2月, 2012 1 次提交
  9. 05 7月, 2011 1 次提交
  10. 26 5月, 2011 1 次提交
  11. 03 3月, 2011 1 次提交
  12. 06 10月, 2010 1 次提交
  13. 13 9月, 2010 1 次提交
  14. 08 9月, 2009 1 次提交
    • J
      drm/radeon/kms: add r600 KMS support · 3ce0a23d
      Jerome Glisse 提交于
      This adds the r600 KMS + CS support to the Linux kernel.
      
      The r600 TTM support is quite basic and still needs more
      work esp around using interrupts, but the polled fencing
      should work okay for now.
      
      Also currently TTM is using memcpy to do VRAM moves,
      the code is here to use a 3D blit to do this, but
      isn't fully debugged yet.
      
      Authors:
      Alex Deucher <alexdeucher@gmail.com>
      Dave Airlie <airlied@redhat.com>
      Jerome Glisse <jglisse@redhat.com>
      Signed-off-by: NJerome Glisse <jglisse@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      3ce0a23d