Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752073AbcLEPrP (ORCPT ); Mon, 5 Dec 2016 10:47:15 -0500 Received: from web01.01d.eu ([5.200.27.195]:34612 "EHLO web01.01d.eu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751100AbcLEPrI (ORCPT ); Mon, 5 Dec 2016 10:47:08 -0500 From: Shiva Kerdel To: lidza.louina@gmail.com Cc: markh@compro.net, gregkh@linuxfoundation.org, driverdev-devel@linuxdriverproject.org, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org, Shiva Kerdel Subject: [PATCH 1/2] Staging: dgnc: dgnc_cls.c: Use usleep_range over udelay to improve coalescing processor wakeups Date: Mon, 5 Dec 2016 16:45:56 +0100 Message-Id: <20161205154557.12217-1-shiva@exdev.nl> X-Mailer: git-send-email 2.10.2 X-Authenticated-Id: shiva@exdev.nl Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1279 Lines: 43 In most cases, usleep_range is better than udelay, as the precise wakeup from udelay is unnecessary. usleep_range gives a much better chance of coalescing processor wakeups. Signed-off-by: Shiva Kerdel --- drivers/staging/dgnc/dgnc_cls.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/dgnc/dgnc_cls.c b/drivers/staging/dgnc/dgnc_cls.c index c20ffdd..6607243a 100644 --- a/drivers/staging/dgnc/dgnc_cls.c +++ b/drivers/staging/dgnc/dgnc_cls.c @@ -409,7 +409,7 @@ static void cls_assert_modem_signals(struct channel_t *ch) writeb(out, &ch->ch_cls_uart->mcr); /* Give time for the UART to actually drop the signals */ - udelay(10); + usleep_range(10, 20); } static void cls_copy_data_from_queue_to_uart(struct channel_t *ch) @@ -631,7 +631,7 @@ static void cls_flush_uart_read(struct channel_t *ch) * Presumably, this is a bug in this UART. */ - udelay(10); + usleep_range(10, 20); } /* @@ -1096,7 +1096,7 @@ static void cls_uart_init(struct channel_t *ch) writeb(UART_FCR_ENABLE_FIFO | UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT, &ch->ch_cls_uart->isr_fcr); - udelay(10); + usleep_range(10, 20); ch->ch_flags |= (CH_FIFO_ENABLED | CH_TX_FIFO_EMPTY | CH_TX_FIFO_LWM); -- 2.10.2