drm/radeon/kms: turn the backlight off explicitly for dpms

Seems some newer systems require this explicitly.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>

authored by

Alex Deucher and committed by
Dave Airlie
ba251bde d33ef52d

+14 -1
+14 -1
drivers/gpu/drm/radeon/radeon_encoders.c
··· 1086 1086 if (ASIC_IS_DCE4(rdev)) 1087 1087 atombios_dig_encoder_setup(encoder, ATOM_ENCODER_CMD_DP_VIDEO_ON); 1088 1088 } 1089 + if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) 1090 + atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_LCD_BLON, 0, 0); 1089 1091 break; 1090 1092 case DRM_MODE_DPMS_STANDBY: 1091 1093 case DRM_MODE_DPMS_SUSPEND: ··· 1097 1095 if (ASIC_IS_DCE4(rdev)) 1098 1096 atombios_dig_encoder_setup(encoder, ATOM_ENCODER_CMD_DP_VIDEO_OFF); 1099 1097 } 1098 + if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) 1099 + atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_LCD_BLOFF, 0, 0); 1100 1100 break; 1101 1101 } 1102 1102 } else { 1103 1103 switch (mode) { 1104 1104 case DRM_MODE_DPMS_ON: 1105 1105 args.ucAction = ATOM_ENABLE; 1106 + atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); 1107 + if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) { 1108 + args.ucAction = ATOM_LCD_BLON; 1109 + atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); 1110 + } 1106 1111 break; 1107 1112 case DRM_MODE_DPMS_STANDBY: 1108 1113 case DRM_MODE_DPMS_SUSPEND: 1109 1114 case DRM_MODE_DPMS_OFF: 1110 1115 args.ucAction = ATOM_DISABLE; 1116 + atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); 1117 + if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) { 1118 + args.ucAction = ATOM_LCD_BLOFF; 1119 + atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); 1120 + } 1111 1121 break; 1112 1122 } 1113 - atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); 1114 1123 } 1115 1124 radeon_atombios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false); 1116 1125