not needed, hotplug will work just as well hopefully.
* buffer object interface. This object needs to be pinned.
*/
-/*
- * generation - these are to be read by userspace, and if it notices
- * while calling a get output or get crtc that the generation has changed
- * it should re-call the mode resource functions resync its view of the
- * outputs with current view.
- */
-
typedef struct _drmModeRes {
- uint32_t generation;
int count_fbs;
uint32_t *fbs;
typedef struct _drmModeCrtc {
unsigned int crtc_id;
unsigned int buffer_id; /**< FB id to connect to 0 = disconnect */
- uint32_t generation;
uint32_t x, y; /**< Position on the frameuffer */
uint32_t width, height;
} drmModeCrtc, *drmModeCrtcPtr;
typedef struct _drmModeEncoder {
- uint32_t generation;
unsigned int encoder_id;
unsigned int encoder_type;
uint32_t crtc;
} drmModeSubPixel;
typedef struct _drmModeConnector {
- uint32_t generation;
unsigned int connector_id;
unsigned int encoder; /**< Encoder currently connected to */
unsigned int connector_type;
drm_mode_create_standard_connector_properties(dev);
/* Just to be sure */
- dev->mode_config.current_generation = 0;
dev->mode_config.num_fb = 0;
dev->mode_config.num_connector = 0;
dev->mode_config.num_crtc = 0;
card_res->min_height = dev->mode_config.min_height;
card_res->max_width = dev->mode_config.max_width;
card_res->min_width = dev->mode_config.min_width;
- card_res->generation = dev->mode_config.current_generation;
/* handle this in 4 parts */
/* FBs */
crtc_resp->x = crtc->x;
crtc_resp->y = crtc->y;
crtc_resp->gamma_size = crtc->gamma_size;
- crtc_resp->generation = dev->mode_config.current_generation;
if (crtc->fb)
crtc_resp->fb_id = crtc->fb->base.id;
else
list_for_each_entry(mode, &connector->modes, head)
mode_count++;
- out_resp->generation = dev->mode_config.current_generation;
out_resp->connector_type = connector->connector_type;
out_resp->connector_type_id = connector->connector_type_id;
out_resp->mm_width = connector->display_info.width_mm;
enc_resp->crtc = encoder->crtc->base.id;
else
enc_resp->crtc = 0;
- enc_resp->generation = dev->mode_config.current_generation;
enc_resp->encoder_type = encoder->encoder_type;
enc_resp->encoder_id = encoder->base.id;
enc_resp->crtcs = encoder->possible_crtcs;
/* in-kernel framebuffers - hung of filp_head in drm_framebuffer */
struct list_head fb_kernel_list;
- /* currently in use generation id */
- int current_generation;
-
int min_width, min_height;
int max_width, max_height;
struct drm_mode_config_funcs *funcs;
int count_encoders;
int min_width, max_width;
int min_height, max_height;
- uint32_t generation;
};
struct drm_mode_crtc {
int x, y; /**< Position on the frameuffer */
- uint32_t generation;
-
int count_connectors;
unsigned int connectors; /**< Connectors that are connected */
struct drm_mode_get_encoder {
- uint32_t generation;
-
uint32_t encoder_type;
uint32_t encoder_id;
unsigned int connector_type;
unsigned int connector_type_id;
- uint32_t generation;
-
unsigned int connection;
unsigned int mm_width, mm_height; /**< HxW in millimeters */
unsigned int subpixel;