Lines Matching refs:encoder
33 static void ch7006_encoder_set_config(struct drm_encoder *encoder, in ch7006_encoder_set_config() argument
36 struct ch7006_priv *priv = to_ch7006_priv(encoder); in ch7006_encoder_set_config()
41 static void ch7006_encoder_destroy(struct drm_encoder *encoder) in ch7006_encoder_destroy() argument
43 struct ch7006_priv *priv = to_ch7006_priv(encoder); in ch7006_encoder_destroy()
45 drm_property_destroy(encoder->dev, priv->scale_property); in ch7006_encoder_destroy()
48 to_encoder_slave(encoder)->slave_priv = NULL; in ch7006_encoder_destroy()
50 drm_i2c_encoder_destroy(encoder); in ch7006_encoder_destroy()
53 static void ch7006_encoder_dpms(struct drm_encoder *encoder, int mode) in ch7006_encoder_dpms() argument
55 struct i2c_client *client = drm_i2c_encoder_get_client(encoder); in ch7006_encoder_dpms()
56 struct ch7006_priv *priv = to_ch7006_priv(encoder); in ch7006_encoder_dpms()
65 ch7006_setup_power_state(encoder); in ch7006_encoder_dpms()
70 static void ch7006_encoder_save(struct drm_encoder *encoder) in ch7006_encoder_save() argument
72 struct i2c_client *client = drm_i2c_encoder_get_client(encoder); in ch7006_encoder_save()
73 struct ch7006_priv *priv = to_ch7006_priv(encoder); in ch7006_encoder_save()
80 static void ch7006_encoder_restore(struct drm_encoder *encoder) in ch7006_encoder_restore() argument
82 struct i2c_client *client = drm_i2c_encoder_get_client(encoder); in ch7006_encoder_restore()
83 struct ch7006_priv *priv = to_ch7006_priv(encoder); in ch7006_encoder_restore()
90 static bool ch7006_encoder_mode_fixup(struct drm_encoder *encoder, in ch7006_encoder_mode_fixup() argument
94 struct ch7006_priv *priv = to_ch7006_priv(encoder); in ch7006_encoder_mode_fixup()
99 priv->mode = ch7006_lookup_mode(encoder, mode); in ch7006_encoder_mode_fixup()
104 static int ch7006_encoder_mode_valid(struct drm_encoder *encoder, in ch7006_encoder_mode_valid() argument
107 if (ch7006_lookup_mode(encoder, mode)) in ch7006_encoder_mode_valid()
113 static void ch7006_encoder_mode_set(struct drm_encoder *encoder, in ch7006_encoder_mode_set() argument
117 struct i2c_client *client = drm_i2c_encoder_get_client(encoder); in ch7006_encoder_mode_set()
118 struct ch7006_priv *priv = to_ch7006_priv(encoder); in ch7006_encoder_mode_set()
168 ch7006_setup_levels(encoder); in ch7006_encoder_mode_set()
169 ch7006_setup_subcarrier(encoder); in ch7006_encoder_mode_set()
170 ch7006_setup_pll(encoder); in ch7006_encoder_mode_set()
171 ch7006_setup_power_state(encoder); in ch7006_encoder_mode_set()
172 ch7006_setup_properties(encoder); in ch7006_encoder_mode_set()
177 static enum drm_connector_status ch7006_encoder_detect(struct drm_encoder *encoder, in ch7006_encoder_detect() argument
180 struct i2c_client *client = drm_i2c_encoder_get_client(encoder); in ch7006_encoder_detect()
181 struct ch7006_priv *priv = to_ch7006_priv(encoder); in ch7006_encoder_detect()
218 encoder->dev->mode_config.tv_subconnector_property, in ch7006_encoder_detect()
225 static int ch7006_encoder_get_modes(struct drm_encoder *encoder, in ch7006_encoder_get_modes() argument
228 struct ch7006_priv *priv = to_ch7006_priv(encoder); in ch7006_encoder_get_modes()
238 drm_mode_duplicate(encoder->dev, &mode->mode)); in ch7006_encoder_get_modes()
246 static int ch7006_encoder_create_resources(struct drm_encoder *encoder, in ch7006_encoder_create_resources() argument
249 struct ch7006_priv *priv = to_ch7006_priv(encoder); in ch7006_encoder_create_resources()
250 struct drm_device *dev = encoder->dev; in ch7006_encoder_create_resources()
281 static int ch7006_encoder_set_property(struct drm_encoder *encoder, in ch7006_encoder_set_property() argument
286 struct i2c_client *client = drm_i2c_encoder_get_client(encoder); in ch7006_encoder_set_property()
287 struct ch7006_priv *priv = to_ch7006_priv(encoder); in ch7006_encoder_set_property()
289 struct drm_mode_config *conf = &encoder->dev->mode_config; in ch7006_encoder_set_property()
290 struct drm_crtc *crtc = encoder->crtc; in ch7006_encoder_set_property()
298 ch7006_setup_power_state(encoder); in ch7006_encoder_set_property()
305 ch7006_setup_properties(encoder); in ch7006_encoder_set_property()
313 ch7006_setup_properties(encoder); in ch7006_encoder_set_property()
329 ch7006_setup_levels(encoder); in ch7006_encoder_set_property()
336 ch7006_setup_properties(encoder); in ch7006_encoder_set_property()
343 ch7006_setup_properties(encoder); in ch7006_encoder_set_property()
440 struct drm_encoder_slave *encoder) in ch7006_encoder_init() argument
451 encoder->slave_priv = priv; in ch7006_encoder_init()
452 encoder->slave_funcs = &ch7006_encoder_funcs; in ch7006_encoder_init()