drm/radeon: fix ordering of AVI packet setup
Set the line first, then enable the stream. May fix pink line problems on some displays. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
This commit is contained in:
Родитель
b421ed15d2
Коммит
304f07e9c8
|
@ -219,13 +219,13 @@ void evergreen_set_avi_packet(struct radeon_device *rdev, u32 offset,
|
|||
WREG32(AFMT_AVI_INFO3 + offset,
|
||||
frame[0xC] | (frame[0xD] << 8) | (buffer[1] << 24));
|
||||
|
||||
WREG32_OR(HDMI_INFOFRAME_CONTROL0 + offset,
|
||||
HDMI_AVI_INFO_SEND | /* enable AVI info frames */
|
||||
HDMI_AVI_INFO_CONT); /* required for audio info values to be updated */
|
||||
|
||||
WREG32_P(HDMI_INFOFRAME_CONTROL1 + offset,
|
||||
HDMI_AVI_INFO_LINE(2), /* anything other than 0 */
|
||||
~HDMI_AVI_INFO_LINE_MASK);
|
||||
|
||||
WREG32_OR(HDMI_INFOFRAME_CONTROL0 + offset,
|
||||
HDMI_AVI_INFO_SEND | /* enable AVI info frames */
|
||||
HDMI_AVI_INFO_CONT); /* required for audio info values to be updated */
|
||||
}
|
||||
|
||||
void dce4_hdmi_audio_set_dto(struct radeon_device *rdev,
|
||||
|
|
|
@ -228,12 +228,13 @@ void r600_set_avi_packet(struct radeon_device *rdev, u32 offset,
|
|||
WREG32(HDMI0_AVI_INFO3 + offset,
|
||||
frame[0xC] | (frame[0xD] << 8) | (buffer[1] << 24));
|
||||
|
||||
WREG32_OR(HDMI0_INFOFRAME_CONTROL1 + offset,
|
||||
HDMI0_AVI_INFO_LINE(2)); /* anything other than 0 */
|
||||
|
||||
WREG32_OR(HDMI0_INFOFRAME_CONTROL0 + offset,
|
||||
HDMI0_AVI_INFO_SEND | /* enable AVI info frames */
|
||||
HDMI0_AVI_INFO_CONT); /* send AVI info frames every frame/field */
|
||||
|
||||
WREG32_OR(HDMI0_INFOFRAME_CONTROL1 + offset,
|
||||
HDMI0_AVI_INFO_LINE(2)); /* anything other than 0 */
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Загрузка…
Ссылка в новой задаче