I really screwed up that merge somehow
parent
add7d21c79
commit
ccae12a837
|
@ -960,6 +960,175 @@ struct drm_mm_info_arg {
|
||||||
uint64_t p_size;
|
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
|
* \name Ioctls Definitions
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue