From mboxrd@z Thu Jan 1 00:00:00 1970 From: Miquel Raynal Subject: Re: [PATCH v3 02/23] thermal: armada: remove useless register accesses Date: Sun, 29 Jul 2018 21:23:04 +0200 Message-ID: <20180729212304.00987920@xps13> References: <20180716144206.30985-1-miquel.raynal@bootlin.com> <20180716144206.30985-3-miquel.raynal@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Ezequiel Garcia Cc: Mark Rutland , Andrew Lunn , Jason Cooper , Nadav Haklai , devicetree@vger.kernel.org, Antoine Tenart , Catalin Marinas , Gregory Clement , linux-pm@vger.kernel.org, Will Deacon , Rob Herring , Maxime Chevallier , Eduardo Valentin , David Sniatkiwicz , Thomas Petazzoni , Zhang Rui , linux-arm-kernel , Sebastian Hesselbarth List-Id: linux-pm@vger.kernel.org SGkgRXplcXVpZWwsCgpFemVxdWllbCBHYXJjaWEgPGV6ZXF1aWVsQHZhbmd1YXJkaWFzdXIuY29t LmFyPiB3cm90ZSBvbiBGcmksIDI3IEp1bAoyMDE4IDEzOjEzOjIwIC0wMzAwOgoKPiBIaSBNaXF1 ZWwsCj4gCj4gWW91IGtub3csIGl0IGlzIHVzdWFsbHkgdXNlZnVsIHRvIENjIHRoZSBhdXRob3Ig b2YgdGhlIGxpbmVzIGEgcGF0Y2ggdG91Y2hlcyA6LSkKCkkgaGF2ZSB0byBhZG1pdCBJIGxpbWl0 ZWQgdGhlIENDIGxpc3QgdG8gdGhlIGdldF9tYWludGFpbmVycy5wbCBvdXRwdXQuCkJ1dCBmb3Ig c3VyZSBJIGNhbiBhZGQgeW91IGZvciBmdXJ0aGVyIGNoYW5nZXMgOikKCj4gCj4gT24gMTYgSnVs eSAyMDE4IGF0IDExOjQxLCBNaXF1ZWwgUmF5bmFsIDxtaXF1ZWwucmF5bmFsQGJvb3RsaW4uY29t PiB3cm90ZToKPiA+IFByZXBhcmUgdGhlIG1pZ3JhdGlvbiB0byB1c2UgcmVnbWFwcyBieSBmaXJz dCBzaW1wbGlmeWluZyB0aGUKPiA+IGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uczogYXZvaWQgdW5u ZWNlc3Nhcnkgd3JpdGUvcmVhZCBjeWNsZXMgb24KPiA+IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXJz Lgo+ID4KPiA+IFNpZ25lZC1vZmYtYnk6IE1pcXVlbCBSYXluYWwgPG1pcXVlbC5yYXluYWxAYm9v dGxpbi5jb20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL3RoZXJtYWwvYXJtYWRhX3RoZXJtYWwuYyB8 IDggKystLS0tLS0KPiA+ICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA2IGRlbGV0 aW9ucygtKQo+ID4KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3RoZXJtYWwvYXJtYWRhX3RoZXJt YWwuYyBiL2RyaXZlcnMvdGhlcm1hbC9hcm1hZGFfdGhlcm1hbC5jCj4gPiBpbmRleCAwNzdlOGU1 NjIzMDYuLjZmZGI5MGIzYzAwMSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvdGhlcm1hbC9hcm1h ZGFfdGhlcm1hbC5jCj4gPiArKysgYi9kcml2ZXJzL3RoZXJtYWwvYXJtYWRhX3RoZXJtYWwuYwo+ ID4gQEAgLTEwMywxNiArMTAzLDEzIEBAIHN0YXRpYyB2b2lkIGFybWFkYXhwX2luaXRfc2Vuc29y KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCj4gPgo+ID4gICAgICAgICByZWcgPSByZWFk bF9yZWxheGVkKHByaXYtPmNvbnRyb2wxKTsKPiA+ICAgICAgICAgcmVnIHw9IFBNVV9UREMwX09U Rl9DQUxfTUFTSzsKPiA+IC0gICAgICAgd3JpdGVsKHJlZywgcHJpdi0+Y29udHJvbDEpOwo+ID4K PiA+ICAgICAgICAgLyogUmVmZXJlbmNlIGNhbGlicmF0aW9uIHZhbHVlICovCj4gPiAgICAgICAg IHJlZyAmPSB+UE1VX1REQzBfUkVGX0NBTF9DTlRfTUFTSzsKPiA+ICAgICAgICAgcmVnIHw9ICgw eGYxIDw8IFBNVV9UREMwX1JFRl9DQUxfQ05UX09GRlMpOwo+ID4gLSAgICAgICB3cml0ZWwocmVn LCBwcml2LT5jb250cm9sMSk7Cj4gPgo+ID4gICAgICAgICAvKiBSZXNldCB0aGUgc2Vuc29yICov Cj4gPiAtICAgICAgIHJlZyA9IHJlYWRsX3JlbGF4ZWQocHJpdi0+Y29udHJvbDEpOwo+ID4gLSAg ICAgICB3cml0ZWwoKHJlZyB8IFBNVV9UREMwX1NXX1JTVF9NQVNLKSwgcHJpdi0+Y29udHJvbDEp Owo+ID4gKyAgICAgICByZWcgfD0gUE1VX1REQzBfU1dfUlNUX01BU0s7Cj4gPgo+ID4gICAgICAg ICB3cml0ZWwocmVnLCBwcml2LT5jb250cm9sMSk7Cj4gPgo+ID4gQEAgLTEyOSwxNCArMTI2LDEz IEBAIHN0YXRpYyB2b2lkIGFybWFkYTM3MF9pbml0X3NlbnNvcihzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2LAo+ID4KPiA+ICAgICAgICAgcmVnID0gcmVhZGxfcmVsYXhlZChwcml2LT5jb250 cm9sMSk7Cj4gPiAgICAgICAgIHJlZyB8PSBQTVVfVERDMF9PVEZfQ0FMX01BU0s7Cj4gPiAtICAg ICAgIHdyaXRlbChyZWcsIHByaXYtPmNvbnRyb2wxKTsKPiA+Cj4gPiAgICAgICAgIC8qIFJlZmVy ZW5jZSBjYWxpYnJhdGlvbiB2YWx1ZSAqLwo+ID4gICAgICAgICByZWcgJj0gflBNVV9UREMwX1JF Rl9DQUxfQ05UX01BU0s7Cj4gPiAgICAgICAgIHJlZyB8PSAoMHhmMSA8PCBQTVVfVERDMF9SRUZf Q0FMX0NOVF9PRkZTKTsKPiA+IC0gICAgICAgd3JpdGVsKHJlZywgcHJpdi0+Y29udHJvbDEpOwo+ ID4KPiA+ICAgICAgICAgcmVnICY9IH5QTVVfVERDMF9TVEFSVF9DQUxfTUFTSzsKPiA+ICsKPiA+ ICAgICAgICAgd3JpdGVsKHJlZywgcHJpdi0+Y29udHJvbDEpOwo+ID4gIAo+IAo+IElJUkMsIHRo ZSBkb2N1bWVudGF0aW9uIGZvciB0aGlzIGhhcmR3YXJlIGJsb2NrIHdhcyBhIG1lYWdlci4KPiAK PiBBcmUgeW91IHN1cmUgdGhlcmUgaXNuJ3QgYW55IHJlcXVpcmVtZW50IGZvciB0aGUgY2FsaWJy YXRpb24KPiBzdGFydCB0byBiZSBpc3N1ZWQgc2VwYXJhdGVseSBvciBzb21ldGhpbmcgbGlrZSB0 aGF0PwoKSSBkaWRuJ3QgZmluZCBhbnkgaW5mbyBhYm91dCB0aGlzLCBJIGRvbid0IHRoaW5rIGl0 IHdpbGwgYmUgYSBwcm9ibGVtCmlmIG15IHVuZGVyc3RhbmRpbmcgb2YgdGhpcyBJUCBpcyBjb3Jy ZWN0IChoYWQgYSBsb3Qgb2YgaW50ZXJhY3Rpb25zCndpdGggTWFydmVsbCBlbmdpbmVlcnMpIGJ1 dCBjYW5ub3QgYmUgMTAwJSBzdXJlLCBpZiBzb21lb25lIGhhcyBhCnByb2JsZW0gd2UnbGwga25v dyB3aGVyZSB0byBsb29rIGF0LgoKVGhhbmtzLApNaXF1w6hsCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlz dApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJh ZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: miquel.raynal@bootlin.com (Miquel Raynal) Date: Sun, 29 Jul 2018 21:23:04 +0200 Subject: [PATCH v3 02/23] thermal: armada: remove useless register accesses In-Reply-To: References: <20180716144206.30985-1-miquel.raynal@bootlin.com> <20180716144206.30985-3-miquel.raynal@bootlin.com> Message-ID: <20180729212304.00987920@xps13> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Ezequiel, Ezequiel Garcia wrote on Fri, 27 Jul 2018 13:13:20 -0300: > Hi Miquel, > > You know, it is usually useful to Cc the author of the lines a patch touches :-) I have to admit I limited the CC list to the get_maintainers.pl output. But for sure I can add you for further changes :) > > On 16 July 2018 at 11:41, Miquel Raynal wrote: > > Prepare the migration to use regmaps by first simplifying the > > initialization functions: avoid unnecessary write/read cycles on > > configuration registers. > > > > Signed-off-by: Miquel Raynal > > --- > > drivers/thermal/armada_thermal.c | 8 ++------ > > 1 file changed, 2 insertions(+), 6 deletions(-) > > > > diff --git a/drivers/thermal/armada_thermal.c b/drivers/thermal/armada_thermal.c > > index 077e8e562306..6fdb90b3c001 100644 > > --- a/drivers/thermal/armada_thermal.c > > +++ b/drivers/thermal/armada_thermal.c > > @@ -103,16 +103,13 @@ static void armadaxp_init_sensor(struct platform_device *pdev, > > > > reg = readl_relaxed(priv->control1); > > reg |= PMU_TDC0_OTF_CAL_MASK; > > - writel(reg, priv->control1); > > > > /* Reference calibration value */ > > reg &= ~PMU_TDC0_REF_CAL_CNT_MASK; > > reg |= (0xf1 << PMU_TDC0_REF_CAL_CNT_OFFS); > > - writel(reg, priv->control1); > > > > /* Reset the sensor */ > > - reg = readl_relaxed(priv->control1); > > - writel((reg | PMU_TDC0_SW_RST_MASK), priv->control1); > > + reg |= PMU_TDC0_SW_RST_MASK; > > > > writel(reg, priv->control1); > > > > @@ -129,14 +126,13 @@ static void armada370_init_sensor(struct platform_device *pdev, > > > > reg = readl_relaxed(priv->control1); > > reg |= PMU_TDC0_OTF_CAL_MASK; > > - writel(reg, priv->control1); > > > > /* Reference calibration value */ > > reg &= ~PMU_TDC0_REF_CAL_CNT_MASK; > > reg |= (0xf1 << PMU_TDC0_REF_CAL_CNT_OFFS); > > - writel(reg, priv->control1); > > > > reg &= ~PMU_TDC0_START_CAL_MASK; > > + > > writel(reg, priv->control1); > > > > IIRC, the documentation for this hardware block was a meager. > > Are you sure there isn't any requirement for the calibration > start to be issued separately or something like that? I didn't find any info about this, I don't think it will be a problem if my understanding of this IP is correct (had a lot of interactions with Marvell engineers) but cannot be 100% sure, if someone has a problem we'll know where to look at. Thanks, Miqu?l