I really screwed up that merge somehow
parent
add7d21c79
commit
ccae12a837
|
@ -960,6 +960,175 @@ struct drm_mm_info_arg {
|
|||
uint64_t p_size;
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Drm mode setting
|
||||
*/
|
||||
#define DRM_DISPLAY_INFO_LEN 32
|
||||
#define DRM_OUTPUT_NAME_LEN 32
|
||||
#define DRM_DISPLAY_MODE_LEN 32
|
||||
#define DRM_PROP_NAME_LEN 32
|
||||
|
||||
#define DRM_MODE_TYPE_BUILTIN (1<<0)
|
||||
#define DRM_MODE_TYPE_CLOCK_C ((1<<1) | DRM_MODE_TYPE_BUILTIN)
|
||||
#define DRM_MODE_TYPE_CRTC_C ((1<<2) | DRM_MODE_TYPE_BUILTIN)
|
||||
#define DRM_MODE_TYPE_PREFERRED (1<<3)
|
||||
#define DRM_MODE_TYPE_DEFAULT (1<<4)
|
||||
#define DRM_MODE_TYPE_USERDEF (1<<5)
|
||||
#define DRM_MODE_TYPE_DRIVER (1<<6)
|
||||
|
||||
struct drm_mode_modeinfo {
|
||||
unsigned int clock;
|
||||
unsigned short hdisplay, hsync_start, hsync_end, htotal, hskew;
|
||||
unsigned short vdisplay, vsync_start, vsync_end, vtotal, vscan;
|
||||
|
||||
unsigned int vrefresh; /* vertical refresh * 1000 */
|
||||
|
||||
unsigned int flags;
|
||||
unsigned int type;
|
||||
char name[DRM_DISPLAY_MODE_LEN];
|
||||
};
|
||||
|
||||
struct drm_mode_card_res {
|
||||
uint64_t fb_id_ptr;
|
||||
uint64_t crtc_id_ptr;
|
||||
uint64_t output_id_ptr;
|
||||
int count_fbs;
|
||||
int count_crtcs;
|
||||
int count_outputs;
|
||||
int min_width, max_width;
|
||||
int min_height, max_height;
|
||||
};
|
||||
|
||||
struct drm_mode_crtc {
|
||||
uint64_t set_outputs_ptr;
|
||||
|
||||
unsigned int crtc_id; /**< Id */
|
||||
unsigned int fb_id; /**< Id of framebuffer */
|
||||
|
||||
int x, y; /**< Position on the frameuffer */
|
||||
|
||||
int count_outputs;
|
||||
unsigned int outputs; /**< Outputs that are connected */
|
||||
|
||||
int count_possibles;
|
||||
unsigned int possibles; /**< Outputs that can be connected */
|
||||
int gamma_size;
|
||||
int mode_valid;
|
||||
struct drm_mode_modeinfo mode;
|
||||
};
|
||||
|
||||
#define DRM_MODE_OUTPUT_NONE 0
|
||||
#define DRM_MODE_OUTPUT_DAC 1
|
||||
#define DRM_MODE_OUTPUT_TMDS 2
|
||||
#define DRM_MODE_OUTPUT_LVDS 3
|
||||
#define DRM_MODE_OUTPUT_TVDAC 4
|
||||
|
||||
struct drm_mode_get_output {
|
||||
|
||||
uint64_t modes_ptr;
|
||||
uint64_t props_ptr;
|
||||
uint64_t prop_values_ptr;
|
||||
|
||||
int count_modes;
|
||||
int count_props;
|
||||
unsigned int output; /**< Id */
|
||||
unsigned int crtc; /**< Id of crtc */
|
||||
unsigned int output_type;
|
||||
unsigned int output_type_id;
|
||||
|
||||
unsigned int connection;
|
||||
unsigned int mm_width, mm_height; /**< HxW in millimeters */
|
||||
unsigned int subpixel;
|
||||
int count_crtcs;
|
||||
int count_clones;
|
||||
unsigned int crtcs; /**< possible crtc to connect to */
|
||||
unsigned int clones; /**< list of clones */
|
||||
};
|
||||
|
||||
#define DRM_MODE_PROP_PENDING (1<<0)
|
||||
#define DRM_MODE_PROP_RANGE (1<<1)
|
||||
#define DRM_MODE_PROP_IMMUTABLE (1<<2)
|
||||
#define DRM_MODE_PROP_ENUM (1<<3) // enumerated type with text strings
|
||||
#define DRM_MODE_PROP_BLOB (1<<4)
|
||||
|
||||
struct drm_mode_property_enum {
|
||||
uint64_t value;
|
||||
unsigned char name[DRM_PROP_NAME_LEN];
|
||||
};
|
||||
|
||||
struct drm_mode_get_property {
|
||||
uint64_t values_ptr; /* values and blob lengths */
|
||||
uint64_t enum_blob_ptr; /* enum and blob id ptrs */
|
||||
|
||||
unsigned int prop_id;
|
||||
unsigned int flags;
|
||||
unsigned char name[DRM_PROP_NAME_LEN];
|
||||
|
||||
int count_values;
|
||||
int count_enum_blobs;
|
||||
};
|
||||
|
||||
struct drm_mode_output_set_property {
|
||||
uint64_t value;
|
||||
unsigned int prop_id;
|
||||
unsigned int output_id;
|
||||
};
|
||||
|
||||
struct drm_mode_get_blob {
|
||||
uint32_t blob_id;
|
||||
uint32_t length;
|
||||
uint64_t data;
|
||||
};
|
||||
|
||||
struct drm_mode_fb_cmd {
|
||||
unsigned int buffer_id;
|
||||
unsigned int width, height;
|
||||
unsigned int pitch;
|
||||
unsigned int bpp;
|
||||
unsigned int handle;
|
||||
unsigned int depth;
|
||||
};
|
||||
|
||||
struct drm_mode_mode_cmd {
|
||||
unsigned int output_id;
|
||||
struct drm_mode_modeinfo mode;
|
||||
};
|
||||
|
||||
#define DRM_MODE_CURSOR_BO 0x01
|
||||
#define DRM_MODE_CURSOR_MOVE 0x02
|
||||
|
||||
/*
|
||||
* depending on the value in flags diffrent members are used.
|
||||
*
|
||||
* CURSOR_BO uses
|
||||
* crtc
|
||||
* width
|
||||
* height
|
||||
* handle - if 0 turns the cursor of
|
||||
*
|
||||
* CURSOR_MOVE uses
|
||||
* crtc
|
||||
* x
|
||||
* y
|
||||
*/
|
||||
struct drm_mode_cursor {
|
||||
unsigned int flags;
|
||||
unsigned int crtc;
|
||||
int x;
|
||||
int y;
|
||||
uint32_t width;
|
||||
uint32_t height;
|
||||
unsigned int handle;
|
||||
};
|
||||
|
||||
/*
|
||||
* oh so ugly hotplug
|
||||
*/
|
||||
struct drm_mode_hotplug {
|
||||
uint32_t counter;
|
||||
};
|
||||
|
||||
/**
|
||||
* \name Ioctls Definitions
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue