aboutsummaryrefslogtreecommitdiffstats
path: root/include/drm
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2012-02-23 08:54:20 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-02-23 08:56:11 -0500
commitff5f4b0585620e5c158ecaad84d91c5bf3c5d0a1 (patch)
tree18867fdd805f1beefd3592bca76f4794bdc094b8 /include/drm
parentde67cba65944f26c0f147035bd62e30c5f456b96 (diff)
parent019d96cb55ade38a4b4a52bba0304e8cd681f30a (diff)
Merge remote-tracking branch 'airlied/drm-next' into for-airlied
Manually resolve the conflict between the new enum drm property helpers in drm-next and the new "force-dvi" option that the "audio" output property gained in drm-intel-next. While resolving this conflict, switch the new drm_prop_enum_list to use the newly introduced enum defines instead of magic values. Conflicts: drivers/gpu/drm/i915/intel_modes.c Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'include/drm')
-rw-r--r--include/drm/drm.h2
-rw-r--r--include/drm/drm_crtc.h16
-rw-r--r--include/drm/drm_fb_helper.h2
-rw-r--r--include/drm/radeon_drm.h24
4 files changed, 34 insertions, 10 deletions
diff --git a/include/drm/drm.h b/include/drm/drm.h
index 49d94ede2ec2..34a7b89fd006 100644
--- a/include/drm/drm.h
+++ b/include/drm/drm.h
@@ -761,6 +761,8 @@ struct drm_event_vblank {
761 761
762#define DRM_CAP_DUMB_BUFFER 0x1 762#define DRM_CAP_DUMB_BUFFER 0x1
763#define DRM_CAP_VBLANK_HIGH_CRTC 0x2 763#define DRM_CAP_VBLANK_HIGH_CRTC 0x2
764#define DRM_CAP_DUMB_PREFERRED_DEPTH 0x3
765#define DRM_CAP_DUMB_PREFER_SHADOW 0x4
764 766
765/* typedef area */ 767/* typedef area */
766#ifndef __KERNEL__ 768#ifndef __KERNEL__
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index 4cd4be26722c..2a0872cac333 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -796,6 +796,9 @@ struct drm_mode_config {
796 struct drm_property *scaling_mode_property; 796 struct drm_property *scaling_mode_property;
797 struct drm_property *dithering_mode_property; 797 struct drm_property *dithering_mode_property;
798 struct drm_property *dirty_info_property; 798 struct drm_property *dirty_info_property;
799
800 /* dumb ioctl parameters */
801 uint32_t preferred_depth, prefer_shadow;
799}; 802};
800 803
801#define obj_to_crtc(x) container_of(x, struct drm_crtc, base) 804#define obj_to_crtc(x) container_of(x, struct drm_crtc, base)
@@ -807,6 +810,10 @@ struct drm_mode_config {
807#define obj_to_blob(x) container_of(x, struct drm_property_blob, base) 810#define obj_to_blob(x) container_of(x, struct drm_property_blob, base)
808#define obj_to_plane(x) container_of(x, struct drm_plane, base) 811#define obj_to_plane(x) container_of(x, struct drm_plane, base)
809 812
813struct drm_prop_enum_list {
814 int type;
815 char *name;
816};
810 817
811extern void drm_crtc_init(struct drm_device *dev, 818extern void drm_crtc_init(struct drm_device *dev,
812 struct drm_crtc *crtc, 819 struct drm_crtc *crtc,
@@ -904,6 +911,13 @@ extern int drm_connector_attach_property(struct drm_connector *connector,
904 struct drm_property *property, uint64_t init_val); 911 struct drm_property *property, uint64_t init_val);
905extern struct drm_property *drm_property_create(struct drm_device *dev, int flags, 912extern struct drm_property *drm_property_create(struct drm_device *dev, int flags,
906 const char *name, int num_values); 913 const char *name, int num_values);
914extern struct drm_property *drm_property_create_enum(struct drm_device *dev, int flags,
915 const char *name,
916 const struct drm_prop_enum_list *props,
917 int num_values);
918struct drm_property *drm_property_create_range(struct drm_device *dev, int flags,
919 const char *name,
920 uint64_t min, uint64_t max);
907extern void drm_property_destroy(struct drm_device *dev, struct drm_property *property); 921extern void drm_property_destroy(struct drm_device *dev, struct drm_property *property);
908extern int drm_property_add_enum(struct drm_property *property, int index, 922extern int drm_property_add_enum(struct drm_property *property, int index,
909 uint64_t value, const char *name); 923 uint64_t value, const char *name);
@@ -919,7 +933,7 @@ extern int drm_mode_connector_attach_encoder(struct drm_connector *connector,
919 struct drm_encoder *encoder); 933 struct drm_encoder *encoder);
920extern void drm_mode_connector_detach_encoder(struct drm_connector *connector, 934extern void drm_mode_connector_detach_encoder(struct drm_connector *connector,
921 struct drm_encoder *encoder); 935 struct drm_encoder *encoder);
922extern bool drm_mode_crtc_set_gamma_size(struct drm_crtc *crtc, 936extern int drm_mode_crtc_set_gamma_size(struct drm_crtc *crtc,
923 int gamma_size); 937 int gamma_size);
924extern struct drm_mode_object *drm_mode_object_find(struct drm_device *dev, 938extern struct drm_mode_object *drm_mode_object_find(struct drm_device *dev,
925 uint32_t id, uint32_t type); 939 uint32_t id, uint32_t type);
diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h
index 6e3076ad646e..5120b01c2eeb 100644
--- a/include/drm/drm_fb_helper.h
+++ b/include/drm/drm_fb_helper.h
@@ -35,7 +35,6 @@ struct drm_fb_helper;
35#include <linux/kgdb.h> 35#include <linux/kgdb.h>
36 36
37struct drm_fb_helper_crtc { 37struct drm_fb_helper_crtc {
38 uint32_t crtc_id;
39 struct drm_mode_set mode_set; 38 struct drm_mode_set mode_set;
40 struct drm_display_mode *desired_mode; 39 struct drm_display_mode *desired_mode;
41}; 40};
@@ -74,7 +73,6 @@ struct drm_fb_helper {
74 int connector_count; 73 int connector_count;
75 struct drm_fb_helper_connector **connector_info; 74 struct drm_fb_helper_connector **connector_info;
76 struct drm_fb_helper_funcs *funcs; 75 struct drm_fb_helper_funcs *funcs;
77 int conn_limit;
78 struct fb_info *fbdev; 76 struct fb_info *fbdev;
79 u32 pseudo_palette[17]; 77 u32 pseudo_palette[17];
80 struct list_head kernel_fb_list; 78 struct list_head kernel_fb_list;
diff --git a/include/drm/radeon_drm.h b/include/drm/radeon_drm.h
index b55da40953fd..cb2f0c362a13 100644
--- a/include/drm/radeon_drm.h
+++ b/include/drm/radeon_drm.h
@@ -804,13 +804,23 @@ struct drm_radeon_gem_create {
804 uint32_t flags; 804 uint32_t flags;
805}; 805};
806 806
807#define RADEON_TILING_MACRO 0x1 807#define RADEON_TILING_MACRO 0x1
808#define RADEON_TILING_MICRO 0x2 808#define RADEON_TILING_MICRO 0x2
809#define RADEON_TILING_SWAP_16BIT 0x4 809#define RADEON_TILING_SWAP_16BIT 0x4
810#define RADEON_TILING_SWAP_32BIT 0x8 810#define RADEON_TILING_SWAP_32BIT 0x8
811#define RADEON_TILING_SURFACE 0x10 /* this object requires a surface 811/* this object requires a surface when mapped - i.e. front buffer */
812 * when mapped - i.e. front buffer */ 812#define RADEON_TILING_SURFACE 0x10
813#define RADEON_TILING_MICRO_SQUARE 0x20 813#define RADEON_TILING_MICRO_SQUARE 0x20
814#define RADEON_TILING_EG_BANKW_SHIFT 8
815#define RADEON_TILING_EG_BANKW_MASK 0xf
816#define RADEON_TILING_EG_BANKH_SHIFT 12
817#define RADEON_TILING_EG_BANKH_MASK 0xf
818#define RADEON_TILING_EG_MACRO_TILE_ASPECT_SHIFT 16
819#define RADEON_TILING_EG_MACRO_TILE_ASPECT_MASK 0xf
820#define RADEON_TILING_EG_TILE_SPLIT_SHIFT 24
821#define RADEON_TILING_EG_TILE_SPLIT_MASK 0xf
822#define RADEON_TILING_EG_STENCIL_TILE_SPLIT_SHIFT 28
823#define RADEON_TILING_EG_STENCIL_TILE_SPLIT_MASK 0xf
814 824
815struct drm_radeon_gem_set_tiling { 825struct drm_radeon_gem_set_tiling {
816 uint32_t handle; 826 uint32_t handle;