Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751100AbcLWFHl (ORCPT ); Fri, 23 Dec 2016 00:07:41 -0500 Received: from smtp6-v.fe.bosch.de ([139.15.237.11]:19186 "EHLO smtp6-v.fe.bosch.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750730AbcLWFHj (ORCPT ); Fri, 23 Dec 2016 00:07:39 -0500 From: "ZHANG Xu (BST/ESA3.1)" To: "a.mathur@samsung.com" , Dmitry Torokhov , "linux-input@vger.kernel.org" , "linux-kernel@vger.kernel.org" CC: Aniroop Mathur , SAMUEL SEQUEIRA , Rahul Mahale Subject: RE: RE: [PATCH] Input: Change msleep to usleep_range for small msecs Thread-Topic: RE: [PATCH] Input: Change msleep to usleep_range for small msecs Thread-Index: AQHSSZV4XtYR0VupXkSyAW8IOUH0A6Dy6dGigCI2xxA= Date: Fri, 23 Dec 2016 05:07:34 +0000 Message-ID: <237b55727c55412c98b969fd349cdd8c@SGPMBX1019.APAC.bosch.com> References: <1480003383-1716-1-git-send-email-a.mathur@samsung.com> <20161201103410epcms5p5c3e4a228bdcb2c8f1f196d1e8d1df8dd@epcms5p5> In-Reply-To: <20161201103410epcms5p5c3e4a228bdcb2c8f1f196d1e8d1df8dd@epcms5p5> Accept-Language: en-US, en-SG Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.173.227.218] Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-TM-AS-MML: disable X-TM-AS-Product-Ver: IMSS-7.1.0.1679-8.0.0.1202-22776.006 X-TMASE-MatchedRID: EMyCvCfVN1GoB6BkKpx1kbxygpRxo469njQstLm6Sv0iFs20Vxq/wh9M KfghtL0wqkMVE5BvXxLb5B4XjNR/63MPUdOEUkfpGVyS87Wb4lynHBIbyMjCFDMVY5itbDoDhPv YhZHUd3a5zPBQe+yxHLFYtmNncWFuGzceGxg/HSbyWnRbNAHEdtFqG4/BpDVaa4UdSrRvHGd/aE bf5O960dcdhG/f2Fga//fm3gbyRX+5qJcHKhN0j7iMC5wdwKqduLwbhNl9B5XQqI16NtHf0Izzb dKoGR4SbzWPzp97Ml8XEaT5uhkwzE/YIjzXSltD2OSj4qJA9QZReWnUUdhI9WHtZs6e3ZMH0FiD qDlQgH5kxl199COY7y/6ijZ11WSPvfJd/D7cTykmtTGirqG/DwvxMaV6x4s8lmCWIRPq8IJdB6m lnUbtbbTULqjPlVOIpiAzdX4TMsyFf0HkgFLM0odlc1JaOB1ThV0srjoqtx8JB2YbmG51oPlYoV 6p/cSxYZon4ysgRFoHKv4Hj14gf4BdohkDm/9NngIgpj8eDcDBa6VG2+9jFNQdB5NUNSsiuavR0 ffQAKDYDKq9BLK39zsAVzN+Ov/sJRKDgg7jhBMmnvb/5NU3r2Zx1NrxIi4axJa4mbB+IPG0nW2x Iulx8g== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id uBN57mMC028031 Content-Length: 4437 Lines: 122 Dear Aniroop Mathur Please see the acknowledgement below. Best regards Albert (Xu) ZHANG BST/ESA3.1 Tel. +86(21)2218-1283 -----Original Message----- From: Aniroop Mathur [mailto:a.mathur@samsung.com] Sent: Thursday, December 01, 2016 6:34 PM To: ZHANG Xu (BST/ESA3.1) ; Dmitry Torokhov ; linux-input@vger.kernel.org; linux-kernel@vger.kernel.org Cc: Aniroop Mathur ; SAMUEL SEQUEIRA ; Rahul Mahale Subject: RE: RE: [PATCH] Input: Change msleep to usleep_range for small msecs Dear Mr. Albert Zhang, Thank you for your confirmation! Yes, I think usleep_range(2000, 2100) is better than usleep_range(2000, 2000) because delta time will allow the kernel to batch the processes who need to wake up around same time and generate single interrupt to wake up all of them. So this would be beneficial from power saving point of view. -- Best Regards, Aniroop Mathur     --------- Original Message --------- Sender : ZHANG Xu (BST/ESA3.1)  Date : 2016-12-01 11:19 (GMT+5:30) Title : RE: [PATCH] Input: Change msleep to usleep_range for small msecs   Hello Aniroop Mathur   Thank you for your mail.   We have used the  usleep_range() function in our new product's driver and the verification result  is working. Your patch for bma150 is definitely working for sure.    Just one question need your answer. To replace the msleep(2),   is  usleep_range(2000, 2100)  better  than usleep_range(2000, 2000)  ?   Best regards   Albert (Xu) ZHANG BST/ESA3.1           -----Original Message----- From: mathur.aniroop@gmail.com [mailto:mathur.aniroop@gmail.com] On Behalf Of Aniroop Mathur Sent: Tuesday, November 29, 2016 12:36 AM To: ZHANG Xu (BST/ESA3.1) ; Dmitry Torokhov ; linux-input@vger.kernel.org; linux-kernel@vger.kernel.org Cc: Aniroop Mathur ; s.samuel@samsung.com; r.mahale@samsung.com; Aniroop Mathur  Subject: Re: [PATCH] Input: Change msleep to usleep_range for small msecs   Hello Mr. Albert Zhang,   I am Aniroop Mathur from Samsung R&D Institute, India.   I have submitted one patch as below for review to Linux Open Source. The problem is that we do not have the hardware available with us to test it and we would like to test it before actually applying it. As you are the author of this driver, so I would like to request you if you could help to test this patch or provide us the contact points of individuals who could support to get this patch tested?   Thank you!   BR, Aniroop Mathur     On Thu, Nov 24, 2016 at 9:33 PM, Aniroop Mathur  wrote: > msleep(1~20) may not do what the caller intends, and will often sleep longer. > (~20 ms actual sleep for any value given in the 1~20ms range) > This is not the desired behaviour for many cases like device resume time, > device suspend time, device enable time, etc. > Thus, change msleep to usleep_range for precise wakeups. > > Signed-off-by: Aniroop Mathur  Acked by: Albert Zhang > --- >  drivers/input/misc/bma150.c | 4 ++-- >  1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/input/misc/bma150.c b/drivers/input/misc/bma150.c > index 2124390..1fa8537 100644 > --- a/drivers/input/misc/bma150.c > +++ b/drivers/input/misc/bma150.c > @@ -207,7 +207,7 @@ static int bma150_set_mode(struct bma150_data *bma150, u8 mode) >                 return error; > >         if (mode == BMA150_MODE_NORMAL) > -               msleep(2); > +               usleep_range(2000, 2100); > >         bma150->mode = mode; >         return 0; > @@ -222,7 +222,7 @@ static int bma150_soft_reset(struct bma150_data *bma150) >         if (error) >                 return error; > > -       msleep(2); > +       usleep_range(2000, 2100); >         return 0; >  } > > -- > 2.6.2 >