diff options
author | Dave Airlie <airlied@redhat.com> | 2013-02-20 18:31:47 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2013-02-20 18:31:47 -0500 |
commit | ca18e1426bb2db987b67030256477c9571aebd09 (patch) | |
tree | 72e7cbe5f00f90390d00f5d3d4c9bdec79e48bbe /drivers/gpu/drm/drm_encoder_slave.c | |
parent | 74e1697478ffdee0e12e48db024a9b3677fd8cee (diff) | |
parent | 0d4bbaf9f3e5b9f52150ddc5a4ee8b0ab83a440b (diff) |
Merge branch 'tilcdc-next' of git://people.freedesktop.org/~robclark/linux into drm-next
KMS driver for TI LCD controller
* 'tilcdc-next' of git://people.freedesktop.org/~robclark/linux:
drm/tilcdc: add support for LCD panels (v5)
drm/tilcdc: add encoder slave (v2)
drm/i2c: nxp-tda998x (v3)
drm/tilcdc: add TI LCD Controller DRM driver (v4)
drm/nouveau: use i2c encoder helper wrappers
drm: i2c encoder helper wrappers
drm/cma: add debugfs helpers
drm: small fix in drm_send_vblank_event()
drm: Don't set the plane->fb to NULL on successfull set_plane
drm/cma-helper: fixup compilation
Conflicts:
drivers/gpu/drm/Kconfig
drivers/gpu/drm/Makefile
drivers/gpu/drm/drm_fb_cma_helper.c
Diffstat (limited to 'drivers/gpu/drm/drm_encoder_slave.c')
-rw-r--r-- | drivers/gpu/drm/drm_encoder_slave.c | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_encoder_slave.c b/drivers/gpu/drm/drm_encoder_slave.c index 63e733408b6d..48c52f7df4e6 100644 --- a/drivers/gpu/drm/drm_encoder_slave.c +++ b/drivers/gpu/drm/drm_encoder_slave.c | |||
@@ -123,3 +123,66 @@ void drm_i2c_encoder_destroy(struct drm_encoder *drm_encoder) | |||
123 | module_put(module); | 123 | module_put(module); |
124 | } | 124 | } |
125 | EXPORT_SYMBOL(drm_i2c_encoder_destroy); | 125 | EXPORT_SYMBOL(drm_i2c_encoder_destroy); |
126 | |||
127 | /* | ||
128 | * Wrapper fxns which can be plugged in to drm_encoder_helper_funcs: | ||
129 | */ | ||
130 | |||
131 | static inline struct drm_encoder_slave_funcs * | ||
132 | get_slave_funcs(struct drm_encoder *enc) | ||
133 | { | ||
134 | return to_encoder_slave(enc)->slave_funcs; | ||
135 | } | ||
136 | |||
137 | void drm_i2c_encoder_dpms(struct drm_encoder *encoder, int mode) | ||
138 | { | ||
139 | get_slave_funcs(encoder)->dpms(encoder, mode); | ||
140 | } | ||
141 | EXPORT_SYMBOL(drm_i2c_encoder_dpms); | ||
142 | |||
143 | bool drm_i2c_encoder_mode_fixup(struct drm_encoder *encoder, | ||
144 | const struct drm_display_mode *mode, | ||
145 | struct drm_display_mode *adjusted_mode) | ||
146 | { | ||
147 | return get_slave_funcs(encoder)->mode_fixup(encoder, mode, adjusted_mode); | ||
148 | } | ||
149 | EXPORT_SYMBOL(drm_i2c_encoder_mode_fixup); | ||
150 | |||
151 | void drm_i2c_encoder_prepare(struct drm_encoder *encoder) | ||
152 | { | ||
153 | drm_i2c_encoder_dpms(encoder, DRM_MODE_DPMS_OFF); | ||
154 | } | ||
155 | EXPORT_SYMBOL(drm_i2c_encoder_prepare); | ||
156 | |||
157 | void drm_i2c_encoder_commit(struct drm_encoder *encoder) | ||
158 | { | ||
159 | drm_i2c_encoder_dpms(encoder, DRM_MODE_DPMS_ON); | ||
160 | } | ||
161 | EXPORT_SYMBOL(drm_i2c_encoder_commit); | ||
162 | |||
163 | void drm_i2c_encoder_mode_set(struct drm_encoder *encoder, | ||
164 | struct drm_display_mode *mode, | ||
165 | struct drm_display_mode *adjusted_mode) | ||
166 | { | ||
167 | get_slave_funcs(encoder)->mode_set(encoder, mode, adjusted_mode); | ||
168 | } | ||
169 | EXPORT_SYMBOL(drm_i2c_encoder_mode_set); | ||
170 | |||
171 | enum drm_connector_status drm_i2c_encoder_detect(struct drm_encoder *encoder, | ||
172 | struct drm_connector *connector) | ||
173 | { | ||
174 | return get_slave_funcs(encoder)->detect(encoder, connector); | ||
175 | } | ||
176 | EXPORT_SYMBOL(drm_i2c_encoder_detect); | ||
177 | |||
178 | void drm_i2c_encoder_save(struct drm_encoder *encoder) | ||
179 | { | ||
180 | get_slave_funcs(encoder)->save(encoder); | ||
181 | } | ||
182 | EXPORT_SYMBOL(drm_i2c_encoder_save); | ||
183 | |||
184 | void drm_i2c_encoder_restore(struct drm_encoder *encoder) | ||
185 | { | ||
186 | get_slave_funcs(encoder)->restore(encoder); | ||
187 | } | ||
188 | EXPORT_SYMBOL(drm_i2c_encoder_restore); | ||