drm/amd/display: correct stream LTE_340MCSC_SCRAMBLE value
[Why] HDMI 2.0 requires scrambling under specific conditions. We refer to stream property LTE_340MCSC_SCRAMBLE to determine whether en/dis scrambling. While creating stream for sink, we setup LTE_340MCSC_SCRAMBLE by referring to edid_caps. However, dm_helpers_parse_edid_caps() doesn't construct HDMI Forum block data for edid_caps. Moreover, fill_stream_properties_from_drm_display_mode() aslo unconsciously clear the LTE_340MCSC_SCRAMBLE flag. [How] Drm already provides drm_display_info to refer HDMI Forum vsdb info. Set stream LTE_340MCSC_SCRAMBLE by drm_display_info and remove memset in fill_stream_properties_from_drm_display_mode() Signed-off-by: Wayne Lin <Wayne.Lin@amd.com> Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@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
dd998291db
commit
4a36fcbaec
|
|
@ -3398,7 +3398,6 @@ static void fill_stream_properties_from_drm_display_mode(
|
|||
struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
|
||||
struct hdmi_vendor_infoframe hv_frame;
|
||||
struct hdmi_avi_infoframe avi_frame;
|
||||
memset(timing_out, 0, sizeof(struct dc_crtc_timing));
|
||||
|
||||
timing_out->h_border_left = 0;
|
||||
timing_out->h_border_right = 0;
|
||||
|
|
@ -3662,6 +3661,9 @@ create_stream_for_sink(struct amdgpu_dm_connector *aconnector,
|
|||
|
||||
stream->dm_stream_context = aconnector;
|
||||
|
||||
stream->timing.flags.LTE_340MCSC_SCRAMBLE =
|
||||
drm_connector->display_info.hdmi.scdc.scrambling.low_rates;
|
||||
|
||||
list_for_each_entry(preferred_mode, &aconnector->base.modes, head) {
|
||||
/* Search for preferred mode */
|
||||
if (preferred_mode->type & DRM_MODE_TYPE_PREFERRED) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue