From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 07/10] drm/i915: Engine busy time tracking Date: Wed, 2 Aug 2017 13:32:47 +0100 Message-ID: <20170802123249.14194-8-tvrtko.ursulin@linux.intel.com> References: <20170802123249.14194-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 74EA86F0FB for ; Wed, 2 Aug 2017 12:33:01 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id t138so6988846wmt.4 for ; Wed, 02 Aug 2017 05:33:01 -0700 (PDT) In-Reply-To: <20170802123249.14194-1-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClRyYWNrIHRv dGFsIHRpbWUgcmVxdWVzdHMgaGF2ZSBiZWVuIGV4ZWN1dGluZyBvbiB0aGUgaGFyZHdhcmUuCgpX ZSBhZGQgbmV3IGtlcm5lbCBBUEkgdG8gYWxsb3cgc29mdHdhcmUgdHJhY2tpbmcgb2YgdGltZSBH UFUKZW5naW5lcyBhcmUgc3BlbmRpbmcgZXhlY3V0aW5nIHJlcXVlc3RzLgoKQm90aCBwZXItZW5n aW5lIGFuZCBnbG9iYWwgQVBJIGlzIGFkZGVkIHdpdGggdGhlIGxhdHRlciBhbHNvCmJlaW5nIGV4 cG9ydGVkIGZvciB1c2UgYnkgZXh0ZXJuYWwgdXNlcnMuCgp2MjoKICogU3F1YXNoZWQgd2l0aCB0 aGUgaW50ZXJuYWwgQVBJLgogKiBEcm9wcGVkIHN0YXRpYyBrZXkuCiAqIE1hZGUgcGVyLWVuZ2lu ZS4KICogU3RvcmUgdGltZSBpbiBtb25vdG9uaWMga3RpbWUuCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0 a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jICB8IDEwMyArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgIHwgICAyICsK IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCB8ICA2MSArKysrKysrKysr KysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDE2NiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwppbmRleCAxNDYzMDYxMjMyNWIuLmU3MDlmNGVkZWY5 MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKQEAgLTIzMiw2ICsyMzIs OCBAQCBpbnRlbF9lbmdpbmVfc2V0dXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAogCS8qIE5vdGhpbmcgdG8gZG8gaGVyZSwgZXhlY3V0ZSBpbiBvcmRlciBvZiBkZXBlbmRlbmNp ZXMgKi8KIAllbmdpbmUtPnNjaGVkdWxlID0gTlVMTDsKIAorCXNwaW5fbG9ja19pbml0KCZlbmdp bmUtPnN0YXRzLmxvY2spOworCiAJQVRPTUlDX0lOSVRfTk9USUZJRVJfSEVBRCgmZW5naW5lLT5j b250ZXh0X3N0YXR1c19ub3RpZmllcik7CiAKIAlkZXZfcHJpdi0+ZW5naW5lX2NsYXNzW2luZm8t PmNsYXNzXVtpbmZvLT5pbnN0YW5jZV0gPSBlbmdpbmU7CkBAIC0xMzQ1LDYgKzEzNDcsMTA3IEBA IHZvaWQgaW50ZWxfZW5naW5lc19tYXJrX2lkbGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUpCiAJfQogfQogCitpbnQgaW50ZWxfZW5hYmxlX2VuZ2luZV9zdGF0cyhzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmUpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCWlmICghaTkx NS5lbmFibGVfZXhlY2xpc3RzKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCXNwaW5fbG9ja19pcnFz YXZlKCZlbmdpbmUtPnN0YXRzLmxvY2ssIGZsYWdzKTsKKwlpZiAoZW5naW5lLT5zdGF0cy5lbmFi bGVkKysgPT0gMCkgeworCQllbmdpbmUtPnN0YXRzLnJlZiA9IDA7CisJCWVuZ2luZS0+c3RhdHMu c3RhcnQgPSBlbmdpbmUtPnN0YXRzLnRvdGFsID0gMDsKKwl9IGVsc2UgaWYgKGVuZ2luZS0+c3Rh dHMuZW5hYmxlZCA9PSB+MCkgeworCQlnb3RvIGJ1c3k7CisJfQorCXNwaW5fdW5sb2NrX2lycXJl c3RvcmUoJmVuZ2luZS0+c3RhdHMubG9jaywgZmxhZ3MpOworCisJcmV0dXJuIDA7CisKK2J1c3k6 CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZW5naW5lLT5zdGF0cy5sb2NrLCBmbGFncyk7CisK KwlyZXR1cm4gLUVCVVNZOworfQorCit2b2lkIGludGVsX2Rpc2FibGVfZW5naW5lX3N0YXRzKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOwor CisJaWYgKCFpOTE1LmVuYWJsZV9leGVjbGlzdHMpCisJCXJldHVybjsKKworCXNwaW5fbG9ja19p cnFzYXZlKCZlbmdpbmUtPnN0YXRzLmxvY2ssIGZsYWdzKTsKKwlXQVJOX09OX09OQ0UoZW5naW5l LT5zdGF0cy5lbmFibGVkID09IDApOworCWVuZ2luZS0+c3RhdHMuZW5hYmxlZC0tOworCXNwaW5f dW5sb2NrX2lycXJlc3RvcmUoJmVuZ2luZS0+c3RhdHMubG9jaywgZmxhZ3MpOworfQorCitpbnQg aW50ZWxfZW5hYmxlX2VuZ2luZXNfc3RhdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQoreworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKKwllbnVtIGludGVsX2Vu Z2luZV9pZCBpZDsKKwlpbnQgcmV0ID0gMDsKKworCWlmICghaTkxNS5lbmFibGVfZXhlY2xpc3Rz KQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGRldl9wcml2 LCBpZCkgeworCQlyZXQgPSBpbnRlbF9lbmFibGVfZW5naW5lX3N0YXRzKGVuZ2luZSk7CisJCWlm IChXQVJOX09OX09OQ0UocmV0KSkKKwkJCWJyZWFrOworCX0KKworCXJldHVybiByZXQ7Cit9CitF WFBPUlRfU1lNQk9MKGludGVsX2VuYWJsZV9lbmdpbmVzX3N0YXRzKTsKKwordm9pZCBpbnRlbF9k aXNhYmxlX2VuZ2luZXNfc3RhdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQor eworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKKwllbnVtIGludGVsX2VuZ2luZV9p ZCBpZDsKKworCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGRldl9wcml2LCBpZCkKKwkJaW50ZWxf ZGlzYWJsZV9lbmdpbmVfc3RhdHMoZW5naW5lKTsKK30KK0VYUE9SVF9TWU1CT0woaW50ZWxfZGlz YWJsZV9lbmdpbmVzX3N0YXRzKTsKKwora3RpbWVfdCBpbnRlbF9lbmdpbmVfZ2V0X2J1c3lfdGlt ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCit7CisJa3RpbWVfdCB0b3RhbDsKKwl1 bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmVuZ2luZS0+c3RhdHMu bG9jaywgZmxhZ3MpOworCisJdG90YWwgPSBlbmdpbmUtPnN0YXRzLnRvdGFsOworCisJLyoKKwkg KiBJZiB0aGUgZW5naW5lIGlzIGV4ZWN1dGluZyBzb21ldGhpbmcgYXQgdGhlIG1vbWVudAorCSAq IGFkZCBpdCB0byB0aGUgdG90YWwuCisJICovCisJaWYgKGVuZ2luZS0+c3RhdHMucmVmKQorCQl0 b3RhbCA9IGt0aW1lX2FkZCh0b3RhbCwKKwkJCQkgIGt0aW1lX3N1YihrdGltZV9nZXQoKSwgZW5n aW5lLT5zdGF0cy5zdGFydCkpOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZW5naW5lLT5z dGF0cy5sb2NrLCBmbGFncyk7CisKKwlyZXR1cm4gdG90YWw7Cit9CisKK2t0aW1lX3QgaW50ZWxf ZW5naW5lc19nZXRfYnVzeV90aW1lKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK K3sKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7CisJZW51bSBpbnRlbF9lbmdpbmVf aWQgaWQ7CisJa3RpbWVfdCB0b3RhbCA9IDA7CisKKwlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBk ZXZfcHJpdiwgaWQpCisJCXRvdGFsID0ga3RpbWVfYWRkKHRvdGFsLCBpbnRlbF9lbmdpbmVfZ2V0 X2J1c3lfdGltZShlbmdpbmUpKTsKKworCXJldHVybiB0b3RhbDsKK30KK0VYUE9SVF9TWU1CT0wo aW50ZWxfZW5naW5lc19nZXRfYnVzeV90aW1lKTsKKwogI2lmIElTX0VOQUJMRUQoQ09ORklHX0RS TV9JOTE1X1NFTEZURVNUKQogI2luY2x1ZGUgInNlbGZ0ZXN0cy9tb2NrX2VuZ2luZS5jIgogI2Vu ZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IDRjMmNiMDdjMzllMi4uNWRlMmZkYjg2 ZTYxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtMzEwLDEyICszMTAsMTQgQEAgZXhl Y2xpc3RzX2NvbnRleHRfc3RhdHVzX2NoYW5nZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3Qg KnJxLAogc3RhdGljIGlubGluZSB2b2lkCiBleGVjbGlzdHNfY29udGV4dF9zY2hlZHVsZV9pbihz dHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxKQogeworCWludGVsX2VuZ2luZV9jb250ZXh0 X2luKHJxLT5lbmdpbmUpOwogCWV4ZWNsaXN0c19jb250ZXh0X3N0YXR1c19jaGFuZ2UocnEsIElO VEVMX0NPTlRFWFRfU0NIRURVTEVfSU4pOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQKIGV4ZWNs aXN0c19jb250ZXh0X3NjaGVkdWxlX291dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJx KQogeworCWludGVsX2VuZ2luZV9jb250ZXh0X291dChycS0+ZW5naW5lKTsKIAlleGVjbGlzdHNf Y29udGV4dF9zdGF0dXNfY2hhbmdlKHJxLCBJTlRFTF9DT05URVhUX1NDSEVEVUxFX09VVCk7CiB9 CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAppbmRleCA5ZmRmMGNkZjYy MjAuLjY4ZjUwZWM3MmJlNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cmluZ2J1ZmZlci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIu aApAQCAtNDQ2LDYgKzQ0NiwxNCBAQCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzIHsKIAkgKiBjZXJ0 YWluIGJpdHMgdG8gZW5jb2RlIHRoZSBjb21tYW5kIGxlbmd0aCBpbiB0aGUgaGVhZGVyKS4KIAkg Ki8KIAl1MzIgKCpnZXRfY21kX2xlbmd0aF9tYXNrKSh1MzIgY21kX2hlYWRlcik7CisKKyAgICAg ICBzdHJ1Y3QgeworICAgICAgICAgICAgICAgc3BpbmxvY2tfdCBsb2NrOworCSAgICAgICB1bnNp Z25lZCBpbnQgZW5hYmxlZDsKKyAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCByZWY7CisgICAg ICAgICAgICAgICBrdGltZV90IHN0YXJ0OyAvKiBUaW1lc3RhbXAgb2YgdGhlIGxhc3QgaWRsZSB0 byBhY3RpdmUgdHJhbnNpdGlvbi4gKi8KKyAgICAgICAgICAgICAgIGt0aW1lX3QgdG90YWw7IC8q IFRvdGFsIHRpbWUgZW5naW5lZCB3YXMgYnVzeS4gKi8KKyAgICAgICB9IHN0YXRzOwogfTsKIAog c3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQKQEAgLTc0Myw0ICs3NTEsNTcgQEAgdm9pZCBpbnRl bF9lbmdpbmVzX3Jlc2V0X2RlZmF1bHRfc3VibWlzc2lvbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSk7CiBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICoKIGludGVsX2VuZ2luZV9sb29rdXBf dXNlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdTggY2xhc3MsIHU4IGluc3RhbmNl KTsKIAorc3RhdGljIGlubGluZSB2b2lkIGludGVsX2VuZ2luZV9jb250ZXh0X2luKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJaWYg KFJFQURfT05DRShlbmdpbmUtPnN0YXRzLmVuYWJsZWQpID09IDApCisJCXJldHVybjsKKworCXNw aW5fbG9ja19pcnFzYXZlKCZlbmdpbmUtPnN0YXRzLmxvY2ssIGZsYWdzKTsKKworCWlmIChlbmdp bmUtPnN0YXRzLmVuYWJsZWQgPiAwKSB7CisJCWlmIChlbmdpbmUtPnN0YXRzLnJlZisrID09IDAp CisJCQllbmdpbmUtPnN0YXRzLnN0YXJ0ID0ga3RpbWVfZ2V0KCk7CisJCUdFTV9CVUdfT04oZW5n aW5lLT5zdGF0cy5yZWYgPT0gMCk7CisJfQorCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZW5n aW5lLT5zdGF0cy5sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBpbnRlbF9l bmdpbmVfY29udGV4dF9vdXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQoreworCXVu c2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlpZiAoUkVBRF9PTkNFKGVuZ2luZS0+c3RhdHMuZW5hYmxl ZCkgPT0gMCkKKwkJcmV0dXJuOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmVuZ2luZS0+c3RhdHMu bG9jaywgZmxhZ3MpOworCisJaWYgKGVuZ2luZS0+c3RhdHMuZW5hYmxlZCA+IDApIHsKKwkJLyoK KwkJICogQWZ0ZXIgdHVybmluZyBvbiBlbmdpbmUgc3RhdHMsIGNvbnRleHQgb3V0IG1pZ2h0IGJl IHRoZQorCQkgKiBmaXJzdCBldmVudCB3aGljaCB0aGVuIG5lZWRzIHRvIGJlIGlnbm9yZWQgKHJl ZiA9PSAwKS4KKwkJICovCisJCWlmIChlbmdpbmUtPnN0YXRzLnJlZiAmJiAtLWVuZ2luZS0+c3Rh dHMucmVmID09IDApIHsKKwkJCWt0aW1lX3QgbGFzdCA9IGt0aW1lX3N1YihrdGltZV9nZXQoKSwK KwkJCQkJCSBlbmdpbmUtPnN0YXRzLnN0YXJ0KTsKKworCQkJZW5naW5lLT5zdGF0cy50b3RhbCA9 IGt0aW1lX2FkZChlbmdpbmUtPnN0YXRzLnRvdGFsLAorCQkJCQkJCWxhc3QpOworCQl9CisJfQor CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZW5naW5lLT5zdGF0cy5sb2NrLCBmbGFncyk7Cit9 CisKK2ludCBpbnRlbF9lbmFibGVfZW5naW5lX3N0YXRzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSk7Cit2b2lkIGludGVsX2Rpc2FibGVfZW5naW5lX3N0YXRzKHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSk7CisKK2ludCBpbnRlbF9lbmFibGVfZW5naW5lc19zdGF0cyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwordm9pZCBpbnRlbF9kaXNhYmxlX2VuZ2lu ZXNfc3RhdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKKwora3RpbWVfdCBp bnRlbF9lbmdpbmVfZ2V0X2J1c3lfdGltZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUp Owora3RpbWVfdCBpbnRlbF9lbmdpbmVzX2dldF9idXN5X3RpbWUoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KTsKKwogI2VuZGlmIC8qIF9JTlRFTF9SSU5HQlVGRkVSX0hfICovCi0t IAoyLjkuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==