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=-9.5 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=unavailable 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 7E48AC433E0 for ; Fri, 22 Jan 2021 14:36:27 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 452E120731 for ; Fri, 22 Jan 2021 14:36:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727474AbhAVOgF (ORCPT ); Fri, 22 Jan 2021 09:36:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52638 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728769AbhAVOcY (ORCPT ); Fri, 22 Jan 2021 09:32:24 -0500 Received: from mail-lj1-x22b.google.com (mail-lj1-x22b.google.com [IPv6:2a00:1450:4864:20::22b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5F9E1C061788; Fri, 22 Jan 2021 06:31:44 -0800 (PST) Received: by mail-lj1-x22b.google.com with SMTP id x23so6729494lji.7; Fri, 22 Jan 2021 06:31:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=3Bnnhv8/ungSfzdbo4blEjJTqIYQgbA8qgZ1/HTwN7E=; b=oBE07xqB0ZvDLI0k7/Hsk7r6F8t/AOGFX/EP+FoGbGnweK/B0k+U/kneVLGC1w1vAw B+IvY65C6ivynrcLeUpfcakdNBZClc28ipvA61wqy3lEzKCkD4RZFHTmmZ/yiyyXAd7t NMKYSYkVJQw/Pc3q6x/Q43kg9vnp+/fC21H8tlQyMEnJQ5Pp5Ey2h22c+AluSBwBMUga U5X3OEgpesY/f6hv0cGKho3y+kKbxeF01mD7fGdTB2yFGxUEYpcwpUgsxa2vMVKg2KGU RfO1URkEHLYC7Zr8ZY75PwCNIw4y3K3fcvsRYe7QeNl1jqs1iG3sONBhH78xi0d6o4+I CKLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=3Bnnhv8/ungSfzdbo4blEjJTqIYQgbA8qgZ1/HTwN7E=; b=J1ZAZFQzjS28XMD3du/KGb3n3X46kDqMCHANIPAeLJyCEW2EY4FHEII68U8YGJghIf o1IfkTaT+Mt4R6b+naTg/6KmWt9KpXxzJ3jUR+BSr0l1I646CKHGnbohkui5BTI5urk7 LkMbazUbmkcvBYDT90tfVr4WV5nqKxaBK0tQ639AHHmNlRhXTP82WwBATc6zTULGL3lY SOkTyv0uaku1ifgmIELW6cuq9Ca2N5h+IjnhTWrWSxEl/ebKcj1R94/jRnTLRxdBfp4p U0JFgATquPY4XotNjU/ibaZorxLVyP5p7GgAqiF9e57w90Ce9EheRAE+eyhKDgI8e+ul gi/g== X-Gm-Message-State: AOAM532gszFcCzmRCJAvSFreDmiWrRwk0D0DSLN7+6OIgeawDH6575fS wQ4u16avFpvS3rCOX06/P0s= X-Google-Smtp-Source: ABdhPJxTlicx2+sF7zITXF5P61jkAO0p9O/OOyyGbLeLtpy/95Q1cTcuKKYw9f26i4fJvm7t/Iwfqg== X-Received: by 2002:a2e:958c:: with SMTP id w12mr368249ljh.303.1611325902874; Fri, 22 Jan 2021 06:31:42 -0800 (PST) Received: from [192.168.2.145] (109-252-192-57.dynamic.spd-mgts.ru. [109.252.192.57]) by smtp.googlemail.com with ESMTPSA id s22sm386867ljh.102.2021.01.22.06.31.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 22 Jan 2021 06:31:42 -0800 (PST) Subject: Re: [PATCH 03/13] opp: Keep track of currently programmed OPP To: Viresh Kumar Cc: Viresh Kumar , Nishanth Menon , Stephen Boyd , linux-pm@vger.kernel.org, Vincent Guittot , Rafael Wysocki , Sibi Sankar , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org References: <96b57316a2a307a5cc5ff7302b3cd0084123a2ed.1611227342.git.viresh.kumar@linaro.org> <20210122044532.pc7cpcgy3kjbqmls@vireshk-i7> From: Dmitry Osipenko Message-ID: <8af5abe4-fc3f-8ce4-ff14-542754f0275d@gmail.com> Date: Fri, 22 Jan 2021 17:31:41 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.4.2 MIME-Version: 1.0 In-Reply-To: <20210122044532.pc7cpcgy3kjbqmls@vireshk-i7> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 22.01.2021 07:45, Viresh Kumar пишет: > On 22-01-21, 00:41, Dmitry Osipenko wrote: >> 21.01.2021 14:17, Viresh Kumar пишет: >>> @@ -1074,15 +1091,18 @@ int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq) >>> >>> if (!ret) { >>> ret = _set_opp_bw(opp_table, opp, dev, false); >>> - if (!ret) >>> + if (!ret) { >>> opp_table->enabled = true; >>> + dev_pm_opp_put(old_opp); >>> + >>> + /* Make sure current_opp doesn't get freed */ >>> + dev_pm_opp_get(opp); >>> + opp_table->current_opp = opp; >>> + } >>> } >> >> I'm a bit surprised that _set_opp_bw() isn't used similarly to >> _set_opp_voltage() in _generic_set_opp_regulator(). >> >> I'd expect the BW requirement to be raised before the clock rate goes UP. > > I remember discussing that earlier when this stuff came in, and this I > believe is the reason for that. > > We need to scale regulators before/after frequency because when we > increase the frequency a regulator may _not_ be providing enough power > to sustain that (even for a short while) and this may have undesired > effects on the hardware and so it is important to prevent that > malfunction. > > In case of bandwidth such issues will not happen (AFAIK) and doing it > just once is normally enough. It is just about allowing more data to > be transmitted, and won't make the hardware behave badly. > This may not be true for all kinds of hardware, a display controller is one example. If display's pixclock is raised before the memory bandwidth of the display's memory client, then display controller may get a memory underflow since it won't be able to fetch memory fast enough and it's not possible to pause data transmission to display panel, hence display panel may get out of sync and a full hardware reset will be needed in order to recover. At least this is the case for NVIDIA Tegra SoCs. I guess it's not a real problem for any of OPP API users right now, but this is something to keep in mind. 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=-7.5 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no 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 06510C433DB for ; Fri, 22 Jan 2021 14:33:03 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 BA53520731 for ; Fri, 22 Jan 2021 14:33:02 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BA53520731 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+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=merlin.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:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=ARKWNMrpqIunnoE+U6DyiOGtiVXEBd77MtOo3c+n4zI=; b=rL7TAvGrGILk/RFLNNNQqJoq+ K6DsToKg3qpZv3Zl0CNZ8Wju4Ucxvpxue8ZZgLrvS16kn3yo/YZu+T9/gxARcmEIyW29T7jhTIXzQ r3AjP9NardxJNtaF0LYlIOce5EE+3wMy4Jq8VAEhb1n+wjO9HLa+E/hMG0YJRzICdgccQL3Y9Yt0r eRZ08uC//ujWEYkaGLurIwCbyoj2lXQkVgzVqtoKr7qMOZZIIekrNZFUBJ0EsvkjW6NsDyXe5Rpwn Mg9Gp7uYwfsWE879Xw5POWqPHlFnXHaAxkCdmHUIOZyEzWnQznHR8I7e0ME3sEbGWPZyDWskaaNLn d+wixbvsQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1l2xTX-0007LS-5z; Fri, 22 Jan 2021 14:31:47 +0000 Received: from mail-lj1-x230.google.com ([2a00:1450:4864:20::230]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1l2xTV-0007L3-3P for linux-arm-kernel@lists.infradead.org; Fri, 22 Jan 2021 14:31:45 +0000 Received: by mail-lj1-x230.google.com with SMTP id p13so6763352ljg.2 for ; Fri, 22 Jan 2021 06:31:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=3Bnnhv8/ungSfzdbo4blEjJTqIYQgbA8qgZ1/HTwN7E=; b=oBE07xqB0ZvDLI0k7/Hsk7r6F8t/AOGFX/EP+FoGbGnweK/B0k+U/kneVLGC1w1vAw B+IvY65C6ivynrcLeUpfcakdNBZClc28ipvA61wqy3lEzKCkD4RZFHTmmZ/yiyyXAd7t NMKYSYkVJQw/Pc3q6x/Q43kg9vnp+/fC21H8tlQyMEnJQ5Pp5Ey2h22c+AluSBwBMUga U5X3OEgpesY/f6hv0cGKho3y+kKbxeF01mD7fGdTB2yFGxUEYpcwpUgsxa2vMVKg2KGU RfO1URkEHLYC7Zr8ZY75PwCNIw4y3K3fcvsRYe7QeNl1jqs1iG3sONBhH78xi0d6o4+I CKLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=3Bnnhv8/ungSfzdbo4blEjJTqIYQgbA8qgZ1/HTwN7E=; b=Xoz9/+rJTi6CUrlFXWzc1JT2Wst9te+aJsgiCmozA171KosHvDiUrgZ8sTSOHvgAx4 vFl2ymzDvA5qwDdMoUBzDNkktmHkgDgD0hAXk5cIXU1BvK8jZ9RDeChRfMV3JzsyjdQ9 i1IS8ReF1QPAiQdwyKWXR12d8adkQzT8i9T3zU71WrI6xgRLWbr0TgJI+vveGJLBQ2JD ezUuFqLDR+RQdrKwyD0D3AFVQXtca+FPDwAYvPW6y8p4OTLrw39fdMYn9RYvzQN/BoU8 4RsoNJ/qH00PbD/UnqpSDwL/RvE17DJZA100zPlF3gwBRJs73j1gfhFZhjeC21uR5PCQ u7VQ== X-Gm-Message-State: AOAM532kSgAIg6eDP/7z5SsgMLX3DG8V6JmUC8vM5pGtngXMbGJH6Dr0 rozMek/IDO+kcbhabg8VCchhVnrZ2YY= X-Google-Smtp-Source: ABdhPJxTlicx2+sF7zITXF5P61jkAO0p9O/OOyyGbLeLtpy/95Q1cTcuKKYw9f26i4fJvm7t/Iwfqg== X-Received: by 2002:a2e:958c:: with SMTP id w12mr368249ljh.303.1611325902874; Fri, 22 Jan 2021 06:31:42 -0800 (PST) Received: from [192.168.2.145] (109-252-192-57.dynamic.spd-mgts.ru. [109.252.192.57]) by smtp.googlemail.com with ESMTPSA id s22sm386867ljh.102.2021.01.22.06.31.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 22 Jan 2021 06:31:42 -0800 (PST) Subject: Re: [PATCH 03/13] opp: Keep track of currently programmed OPP To: Viresh Kumar References: <96b57316a2a307a5cc5ff7302b3cd0084123a2ed.1611227342.git.viresh.kumar@linaro.org> <20210122044532.pc7cpcgy3kjbqmls@vireshk-i7> From: Dmitry Osipenko Message-ID: <8af5abe4-fc3f-8ce4-ff14-542754f0275d@gmail.com> Date: Fri, 22 Jan 2021 17:31:41 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.4.2 MIME-Version: 1.0 In-Reply-To: <20210122044532.pc7cpcgy3kjbqmls@vireshk-i7> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210122_093145_177871_6ED879BE X-CRM114-Status: GOOD ( 20.36 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Nishanth Menon , Vincent Guittot , linux-pm@vger.kernel.org, Stephen Boyd , Viresh Kumar , Rafael Wysocki , linux-kernel@vger.kernel.org, Sibi Sankar , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org MjIuMDEuMjAyMSAwNzo0NSwgVmlyZXNoIEt1bWFyINC/0LjRiNC10YI6Cj4gT24gMjItMDEtMjEs IDAwOjQxLCBEbWl0cnkgT3NpcGVua28gd3JvdGU6Cj4+IDIxLjAxLjIwMjEgMTQ6MTcsIFZpcmVz aCBLdW1hciDQv9C40YjQtdGCOgo+Pj4gQEAgLTEwNzQsMTUgKzEwOTEsMTggQEAgaW50IGRldl9w bV9vcHBfc2V0X3JhdGUoc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBsb25nIHRhcmdldF9m cmVxKQo+Pj4gIAo+Pj4gIAlpZiAoIXJldCkgewo+Pj4gIAkJcmV0ID0gX3NldF9vcHBfYncob3Bw X3RhYmxlLCBvcHAsIGRldiwgZmFsc2UpOwo+Pj4gLQkJaWYgKCFyZXQpCj4+PiArCQlpZiAoIXJl dCkgewo+Pj4gIAkJCW9wcF90YWJsZS0+ZW5hYmxlZCA9IHRydWU7Cj4+PiArCQkJZGV2X3BtX29w cF9wdXQob2xkX29wcCk7Cj4+PiArCj4+PiArCQkJLyogTWFrZSBzdXJlIGN1cnJlbnRfb3BwIGRv ZXNuJ3QgZ2V0IGZyZWVkICovCj4+PiArCQkJZGV2X3BtX29wcF9nZXQob3BwKTsKPj4+ICsJCQlv cHBfdGFibGUtPmN1cnJlbnRfb3BwID0gb3BwOwo+Pj4gKwkJfQo+Pj4gIAl9Cj4+Cj4+IEknbSBh IGJpdCBzdXJwcmlzZWQgdGhhdCBfc2V0X29wcF9idygpIGlzbid0IHVzZWQgc2ltaWxhcmx5IHRv Cj4+IF9zZXRfb3BwX3ZvbHRhZ2UoKSBpbiBfZ2VuZXJpY19zZXRfb3BwX3JlZ3VsYXRvcigpLgo+ Pgo+PiBJJ2QgZXhwZWN0IHRoZSBCVyByZXF1aXJlbWVudCB0byBiZSByYWlzZWQgYmVmb3JlIHRo ZSBjbG9jayByYXRlIGdvZXMgVVAuCj4gCj4gSSByZW1lbWJlciBkaXNjdXNzaW5nIHRoYXQgZWFy bGllciB3aGVuIHRoaXMgc3R1ZmYgY2FtZSBpbiwgYW5kIHRoaXMgSQo+IGJlbGlldmUgaXMgdGhl IHJlYXNvbiBmb3IgdGhhdC4KPiAKPiBXZSBuZWVkIHRvIHNjYWxlIHJlZ3VsYXRvcnMgYmVmb3Jl L2FmdGVyIGZyZXF1ZW5jeSBiZWNhdXNlIHdoZW4gd2UKPiBpbmNyZWFzZSB0aGUgZnJlcXVlbmN5 IGEgcmVndWxhdG9yIG1heSBfbm90XyBiZSBwcm92aWRpbmcgZW5vdWdoIHBvd2VyCj4gdG8gc3Vz dGFpbiB0aGF0IChldmVuIGZvciBhIHNob3J0IHdoaWxlKSBhbmQgdGhpcyBtYXkgaGF2ZSB1bmRl c2lyZWQKPiBlZmZlY3RzIG9uIHRoZSBoYXJkd2FyZSBhbmQgc28gaXQgaXMgaW1wb3J0YW50IHRv IHByZXZlbnQgdGhhdAo+IG1hbGZ1bmN0aW9uLgo+IAo+IEluIGNhc2Ugb2YgYmFuZHdpZHRoIHN1 Y2ggaXNzdWVzIHdpbGwgbm90IGhhcHBlbiAoQUZBSUspIGFuZCBkb2luZyBpdAo+IGp1c3Qgb25j ZSBpcyBub3JtYWxseSBlbm91Z2guIEl0IGlzIGp1c3QgYWJvdXQgYWxsb3dpbmcgbW9yZSBkYXRh IHRvCj4gYmUgdHJhbnNtaXR0ZWQsIGFuZCB3b24ndCBtYWtlIHRoZSBoYXJkd2FyZSBiZWhhdmUg YmFkbHkuCj4gCgpUaGlzIG1heSBub3QgYmUgdHJ1ZSBmb3IgYWxsIGtpbmRzIG9mIGhhcmR3YXJl LCBhIGRpc3BsYXkgY29udHJvbGxlciBpcwpvbmUgZXhhbXBsZS4gSWYgZGlzcGxheSdzIHBpeGNs b2NrIGlzIHJhaXNlZCBiZWZvcmUgdGhlIG1lbW9yeSBiYW5kd2lkdGgKb2YgdGhlIGRpc3BsYXkn cyBtZW1vcnkgY2xpZW50LCB0aGVuIGRpc3BsYXkgY29udHJvbGxlciBtYXkgZ2V0IGEgbWVtb3J5 CnVuZGVyZmxvdyBzaW5jZSBpdCB3b24ndCBiZSBhYmxlIHRvIGZldGNoIG1lbW9yeSBmYXN0IGVu b3VnaCBhbmQgaXQncwpub3QgcG9zc2libGUgdG8gcGF1c2UgZGF0YSB0cmFuc21pc3Npb24gdG8g ZGlzcGxheSBwYW5lbCwgaGVuY2UgZGlzcGxheQpwYW5lbCBtYXkgZ2V0IG91dCBvZiBzeW5jIGFu ZCBhIGZ1bGwgaGFyZHdhcmUgcmVzZXQgd2lsbCBiZSBuZWVkZWQgaW4Kb3JkZXIgdG8gcmVjb3Zl ci4gQXQgbGVhc3QgdGhpcyBpcyB0aGUgY2FzZSBmb3IgTlZJRElBIFRlZ3JhIFNvQ3MuCgpJIGd1 ZXNzIGl0J3Mgbm90IGEgcmVhbCBwcm9ibGVtIGZvciBhbnkgb2YgT1BQIEFQSSB1c2VycyByaWdo dCBub3csIGJ1dAp0aGlzIGlzIHNvbWV0aGluZyB0byBrZWVwIGluIG1pbmQuCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1h aWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xp c3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==