mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-23 04:17:58 +07:00
drm/amd/display: Add link encoder dp_ycbcr420_supported feature flag
[Why] Need separate feature flag for DP 4:2:0 support, since existing flag is used for HDMI [How] Added dp_ycbcr420_supported to struct encoder_feature_support Signed-off-by: Eric Bernstein <eric.bernstein@amd.com> Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
e2bf20073e
commit
9ea59d5ab7
@ -3779,12 +3779,12 @@ void amdgpu_dm_connector_init_helper(struct amdgpu_display_manager *dm,
|
||||
case DRM_MODE_CONNECTOR_HDMIA:
|
||||
aconnector->base.polled = DRM_CONNECTOR_POLL_HPD;
|
||||
aconnector->base.ycbcr_420_allowed =
|
||||
link->link_enc->features.ycbcr420_supported ? true : false;
|
||||
link->link_enc->features.hdmi_ycbcr420_supported ? true : false;
|
||||
break;
|
||||
case DRM_MODE_CONNECTOR_DisplayPort:
|
||||
aconnector->base.polled = DRM_CONNECTOR_POLL_HPD;
|
||||
aconnector->base.ycbcr_420_allowed =
|
||||
link->link_enc->features.ycbcr420_supported ? true : false;
|
||||
link->link_enc->features.dp_ycbcr420_supported ? true : false;
|
||||
break;
|
||||
case DRM_MODE_CONNECTOR_DVID:
|
||||
aconnector->base.polled = DRM_CONNECTOR_POLL_HPD;
|
||||
|
@ -645,7 +645,7 @@ static bool dce110_link_encoder_validate_hdmi_output(
|
||||
return false;
|
||||
|
||||
/* DCE11 HW does not support 420 */
|
||||
if (!enc110->base.features.ycbcr420_supported &&
|
||||
if (!enc110->base.features.hdmi_ycbcr420_supported &&
|
||||
crtc_timing->pixel_encoding == PIXEL_ENCODING_YCBCR420)
|
||||
return false;
|
||||
|
||||
|
@ -551,7 +551,8 @@ static struct transform *dce112_transform_create(
|
||||
static const struct encoder_feature_support link_enc_feature = {
|
||||
.max_hdmi_deep_color = COLOR_DEPTH_121212,
|
||||
.max_hdmi_pixel_clock = 600000,
|
||||
.ycbcr420_supported = true,
|
||||
.hdmi_ycbcr420_supported = true,
|
||||
.dp_ycbcr420_supported = false,
|
||||
.flags.bits.IS_HBR2_CAPABLE = true,
|
||||
.flags.bits.IS_HBR3_CAPABLE = true,
|
||||
.flags.bits.IS_TPS3_CAPABLE = true,
|
||||
|
@ -607,7 +607,8 @@ static struct audio *create_audio(
|
||||
static const struct encoder_feature_support link_enc_feature = {
|
||||
.max_hdmi_deep_color = COLOR_DEPTH_121212,
|
||||
.max_hdmi_pixel_clock = 600000,
|
||||
.ycbcr420_supported = true,
|
||||
.hdmi_ycbcr420_supported = true,
|
||||
.dp_ycbcr420_supported = false,
|
||||
.flags.bits.IS_HBR2_CAPABLE = true,
|
||||
.flags.bits.IS_HBR3_CAPABLE = true,
|
||||
.flags.bits.IS_TPS3_CAPABLE = true,
|
||||
|
@ -589,7 +589,7 @@ static bool dcn10_link_encoder_validate_hdmi_output(
|
||||
return false;
|
||||
|
||||
/* DCE11 HW does not support 420 */
|
||||
if (!enc10->base.features.ycbcr420_supported &&
|
||||
if (!enc10->base.features.hdmi_ycbcr420_supported &&
|
||||
crtc_timing->pixel_encoding == PIXEL_ENCODING_YCBCR420)
|
||||
return false;
|
||||
|
||||
@ -606,8 +606,10 @@ bool dcn10_link_encoder_validate_dp_output(
|
||||
const struct dcn10_link_encoder *enc10,
|
||||
const struct dc_crtc_timing *crtc_timing)
|
||||
{
|
||||
if (crtc_timing->pixel_encoding == PIXEL_ENCODING_YCBCR420)
|
||||
return false;
|
||||
if (crtc_timing->pixel_encoding == PIXEL_ENCODING_YCBCR420) {
|
||||
if (!enc10->base.features.dp_ycbcr420_supported)
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -719,7 +719,8 @@ static struct timing_generator *dcn10_timing_generator_create(
|
||||
static const struct encoder_feature_support link_enc_feature = {
|
||||
.max_hdmi_deep_color = COLOR_DEPTH_121212,
|
||||
.max_hdmi_pixel_clock = 600000,
|
||||
.ycbcr420_supported = true,
|
||||
.hdmi_ycbcr420_supported = true,
|
||||
.dp_ycbcr420_supported = false,
|
||||
.flags.bits.IS_HBR2_CAPABLE = true,
|
||||
.flags.bits.IS_HBR3_CAPABLE = true,
|
||||
.flags.bits.IS_TPS3_CAPABLE = true,
|
||||
|
@ -65,7 +65,8 @@ struct encoder_feature_support {
|
||||
|
||||
enum dc_color_depth max_hdmi_deep_color;
|
||||
unsigned int max_hdmi_pixel_clock;
|
||||
bool ycbcr420_supported;
|
||||
bool hdmi_ycbcr420_supported;
|
||||
bool dp_ycbcr420_supported;
|
||||
};
|
||||
|
||||
union dpcd_psr_configuration {
|
||||
|
Loading…
Reference in New Issue
Block a user