120,7 → 120,7 |
.hdisplay = (hd), .hsync_start = (hss), .hsync_end = (hse), \ |
.htotal = (ht), .hskew = (hsk), .vdisplay = (vd), \ |
.vsync_start = (vss), .vsync_end = (vse), .vtotal = (vt), \ |
.vscan = (vs), .flags = (f), \ |
.vscan = (vs), .flags = (f), .vrefresh = 0, \ |
.base.type = DRM_MODE_OBJECT_MODE |
|
#define CRTC_INTERLACE_HALVE_V 0x1 /* halve V values for interlacing */ |
310,7 → 310,7 |
* drm_crtc_funcs - control CRTCs for a given device |
* @save: save CRTC state |
* @restore: restore CRTC state |
* @reset: reset CRTC after state has been invalidated (e.g. resume) |
* @reset: reset CRTC after state has been invalidate (e.g. resume) |
* @cursor_set: setup the cursor |
* @cursor_move: move the cursor |
* @gamma_set: specify color ramp for CRTC |
554,6 → 554,7 |
* @probed_modes: list of modes derived directly from the display |
* @display_info: information about attached display (e.g. from EDID) |
* @funcs: connector control functions |
* @user_modes: user added mode list |
* @edid_blob_ptr: DRM property containing EDID if present |
* @properties: property tracking for this connector |
* @polled: a %DRM_CONNECTOR_POLL_<foo> value for core driven polling |
597,6 → 598,7 |
struct drm_display_info display_info; |
const struct drm_connector_funcs *funcs; |
|
struct list_head user_modes; |
struct drm_property_blob *edid_blob_ptr; |
struct drm_object_properties properties; |
|
920,11 → 922,15 |
extern void drm_mode_config_cleanup(struct drm_device *dev); |
extern void drm_mode_set_name(struct drm_display_mode *mode); |
extern bool drm_mode_equal(const struct drm_display_mode *mode1, const struct drm_display_mode *mode2); |
extern bool drm_mode_equal_no_clocks(const struct drm_display_mode *mode1, const struct drm_display_mode *mode2); |
extern int drm_mode_width(const struct drm_display_mode *mode); |
extern int drm_mode_height(const struct drm_display_mode *mode); |
|
/* for us by fb module */ |
extern int drm_mode_attachmode_crtc(struct drm_device *dev, |
struct drm_crtc *crtc, |
const struct drm_display_mode *mode); |
extern int drm_mode_detachmode_crtc(struct drm_device *dev, struct drm_display_mode *mode); |
|
extern struct drm_display_mode *drm_mode_create(struct drm_device *dev); |
extern void drm_mode_destroy(struct drm_device *dev, struct drm_display_mode *mode); |
extern void drm_mode_list_concat(struct list_head *head, |
932,9 → 938,6 |
extern void drm_mode_validate_size(struct drm_device *dev, |
struct list_head *mode_list, |
int maxX, int maxY, int maxPitch); |
extern void drm_mode_validate_clocks(struct drm_device *dev, |
struct list_head *mode_list, |
int *min, int *max, int n_ranges); |
extern void drm_mode_prune_invalid(struct drm_device *dev, |
struct list_head *mode_list, bool verbose); |
extern void drm_mode_sort(struct list_head *mode_list); |
1033,6 → 1036,14 |
void *data, struct drm_file *file_priv); |
extern int drm_mode_dirtyfb_ioctl(struct drm_device *dev, |
void *data, struct drm_file *file_priv); |
extern int drm_mode_addmode_ioctl(struct drm_device *dev, |
void *data, struct drm_file *file_priv); |
extern int drm_mode_rmmode_ioctl(struct drm_device *dev, |
void *data, struct drm_file *file_priv); |
extern int drm_mode_attachmode_ioctl(struct drm_device *dev, |
void *data, struct drm_file *file_priv); |
extern int drm_mode_detachmode_ioctl(struct drm_device *dev, |
void *data, struct drm_file *file_priv); |
|
extern int drm_mode_getproperty_ioctl(struct drm_device *dev, |
void *data, struct drm_file *file_priv); |