Lines Matching refs:radeon_encoder
85 atombios_get_backlight_level(struct radeon_encoder *radeon_encoder) in atombios_get_backlight_level() argument
87 struct drm_device *dev = radeon_encoder->base.dev; in atombios_get_backlight_level()
97 atombios_set_backlight_level(struct radeon_encoder *radeon_encoder, u8 level) in atombios_set_backlight_level() argument
99 struct drm_encoder *encoder = &radeon_encoder->base; in atombios_set_backlight_level()
100 struct drm_device *dev = radeon_encoder->base.dev; in atombios_set_backlight_level()
109 if ((radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) && in atombios_set_backlight_level()
110 radeon_encoder->enc_priv) { in atombios_set_backlight_level()
111 dig = radeon_encoder->enc_priv; in atombios_set_backlight_level()
115 switch (radeon_encoder->encoder_id) { in atombios_set_backlight_level()
165 struct radeon_encoder *radeon_encoder = pdata->encoder; in radeon_atom_backlight_update_status() local
167 atombios_set_backlight_level(radeon_encoder, radeon_atom_bl_level(bd)); in radeon_atom_backlight_update_status()
175 struct radeon_encoder *radeon_encoder = pdata->encoder; in radeon_atom_backlight_get_brightness() local
176 struct drm_device *dev = radeon_encoder->base.dev; in radeon_atom_backlight_get_brightness()
187 void radeon_atom_backlight_init(struct radeon_encoder *radeon_encoder, in radeon_atom_backlight_init() argument
190 struct drm_device *dev = radeon_encoder->base.dev; in radeon_atom_backlight_init()
206 if (!radeon_encoder->enc_priv) in radeon_atom_backlight_init()
238 pdata->encoder = radeon_encoder; in radeon_atom_backlight_init()
240 dig = radeon_encoder->enc_priv; in radeon_atom_backlight_init()
255 rdev->mode_info.bl_encoder = radeon_encoder; in radeon_atom_backlight_init()
264 static void radeon_atom_backlight_exit(struct radeon_encoder *radeon_encoder) in radeon_atom_backlight_exit() argument
266 struct drm_device *dev = radeon_encoder->base.dev; in radeon_atom_backlight_exit()
271 if (!radeon_encoder->enc_priv) in radeon_atom_backlight_exit()
280 dig = radeon_encoder->enc_priv; in radeon_atom_backlight_exit()
299 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_atom_mode_fixup() local
317 if (radeon_encoder->active_device & (ATOM_DEVICE_LCD_SUPPORT)) { in radeon_atom_mode_fixup()
319 } else if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT)) { in radeon_atom_mode_fixup()
320 struct radeon_encoder_atom_dac *tv_dac = radeon_encoder->enc_priv; in radeon_atom_mode_fixup()
329 } else if (radeon_encoder->rmx_type != RMX_OFF) { in radeon_atom_mode_fixup()
334 ((radeon_encoder->active_device & (ATOM_DEVICE_DFP_SUPPORT | ATOM_DEVICE_LCD_SUPPORT)) || in radeon_atom_mode_fixup()
348 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in atombios_dac_setup() local
351 struct radeon_encoder_atom_dac *dac_info = radeon_encoder->enc_priv; in atombios_dac_setup()
355 switch (radeon_encoder->encoder_id) { in atombios_dac_setup()
368 if (radeon_encoder->active_device & (ATOM_DEVICE_CRT_SUPPORT)) in atombios_dac_setup()
370 else if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT)) in atombios_dac_setup()
389 args.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10); in atombios_dac_setup()
400 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in atombios_tv_setup() local
403 struct radeon_encoder_atom_dac *dac_info = radeon_encoder->enc_priv; in atombios_tv_setup()
411 if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT)) in atombios_tv_setup()
445 args.sTVEncoder.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10); in atombios_tv_setup()
489 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in atombios_dvo_setup() local
510 if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock)) in atombios_dvo_setup()
518 args.dvo.sDVOEncoder.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10); in atombios_dvo_setup()
522 if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock)) in atombios_dvo_setup()
528 args.dvo_v3.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10); in atombios_dvo_setup()
534 args.dvo_v4.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10); in atombios_dvo_setup()
561 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in atombios_digital_setup() local
562 struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; in atombios_digital_setup()
576 switch (radeon_encoder->encoder_id) { in atombios_digital_setup()
585 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) in atombios_digital_setup()
604 args.v1.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10); in atombios_digital_setup()
605 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) { in atombios_digital_setup()
613 if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock)) in atombios_digital_setup()
629 args.v2.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10); in atombios_digital_setup()
634 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) { in atombios_digital_setup()
652 if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock)) in atombios_digital_setup()
674 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in atombios_get_encoder_mode() local
684 if ((radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_DVO1) || in atombios_get_encoder_mode()
685 (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DVO1)) in atombios_get_encoder_mode()
834 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in atombios_dig_encoder_setup2() local
835 struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; in atombios_dig_encoder_setup2()
877 args.v1.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10); in atombios_dig_encoder_setup2()
885 else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock)) in atombios_dig_encoder_setup2()
890 switch (radeon_encoder->encoder_id) { in atombios_dig_encoder_setup2()
914 args.v3.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10); in atombios_dig_encoder_setup2()
922 else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock)) in atombios_dig_encoder_setup2()
937 args.v4.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10); in atombios_dig_encoder_setup2()
945 else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock)) in atombios_dig_encoder_setup2()
1004 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in atombios_dig_transmitter_setup2() local
1005 struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; in atombios_dig_transmitter_setup2()
1055 switch (radeon_encoder->encoder_id) { in atombios_dig_transmitter_setup2()
1086 else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock)) in atombios_dig_transmitter_setup2()
1087 args.v1.usPixelClock = cpu_to_le16((radeon_encoder->pixel_clock / 2) / 10); in atombios_dig_transmitter_setup2()
1089 args.v1.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10); in atombios_dig_transmitter_setup2()
1100 (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_UNIPHY)) { in atombios_dig_transmitter_setup2()
1102 !radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock)) { in atombios_dig_transmitter_setup2()
1126 else if (radeon_encoder->devices & (ATOM_DEVICE_DFP_SUPPORT)) { in atombios_dig_transmitter_setup2()
1129 if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock)) in atombios_dig_transmitter_setup2()
1143 else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock)) in atombios_dig_transmitter_setup2()
1144 args.v2.usPixelClock = cpu_to_le16((radeon_encoder->pixel_clock / 2) / 10); in atombios_dig_transmitter_setup2()
1146 args.v2.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10); in atombios_dig_transmitter_setup2()
1153 switch (radeon_encoder->encoder_id) { in atombios_dig_transmitter_setup2()
1168 } else if (radeon_encoder->devices & (ATOM_DEVICE_DFP_SUPPORT)) { in atombios_dig_transmitter_setup2()
1171 if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock)) in atombios_dig_transmitter_setup2()
1185 else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock)) in atombios_dig_transmitter_setup2()
1186 args.v3.usPixelClock = cpu_to_le16((radeon_encoder->pixel_clock / 2) / 10); in atombios_dig_transmitter_setup2()
1188 args.v3.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10); in atombios_dig_transmitter_setup2()
1193 else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock)) in atombios_dig_transmitter_setup2()
1213 switch (radeon_encoder->encoder_id) { in atombios_dig_transmitter_setup2()
1227 else if (radeon_encoder->devices & (ATOM_DEVICE_DFP_SUPPORT)) { in atombios_dig_transmitter_setup2()
1230 if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock)) in atombios_dig_transmitter_setup2()
1244 else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock)) in atombios_dig_transmitter_setup2()
1245 args.v4.usPixelClock = cpu_to_le16((radeon_encoder->pixel_clock / 2) / 10); in atombios_dig_transmitter_setup2()
1247 args.v4.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10); in atombios_dig_transmitter_setup2()
1252 else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock)) in atombios_dig_transmitter_setup2()
1275 switch (radeon_encoder->encoder_id) { in atombios_dig_transmitter_setup2()
1289 else if (radeon_encoder->devices & (ATOM_DEVICE_DFP_SUPPORT)) { in atombios_dig_transmitter_setup2()
1292 if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock)) in atombios_dig_transmitter_setup2()
1301 args.v5.usSymClock = cpu_to_le16(radeon_encoder->pixel_clock / 10); in atombios_dig_transmitter_setup2()
1303 switch (radeon_encoder->encoder_id) { in atombios_dig_transmitter_setup2()
1328 else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock)) in atombios_dig_transmitter_setup2()
1342 else if (radeon_encoder->devices & (ATOM_DEVICE_DFP_SUPPORT)) { in atombios_dig_transmitter_setup2()
1428 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in atombios_external_encoder_setup() local
1429 struct radeon_encoder *ext_radeon_encoder = to_radeon_encoder(ext_encoder); in atombios_external_encoder_setup()
1469 args.v1.sDigEncoder.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10); in atombios_external_encoder_setup()
1476 } else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock)) in atombios_external_encoder_setup()
1486 args.v3.sExtEncoder.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10); in atombios_external_encoder_setup()
1495 } else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock)) in atombios_external_encoder_setup()
1529 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in atombios_yuv_setup() local
1544 if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT)) in atombios_yuv_setup()
1547 else if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT)) in atombios_yuv_setup()
1566 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_atom_encoder_dpms_avivo() local
1572 switch (radeon_encoder->encoder_id) { in radeon_atom_encoder_dpms_avivo()
1586 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) in radeon_atom_encoder_dpms_avivo()
1593 if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT)) in radeon_atom_encoder_dpms_avivo()
1595 else if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT)) in radeon_atom_encoder_dpms_avivo()
1602 if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT)) in radeon_atom_encoder_dpms_avivo()
1604 else if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT)) in radeon_atom_encoder_dpms_avivo()
1617 if (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_DDI) { in radeon_atom_encoder_dpms_avivo()
1624 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) { in radeon_atom_encoder_dpms_avivo()
1626 struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; in radeon_atom_encoder_dpms_avivo()
1628 atombios_set_backlight_level(radeon_encoder, dig->backlight_level); in radeon_atom_encoder_dpms_avivo()
1640 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) { in radeon_atom_encoder_dpms_avivo()
1653 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_atom_encoder_dpms_dig() local
1655 struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; in radeon_atom_encoder_dpms_dig()
1666 (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) && in radeon_atom_encoder_dpms_dig()
1712 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) { in radeon_atom_encoder_dpms_dig()
1714 atombios_set_backlight_level(radeon_encoder, dig->backlight_level); in radeon_atom_encoder_dpms_dig()
1732 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) in radeon_atom_encoder_dpms_dig()
1767 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_atom_encoder_dpms() local
1771 radeon_encoder->encoder_id, mode, radeon_encoder->devices, in radeon_atom_encoder_dpms()
1772 radeon_encoder->active_device); in radeon_atom_encoder_dpms()
1779 switch (radeon_encoder->encoder_id) { in radeon_atom_encoder_dpms()
1848 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in atombios_set_encoder_crtc_source() local
1868 if (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_DAC1) in atombios_set_encoder_crtc_source()
1873 switch (radeon_encoder->encoder_id) { in atombios_set_encoder_crtc_source()
1880 if (radeon_encoder->devices & ATOM_DEVICE_LCD1_SUPPORT) in atombios_set_encoder_crtc_source()
1892 if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT)) in atombios_set_encoder_crtc_source()
1894 else if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT)) in atombios_set_encoder_crtc_source()
1901 if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT)) in atombios_set_encoder_crtc_source()
1903 else if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT)) in atombios_set_encoder_crtc_source()
1921 } else if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) { in atombios_set_encoder_crtc_source()
1926 switch (radeon_encoder->encoder_id) { in atombios_set_encoder_crtc_source()
1932 dig = radeon_encoder->enc_priv; in atombios_set_encoder_crtc_source()
1961 if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT)) in atombios_set_encoder_crtc_source()
1963 else if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT)) in atombios_set_encoder_crtc_source()
1969 if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT)) in atombios_set_encoder_crtc_source()
1971 else if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT)) in atombios_set_encoder_crtc_source()
1997 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in atombios_apply_encoder_quirks() local
2004 if (radeon_encoder->devices & ATOM_DEVICE_LCD1_SUPPORT) { in atombios_apply_encoder_quirks()
2016 (!(radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT)))) { in atombios_apply_encoder_quirks()
2051 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_atom_pick_dig_encoder() local
2053 struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; in radeon_atom_pick_dig_encoder()
2063 switch (radeon_encoder->encoder_id) { in radeon_atom_pick_dig_encoder()
2100 switch (radeon_encoder->encoder_id) { in radeon_atom_pick_dig_encoder()
2141 struct radeon_encoder *radeon_test_encoder; in radeon_atom_pick_dig_encoder()
2156 if (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA) { in radeon_atom_pick_dig_encoder()
2185 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_atom_encoder_init() local
2188 switch (radeon_encoder->encoder_id) { in radeon_atom_encoder_init()
2213 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_atom_encoder_mode_set() local
2217 radeon_encoder->pixel_clock = adjusted_mode->clock; in radeon_atom_encoder_mode_set()
2223 if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT | ATOM_DEVICE_TV_SUPPORT)) in radeon_atom_encoder_mode_set()
2229 switch (radeon_encoder->encoder_id) { in radeon_atom_encoder_mode_set()
2253 if (radeon_encoder->devices & (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) { in radeon_atom_encoder_mode_set()
2254 if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) in radeon_atom_encoder_mode_set()
2276 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in atombios_dac_load_detect() local
2279 if (radeon_encoder->devices & (ATOM_DEVICE_TV_SUPPORT | in atombios_dac_load_detect()
2293 if ((radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_DAC1) || in atombios_dac_load_detect()
2294 (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC1)) in atombios_dac_load_detect()
2325 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_atom_dac_detect() local
2339 DRM_DEBUG_KMS("Bios 0 scratch %x %08x\n", bios_0_scratch, radeon_encoder->devices); in radeon_atom_dac_detect()
2366 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_atom_dig_detect() local
2386 DRM_DEBUG_KMS("Bios 0 scratch %x %08x\n", bios_0_scratch, radeon_encoder->devices); in radeon_atom_dig_detect()
2423 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_atom_encoder_prepare() local
2426 if ((radeon_encoder->active_device & in radeon_atom_encoder_prepare()
2430 struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; in radeon_atom_encoder_prepare()
2435 if (radeon_encoder->active_device & ATOM_DEVICE_DFP_SUPPORT) { in radeon_atom_encoder_prepare()
2484 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_atom_encoder_disable() local
2493 struct radeon_encoder *other_radeon_encoder; in radeon_atom_encoder_disable()
2497 if ((radeon_encoder->encoder_id == other_radeon_encoder->encoder_id) && in radeon_atom_encoder_disable()
2505 switch (radeon_encoder->encoder_id) { in radeon_atom_encoder_disable()
2529 if (radeon_encoder->devices & (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) in radeon_atom_encoder_disable()
2541 dig = radeon_encoder->enc_priv; in radeon_atom_encoder_disable()
2544 radeon_encoder->active_device = 0; in radeon_atom_encoder_disable()
2547 radeon_encoder->active_device = 0; in radeon_atom_encoder_disable()
2610 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_enc_destroy() local
2611 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) in radeon_enc_destroy()
2612 radeon_atom_backlight_exit(radeon_encoder); in radeon_enc_destroy()
2613 kfree(radeon_encoder->enc_priv); in radeon_enc_destroy()
2615 kfree(radeon_encoder); in radeon_enc_destroy()
2623 radeon_atombios_set_dac_info(struct radeon_encoder *radeon_encoder) in radeon_atombios_set_dac_info() argument
2625 struct drm_device *dev = radeon_encoder->base.dev; in radeon_atombios_set_dac_info()
2637 radeon_atombios_set_dig_info(struct radeon_encoder *radeon_encoder) in radeon_atombios_set_dig_info() argument
2639 int encoder_enum = (radeon_encoder->encoder_enum & ENUM_ID_MASK) >> ENUM_ID_SHIFT; in radeon_atombios_set_dig_info()
2665 struct radeon_encoder *radeon_encoder; in radeon_add_atom_encoder() local
2669 radeon_encoder = to_radeon_encoder(encoder); in radeon_add_atom_encoder()
2670 if (radeon_encoder->encoder_enum == encoder_enum) { in radeon_add_atom_encoder()
2671 radeon_encoder->devices |= supported_device; in radeon_add_atom_encoder()
2678 radeon_encoder = kzalloc(sizeof(struct radeon_encoder), GFP_KERNEL); in radeon_add_atom_encoder()
2679 if (!radeon_encoder) in radeon_add_atom_encoder()
2682 encoder = &radeon_encoder->base; in radeon_add_atom_encoder()
2699 radeon_encoder->enc_priv = NULL; in radeon_add_atom_encoder()
2701 radeon_encoder->encoder_enum = encoder_enum; in radeon_add_atom_encoder()
2702 radeon_encoder->encoder_id = (encoder_enum & OBJECT_ID_MASK) >> OBJECT_ID_SHIFT; in radeon_add_atom_encoder()
2703 radeon_encoder->devices = supported_device; in radeon_add_atom_encoder()
2704 radeon_encoder->rmx_type = RMX_OFF; in radeon_add_atom_encoder()
2705 radeon_encoder->underscan_type = UNDERSCAN_OFF; in radeon_add_atom_encoder()
2706 radeon_encoder->is_ext_encoder = false; in radeon_add_atom_encoder()
2707 radeon_encoder->caps = caps; in radeon_add_atom_encoder()
2709 switch (radeon_encoder->encoder_id) { in radeon_add_atom_encoder()
2714 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) { in radeon_add_atom_encoder()
2715 radeon_encoder->rmx_type = RMX_FULL; in radeon_add_atom_encoder()
2718 radeon_encoder->enc_priv = radeon_atombios_get_lvds_info(radeon_encoder); in radeon_add_atom_encoder()
2722 radeon_encoder->enc_priv = radeon_atombios_set_dig_info(radeon_encoder); in radeon_add_atom_encoder()
2729 radeon_encoder->enc_priv = radeon_atombios_set_dac_info(radeon_encoder); in radeon_add_atom_encoder()
2737 radeon_encoder->enc_priv = radeon_atombios_set_dac_info(radeon_encoder); in radeon_add_atom_encoder()
2748 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) { in radeon_add_atom_encoder()
2749 radeon_encoder->rmx_type = RMX_FULL; in radeon_add_atom_encoder()
2752 radeon_encoder->enc_priv = radeon_atombios_get_lvds_info(radeon_encoder); in radeon_add_atom_encoder()
2753 } else if (radeon_encoder->devices & (ATOM_DEVICE_CRT_SUPPORT)) { in radeon_add_atom_encoder()
2756 radeon_encoder->enc_priv = radeon_atombios_set_dig_info(radeon_encoder); in radeon_add_atom_encoder()
2760 radeon_encoder->enc_priv = radeon_atombios_set_dig_info(radeon_encoder); in radeon_add_atom_encoder()
2774 radeon_encoder->is_ext_encoder = true; in radeon_add_atom_encoder()
2775 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) in radeon_add_atom_encoder()
2778 else if (radeon_encoder->devices & (ATOM_DEVICE_CRT_SUPPORT)) in radeon_add_atom_encoder()