Patch "drm/radeon: cleaned up VCO output settings for DP audio" has been added to the 4.4-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
drm/radeon: cleaned up VCO output settings for DP audio
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
drm-radeon-cleaned-up-vco-output-settings-for-dp-audio.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
c9a392eac18409f51a071520cf508c0b4ad990e2Mon Sep 17 00:00:00 2001
From: Slava Grigorev <[email protected]>
Date: Tue, 26 Jan 2016 16:45:10 -0500
Subject: drm/radeon: cleaned up VCO output settings for DP audio
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From: Slava Grigorev <[email protected]>
commit c9a392eac18409f51a071520cf508c0b4ad990e2 upstream.
This is preparation for the fixes in the following patches.
--- drivers/gpu/drm/radeon/dce6_afmt.c | 2 +- drivers/gpu/drm/radeon/radeon.h | 2 +- drivers/gpu/drm/radeon/radeon_atombios.c | 12 +++++++----- drivers/gpu/drm/radeon/radeon_audio.c | 8 +------- 4 files changed, 10 insertions(+), 14 deletions(-)
drivers/gpu/drm/radeon/dce6_afmt.c +1 -1
@@ -315,7 +315,7 @@ void dce6_dp_audio_set_dto(struct radeon div =0 ;if (div) - clock = rdev->clock.gpupll_outputfreq *10 / div; + clock /= div;WREG32 (DCE8_DCCG_AUDIO_DTO1_PHASE ,24000 );WREG32 (DCE8_DCCG_AUDIO_DTO1_MODULE , clock);
drivers/gpu/drm/radeon/radeon.h +1 -1
@@ -268,7 +268,7 @@ struct radeon_clock {uint32_t current_dispclk;uint32_t dp_extclk;uint32_t max_pixel_clock; -uint32_t gpupll_outputfreq; +uint32_t vco_freq; };/*
drivers/gpu/drm/radeon/radeon_atombios.c +7 -5
@@ -1257,12 +1257,14 @@ bool radeon_atom_get_clock_info(struct d rdev->mode_info.firmware_flags =le16_to_cpu (firmware_info->info.usFirmwareCapability.susAccess); -if (ASIC_IS_DCE8 (rdev)) { - rdev->clock.gpupll_outputfreq = +if (ASIC_IS_DCE8 (rdev)) + rdev->clock.vco_freq =le32_to_cpu (firmware_info->info_22.ulGPUPLL_OutputFreq); -if (rdev->clock.gpupll_outputfreq ==0 ) - rdev->clock.gpupll_outputfreq =360000 ;/* 3.6 GHz */ - } +else + rdev->clock.vco_freq = rdev->clock.current_dispclk; + +if (rdev->clock.vco_freq ==0 ) + rdev->clock.vco_freq =360000 ;/* 3.6 GHz */ return true; }
drivers/gpu/drm/radeon/radeon_audio.c +1 -7
@@ -739,9 +739,6 @@ static void radeon_audio_dp_mode_set(strstruct radeon_encoder *radeon_encoder =to_radeon_encoder (encoder);struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv;struct drm_connector *connector =radeon_get_connector_for_encoder (encoder); -struct radeon_connector *radeon_connector =to_radeon_connector (connector); -struct radeon_connector_atom_dig *dig_connector = - radeon_connector->con_priv;if (!dig || !dig->afmt)return ;
@@ -753,10 +750,7 @@ static void radeon_audio_dp_mode_set(strradeon_audio_write_speaker_allocation (encoder);radeon_audio_write_sad_regs (encoder);radeon_audio_write_latency_fields (encoder, mode); -if (rdev->clock.dp_extclk ||ASIC_IS_DCE5 (rdev)) -radeon_audio_set_dto (encoder, rdev->clock.default_dispclk *10 ); -else -radeon_audio_set_dto (encoder, dig_connector->dp_clock); +radeon_audio_set_dto (encoder, rdev->clock.vco_freq *10 );radeon_audio_set_audio_packet (encoder);radeon_audio_select_pin (encoder);
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/drm-radeon-fix-dp-audio-support-for-apu-with-dce4.1-display-engine.patch queue-4.4/drm-radeon-cleaned-up-vco-output-settings-for-dp-audio.patch queue-4.4/drm-radeon-fix-slow-audio-over-dp-on-dce8.patch queue-4.4/drm-radeon-add-a-common-function-for-dfs-handling.patch