From patchwork Thu Nov 20 12:32:23 2008 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 9741 X-Patchwork-Delegate: galak@kernel.crashing.org Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from ozlabs.org (localhost [127.0.0.1]) by ozlabs.org (Postfix) with ESMTP id 2B275DDEEC for ; Thu, 20 Nov 2008 23:33:11 +1100 (EST) X-Original-To: linuxppc-dev@ozlabs.org Delivered-To: linuxppc-dev@ozlabs.org Received: from mailrelay005.isp.belgacom.be (mailrelay005.isp.belgacom.be [195.238.6.171]) by ozlabs.org (Postfix) with ESMTP id 5399CDDDEE for ; Thu, 20 Nov 2008 23:32:26 +1100 (EST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqoEAKnmJEnCTsYx/2dsb2JhbACBbdBPgnw Received: from 49.198-78-194.adsl-static.isp.belgacom.be (HELO smtp.belgium.cse-semaphore.com) ([194.78.198.49]) by relay.skynet.be with ESMTP; 20 Nov 2008 13:32:24 +0100 Received: from smtp.belgium.cse-semaphore.com (localhost [127.0.0.1]) by smtp.belgium.cse-semaphore.com (Postfix) with ESMTP id 7D5041D7E9; Thu, 20 Nov 2008 13:32:24 +0100 (CET) Received: from pingouin.localnet (pingouin.belgium.cse-semaphore.com [192.168.1.47]) by smtp.belgium.cse-semaphore.com (Postfix) with ESMTP id 642121D7D3; Thu, 20 Nov 2008 13:32:24 +0100 (CET) From: Laurent Pinchart Organization: CSE Semaphore To: linuxppc-dev@ozlabs.org Subject: [PATCH] cpm2: Round the baud-rate clock divider to the nearest integer. Date: Thu, 20 Nov 2008 13:32:23 +0100 User-Agent: KMail/1.10.1 (Linux/2.6.27-7-generic; KDE/4.1.2; i686; ; ) MIME-Version: 1.0 Content-Disposition: inline Message-Id: <200811201332.24061.laurentp@cse-semaphore.com> X-Virus-Scanned: ClamAV using ClamSMTP Cc: kumar.gala@freescale.com, vbordug@ru.mvista.com X-BeenThere: linuxppc-dev@ozlabs.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@ozlabs.org Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@ozlabs.org Instead of rounding the divider down, improve the baud-rate generators accuracy by rounding to the nearest integer. Signed-off-by: Laurent Pinchart --- arch/powerpc/sysdev/cpm2.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/arch/powerpc/sysdev/cpm2.c b/arch/powerpc/sysdev/cpm2.c index f1c3395..474d176 100644 --- a/arch/powerpc/sysdev/cpm2.c +++ b/arch/powerpc/sysdev/cpm2.c @@ -129,7 +129,8 @@ void __cpm2_setbrg(uint brg, uint rate, uint clk, int div16, int src) brg -= 4; } bp += brg; - val = (((clk / rate) - 1) << 1) | CPM_BRG_EN | src; + /* Round the clock divider to the nearest integer. */ + val = (((clk * 2 / rate) - 1) & ~1) | CPM_BRG_EN | src; if (div16) val |= CPM_BRG_DIV16;