|
@@ -864,14 +864,16 @@ static void atombios_crtc_program_pll(struct drm_crtc *crtc,
|
|
|
args.v5.ucMiscInfo = 0; /* HDMI depth, etc. */
|
|
|
if (ss_enabled && (ss->type & ATOM_EXTERNAL_SS_MASK))
|
|
|
args.v5.ucMiscInfo |= PIXEL_CLOCK_V5_MISC_REF_DIV_SRC;
|
|
|
- switch (bpc) {
|
|
|
- case 8:
|
|
|
- default:
|
|
|
- args.v5.ucMiscInfo |= PIXEL_CLOCK_V5_MISC_HDMI_24BPP;
|
|
|
- break;
|
|
|
- case 10:
|
|
|
- args.v5.ucMiscInfo |= PIXEL_CLOCK_V5_MISC_HDMI_30BPP;
|
|
|
- break;
|
|
|
+ if (encoder_mode == ATOM_ENCODER_MODE_HDMI) {
|
|
|
+ switch (bpc) {
|
|
|
+ case 8:
|
|
|
+ default:
|
|
|
+ args.v5.ucMiscInfo |= PIXEL_CLOCK_V5_MISC_HDMI_24BPP;
|
|
|
+ break;
|
|
|
+ case 10:
|
|
|
+ args.v5.ucMiscInfo |= PIXEL_CLOCK_V5_MISC_HDMI_30BPP;
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
args.v5.ucTransmitterID = encoder_id;
|
|
|
args.v5.ucEncoderMode = encoder_mode;
|
|
@@ -886,20 +888,22 @@ static void atombios_crtc_program_pll(struct drm_crtc *crtc,
|
|
|
args.v6.ucMiscInfo = 0; /* HDMI depth, etc. */
|
|
|
if (ss_enabled && (ss->type & ATOM_EXTERNAL_SS_MASK))
|
|
|
args.v6.ucMiscInfo |= PIXEL_CLOCK_V6_MISC_REF_DIV_SRC;
|
|
|
- switch (bpc) {
|
|
|
- case 8:
|
|
|
- default:
|
|
|
- args.v6.ucMiscInfo |= PIXEL_CLOCK_V6_MISC_HDMI_24BPP;
|
|
|
- break;
|
|
|
- case 10:
|
|
|
- args.v6.ucMiscInfo |= PIXEL_CLOCK_V6_MISC_HDMI_30BPP;
|
|
|
- break;
|
|
|
- case 12:
|
|
|
- args.v6.ucMiscInfo |= PIXEL_CLOCK_V6_MISC_HDMI_36BPP;
|
|
|
- break;
|
|
|
- case 16:
|
|
|
- args.v6.ucMiscInfo |= PIXEL_CLOCK_V6_MISC_HDMI_48BPP;
|
|
|
- break;
|
|
|
+ if (encoder_mode == ATOM_ENCODER_MODE_HDMI) {
|
|
|
+ switch (bpc) {
|
|
|
+ case 8:
|
|
|
+ default:
|
|
|
+ args.v6.ucMiscInfo |= PIXEL_CLOCK_V6_MISC_HDMI_24BPP;
|
|
|
+ break;
|
|
|
+ case 10:
|
|
|
+ args.v6.ucMiscInfo |= PIXEL_CLOCK_V6_MISC_HDMI_30BPP;
|
|
|
+ break;
|
|
|
+ case 12:
|
|
|
+ args.v6.ucMiscInfo |= PIXEL_CLOCK_V6_MISC_HDMI_36BPP;
|
|
|
+ break;
|
|
|
+ case 16:
|
|
|
+ args.v6.ucMiscInfo |= PIXEL_CLOCK_V6_MISC_HDMI_48BPP;
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
args.v6.ucTransmitterID = encoder_id;
|
|
|
args.v6.ucEncoderMode = encoder_mode;
|