This is a note to let you know that I've just added the patch titled
drm/radeon: use 64-bit math to calculate CTS values for audio (v2)
to the 3.10-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-use-64-bit-math-to-calculate-cts-values-for-audio-v2.patch
and it can be found in the queue-3.10 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.
>From 062c2e4363451d49ef840232fe65e8bff0dde2a5 Mon Sep 17 00:00:00 2001
From: Alex Deucher <[email protected]>
Date: Fri, 27 Sep 2013 18:09:54 -0400
Subject: drm/radeon: use 64-bit math to calculate CTS values for audio (v2)
From: Alex Deucher <[email protected]>
commit 062c2e4363451d49ef840232fe65e8bff0dde2a5 upstream.
Avoid losing precision. See bug:
https://bugs.freedesktop.org/show_bug.cgi?id=69675
v2: fix math as per Anssi's comments.
Signed-off-by: Alex Deucher <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/gpu/drm/radeon/r600_hdmi.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
--- a/drivers/gpu/drm/radeon/r600_hdmi.c
+++ b/drivers/gpu/drm/radeon/r600_hdmi.c
@@ -75,8 +75,15 @@ static const struct radeon_hdmi_acr r600
*/
static void r600_hdmi_calc_cts(uint32_t clock, int *CTS, int N, int freq)
{
- if (*CTS == 0)
- *CTS = clock * N / (128 * freq) * 1000;
+ u64 n;
+ u32 d;
+
+ if (*CTS == 0) {
+ n = (u64)clock * (u64)N * 1000ULL;
+ d = 128 * freq;
+ do_div(n, d);
+ *CTS = n;
+ }
DRM_DEBUG("Using ACR timing N=%d CTS=%d for frequency %d\n",
N, *CTS, freq);
}
Patches currently in stable-queue which might be from [email protected]
are
queue-3.10/drm-radeon-use-hw-generated-cts-n-values-for-audio.patch
queue-3.10/drm-radeon-si-fix-define-for-mc_seq_train_wakeup_cntl.patch
queue-3.10/drm-radeon-fix-n-cts-clock-matching-for-audio.patch
queue-3.10/drm-radeon-re-enable-sw-acr-support-on-pre-dce4.patch
queue-3.10/drm-radeon-vm-don-t-attempt-to-update-ptes-if-ib-allocation-fails.patch
queue-3.10/drm-radeon-don-t-share-pplls-on-dce4.1.patch
queue-3.10/drm-radeon-activate-uvd-clocks-before-sending-the-destroy-msg.patch
queue-3.10/drm-radeon-use-64-bit-math-to-calculate-cts-values-for-audio-v2.patch
queue-3.10/radeon-workaround-pinning-failure-on-low-ram-gpu.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html