From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthias Kaehlcke Subject: Re: [PATCH v2 3/5] devfreq: rk3399_dmc: Pass ODT and auto power down parameters to TF-A. Date: Thu, 21 Mar 2019 17:01:07 -0700 Message-ID: <20190322000107.GU112750@google.com> References: <20190319181323.22804-1-gael.portay@collabora.com> <20190319181323.22804-4-gael.portay@collabora.com> <20190320003352.GN112750@google.com> <20190320215013.43zgvyn5frnb3yud@archlinux.localdomain> <20190320220223.GP112750@google.com> <20190321231055.j7z23f3k3rcngq4u@archlinux.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Content-Disposition: inline In-Reply-To: <20190321231055.j7z23f3k3rcngq4u@archlinux.localdomain> Sender: linux-kernel-owner@vger.kernel.org To: =?utf-8?B?R2HDq2w=?= PORTAY Cc: Mark Rutland , devicetree@vger.kernel.org, Derek Basehore , Heiko Stuebner , linux-pm@vger.kernel.org, Brian Norris , Douglas Anderson , linux-kernel@vger.kernel.org, Chanwoo Choi , Kyungmin Park , Rob Herring , Klaus Goger , MyungJoo Ham , Enric Balletbo i Serra , linux-rockchip@lists.infradead.org, Randy Li , kernel@collabora.com, linux-arm-kernel@lists.infradead.org, Lin Huang List-Id: linux-pm@vger.kernel.org Hi Gaël, On Thu, Mar 21, 2019 at 07:10:55PM -0400, Gaël PORTAY wrote: > Matthias, > > On Wed, Mar 20, 2019 at 03:02:23PM -0700, Matthias Kaehlcke wrote: > > Hi Gaël, > > > > On Wed, Mar 20, 2019 at 05:50:13PM -0400, Gaël PORTAY wrote: > > > Hi Matthias, > > > > > > On Tue, Mar 19, 2019 at 05:33:52PM -0700, Matthias Kaehlcke wrote: > > > > ... > > > > > @@ -95,6 +103,19 @@ static int rk3399_dmcfreq_target(struct device *dev, unsigned long *freq, > > > > > > > > > > mutex_lock(&dmcfreq->lock); > > > > > > > > > > + if (target_rate >= dmcfreq->odt_dis_freq) > > > > > + odt_enable = true; > > > > > + > > > > > + /* > > > > > + * This makes a SMC call to the TF-A to set the DDR PD (power-down) > > > > > + * timings and to enable or disable the ODT (on-die termination) > > > > > + * resistors. > > > > > + */ > > > > > + arm_smccc_smc(ROCKCHIP_SIP_DRAM_FREQ, dmcfreq->odt_pd_arg0, > > > > > + dmcfreq->odt_pd_arg1, > > > > > + ROCKCHIP_SIP_CONFIG_DRAM_SET_ODT_PD, > > > > > + odt_enable, 0, 0, 0, &res); > > > > > > > > Is it necessary/desirable to make this call for every frequency > > > > change? IIUC it should be only needed when odt_enable changes and the > > > > driver could track the state. If the DDR frequency doesn't change too > > > > often and the overhead of the call is small it shouldn't be really > > > > important though. > > > > > > > > > > I will test your solution first to make sure there is no regression to > > > run that call for frequency change only. > > > > Oops, I wanted to say when odt_enable changes since last call. > > > If there is no frequency change the function returns at the > > beginning. My suggestion was to only do the call when 'odt_enable' > > changes, i.e. when a change (up or down) passes the 'odt_dis_freq' > > threshold. > > > > So, for a reason that I ignore, if we try to save unecessary calls to > ROCKCHIP_SIP_CONFIG_DRAM_SET_ODT_PD (odt_enable has not changed since > last call), we get stalled in the call to ROCKCHIP_SIP_CONFIG_SET_RAGE > that follows. The function arm_smccc_smc never returns and the device > hard hang. Thanks for giving it a try! Did your code ensure to perform the SMC call for the first frequency change? If not the problem could be that the DDR PD timings and ODT resistors are not properly configured for the new frequency. In case you already did this or it doesn't help I think it's fine to just do the call always, we can always revisit this later. > Thanks to your remark, I have also fixed an issue with the odt_dis_freq > value. Its value is initialized to 0 in the probe function. Thus the > odt_enable is always true (target_rate > 0). I moved its initialization > after the timings are parsed from the device-tree; its value is now none > zero (333000000 in my case). Great! From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.5 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS, USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D4635C43381 for ; Fri, 22 Mar 2019 00:01:27 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7BE8121917 for ; Fri, 22 Mar 2019 00:01:27 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="RKkLkQDb"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="QOfrRQlX" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7BE8121917 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=chromium.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=rCHlhkZkBLYqCmTj6+bmxR5VecRPCetV+G/hbZGpPw8=; b=RKkLkQDb9cltvi Csz24eiQDEejNtQyu4EXkMFQugpA7hT7hIIhghDejZg6v6QIjxQCS0V6GkHVTDpbKb2z0v8Bykwfj gzPutmEfB/RPI/N9+XJnbwUCTJXWQzAAuYI3wEpTf0nC8qPIOgk8+k2DMYR9Kypegd88HXAh12rZP /6rf8JIC131pqsNJ/IJH1BIzT51x/tbqj+AzWL4lzZqv369VnM1DkDI2DC4CwAWdSnW13igUKN6s5 lzNKfutG9RE/G0iqIt/Kuf23mGc+tqEWxLwPsYInsloplFUY8gsGqWJ85wb9BL+kVEexZWRA2F8J2 S8CbiJOqBRKCL3Nvjxlg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1h77cf-0005oi-V9; Fri, 22 Mar 2019 00:01:21 +0000 Received: from mail-pg1-x543.google.com ([2607:f8b0:4864:20::543]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1h77cU-0005bf-80 for linux-arm-kernel@lists.infradead.org; Fri, 22 Mar 2019 00:01:11 +0000 Received: by mail-pg1-x543.google.com with SMTP id r124so181849pgr.3 for ; Thu, 21 Mar 2019 17:01:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=mbUY1OHCeDnwyDZsP92jAEWpkbO9ni7ahbfUuhZ6LRE=; b=QOfrRQlX5/fxad5/FSbfrEcaOzOPUQR6+AoBWJzl1HHGBSlUApV2kj+/K6LB5w68Fn sjWSBu0+amGzUjv9ccCMceLxLiayUGylnkSeHmScLURvlFt++tug6Iggx2pUksVvaW5c DtQUZL4Q0RHqaWhrVRrlzfxM0ABJJ1PXX2PTw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=mbUY1OHCeDnwyDZsP92jAEWpkbO9ni7ahbfUuhZ6LRE=; b=GXGRSZ2eLdtF49oH9Keq/fT3HGJx460P3uIaV8NHwrp+Lk6LEHQeK1Y3mzibbWKVCj +SVQlPnEFjWCufhXwv1tb0GnPKsAiq+nwdDCNk9tEk5cKgkwqublWhnYeLLHyxWAJRNG 28doNv2nnXKwpKgIJIu7cgGWdOnwB6nhOK6Ww/vC0+nSL4QtyMQ5d/ESVQzcLoBU4F5U YtJTGql7fBYRc4zIomyjdnx35vg30BaWFrNtLnKf7PNo5zPvr30ZXV8s2urjjuNS7N+V SCDM81+/SzNp0Y0e7+tRJecE0whiR1VEvCO37YLR2rKJPIrbl1nsx9hZa3rp3HmXSw3i ZrdQ== X-Gm-Message-State: APjAAAXCCFQ1oMuZCzLNgKSUpEWPsAKj4hn+SY9p/j5gw5ylLAShrVEj cRuDZw9tglExVSOoegFsRvpMmA== X-Google-Smtp-Source: APXvYqws1eulgf0bY+vTEUSoo8RYFI28ZIhXFkHYCDDtLa4tURcjuzPnhg6SntBIS/oaYeLvcwAS5g== X-Received: by 2002:a63:e813:: with SMTP id s19mr5944970pgh.12.1553212869251; Thu, 21 Mar 2019 17:01:09 -0700 (PDT) Received: from localhost ([2620:15c:202:1:75a:3f6e:21d:9374]) by smtp.gmail.com with ESMTPSA id 7sm11465465pgj.64.2019.03.21.17.01.08 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 Mar 2019 17:01:08 -0700 (PDT) Date: Thu, 21 Mar 2019 17:01:07 -0700 From: Matthias Kaehlcke To: =?utf-8?B?R2HDq2w=?= PORTAY Subject: Re: [PATCH v2 3/5] devfreq: rk3399_dmc: Pass ODT and auto power down parameters to TF-A. Message-ID: <20190322000107.GU112750@google.com> References: <20190319181323.22804-1-gael.portay@collabora.com> <20190319181323.22804-4-gael.portay@collabora.com> <20190320003352.GN112750@google.com> <20190320215013.43zgvyn5frnb3yud@archlinux.localdomain> <20190320220223.GP112750@google.com> <20190321231055.j7z23f3k3rcngq4u@archlinux.localdomain> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190321231055.j7z23f3k3rcngq4u@archlinux.localdomain> User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190321_170110_302924_156F3A0C X-CRM114-Status: GOOD ( 28.36 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , devicetree@vger.kernel.org, Derek Basehore , Heiko Stuebner , linux-pm@vger.kernel.org, Brian Norris , Douglas Anderson , linux-kernel@vger.kernel.org, Chanwoo Choi , Kyungmin Park , Rob Herring , Klaus Goger , MyungJoo Ham , Enric Balletbo i Serra , linux-rockchip@lists.infradead.org, Randy Li , kernel@collabora.com, linux-arm-kernel@lists.infradead.org, Lin Huang Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgR2HDq2wsCgpPbiBUaHUsIE1hciAyMSwgMjAxOSBhdCAwNzoxMDo1NVBNIC0wNDAwLCBHYcOr bCBQT1JUQVkgd3JvdGU6Cj4gTWF0dGhpYXMsCj4gCj4gT24gV2VkLCBNYXIgMjAsIDIwMTkgYXQg MDM6MDI6MjNQTSAtMDcwMCwgTWF0dGhpYXMgS2FlaGxja2Ugd3JvdGU6Cj4gPiBIaSBHYcOrbCwK PiA+IAo+ID4gT24gV2VkLCBNYXIgMjAsIDIwMTkgYXQgMDU6NTA6MTNQTSAtMDQwMCwgR2HDq2wg UE9SVEFZIHdyb3RlOgo+ID4gPiBIaSBNYXR0aGlhcywKPiA+ID4gCj4gPiA+IE9uIFR1ZSwgTWFy IDE5LCAyMDE5IGF0IDA1OjMzOjUyUE0gLTA3MDAsIE1hdHRoaWFzIEthZWhsY2tlIHdyb3RlOgo+ ID4gPiA+IC4uLgo+ID4gPiA+ID4gQEAgLTk1LDYgKzEwMywxOSBAQCBzdGF0aWMgaW50IHJrMzM5 OV9kbWNmcmVxX3RhcmdldChzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGxvbmcgKmZyZXEs Cj4gPiA+ID4gPiAgCj4gPiA+ID4gPiAgCW11dGV4X2xvY2soJmRtY2ZyZXEtPmxvY2spOwo+ID4g PiA+ID4gIAo+ID4gPiA+ID4gKwlpZiAodGFyZ2V0X3JhdGUgPj0gZG1jZnJlcS0+b2R0X2Rpc19m cmVxKQo+ID4gPiA+ID4gKwkJb2R0X2VuYWJsZSA9IHRydWU7Cj4gPiA+ID4gPiArCj4gPiA+ID4g PiArCS8qCj4gPiA+ID4gPiArCSAqIFRoaXMgbWFrZXMgYSBTTUMgY2FsbCB0byB0aGUgVEYtQSB0 byBzZXQgdGhlIEREUiBQRCAocG93ZXItZG93bikKPiA+ID4gPiA+ICsJICogdGltaW5ncyBhbmQg dG8gZW5hYmxlIG9yIGRpc2FibGUgdGhlIE9EVCAob24tZGllIHRlcm1pbmF0aW9uKQo+ID4gPiA+ ID4gKwkgKiByZXNpc3RvcnMuCj4gPiA+ID4gPiArCSAqLwo+ID4gPiA+ID4gKwlhcm1fc21jY2Nf c21jKFJPQ0tDSElQX1NJUF9EUkFNX0ZSRVEsIGRtY2ZyZXEtPm9kdF9wZF9hcmcwLAo+ID4gPiA+ ID4gKwkJICAgICAgZG1jZnJlcS0+b2R0X3BkX2FyZzEsCj4gPiA+ID4gPiArCQkgICAgICBST0NL Q0hJUF9TSVBfQ09ORklHX0RSQU1fU0VUX09EVF9QRCwKPiA+ID4gPiA+ICsJCSAgICAgIG9kdF9l bmFibGUsIDAsIDAsIDAsICZyZXMpOwo+ID4gPiA+IAo+ID4gPiA+IElzIGl0IG5lY2Vzc2FyeS9k ZXNpcmFibGUgdG8gbWFrZSB0aGlzIGNhbGwgZm9yIGV2ZXJ5IGZyZXF1ZW5jeQo+ID4gPiA+IGNo YW5nZT8gSUlVQyBpdCBzaG91bGQgYmUgb25seSBuZWVkZWQgd2hlbiBvZHRfZW5hYmxlIGNoYW5n ZXMgYW5kIHRoZQo+ID4gPiA+IGRyaXZlciBjb3VsZCB0cmFjayB0aGUgc3RhdGUuIElmIHRoZSBE RFIgZnJlcXVlbmN5IGRvZXNuJ3QgY2hhbmdlIHRvbwo+ID4gPiA+IG9mdGVuIGFuZCB0aGUgb3Zl cmhlYWQgb2YgdGhlIGNhbGwgaXMgc21hbGwgaXQgc2hvdWxkbid0IGJlIHJlYWxseQo+ID4gPiA+ IGltcG9ydGFudCB0aG91Z2guCj4gPiA+ID4KPiA+ID4gCj4gPiA+IEkgd2lsbCB0ZXN0IHlvdXIg c29sdXRpb24gZmlyc3QgdG8gbWFrZSBzdXJlIHRoZXJlIGlzIG5vIHJlZ3Jlc3Npb24gdG8KPiA+ ID4gcnVuIHRoYXQgY2FsbCBmb3IgZnJlcXVlbmN5IGNoYW5nZSBvbmx5Lgo+ID4gCj4gCj4gT29w cywgSSB3YW50ZWQgdG8gc2F5IHdoZW4gb2R0X2VuYWJsZSBjaGFuZ2VzIHNpbmNlIGxhc3QgY2Fs bC4KPiAKPiA+IElmIHRoZXJlIGlzIG5vIGZyZXF1ZW5jeSBjaGFuZ2UgdGhlIGZ1bmN0aW9uIHJl dHVybnMgYXQgdGhlCj4gPiBiZWdpbm5pbmcuIE15IHN1Z2dlc3Rpb24gd2FzIHRvIG9ubHkgZG8g dGhlIGNhbGwgd2hlbiAnb2R0X2VuYWJsZScKPiA+IGNoYW5nZXMsIGkuZS4gd2hlbiBhIGNoYW5n ZSAodXAgb3IgZG93bikgcGFzc2VzIHRoZSAnb2R0X2Rpc19mcmVxJwo+ID4gdGhyZXNob2xkLgo+ ID4gCj4gCj4gU28sIGZvciBhIHJlYXNvbiB0aGF0IEkgaWdub3JlLCBpZiB3ZSB0cnkgdG8gc2F2 ZSB1bmVjZXNzYXJ5IGNhbGxzIHRvCj4gUk9DS0NISVBfU0lQX0NPTkZJR19EUkFNX1NFVF9PRFRf UEQgKG9kdF9lbmFibGUgaGFzIG5vdCBjaGFuZ2VkIHNpbmNlCj4gbGFzdCBjYWxsKSwgd2UgZ2V0 IHN0YWxsZWQgaW4gdGhlIGNhbGwgdG8gUk9DS0NISVBfU0lQX0NPTkZJR19TRVRfUkFHRQo+IHRo YXQgZm9sbG93cy4gVGhlIGZ1bmN0aW9uIGFybV9zbWNjY19zbWMgbmV2ZXIgcmV0dXJucyBhbmQg dGhlIGRldmljZQo+IGhhcmQgaGFuZy4KClRoYW5rcyBmb3IgZ2l2aW5nIGl0IGEgdHJ5IQoKRGlk IHlvdXIgY29kZSBlbnN1cmUgdG8gcGVyZm9ybSB0aGUgU01DIGNhbGwgZm9yIHRoZSBmaXJzdCBm cmVxdWVuY3kKY2hhbmdlPyBJZiBub3QgdGhlIHByb2JsZW0gY291bGQgYmUgdGhhdCB0aGUgRERS IFBEIHRpbWluZ3MgYW5kIE9EVApyZXNpc3RvcnMgYXJlIG5vdCBwcm9wZXJseSBjb25maWd1cmVk IGZvciB0aGUgbmV3IGZyZXF1ZW5jeS4KCkluIGNhc2UgeW91IGFscmVhZHkgZGlkIHRoaXMgb3Ig aXQgZG9lc24ndCBoZWxwIEkgdGhpbmsgaXQncyBmaW5lIHRvCmp1c3QgZG8gdGhlIGNhbGwgYWx3 YXlzLCB3ZSBjYW4gYWx3YXlzIHJldmlzaXQgdGhpcyBsYXRlci4KCj4gVGhhbmtzIHRvIHlvdXIg cmVtYXJrLCBJIGhhdmUgYWxzbyBmaXhlZCBhbiBpc3N1ZSB3aXRoIHRoZSBvZHRfZGlzX2ZyZXEK PiB2YWx1ZS4gSXRzIHZhbHVlIGlzIGluaXRpYWxpemVkIHRvIDAgaW4gdGhlIHByb2JlIGZ1bmN0 aW9uLiBUaHVzIHRoZQo+IG9kdF9lbmFibGUgaXMgYWx3YXlzIHRydWUgKHRhcmdldF9yYXRlID4g MCkuIEkgbW92ZWQgaXRzIGluaXRpYWxpemF0aW9uCj4gYWZ0ZXIgdGhlIHRpbWluZ3MgYXJlIHBh cnNlZCBmcm9tIHRoZSBkZXZpY2UtdHJlZTsgaXRzIHZhbHVlIGlzIG5vdyBub25lCj4gemVybyAo MzMzMDAwMDAwIGluIG15IGNhc2UpLgoKR3JlYXQhCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51 eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==