From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Babic Date: Thu, 17 Nov 2011 16:52:11 +0100 Subject: [U-Boot] [PATCH v4] Improve Power Management in SMC911X driver. In-Reply-To: <1321364453-15835-1-git-send-email-bertrand.cachet@heig-vd.ch> References: <1321364453-15835-1-git-send-email-bertrand.cachet@heig-vd.ch> Message-ID: <4EC52DAB.2010309@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 11/15/2011 02:40 PM, Bertrand Cachet wrote: > From datasheet, when READY bit is set inside PM_CTRL register, it means that > device is already in *normal* (D0) mode => it doesn't need to be wake-up. > > With this patch, we only wake-up (writing on TEST_BYTE register) if PM_MODE > bits of PM_CTRL register is in sleep (D1/D2) mode. > > Signed-off-by: Bertrand Cachet > --- > v2: Improve code styling by grouping two narrow comments. > v3: Place versions information under scissors line. > v4: Use tabs instead of spaces (vimrc problem) > > drivers/net/smc911x.h | 7 +++++-- > 1 files changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/smc911x.h b/drivers/net/smc911x.h > index 8ce08a9..a290073 100644 > --- a/drivers/net/smc911x.h > +++ b/drivers/net/smc911x.h > @@ -471,8 +471,11 @@ static void smc911x_reset(struct eth_device *dev) > { > int timeout; > > - /* Take out of PM setting first */ > - if (smc911x_reg_read(dev, PMT_CTRL) & PMT_CTRL_READY) { > + /* > + * Take out of PM setting first > + * Device is already wake up if PMT_CTRL_READY bit is set > + */ > + if ((smc911x_reg_read(dev, PMT_CTRL) & PMT_CTRL_READY) == 0) { > /* Write to the bytetest will take out of powerdown */ > smc911x_reg_write(dev, BYTE_TEST, 0x0); Agree, this is the correct behavior. However, checkpatch report errors (due to leading white space instead of tabs in the comment you added): ERROR: code indent should use tabs where possible #29: FILE: drivers/net/smc911x.h:475: + ^I * Take out of PM setting first$ WARNING: please, no space before tabs #29: FILE: drivers/net/smc911x.h:475: + ^I * Take out of PM setting first$ ERROR: code indent should use tabs where possible #30: FILE: drivers/net/smc911x.h:476: + ^I * Device is already wake up if PMT_CTRL_READY bit is set$ WARNING: please, no space before tabs #30: FILE: drivers/net/smc911x.h:476: + ^I * Device is already wake up if PMT_CTRL_READY bit is set$ total: 2 errors, 2 warnings, 13 lines checked NOTE: whitespace errors detected, you may wish to use scripts/cleanpatch or scripts/cleanfile Can you fix and repost (maybe setting me as CC, I will take care of your patch). Thanks, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de =====================================================================