diff options
Diffstat (limited to 'shared-core')
| -rw-r--r-- | shared-core/drm.h | 78 | 
1 files changed, 78 insertions, 0 deletions
diff --git a/shared-core/drm.h b/shared-core/drm.h index 3c59cd40..49bc41bc 100644 --- a/shared-core/drm.h +++ b/shared-core/drm.h @@ -888,6 +888,80 @@ typedef union drm_mm_init_arg{  	} rep;  } drm_mm_init_arg_t; +/* + * Drm mode setting + */ + +#define DRM_DISPLAY_MODE_LEN 32 + +struct drm_mode_modeinfo { + +	unsigned int id; + +	unsigned int clock; +	unsigned short hdisplay, hsync_start, hsync_end, htotal, hskew; +	unsigned short vdisplay, vsync_start, vsync_end, vtotal, vscan; + +	unsigned int flags; + +	char name[DRM_DISPLAY_MODE_LEN]; +}; + +struct drm_mode_card_res { + +	unsigned int fb_id; + +	int count_crtcs; +	unsigned int __user *crtc_id; + +	int count_outputs; +	unsigned int __user *output_id; + +	int count_modes; +        struct drm_mode_modeinfo __user *modes; + +}; + +struct drm_mode_crtc { +	unsigned int crtc_id; /**< Id */ +	unsigned int fb_id; /**< Id of framebuffer */ + +	int x, y; /**< Position on the frameuffer */ + +	unsigned int mode; /**< Current mode used */ + +	int count_outputs; +	unsigned int outputs; /**< Outputs that are connected */ + +	int count_possibles; +	unsigned int possibles; /**< Outputs that can be connected */ + +	unsigned int __user *set_outputs; /**< Outputs to be connected */ + +	int gamma_size; + +}; + +struct drm_mode_get_output { + +	unsigned int output; /**< Id */ +	unsigned int crtc; /**< Id of crtc */ + +	unsigned int connection; +	unsigned int mm_width, mm_height; /**< HxW in millimeters */ +	unsigned int subpixel; + +	int count_crtcs; +	unsigned int crtcs; /**< possible crtc to connect to */ + +	int count_clones; +	unsigned int clones; /**< list of clones */ + +	int count_modes; +	unsigned int __user *modes; /**< list of modes it supports */ + +}; +  /**   * \name Ioctls Definitions   */ @@ -959,6 +1033,10 @@ typedef union drm_mm_init_arg{  #define DRM_IOCTL_UPDATE_DRAW           DRM_IOW(0x3f, drm_update_draw_t) +#define DRM_IOCTL_MODE_GETRESOURCES     DRM_IOWR(0xA0, struct drm_mode_card_res) +#define DRM_IOCTL_MODE_GETCRTC          DRM_IOWR(0xA1, struct drm_mode_crtc) +#define DRM_IOCTL_MODE_GETOUTPUT        DRM_IOWR(0xA2, struct drm_mode_get_output) +#define DRM_IOCTL_MODE_SETCRTC          DRM_IOWR(0xA3, struct drm_mode_crtc)  /*@}*/  /**  | 
