Lines Matching defs:radeon_encoder
85 atombios_get_backlight_level(struct radeon_encoder *radeon_encoder)
87 struct drm_device *dev = radeon_encoder->base.dev;
97 atombios_set_backlight_level(struct radeon_encoder *radeon_encoder, u8 level)
99 struct drm_encoder *encoder = &radeon_encoder->base;
100 struct drm_device *dev = radeon_encoder->base.dev;
109 if ((radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) &&
110 radeon_encoder->enc_priv) {
111 dig = radeon_encoder->enc_priv;
115 switch (radeon_encoder->encoder_id) {
165 struct radeon_encoder *radeon_encoder = pdata->encoder;
167 atombios_set_backlight_level(radeon_encoder, radeon_atom_bl_level(bd));
175 struct radeon_encoder *radeon_encoder = pdata->encoder;
176 struct drm_device *dev = radeon_encoder->base.dev;
187 void radeon_atom_backlight_init(struct radeon_encoder *radeon_encoder,
190 struct drm_device *dev = radeon_encoder->base.dev;
206 if (!radeon_encoder->enc_priv)
238 pdata->encoder = radeon_encoder;
240 dig = radeon_encoder->enc_priv;
255 rdev->mode_info.bl_encoder = radeon_encoder;
264 static void radeon_atom_backlight_exit(struct radeon_encoder *radeon_encoder)
266 struct drm_device *dev = radeon_encoder->base.dev;
271 if (!radeon_encoder->enc_priv)
280 dig = radeon_encoder->enc_priv;
299 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
317 if (radeon_encoder->active_device & (ATOM_DEVICE_LCD_SUPPORT)) {
319 } else if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT)) {
320 struct radeon_encoder_atom_dac *tv_dac = radeon_encoder->enc_priv;
329 } else if (radeon_encoder->rmx_type != RMX_OFF) {
334 ((radeon_encoder->active_device & (ATOM_DEVICE_DFP_SUPPORT | ATOM_DEVICE_LCD_SUPPORT)) ||
348 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
351 struct radeon_encoder_atom_dac *dac_info = radeon_encoder->enc_priv;
355 switch (radeon_encoder->encoder_id) {
368 if (radeon_encoder->active_device & (ATOM_DEVICE_CRT_SUPPORT))
370 else if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT))
389 args.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10);
400 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
403 struct radeon_encoder_atom_dac *dac_info = radeon_encoder->enc_priv;
411 if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT))
445 args.sTVEncoder.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10);
489 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
510 if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock))
518 args.dvo.sDVOEncoder.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10);
522 if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock))
528 args.dvo_v3.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10);
534 args.dvo_v4.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10);
561 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
562 struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv;
576 switch (radeon_encoder->encoder_id) {
585 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT))
604 args.v1.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10);
605 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) {
613 if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock))
629 args.v2.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10);
634 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) {
652 if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock))
674 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
684 if ((radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_DVO1) ||
685 (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DVO1))
834 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
835 struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv;
877 args.v1.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10);
885 else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock))
890 switch (radeon_encoder->encoder_id) {
914 args.v3.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10);
922 else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock))
937 args.v4.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10);
945 else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock))
1004 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
1005 struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv;
1055 switch (radeon_encoder->encoder_id) {
1086 else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock))
1087 args.v1.usPixelClock = cpu_to_le16((radeon_encoder->pixel_clock / 2) / 10);
1089 args.v1.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10);
1100 (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_UNIPHY)) {
1102 !radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock)) {
1126 else if (radeon_encoder->devices & (ATOM_DEVICE_DFP_SUPPORT)) {
1129 if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock))
1143 else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock))
1144 args.v2.usPixelClock = cpu_to_le16((radeon_encoder->pixel_clock / 2) / 10);
1146 args.v2.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10);
1153 switch (radeon_encoder->encoder_id) {
1168 } else if (radeon_encoder->devices & (ATOM_DEVICE_DFP_SUPPORT)) {
1171 if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock))
1185 else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock))
1186 args.v3.usPixelClock = cpu_to_le16((radeon_encoder->pixel_clock / 2) / 10);
1188 args.v3.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10);
1193 else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock))
1213 switch (radeon_encoder->encoder_id) {
1227 else if (radeon_encoder->devices & (ATOM_DEVICE_DFP_SUPPORT)) {
1230 if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock))
1244 else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock))
1245 args.v4.usPixelClock = cpu_to_le16((radeon_encoder->pixel_clock / 2) / 10);
1247 args.v4.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10);
1252 else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock))
1275 switch (radeon_encoder->encoder_id) {
1289 else if (radeon_encoder->devices & (ATOM_DEVICE_DFP_SUPPORT)) {
1292 if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock))
1301 args.v5.usSymClock = cpu_to_le16(radeon_encoder->pixel_clock / 10);
1303 switch (radeon_encoder->encoder_id) {
1328 else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock))
1342 else if (radeon_encoder->devices & (ATOM_DEVICE_DFP_SUPPORT)) {
1428 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
1429 struct radeon_encoder *ext_radeon_encoder = to_radeon_encoder(ext_encoder);
1469 args.v1.sDigEncoder.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10);
1476 } else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock))
1486 args.v3.sExtEncoder.usPixelClock = cpu_to_le16(radeon_encoder->pixel_clock / 10);
1495 } else if (radeon_dig_monitor_is_duallink(encoder, radeon_encoder->pixel_clock))
1529 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
1544 if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT))
1547 else if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT))
1566 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
1572 switch (radeon_encoder->encoder_id) {
1586 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT))
1593 if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT))
1595 else if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT))
1602 if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT))
1604 else if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT))
1617 if (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_DDI) {
1624 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) {
1626 struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv;
1628 atombios_set_backlight_level(radeon_encoder, dig->backlight_level);
1640 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) {
1653 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
1655 struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv;
1666 (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) &&
1712 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) {
1714 atombios_set_backlight_level(radeon_encoder, dig->backlight_level);
1732 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT))
1767 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
1771 radeon_encoder->encoder_id, mode, radeon_encoder->devices,
1772 radeon_encoder->active_device);
1779 switch (radeon_encoder->encoder_id) {
1848 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
1868 if (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_DAC1)
1873 switch (radeon_encoder->encoder_id) {
1880 if (radeon_encoder->devices & ATOM_DEVICE_LCD1_SUPPORT)
1892 if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT))
1894 else if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT))
1901 if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT))
1903 else if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT))
1921 } else if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) {
1926 switch (radeon_encoder->encoder_id) {
1932 dig = radeon_encoder->enc_priv;
1961 if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT))
1963 else if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT))
1969 if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT))
1971 else if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT))
1997 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
2004 if (radeon_encoder->devices & ATOM_DEVICE_LCD1_SUPPORT) {
2016 (!(radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT)))) {
2051 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
2053 struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv;
2063 switch (radeon_encoder->encoder_id) {
2100 switch (radeon_encoder->encoder_id) {
2140 struct radeon_encoder *radeon_test_encoder;
2155 if (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA) {
2184 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
2187 switch (radeon_encoder->encoder_id) {
2212 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
2216 radeon_encoder->pixel_clock = adjusted_mode->clock;
2222 if (radeon_encoder->active_device & (ATOM_DEVICE_CV_SUPPORT | ATOM_DEVICE_TV_SUPPORT))
2228 switch (radeon_encoder->encoder_id) {
2252 if (radeon_encoder->devices & (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) {
2253 if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT))
2275 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
2278 if (radeon_encoder->devices & (ATOM_DEVICE_TV_SUPPORT |
2292 if ((radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_DAC1) ||
2293 (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC1))
2324 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
2338 DRM_DEBUG_KMS("Bios 0 scratch %x %08x\n", bios_0_scratch, radeon_encoder->devices);
2365 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
2385 DRM_DEBUG_KMS("Bios 0 scratch %x %08x\n", bios_0_scratch, radeon_encoder->devices);
2422 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
2425 if ((radeon_encoder->active_device &
2429 struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv;
2434 if (radeon_encoder->active_device & ATOM_DEVICE_DFP_SUPPORT) {
2483 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
2492 struct radeon_encoder *other_radeon_encoder;
2496 if ((radeon_encoder->encoder_id == other_radeon_encoder->encoder_id) &&
2504 switch (radeon_encoder->encoder_id) {
2528 if (radeon_encoder->devices & (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT))
2540 dig = radeon_encoder->enc_priv;
2543 radeon_encoder->active_device = 0;
2546 radeon_encoder->active_device = 0;
2609 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
2610 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT))
2611 radeon_atom_backlight_exit(radeon_encoder);
2612 kfree(radeon_encoder->enc_priv);
2614 kfree(radeon_encoder);
2622 radeon_atombios_set_dac_info(struct radeon_encoder *radeon_encoder)
2624 struct drm_device *dev = radeon_encoder->base.dev;
2636 radeon_atombios_set_dig_info(struct radeon_encoder *radeon_encoder)
2638 int encoder_enum = (radeon_encoder->encoder_enum & ENUM_ID_MASK) >> ENUM_ID_SHIFT;
2664 struct radeon_encoder *radeon_encoder;
2668 radeon_encoder = to_radeon_encoder(encoder);
2669 if (radeon_encoder->encoder_enum == encoder_enum) {
2670 radeon_encoder->devices |= supported_device;
2677 radeon_encoder = kzalloc(sizeof(struct radeon_encoder), GFP_KERNEL);
2678 if (!radeon_encoder)
2681 encoder = &radeon_encoder->base;
2698 radeon_encoder->enc_priv = NULL;
2700 radeon_encoder->encoder_enum = encoder_enum;
2701 radeon_encoder->encoder_id = (encoder_enum & OBJECT_ID_MASK) >> OBJECT_ID_SHIFT;
2702 radeon_encoder->devices = supported_device;
2703 radeon_encoder->rmx_type = RMX_OFF;
2704 radeon_encoder->underscan_type = UNDERSCAN_OFF;
2705 radeon_encoder->is_ext_encoder = false;
2706 radeon_encoder->caps = caps;
2708 switch (radeon_encoder->encoder_id) {
2713 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) {
2714 radeon_encoder->rmx_type = RMX_FULL;
2717 radeon_encoder->enc_priv = radeon_atombios_get_lvds_info(radeon_encoder);
2721 radeon_encoder->enc_priv = radeon_atombios_set_dig_info(radeon_encoder);
2728 radeon_encoder->enc_priv = radeon_atombios_set_dac_info(radeon_encoder);
2736 radeon_encoder->enc_priv = radeon_atombios_set_dac_info(radeon_encoder);
2747 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) {
2748 radeon_encoder->rmx_type = RMX_FULL;
2751 radeon_encoder->enc_priv = radeon_atombios_get_lvds_info(radeon_encoder);
2752 } else if (radeon_encoder->devices & (ATOM_DEVICE_CRT_SUPPORT)) {
2755 radeon_encoder->enc_priv = radeon_atombios_set_dig_info(radeon_encoder);
2759 radeon_encoder->enc_priv = radeon_atombios_set_dig_info(radeon_encoder);
2773 radeon_encoder->is_ext_encoder = true;
2774 if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT))
2777 else if (radeon_encoder->devices & (ATOM_DEVICE_CRT_SUPPORT))