Lines Matching full:encoder
43 static void radeon_legacy_encoder_disable(struct drm_encoder *encoder) in radeon_legacy_encoder_disable() argument
45 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_legacy_encoder_disable()
48 encoder_funcs = encoder->helper_private; in radeon_legacy_encoder_disable()
49 encoder_funcs->dpms(encoder, DRM_MODE_DPMS_OFF); in radeon_legacy_encoder_disable()
53 static void radeon_legacy_lvds_update(struct drm_encoder *encoder, int mode) in radeon_legacy_lvds_update() argument
55 struct drm_device *dev = encoder->dev; in radeon_legacy_lvds_update()
57 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_legacy_lvds_update()
136 radeon_atombios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false); in radeon_legacy_lvds_update()
138 radeon_combios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false); in radeon_legacy_lvds_update()
142 static void radeon_legacy_lvds_dpms(struct drm_encoder *encoder, int mode) in radeon_legacy_lvds_dpms() argument
144 struct radeon_device *rdev = encoder->dev->dev_private; in radeon_legacy_lvds_dpms()
145 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_legacy_lvds_dpms()
158 radeon_legacy_lvds_update(encoder, mode); in radeon_legacy_lvds_dpms()
161 static void radeon_legacy_lvds_prepare(struct drm_encoder *encoder) in radeon_legacy_lvds_prepare() argument
163 struct radeon_device *rdev = encoder->dev->dev_private; in radeon_legacy_lvds_prepare()
166 radeon_atom_output_lock(encoder, true); in radeon_legacy_lvds_prepare()
168 radeon_combios_output_lock(encoder, true); in radeon_legacy_lvds_prepare()
169 radeon_legacy_lvds_dpms(encoder, DRM_MODE_DPMS_OFF); in radeon_legacy_lvds_prepare()
172 static void radeon_legacy_lvds_commit(struct drm_encoder *encoder) in radeon_legacy_lvds_commit() argument
174 struct radeon_device *rdev = encoder->dev->dev_private; in radeon_legacy_lvds_commit()
176 radeon_legacy_lvds_dpms(encoder, DRM_MODE_DPMS_ON); in radeon_legacy_lvds_commit()
178 radeon_atom_output_lock(encoder, false); in radeon_legacy_lvds_commit()
180 radeon_combios_output_lock(encoder, false); in radeon_legacy_lvds_commit()
183 static void radeon_legacy_lvds_mode_set(struct drm_encoder *encoder, in radeon_legacy_lvds_mode_set() argument
187 struct drm_device *dev = encoder->dev; in radeon_legacy_lvds_mode_set()
189 struct radeon_crtc *radeon_crtc = to_radeon_crtc(encoder->crtc); in radeon_legacy_lvds_mode_set()
190 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_legacy_lvds_mode_set()
204 atombios_digital_setup(encoder, PANEL_ENCODER_ACTION_ENABLE); in radeon_legacy_lvds_mode_set()
248 radeon_atombios_encoder_crtc_scratch_regs(encoder, radeon_crtc->crtc_id); in radeon_legacy_lvds_mode_set()
250 radeon_combios_encoder_crtc_scratch_regs(encoder, radeon_crtc->crtc_id); in radeon_legacy_lvds_mode_set()
253 static bool radeon_legacy_mode_fixup(struct drm_encoder *encoder, in radeon_legacy_mode_fixup() argument
257 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_legacy_mode_fixup()
259 /* set the active encoder to connector routing */ in radeon_legacy_mode_fixup()
260 radeon_encoder_set_active_device(encoder); in radeon_legacy_mode_fixup()
265 radeon_panel_mode_fixup(encoder, adjusted_mode); in radeon_legacy_mode_fixup()
344 struct radeon_encoder *radeon_encoder = pdata->encoder; in radeon_legacy_backlight_update_status()
355 struct radeon_encoder *radeon_encoder = pdata->encoder; in radeon_legacy_backlight_get_brightness()
409 pdata->encoder = radeon_encoder; in radeon_legacy_backlight_init()
492 void radeon_legacy_backlight_init(struct radeon_encoder *encoder) in radeon_legacy_backlight_init() argument
496 static void radeon_legacy_backlight_exit(struct radeon_encoder *encoder) in radeon_legacy_backlight_exit() argument
503 static void radeon_lvds_enc_destroy(struct drm_encoder *encoder) in radeon_lvds_enc_destroy() argument
505 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_lvds_enc_destroy()
511 drm_encoder_cleanup(encoder); in radeon_lvds_enc_destroy()
519 static void radeon_legacy_primary_dac_dpms(struct drm_encoder *encoder, int mode) in radeon_legacy_primary_dac_dpms() argument
521 struct drm_device *dev = encoder->dev; in radeon_legacy_primary_dac_dpms()
555 radeon_atombios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false); in radeon_legacy_primary_dac_dpms()
557 radeon_combios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false); in radeon_legacy_primary_dac_dpms()
561 static void radeon_legacy_primary_dac_prepare(struct drm_encoder *encoder) in radeon_legacy_primary_dac_prepare() argument
563 struct radeon_device *rdev = encoder->dev->dev_private; in radeon_legacy_primary_dac_prepare()
566 radeon_atom_output_lock(encoder, true); in radeon_legacy_primary_dac_prepare()
568 radeon_combios_output_lock(encoder, true); in radeon_legacy_primary_dac_prepare()
569 radeon_legacy_primary_dac_dpms(encoder, DRM_MODE_DPMS_OFF); in radeon_legacy_primary_dac_prepare()
572 static void radeon_legacy_primary_dac_commit(struct drm_encoder *encoder) in radeon_legacy_primary_dac_commit() argument
574 struct radeon_device *rdev = encoder->dev->dev_private; in radeon_legacy_primary_dac_commit()
576 radeon_legacy_primary_dac_dpms(encoder, DRM_MODE_DPMS_ON); in radeon_legacy_primary_dac_commit()
579 radeon_atom_output_lock(encoder, false); in radeon_legacy_primary_dac_commit()
581 radeon_combios_output_lock(encoder, false); in radeon_legacy_primary_dac_commit()
584 static void radeon_legacy_primary_dac_mode_set(struct drm_encoder *encoder, in radeon_legacy_primary_dac_mode_set() argument
588 struct drm_device *dev = encoder->dev; in radeon_legacy_primary_dac_mode_set()
590 struct radeon_crtc *radeon_crtc = to_radeon_crtc(encoder->crtc); in radeon_legacy_primary_dac_mode_set()
591 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_legacy_primary_dac_mode_set()
636 radeon_atombios_encoder_crtc_scratch_regs(encoder, radeon_crtc->crtc_id); in radeon_legacy_primary_dac_mode_set()
638 radeon_combios_encoder_crtc_scratch_regs(encoder, radeon_crtc->crtc_id); in radeon_legacy_primary_dac_mode_set()
641 static enum drm_connector_status radeon_legacy_primary_dac_detect(struct drm_encoder *encoder, in radeon_legacy_primary_dac_detect() argument
644 struct drm_device *dev = encoder->dev; in radeon_legacy_primary_dac_detect()
653 * everyone happy report the encoder as always connected. in radeon_legacy_primary_dac_detect()
731 static void radeon_legacy_tmds_int_dpms(struct drm_encoder *encoder, int mode) in radeon_legacy_tmds_int_dpms() argument
733 struct drm_device *dev = encoder->dev; in radeon_legacy_tmds_int_dpms()
752 radeon_atombios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false); in radeon_legacy_tmds_int_dpms()
754 radeon_combios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false); in radeon_legacy_tmds_int_dpms()
758 static void radeon_legacy_tmds_int_prepare(struct drm_encoder *encoder) in radeon_legacy_tmds_int_prepare() argument
760 struct radeon_device *rdev = encoder->dev->dev_private; in radeon_legacy_tmds_int_prepare()
763 radeon_atom_output_lock(encoder, true); in radeon_legacy_tmds_int_prepare()
765 radeon_combios_output_lock(encoder, true); in radeon_legacy_tmds_int_prepare()
766 radeon_legacy_tmds_int_dpms(encoder, DRM_MODE_DPMS_OFF); in radeon_legacy_tmds_int_prepare()
769 static void radeon_legacy_tmds_int_commit(struct drm_encoder *encoder) in radeon_legacy_tmds_int_commit() argument
771 struct radeon_device *rdev = encoder->dev->dev_private; in radeon_legacy_tmds_int_commit()
773 radeon_legacy_tmds_int_dpms(encoder, DRM_MODE_DPMS_ON); in radeon_legacy_tmds_int_commit()
776 radeon_atom_output_lock(encoder, true); in radeon_legacy_tmds_int_commit()
778 radeon_combios_output_lock(encoder, true); in radeon_legacy_tmds_int_commit()
781 static void radeon_legacy_tmds_int_mode_set(struct drm_encoder *encoder, in radeon_legacy_tmds_int_mode_set() argument
785 struct drm_device *dev = encoder->dev; in radeon_legacy_tmds_int_mode_set()
787 struct radeon_crtc *radeon_crtc = to_radeon_crtc(encoder->crtc); in radeon_legacy_tmds_int_mode_set()
788 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_legacy_tmds_int_mode_set()
876 radeon_atombios_encoder_crtc_scratch_regs(encoder, radeon_crtc->crtc_id); in radeon_legacy_tmds_int_mode_set()
878 radeon_combios_encoder_crtc_scratch_regs(encoder, radeon_crtc->crtc_id); in radeon_legacy_tmds_int_mode_set()
895 static void radeon_legacy_tmds_ext_dpms(struct drm_encoder *encoder, int mode) in radeon_legacy_tmds_ext_dpms() argument
897 struct drm_device *dev = encoder->dev; in radeon_legacy_tmds_ext_dpms()
918 radeon_atombios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false); in radeon_legacy_tmds_ext_dpms()
920 radeon_combios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false); in radeon_legacy_tmds_ext_dpms()
924 static void radeon_legacy_tmds_ext_prepare(struct drm_encoder *encoder) in radeon_legacy_tmds_ext_prepare() argument
926 struct radeon_device *rdev = encoder->dev->dev_private; in radeon_legacy_tmds_ext_prepare()
929 radeon_atom_output_lock(encoder, true); in radeon_legacy_tmds_ext_prepare()
931 radeon_combios_output_lock(encoder, true); in radeon_legacy_tmds_ext_prepare()
932 radeon_legacy_tmds_ext_dpms(encoder, DRM_MODE_DPMS_OFF); in radeon_legacy_tmds_ext_prepare()
935 static void radeon_legacy_tmds_ext_commit(struct drm_encoder *encoder) in radeon_legacy_tmds_ext_commit() argument
937 struct radeon_device *rdev = encoder->dev->dev_private; in radeon_legacy_tmds_ext_commit()
938 radeon_legacy_tmds_ext_dpms(encoder, DRM_MODE_DPMS_ON); in radeon_legacy_tmds_ext_commit()
941 radeon_atom_output_lock(encoder, false); in radeon_legacy_tmds_ext_commit()
943 radeon_combios_output_lock(encoder, false); in radeon_legacy_tmds_ext_commit()
946 static void radeon_legacy_tmds_ext_mode_set(struct drm_encoder *encoder, in radeon_legacy_tmds_ext_mode_set() argument
950 struct drm_device *dev = encoder->dev; in radeon_legacy_tmds_ext_mode_set()
952 struct radeon_crtc *radeon_crtc = to_radeon_crtc(encoder->crtc); in radeon_legacy_tmds_ext_mode_set()
953 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_legacy_tmds_ext_mode_set()
960 atombios_dvo_setup(encoder, ATOM_ENABLE); in radeon_legacy_tmds_ext_mode_set()
986 if (!radeon_combios_external_tmds_setup(encoder)) in radeon_legacy_tmds_ext_mode_set()
987 radeon_external_tmds_setup(encoder); in radeon_legacy_tmds_ext_mode_set()
1010 radeon_atombios_encoder_crtc_scratch_regs(encoder, radeon_crtc->crtc_id); in radeon_legacy_tmds_ext_mode_set()
1012 radeon_combios_encoder_crtc_scratch_regs(encoder, radeon_crtc->crtc_id); in radeon_legacy_tmds_ext_mode_set()
1015 static void radeon_ext_tmds_enc_destroy(struct drm_encoder *encoder) in radeon_ext_tmds_enc_destroy() argument
1017 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_ext_tmds_enc_destroy()
1020 drm_encoder_cleanup(encoder); in radeon_ext_tmds_enc_destroy()
1038 static void radeon_legacy_tv_dac_dpms(struct drm_encoder *encoder, int mode) in radeon_legacy_tv_dac_dpms() argument
1040 struct drm_device *dev = encoder->dev; in radeon_legacy_tv_dac_dpms()
1042 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_legacy_tv_dac_dpms()
1123 radeon_atombios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false); in radeon_legacy_tv_dac_dpms()
1125 radeon_combios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false); in radeon_legacy_tv_dac_dpms()
1129 static void radeon_legacy_tv_dac_prepare(struct drm_encoder *encoder) in radeon_legacy_tv_dac_prepare() argument
1131 struct radeon_device *rdev = encoder->dev->dev_private; in radeon_legacy_tv_dac_prepare()
1134 radeon_atom_output_lock(encoder, true); in radeon_legacy_tv_dac_prepare()
1136 radeon_combios_output_lock(encoder, true); in radeon_legacy_tv_dac_prepare()
1137 radeon_legacy_tv_dac_dpms(encoder, DRM_MODE_DPMS_OFF); in radeon_legacy_tv_dac_prepare()
1140 static void radeon_legacy_tv_dac_commit(struct drm_encoder *encoder) in radeon_legacy_tv_dac_commit() argument
1142 struct radeon_device *rdev = encoder->dev->dev_private; in radeon_legacy_tv_dac_commit()
1144 radeon_legacy_tv_dac_dpms(encoder, DRM_MODE_DPMS_ON); in radeon_legacy_tv_dac_commit()
1147 radeon_atom_output_lock(encoder, true); in radeon_legacy_tv_dac_commit()
1149 radeon_combios_output_lock(encoder, true); in radeon_legacy_tv_dac_commit()
1152 static void radeon_legacy_tv_dac_mode_set(struct drm_encoder *encoder, in radeon_legacy_tv_dac_mode_set() argument
1156 struct drm_device *dev = encoder->dev; in radeon_legacy_tv_dac_mode_set()
1158 struct radeon_crtc *radeon_crtc = to_radeon_crtc(encoder->crtc); in radeon_legacy_tv_dac_mode_set()
1159 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_legacy_tv_dac_mode_set()
1297 radeon_legacy_tv_mode_set(encoder, mode, adjusted_mode); in radeon_legacy_tv_dac_mode_set()
1300 radeon_atombios_encoder_crtc_scratch_regs(encoder, radeon_crtc->crtc_id); in radeon_legacy_tv_dac_mode_set()
1302 radeon_combios_encoder_crtc_scratch_regs(encoder, radeon_crtc->crtc_id); in radeon_legacy_tv_dac_mode_set()
1306 static bool r300_legacy_tv_detect(struct drm_encoder *encoder, in r300_legacy_tv_detect() argument
1309 struct drm_device *dev = encoder->dev; in r300_legacy_tv_detect()
1377 static bool radeon_legacy_tv_detect(struct drm_encoder *encoder, in radeon_legacy_tv_detect() argument
1380 struct drm_device *dev = encoder->dev; in radeon_legacy_tv_detect()
1387 return r300_legacy_tv_detect(encoder, connector); in radeon_legacy_tv_detect()
1441 static bool radeon_legacy_ext_dac_detect(struct drm_encoder *encoder, in radeon_legacy_ext_dac_detect() argument
1444 struct drm_device *dev = encoder->dev; in radeon_legacy_ext_dac_detect()
1531 static enum drm_connector_status radeon_legacy_tv_dac_detect(struct drm_encoder *encoder, in radeon_legacy_tv_dac_detect() argument
1534 struct drm_device *dev = encoder->dev; in radeon_legacy_tv_dac_detect()
1540 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_legacy_tv_dac_detect()
1545 /* find out if crtc2 is in use or if this encoder is using it */ in radeon_legacy_tv_dac_detect()
1549 if (encoder->crtc != crtc) { in radeon_legacy_tv_dac_detect()
1563 tv_detect = radeon_legacy_tv_detect(encoder, connector); in radeon_legacy_tv_dac_detect()
1569 /* don't probe if the encoder is being used for something else not CRT related */ in radeon_legacy_tv_dac_detect()
1577 if (radeon_legacy_ext_dac_detect(encoder, connector)) in radeon_legacy_tv_dac_detect()
1698 static struct radeon_encoder_int_tmds *radeon_legacy_get_tmds_info(struct radeon_encoder *encoder) in radeon_legacy_get_tmds_info() argument
1700 struct drm_device *dev = encoder->base.dev; in radeon_legacy_get_tmds_info()
1711 ret = radeon_atombios_get_tmds_info(encoder, tmds); in radeon_legacy_get_tmds_info()
1713 ret = radeon_legacy_get_tmds_info_from_combios(encoder, tmds); in radeon_legacy_get_tmds_info()
1716 radeon_legacy_get_tmds_info_from_table(encoder, tmds); in radeon_legacy_get_tmds_info()
1721 …tic struct radeon_encoder_ext_tmds *radeon_legacy_get_ext_tmds_info(struct radeon_encoder *encoder) in radeon_legacy_get_ext_tmds_info() argument
1723 struct drm_device *dev = encoder->base.dev; in radeon_legacy_get_ext_tmds_info()
1736 ret = radeon_legacy_get_ext_tmds_info_from_combios(encoder, tmds); in radeon_legacy_get_ext_tmds_info()
1739 radeon_legacy_get_ext_tmds_info_from_table(encoder, tmds); in radeon_legacy_get_ext_tmds_info()
1748 struct drm_encoder *encoder; in radeon_add_legacy_encoder() local
1752 list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { in radeon_add_legacy_encoder()
1753 radeon_encoder = to_radeon_encoder(encoder); in radeon_add_legacy_encoder()
1766 encoder = &radeon_encoder->base; in radeon_add_legacy_encoder()
1768 encoder->possible_crtcs = 0x1; in radeon_add_legacy_encoder()
1770 encoder->possible_crtcs = 0x3; in radeon_add_legacy_encoder()
1781 encoder->possible_crtcs = 0x1; in radeon_add_legacy_encoder()
1782 drm_encoder_init(dev, encoder, &radeon_legacy_lvds_enc_funcs, in radeon_add_legacy_encoder()
1784 drm_encoder_helper_add(encoder, &radeon_legacy_lvds_helper_funcs); in radeon_add_legacy_encoder()
1792 drm_encoder_init(dev, encoder, &radeon_legacy_tmds_int_enc_funcs, in radeon_add_legacy_encoder()
1794 drm_encoder_helper_add(encoder, &radeon_legacy_tmds_int_helper_funcs); in radeon_add_legacy_encoder()
1798 drm_encoder_init(dev, encoder, &radeon_legacy_primary_dac_enc_funcs, in radeon_add_legacy_encoder()
1800 drm_encoder_helper_add(encoder, &radeon_legacy_primary_dac_helper_funcs); in radeon_add_legacy_encoder()
1807 drm_encoder_init(dev, encoder, &radeon_legacy_tv_dac_enc_funcs, in radeon_add_legacy_encoder()
1809 drm_encoder_helper_add(encoder, &radeon_legacy_tv_dac_helper_funcs); in radeon_add_legacy_encoder()
1816 drm_encoder_init(dev, encoder, &radeon_legacy_tmds_ext_enc_funcs, in radeon_add_legacy_encoder()
1818 drm_encoder_helper_add(encoder, &radeon_legacy_tmds_ext_helper_funcs); in radeon_add_legacy_encoder()