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.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS, URIBL_BLOCKED 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 51E4AC43387 for ; Fri, 21 Dec 2018 08:30:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id F291821915 for ; Fri, 21 Dec 2018 08:30:27 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=linaro.org header.i=@linaro.org header.b="XOpqkp80" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387510AbeLUIa1 (ORCPT ); Fri, 21 Dec 2018 03:30:27 -0500 Received: from mail-it1-f196.google.com ([209.85.166.196]:40368 "EHLO mail-it1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731329AbeLUIa0 (ORCPT ); Fri, 21 Dec 2018 03:30:26 -0500 Received: by mail-it1-f196.google.com with SMTP id h193so5504098ita.5 for ; Fri, 21 Dec 2018 00:30:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Kg58iDoEj2/Ynp72zUhlECObona9Pdn11IvhQJoR7MI=; b=XOpqkp80h4I50S3/DFbL3FKLVVPFHn4jv32SWx5LC3+iST111CaDku3tWrjDdIypZ2 wmw+uhMW6Sdp+TnmQDtTE+FXFea6pw9zfkKyDeThxJeZmeHMBrqvqnI4WQqMOoHVRqzX 76LdGTcfX28Jjx5CrIYqXUAwGe6q8wtZG1sCs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Kg58iDoEj2/Ynp72zUhlECObona9Pdn11IvhQJoR7MI=; b=SutOx26W8CgiemneJ09RVpoTuNzdHbYpUWT9aJaLtLvuUjyAC9ewWXnw8GZtmRvmsj /U8Lh5K7ofmr+OpZVcBSzgL3oZKjpJ9oB6ne+wfYBtAtYwEmMsbfBXsRPzbWloJoMN7s z25GJivCzE0ByEsfRXgBcC9F/rYp/r8OL44mJ73ZvY66XE8xxESARxPi1lfMyXKsemI4 D8Dr6dSeMNCu2/z7vbHWuDTuM7WH5bH3bMVCvhnk/D2zsUXrp3YWW4jvC4Ln84RvU/TR Mr7XjWPGd2WWNldWKJkYB8e2mfwHvm+r7/GCrHdlwKaA72Dp/iRzNxEfhsgZJK/diHo+ DONw== X-Gm-Message-State: AA+aEWbBl56H75hnMgJvW8IC++WNbKWN/OPR5EOwm3HcbHcblX4PyBJF 3b8WtUfyBxtQDd7no5WyNkR3g6y6neo2dAxSdrirxw== X-Google-Smtp-Source: AFSGD/XApst9vY4UEfYrbvWQpWk+2Y2nbKW1Uo6woazfYu2bRs++mmbV7PtWPQb2Fv/dWcLo+adHrUHMx8jdN7BedK0= X-Received: by 2002:a24:6f42:: with SMTP id x63mr1327210itb.152.1545381025347; Fri, 21 Dec 2018 00:30:25 -0800 (PST) MIME-Version: 1.0 References: <1545315417-14483-1-git-send-email-vincent.guittot@linaro.org> In-Reply-To: From: Vincent Guittot Date: Fri, 21 Dec 2018 09:30:14 +0100 Message-ID: Subject: Re: [PATCH v4 2/3] drm/i915: Move on the new pm runtime interface To: Ulf Hansson Cc: Linux PM , Linux Kernel Mailing List , "Rafael J. Wysocki" , Thara Gopinath , jani.nikula@linux.intel.com, Joonas Lahtinen , rodrigo.vivi@intel.com, David Airlie , "Intel graphics driver community testing & development" , dri-devel Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 20 Dec 2018 at 23:04, Ulf Hansson wrote: > > On Thu, 20 Dec 2018 at 15:17, Vincent Guittot > wrote: > > > > Use the new pm runtime interface to get the accounted suspended time: > > pm_runtime_accounted_time_get() > > pm_runtime_suspended_time() > > This change also makes quite some nice cleanups to the code, which is > mostly because of converting to the new runtime PM API. I think the > changelog deserves to state that, in some simple way. ok > > > > > Signed-off-by: Vincent Guittot > > Other than the minor things above: > > Reviewed-by: Ulf Hansson > > Kind regards > Uffe > > > > --- > > drivers/gpu/drm/i915/i915_pmu.c | 16 ++++++---------- > > drivers/gpu/drm/i915/i915_pmu.h | 4 ++-- > > 2 files changed, 8 insertions(+), 12 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/i915_pmu.c b/drivers/gpu/drm/i915/i915_pmu.c > > index d6c8f8f..3f76f60 100644 > > --- a/drivers/gpu/drm/i915/i915_pmu.c > > +++ b/drivers/gpu/drm/i915/i915_pmu.c > > @@ -5,6 +5,7 @@ > > */ > > > > #include > > +#include > > #include "i915_pmu.h" > > #include "intel_ringbuffer.h" > > #include "i915_drv.h" > > @@ -478,7 +479,6 @@ static u64 get_rc6(struct drm_i915_private *i915) > > * counter value. > > */ > > spin_lock_irqsave(&i915->pmu.lock, flags); > > - spin_lock(&kdev->power.lock); > > > > /* > > * After the above branch intel_runtime_pm_get_if_in_use failed > > @@ -491,16 +491,13 @@ static u64 get_rc6(struct drm_i915_private *i915) > > * suspended and if not we cannot do better than report the last > > * known RC6 value. > > */ > > - if (kdev->power.runtime_status == RPM_SUSPENDED) { > > - if (!i915->pmu.sample[__I915_SAMPLE_RC6_ESTIMATED].cur) > > - i915->pmu.suspended_jiffies_last = > > - kdev->power.suspended_jiffies; > > + if (pm_runtime_status_suspended(kdev)) { > > + val = pm_runtime_suspended_time(kdev); > > > > - val = kdev->power.suspended_jiffies - > > - i915->pmu.suspended_jiffies_last; > > - val += jiffies - kdev->power.accounting_timestamp; > > + if (!i915->pmu.sample[__I915_SAMPLE_RC6_ESTIMATED].cur) > > + i915->pmu.suspended_time_last = val; > > > > - val = jiffies_to_nsecs(val); > > + val -= i915->pmu.suspended_time_last; > > val += i915->pmu.sample[__I915_SAMPLE_RC6].cur; > > > > i915->pmu.sample[__I915_SAMPLE_RC6_ESTIMATED].cur = val; > > @@ -510,7 +507,6 @@ static u64 get_rc6(struct drm_i915_private *i915) > > val = i915->pmu.sample[__I915_SAMPLE_RC6].cur; > > } > > > > - spin_unlock(&kdev->power.lock); > > spin_unlock_irqrestore(&i915->pmu.lock, flags); > > } > > > > diff --git a/drivers/gpu/drm/i915/i915_pmu.h b/drivers/gpu/drm/i915/i915_pmu.h > > index 7f164ca..3dc2a30 100644 > > --- a/drivers/gpu/drm/i915/i915_pmu.h > > +++ b/drivers/gpu/drm/i915/i915_pmu.h > > @@ -95,9 +95,9 @@ struct i915_pmu { > > */ > > struct i915_pmu_sample sample[__I915_NUM_PMU_SAMPLERS]; > > /** > > - * @suspended_jiffies_last: Cached suspend time from PM core. > > + * @suspended_time_last: Cached suspend time from PM core. > > */ > > - unsigned long suspended_jiffies_last; > > + u64 suspended_time_last; > > /** > > * @i915_attr: Memory block holding device attributes. > > */ > > -- > > 2.7.4 > > From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vincent Guittot Subject: Re: [PATCH v4 2/3] drm/i915: Move on the new pm runtime interface Date: Fri, 21 Dec 2018 09:30:14 +0100 Message-ID: References: <1545315417-14483-1-git-send-email-vincent.guittot@linaro.org> 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: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ulf Hansson Cc: dri-devel , Linux PM , David Airlie , Intel graphics driver community testing & development , "Rafael J. Wysocki" , Linux Kernel Mailing List , Thara Gopinath , rodrigo.vivi@intel.com List-Id: linux-pm@vger.kernel.org T24gVGh1LCAyMCBEZWMgMjAxOCBhdCAyMzowNCwgVWxmIEhhbnNzb24gPHVsZi5oYW5zc29uQGxp bmFyby5vcmc+IHdyb3RlOgo+Cj4gT24gVGh1LCAyMCBEZWMgMjAxOCBhdCAxNToxNywgVmluY2Vu dCBHdWl0dG90Cj4gPHZpbmNlbnQuZ3VpdHRvdEBsaW5hcm8ub3JnPiB3cm90ZToKPiA+Cj4gPiBV c2UgdGhlIG5ldyBwbSBydW50aW1lIGludGVyZmFjZSB0byBnZXQgdGhlIGFjY291bnRlZCBzdXNw ZW5kZWQgdGltZToKPiA+IHBtX3J1bnRpbWVfYWNjb3VudGVkX3RpbWVfZ2V0KCkKPgo+IHBtX3J1 bnRpbWVfc3VzcGVuZGVkX3RpbWUoKQo+Cj4gVGhpcyBjaGFuZ2UgYWxzbyBtYWtlcyBxdWl0ZSBz b21lIG5pY2UgY2xlYW51cHMgdG8gdGhlIGNvZGUsIHdoaWNoIGlzCj4gbW9zdGx5IGJlY2F1c2Ug b2YgY29udmVydGluZyB0byB0aGUgbmV3IHJ1bnRpbWUgUE0gQVBJLiBJIHRoaW5rIHRoZQo+IGNo YW5nZWxvZyBkZXNlcnZlcyB0byBzdGF0ZSB0aGF0LCBpbiBzb21lIHNpbXBsZSB3YXkuCgpvawo+ Cj4gPgo+ID4gU2lnbmVkLW9mZi1ieTogVmluY2VudCBHdWl0dG90IDx2aW5jZW50Lmd1aXR0b3RA bGluYXJvLm9yZz4KPgo+IE90aGVyIHRoYW4gdGhlIG1pbm9yIHRoaW5ncyBhYm92ZToKPgo+IFJl dmlld2VkLWJ5OiBVbGYgSGFuc3NvbiA8dWxmLmhhbnNzb25AbGluYXJvLm9yZz4KPgo+IEtpbmQg cmVnYXJkcwo+IFVmZmUKPgo+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3BtdS5jIHwgMTYgKysrKysrLS0tLS0tLS0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcG11LmggfCAgNCArKy0tCj4gPiAgMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyks IDEyIGRlbGV0aW9ucygtKQo+ID4KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3BtdS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYwo+ID4gaW5kZXgg ZDZjOGY4Zi4uM2Y3NmY2MCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcG11LmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMKPiA+IEBA IC01LDYgKzUsNyBAQAo+ID4gICAqLwo+ID4KPiA+ICAjaW5jbHVkZSA8bGludXgvaXJxLmg+Cj4g PiArI2luY2x1ZGUgPGxpbnV4L3BtX3J1bnRpbWUuaD4KPiA+ICAjaW5jbHVkZSAiaTkxNV9wbXUu aCIKPiA+ICAjaW5jbHVkZSAiaW50ZWxfcmluZ2J1ZmZlci5oIgo+ID4gICNpbmNsdWRlICJpOTE1 X2Rydi5oIgo+ID4gQEAgLTQ3OCw3ICs0NzksNiBAQCBzdGF0aWMgdTY0IGdldF9yYzYoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCj4gPiAgICAgICAgICAgICAgICAgICogY291bnRlciB2 YWx1ZS4KPiA+ICAgICAgICAgICAgICAgICAgKi8KPiA+ICAgICAgICAgICAgICAgICBzcGluX2xv Y2tfaXJxc2F2ZSgmaTkxNS0+cG11LmxvY2ssIGZsYWdzKTsKPiA+IC0gICAgICAgICAgICAgICBz cGluX2xvY2soJmtkZXYtPnBvd2VyLmxvY2spOwo+ID4KPiA+ICAgICAgICAgICAgICAgICAvKgo+ ID4gICAgICAgICAgICAgICAgICAqIEFmdGVyIHRoZSBhYm92ZSBicmFuY2ggaW50ZWxfcnVudGlt ZV9wbV9nZXRfaWZfaW5fdXNlIGZhaWxlZAo+ID4gQEAgLTQ5MSwxNiArNDkxLDEzIEBAIHN0YXRp YyB1NjQgZ2V0X3JjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKPiA+ICAgICAgICAg ICAgICAgICAgKiBzdXNwZW5kZWQgYW5kIGlmIG5vdCB3ZSBjYW5ub3QgZG8gYmV0dGVyIHRoYW4g cmVwb3J0IHRoZSBsYXN0Cj4gPiAgICAgICAgICAgICAgICAgICoga25vd24gUkM2IHZhbHVlLgo+ ID4gICAgICAgICAgICAgICAgICAqLwo+ID4gLSAgICAgICAgICAgICAgIGlmIChrZGV2LT5wb3dl ci5ydW50aW1lX3N0YXR1cyA9PSBSUE1fU1VTUEVOREVEKSB7Cj4gPiAtICAgICAgICAgICAgICAg ICAgICAgICBpZiAoIWk5MTUtPnBtdS5zYW1wbGVbX19JOTE1X1NBTVBMRV9SQzZfRVNUSU1BVEVE XS5jdXIpCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGk5MTUtPnBtdS5zdXNw ZW5kZWRfamlmZmllc19sYXN0ID0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAga2Rldi0+cG93ZXIuc3VzcGVuZGVkX2ppZmZpZXM7Cj4gPiArICAg ICAgICAgICAgICAgaWYgKHBtX3J1bnRpbWVfc3RhdHVzX3N1c3BlbmRlZChrZGV2KSkgewo+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgdmFsID0gcG1fcnVudGltZV9zdXNwZW5kZWRfdGltZShr ZGV2KTsKPiA+Cj4gPiAtICAgICAgICAgICAgICAgICAgICAgICB2YWwgPSBrZGV2LT5wb3dlci5z dXNwZW5kZWRfamlmZmllcyAtCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpOTE1 LT5wbXUuc3VzcGVuZGVkX2ppZmZpZXNfbGFzdDsKPiA+IC0gICAgICAgICAgICAgICAgICAgICAg IHZhbCArPSBqaWZmaWVzIC0ga2Rldi0+cG93ZXIuYWNjb3VudGluZ190aW1lc3RhbXA7Cj4gPiAr ICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWk5MTUtPnBtdS5zYW1wbGVbX19JOTE1X1NBTVBM RV9SQzZfRVNUSU1BVEVEXS5jdXIpCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGk5MTUtPnBtdS5zdXNwZW5kZWRfdGltZV9sYXN0ID0gdmFsOwo+ID4KPiA+IC0gICAgICAgICAg ICAgICAgICAgICAgIHZhbCA9IGppZmZpZXNfdG9fbnNlY3ModmFsKTsKPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgIHZhbCAtPSBpOTE1LT5wbXUuc3VzcGVuZGVkX3RpbWVfbGFzdDsKPiA+ICAg ICAgICAgICAgICAgICAgICAgICAgIHZhbCArPSBpOTE1LT5wbXUuc2FtcGxlW19fSTkxNV9TQU1Q TEVfUkM2XS5jdXI7Cj4gPgo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgaTkxNS0+cG11LnNh bXBsZVtfX0k5MTVfU0FNUExFX1JDNl9FU1RJTUFURURdLmN1ciA9IHZhbDsKPiA+IEBAIC01MTAs NyArNTA3LDYgQEAgc3RhdGljIHU2NCBnZXRfcmM2KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1KQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgdmFsID0gaTkxNS0+cG11LnNhbXBsZVtf X0k5MTVfU0FNUExFX1JDNl0uY3VyOwo+ID4gICAgICAgICAgICAgICAgIH0KPiA+Cj4gPiAtICAg ICAgICAgICAgICAgc3Bpbl91bmxvY2soJmtkZXYtPnBvd2VyLmxvY2spOwo+ID4gICAgICAgICAg ICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk5MTUtPnBtdS5sb2NrLCBmbGFncyk7Cj4g PiAgICAgICAgIH0KPiA+Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9wbXUuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmgKPiA+IGluZGV4IDdmMTY0 Y2EuLjNkYzJhMzAgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Bt dS5oCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5oCj4gPiBAQCAtOTUs OSArOTUsOSBAQCBzdHJ1Y3QgaTkxNV9wbXUgewo+ID4gICAgICAgICAgKi8KPiA+ICAgICAgICAg c3RydWN0IGk5MTVfcG11X3NhbXBsZSBzYW1wbGVbX19JOTE1X05VTV9QTVVfU0FNUExFUlNdOwo+ ID4gICAgICAgICAvKioKPiA+IC0gICAgICAgICogQHN1c3BlbmRlZF9qaWZmaWVzX2xhc3Q6IENh Y2hlZCBzdXNwZW5kIHRpbWUgZnJvbSBQTSBjb3JlLgo+ID4gKyAgICAgICAgKiBAc3VzcGVuZGVk X3RpbWVfbGFzdDogQ2FjaGVkIHN1c3BlbmQgdGltZSBmcm9tIFBNIGNvcmUuCj4gPiAgICAgICAg ICAqLwo+ID4gLSAgICAgICB1bnNpZ25lZCBsb25nIHN1c3BlbmRlZF9qaWZmaWVzX2xhc3Q7Cj4g PiArICAgICAgIHU2NCBzdXNwZW5kZWRfdGltZV9sYXN0Owo+ID4gICAgICAgICAvKioKPiA+ICAg ICAgICAgICogQGk5MTVfYXR0cjogTWVtb3J5IGJsb2NrIGhvbGRpbmcgZGV2aWNlIGF0dHJpYnV0 ZXMuCj4gPiAgICAgICAgICAqLwo+ID4gLS0KPiA+IDIuNy40Cj4gPgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK