@@ -1624,28 +1624,34 @@ static void hdmi_config_AVI(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
1624
1624
frame .colorspace = HDMI_COLORSPACE_RGB ;
1625
1625
1626
1626
/* Set up colorimetry */
1627
- switch (hdmi -> hdmi_data .enc_out_encoding ) {
1628
- case V4L2_YCBCR_ENC_601 :
1629
- if (hdmi -> hdmi_data .enc_in_encoding == V4L2_YCBCR_ENC_XV601 )
1630
- frame .colorimetry = HDMI_COLORIMETRY_EXTENDED ;
1631
- else
1627
+ if (!hdmi_bus_fmt_is_rgb (hdmi -> hdmi_data .enc_out_bus_format )) {
1628
+ switch (hdmi -> hdmi_data .enc_out_encoding ) {
1629
+ case V4L2_YCBCR_ENC_601 :
1630
+ if (hdmi -> hdmi_data .enc_in_encoding == V4L2_YCBCR_ENC_XV601 )
1631
+ frame .colorimetry = HDMI_COLORIMETRY_EXTENDED ;
1632
+ else
1633
+ frame .colorimetry = HDMI_COLORIMETRY_ITU_601 ;
1634
+ frame .extended_colorimetry =
1635
+ HDMI_EXTENDED_COLORIMETRY_XV_YCC_601 ;
1636
+ break ;
1637
+ case V4L2_YCBCR_ENC_709 :
1638
+ if (hdmi -> hdmi_data .enc_in_encoding == V4L2_YCBCR_ENC_XV709 )
1639
+ frame .colorimetry = HDMI_COLORIMETRY_EXTENDED ;
1640
+ else
1641
+ frame .colorimetry = HDMI_COLORIMETRY_ITU_709 ;
1642
+ frame .extended_colorimetry =
1643
+ HDMI_EXTENDED_COLORIMETRY_XV_YCC_709 ;
1644
+ break ;
1645
+ default : /* Carries no data */
1632
1646
frame .colorimetry = HDMI_COLORIMETRY_ITU_601 ;
1647
+ frame .extended_colorimetry =
1648
+ HDMI_EXTENDED_COLORIMETRY_XV_YCC_601 ;
1649
+ break ;
1650
+ }
1651
+ } else {
1652
+ frame .colorimetry = HDMI_COLORIMETRY_NONE ;
1633
1653
frame .extended_colorimetry =
1634
- HDMI_EXTENDED_COLORIMETRY_XV_YCC_601 ;
1635
- break ;
1636
- case V4L2_YCBCR_ENC_709 :
1637
- if (hdmi -> hdmi_data .enc_in_encoding == V4L2_YCBCR_ENC_XV709 )
1638
- frame .colorimetry = HDMI_COLORIMETRY_EXTENDED ;
1639
- else
1640
- frame .colorimetry = HDMI_COLORIMETRY_ITU_709 ;
1641
- frame .extended_colorimetry =
1642
- HDMI_EXTENDED_COLORIMETRY_XV_YCC_709 ;
1643
- break ;
1644
- default : /* Carries no data */
1645
- frame .colorimetry = HDMI_COLORIMETRY_ITU_601 ;
1646
- frame .extended_colorimetry =
1647
- HDMI_EXTENDED_COLORIMETRY_XV_YCC_601 ;
1648
- break ;
1654
+ HDMI_EXTENDED_COLORIMETRY_XV_YCC_601 ;
1649
1655
}
1650
1656
1651
1657
frame .scan_mode = HDMI_SCAN_MODE_NONE ;
0 commit comments