From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@freedesktop.org
Subject: [Bug 69675] audio broken in 24Hz/24p since 3.11 (regression)
Date: Fri, 27 Sep 2013 17:23:53 +0000
Message-ID:
References:
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="===============1317427488=="
Return-path:
Received: from culpepper.freedesktop.org (unknown [131.252.210.165])
by gabe.freedesktop.org (Postfix) with ESMTP id 7C3C9E6317
for ;
Fri, 27 Sep 2013 10:23:53 -0700 (PDT)
In-Reply-To:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org
Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org
To: dri-devel@lists.freedesktop.org
List-Id: dri-devel@lists.freedesktop.org
--===============1317427488==
Content-Type: multipart/alternative; boundary="1380302633.2Ad11.22311"; charset="us-ascii"
--1380302633.2Ad11.22311
Date: Fri, 27 Sep 2013 17:23:53 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
https://bugs.freedesktop.org/show_bug.cgi?id=69675
--- Comment #15 from Pierre Ossman ---
(In reply to comment #4)
> Something like this:
>
> diff --git a/drivers/gpu/drm/radeon/r600_hdmi.c
> b/drivers/gpu/drm/radeon/r600_hdmi.c
> index b0fa600..f7d2766 100644
> --- a/drivers/gpu/drm/radeon/r600_hdmi.c
> +++ b/drivers/gpu/drm/radeon/r600_hdmi.c
> @@ -63,7 +63,7 @@ static const struct radeon_hdmi_acr
> r600_hdmi_predefined_acr[] = {
> { 27027, 4096, 27027, 6272, 30030, 6144, 27027 }, /*
> 27.00*1.001 MHz */
> { 54000, 4096, 54000, 6272, 60000, 6144, 54000 }, /* 54.00
> MHz */
> { 54054, 4096, 54054, 6272, 60060, 6144, 54054 }, /*
> 54.00*1.001 MHz */
> - { 74175, 11648, 210937, 17836, 234375, 11648, 140625 }, /*
> 74.25/1.001 MHz */
> + { 74180, 11648, 210937, 17836, 234375, 11648, 140625 }, /*
> 74.25/1.001 MHz */
> { 74250, 4096, 74250, 6272, 82500, 6144, 74250 }, /* 74.25
> MHz */
> { 148351, 11648, 421875, 8918, 234375, 5824, 140625 }, /*
> 148.50/1.001 MHz */
> { 148500, 4096, 148500, 6272, 165000, 6144, 148500 }, /* 148.50
> MHz */
This however does not improve things. But that was because the frequency was
actually 74176, not 74180 (damn all that rounded output).
With that fixed, it *seems* to work. But doing the numbers, the audio clock is
slightly off as those numbers assume a perfect 74.25/1.001 video clock, not the
74.176 approximation. And 33 kHz audio needs a changing CTS even with that. So
it doesn't seem like a robust approach IHMO. I vote for letting the hardware do
its magic.
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.
--
You are receiving this mail because:
You are the assignee for the bug.
--1380302633.2Ad11.22311
Date: Fri, 27 Sep 2013 17:23:53 +0000
MIME-Version: 1.0
Content-Type: text/html; charset="UTF-8"
Comment # 15
on bug 69675
from Pierre Ossman
(In reply to comment #4)
> Something like this:
>
> diff --git a/drivers/gpu/drm/radeon/r600_hdmi.c
> b/drivers/gpu/drm/radeon/r600_hdmi.c
> index b0fa600..f7d2766 100644
> --- a/drivers/gpu/drm/radeon/r600_hdmi.c
> +++ b/drivers/gpu/drm/radeon/r600_hdmi.c
> @@ -63,7 +63,7 @@ static const struct radeon_hdmi_acr
> r600_hdmi_predefined_acr[] = {
> { 27027, 4096, 27027, 6272, 30030, 6144, 27027 }, /*
> 27.00*1.001 MHz */
> { 54000, 4096, 54000, 6272, 60000, 6144, 54000 }, /* 54.00
> MHz */
> { 54054, 4096, 54054, 6272, 60060, 6144, 54054 }, /*
> 54.00*1.001 MHz */
> - { 74175, 11648, 210937, 17836, 234375, 11648, 140625 }, /*
> 74.25/1.001 MHz */
> + { 74180, 11648, 210937, 17836, 234375, 11648, 140625 }, /*
> 74.25/1.001 MHz */
> { 74250, 4096, 74250, 6272, 82500, 6144, 74250 }, /* 74.25
> MHz */
> { 148351, 11648, 421875, 8918, 234375, 5824, 140625 }, /*
> 148.50/1.001 MHz */
> { 148500, 4096, 148500, 6272, 165000, 6144, 148500 }, /* 148.50
> MHz */
This however does not improve things. But that was because the frequency was
actually 74176, not 74180 (damn all that rounded output).
With that fixed, it *seems* to work. But doing the numbers, the audio clock is
slightly off as those numbers assume a perfect 74.25/1.001 video clock, not the
74.176 approximation. And 33 kHz audio needs a changing CTS even with that. So
it doesn't seem like a robust approach IHMO. I vote for letting the hardware do
its magic.
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.
You are receiving this mail because:
- You are the assignee for the bug.
--1380302633.2Ad11.22311--
--===============1317427488==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
--===============1317427488==--