From: Johan Hovold <johan@kernel.org>
To: Nikolaj Fogh <nikolajfogh@gmail.com>
Cc: Johan Hovold <johan@kernel.org>,
nfogh@vectory.com, linux-usb@vger.kernel.org
Subject: Improve the accuracy of the baud rate generator by using round-to-closest instead of truncating when calculating baud rate divisors.
Date: Thu, 15 Nov 2018 09:24:49 +0100 [thread overview]
Message-ID: <20181115082449.GH19900@localhost> (raw)
On Tue, Nov 13, 2018 at 08:19:44PM +0100, Nikolaj Fogh wrote:
> On 11/12/18 10:54 AM, Johan Hovold wrote:
> > On Wed, Oct 31, 2018 at 09:16:48PM +0100, Nikolaj Fogh wrote:
> >> I have experienced that the ftdi_sio driver gives less-than-optimal
> >> baud rates as the driver truncates instead of rounds to nearest
> >> during baud rate divisor calculation.
> >> This patch improves on the baud rate generation. The generated baud
> >> rate corresponds to the optimal baud rate achievable with the chip.
> >> This is what the windows driver gives as well.
> >
> > How did you verify this? Did you trace and compare the divisors
> > actually requested by the Windows driver, or did you measure the
> > resulting rates using a scope?
> I verified it by scope. Granted, I only verified it for one baud rate
> (961200). Whether it gives the same as the Windows driver in general,
> I'm not sure. However, I would think that rounding instead of flooring
> would always yield the most accurate result.
I'm not so sure in this case. The driver uses "sub-integer" divisors and
looks like it depends on truncation rather than rounding. Some
background here:
https://www.ftdichip.com/Support/Knowledgebase/index.html?whatbaudratesareachieveabl.htm
If you want to change these calculations you need to make a stronger
case for it and verify that we don't mess up some other rate
inadvertently.
Thanks,
Johan
next reply other threads:[~2018-11-15 8:24 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-15 8:24 Johan Hovold [this message]
-- strict thread matches above, loose matches on Subject: below --
2018-11-16 9:33 Improve the accuracy of the baud rate generator by using round-to-closest instead of truncating when calculating baud rate divisors Johan Hovold
2018-11-15 14:16 Nikolaj Fogh
2018-11-15 12:46 Johan Hovold
2018-11-13 19:19 Nikolaj Fogh
2018-11-12 9:54 Johan Hovold
2018-10-31 20:16 Nikolaj Fogh
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=20181115082449.GH19900@localhost \
--to=johan@kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=nfogh@vectory.com \
--cc=nikolajfogh@gmail.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.