dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: bugzilla-daemon@freedesktop.org
To: dri-devel@lists.freedesktop.org
Subject: [Bug 69675] audio broken in 24Hz/24p since 3.11 (regression)
Date: Fri, 27 Sep 2013 23:17:12 +0000	[thread overview]
Message-ID: <bug-69675-502-jVrfVHDo1o@http.bugs.freedesktop.org/> (raw)
In-Reply-To: <bug-69675-502@http.bugs.freedesktop.org/>


[-- Attachment #1.1: Type: text/plain, Size: 2115 bytes --]

https://bugs.freedesktop.org/show_bug.cgi?id=69675

--- Comment #19 from Anssi Hannula <anssi@mageia.org> ---
(In reply to comment #16)
> +	u64 n, d;
> +
> +	if (*CTS == 0) {
> +		n = (u64)clock * N;
> +		d = 128ULL * (u64)freq;
> +		*CTS = div64_u64(n, d);
> +		*CTS *= 1000ULL;
> +	}

Hmm, I believe we should multiply before division, otherwise the result will
not be right... like this:
+    if (*CTS == 0) {
+        n = (u64)clock * N * 1000ULL;
+        d = 128ULL * (u64)freq;
+        *CTS = div64_u64(n, d);
+    }

Also, maximum value for d is actually 128*48000, so no need for u64 for it, and
then one can use div_64u(u64,u32) for division. Similarly, CTS/N values are
just 20-bit so no need to u64 them (it might even be confusing), u64 for just
the "n" variable should be enough.

> Subject: [PATCH 3/3] drm/radeon: use hw generated CTS/N values for audio

Just checking: What N value does the Hw use in that mode? The ones written in
by the driver, some hardcoded N or does it select one on its own? Though it
doesn't really matter much (since any reasonable N should work as long as CTS
is correct), except that if it uses the driver-set value we better not remove
the write to the N register :)

(In reply to comment #15)
> Somewhat related, the calculation in r600_hdmi_calc_cts() is not very good
> as it loses a tonne of precision (roughly ten bits' worth). Given the range
> of the inputs, you might need to do the calculations in a 64-bit space.

I'm a bit interested if the calculated values "seem" to work if you only fix
the precisions there (Alex' patch1 plus my first tweak above), without adding
the correct values in the table?

If the actual freq is closer to 74176 instead of 74175.8, the calculated values
should actually be better than the table value (as you noticed, the table
values expect exact /1.001 rate), and it could be the calculation precision
issue (*1000 in the wrong place) then caused the audio issues as the CTS was
more wildly wrong...

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 3125 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

  parent reply	other threads:[~2013-09-27 23:17 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-22 13:24 [Bug 69675] New: audio broken in 24Hz/24p since 3.11 (regression) bugzilla-daemon
2013-09-25 19:55 ` [Bug 69675] " bugzilla-daemon
2013-09-25 20:00 ` bugzilla-daemon
2013-09-25 20:12 ` bugzilla-daemon
2013-09-25 20:20 ` bugzilla-daemon
2013-09-25 21:00 ` bugzilla-daemon
2013-09-25 21:32 ` bugzilla-daemon
2013-09-25 22:09 ` bugzilla-daemon
2013-09-25 22:39 ` bugzilla-daemon
2013-09-26  4:47 ` bugzilla-daemon
2013-09-26  4:48 ` bugzilla-daemon
2013-09-26  4:49 ` bugzilla-daemon
2013-09-26  6:54 ` bugzilla-daemon
2013-09-26 13:58 ` bugzilla-daemon
2013-09-27 16:29 ` bugzilla-daemon
2013-09-27 17:23 ` bugzilla-daemon
2013-09-27 22:28 ` bugzilla-daemon
2013-09-27 22:29 ` bugzilla-daemon
2013-09-27 22:30 ` bugzilla-daemon
2013-09-27 23:17 ` bugzilla-daemon [this message]
2013-09-30 15:43 ` bugzilla-daemon
2013-09-30 15:45 ` bugzilla-daemon
2013-10-13 15:42 ` bugzilla-daemon
2013-10-13 15:49 ` bugzilla-daemon
2013-10-26 20:12 ` bugzilla-daemon
2013-10-26 21:36 ` bugzilla-daemon
2013-10-28 16:28 ` bugzilla-daemon
2013-10-31 19:48 ` bugzilla-daemon
2013-10-31 20:27 ` bugzilla-daemon
2013-10-31 20:38 ` bugzilla-daemon
2013-10-31 21:02 ` bugzilla-daemon
2013-11-01  8:31 ` bugzilla-daemon
2013-11-01  8:34 ` bugzilla-daemon
2013-11-01 13:27 ` bugzilla-daemon
2013-11-01 13:39 ` bugzilla-daemon
2013-11-01 14:00 ` bugzilla-daemon
2013-11-01 14:06 ` bugzilla-daemon
2013-11-01 14:09 ` bugzilla-daemon
2013-11-01 14:13 ` bugzilla-daemon
2013-11-01 14:17 ` bugzilla-daemon
2013-11-01 14:18 ` bugzilla-daemon
2013-11-01 15:03 ` bugzilla-daemon
2013-11-02 11:17 ` bugzilla-daemon
2013-11-02 11:44 ` bugzilla-daemon
2013-11-02 11:50 ` bugzilla-daemon
2013-11-02 14:02 ` bugzilla-daemon
2013-11-06 17:26 ` bugzilla-daemon
2013-11-06 17:35 ` bugzilla-daemon
2013-11-06 19:12 ` bugzilla-daemon
2013-11-06 19:13 ` bugzilla-daemon
2013-11-06 19:13 ` bugzilla-daemon
2013-11-06 19:50 ` bugzilla-daemon
2013-11-06 20:05 ` bugzilla-daemon
2013-11-17 14:21 ` bugzilla-daemon
2013-11-18  6:52 ` bugzilla-daemon
2013-11-18 11:33 ` bugzilla-daemon
2019-10-14 13:20 ` bugzilla-daemon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-69675-502-jVrfVHDo1o@http.bugs.freedesktop.org/ \
    --to=bugzilla-daemon@freedesktop.org \
    --cc=dri-devel@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).