Rev 1630 | Rev 2967 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1630 | Rev 1964 | ||
---|---|---|---|
Line 37... | Line 37... | ||
37 | #include |
37 | #include |
38 | #include |
38 | #include |
Line 39... | Line 39... | ||
39 | 39 | ||
Line 40... | Line 40... | ||
40 | #include |
40 | #include |
- | 41 | ||
- | 42 | enum mode_set_atomic { |
|
- | 43 | LEAVE_ATOMIC_MODE_SET, |
|
- | 44 | ENTER_ATOMIC_MODE_SET, |
|
41 | 45 | }; |
|
42 | #include "drm_fb_helper.h" |
46 | |
43 | struct drm_crtc_helper_funcs { |
47 | struct drm_crtc_helper_funcs { |
44 | /* |
48 | /* |
45 | * Control power levels on the CRTC. If the mode passed in is |
49 | * Control power levels on the CRTC. If the mode passed in is |
Line 59... | Line 63... | ||
59 | struct drm_framebuffer *old_fb); |
63 | struct drm_framebuffer *old_fb); |
Line 60... | Line 64... | ||
60 | 64 | ||
61 | /* Move the crtc on the current fb to the given position *optional* */ |
65 | /* Move the crtc on the current fb to the given position *optional* */ |
62 | int (*mode_set_base)(struct drm_crtc *crtc, int x, int y, |
66 | int (*mode_set_base)(struct drm_crtc *crtc, int x, int y, |
- | 67 | struct drm_framebuffer *old_fb); |
|
- | 68 | int (*mode_set_base_atomic)(struct drm_crtc *crtc, |
|
- | 69 | struct drm_framebuffer *fb, int x, int y, |
|
Line 63... | Line 70... | ||
63 | struct drm_framebuffer *old_fb); |
70 | enum mode_set_atomic); |
64 | 71 | ||
- | 72 | /* reload the current crtc LUT */ |
|
- | 73 | void (*load_lut)(struct drm_crtc *crtc); |
|
- | 74 | ||
65 | /* reload the current crtc LUT */ |
75 | /* disable crtc when not in use - more explicit than dpms off */ |
Line 66... | Line 76... | ||
66 | void (*load_lut)(struct drm_crtc *crtc); |
76 | void (*disable)(struct drm_crtc *crtc); |
67 | }; |
77 | }; |
68 | 78 | ||
Line 94... | Line 104... | ||
94 | struct drm_encoder *(*best_encoder)(struct drm_connector *connector); |
104 | struct drm_encoder *(*best_encoder)(struct drm_connector *connector); |
95 | }; |
105 | }; |
Line 96... | Line 106... | ||
96 | 106 | ||
97 | extern int drm_helper_probe_single_connector_modes(struct drm_connector *connector, uint32_t maxX, uint32_t maxY); |
107 | extern int drm_helper_probe_single_connector_modes(struct drm_connector *connector, uint32_t maxX, uint32_t maxY); |
98 | extern void drm_helper_disable_unused_functions(struct drm_device *dev); |
- | |
99 | extern int drm_helper_hotplug_stage_two(struct drm_device *dev); |
- | |
100 | extern bool drm_helper_initial_config(struct drm_device *dev); |
108 | extern void drm_helper_disable_unused_functions(struct drm_device *dev); |
101 | extern int drm_crtc_helper_set_config(struct drm_mode_set *set); |
109 | extern int drm_crtc_helper_set_config(struct drm_mode_set *set); |
102 | extern bool drm_crtc_helper_set_mode(struct drm_crtc *crtc, |
110 | extern bool drm_crtc_helper_set_mode(struct drm_crtc *crtc, |
103 | struct drm_display_mode *mode, |
111 | struct drm_display_mode *mode, |
104 | int x, int y, |
112 | int x, int y, |
Line 121... | Line 129... | ||
121 | const struct drm_encoder_helper_funcs *funcs) |
129 | const struct drm_encoder_helper_funcs *funcs) |
122 | { |
130 | { |
123 | encoder->helper_private = (void *)funcs; |
131 | encoder->helper_private = (void *)funcs; |
124 | } |
132 | } |
Line 125... | Line 133... | ||
125 | 133 | ||
126 | static inline int drm_connector_helper_add(struct drm_connector *connector, |
134 | static inline void drm_connector_helper_add(struct drm_connector *connector, |
127 | const struct drm_connector_helper_funcs *funcs) |
135 | const struct drm_connector_helper_funcs *funcs) |
128 | { |
136 | { |
129 | connector->helper_private = (void *)funcs; |
- | |
130 | return drm_fb_helper_add_connector(connector); |
137 | connector->helper_private = (void *)funcs; |
Line 131... | Line 138... | ||
131 | } |
138 | } |
- | 139 | ||
- | 140 | extern int drm_helper_resume_force_mode(struct drm_device *dev); |
|
- | 141 | extern void drm_kms_helper_poll_init(struct drm_device *dev); |
|
- | 142 | extern void drm_kms_helper_poll_fini(struct drm_device *dev); |
|
- | 143 | extern void drm_helper_hpd_irq_event(struct drm_device *dev); |
|
- | 144 | ||
132 | 145 | extern void drm_kms_helper_poll_disable(struct drm_device *dev); |