From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 3/3] drm/i915: Export engine busy stats in debugfs Date: Tue, 9 May 2017 15:09:36 +0100 Message-ID: <20170509140936.19060-4-tvrtko.ursulin@linux.intel.com> References: <20170509140936.19060-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-wr0-x241.google.com (mail-wr0-x241.google.com [IPv6:2a00:1450:400c:c0c::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 27DAA6E193 for ; Tue, 9 May 2017 14:09:51 +0000 (UTC) Received: by mail-wr0-x241.google.com with SMTP id g12so385866wrg.2 for ; Tue, 09 May 2017 07:09:51 -0700 (PDT) In-Reply-To: <20170509140936.19060-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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkV4cG9ydCB0 aGUgc3RhdHMgYWRkZWQgaW4gdGhlIHByZXZpb3VzIHBhdGNoIGluIGRlYnVnZnMuCgpOdW1iZXIg b2YgYWN0aXZlIGNsaWVudHMgcmVhZGluZyB0aGlzIGRhdGEgaXMgdHJhY2tlZCBhbmQgdGhlCnN0 YXRpYyBrZXkgaXMgb25seSBlbmFibGVkIHdoaWxzdCB0aGVyZSBhcmUgc29tZS4KClVzZXJzcGFj ZSBpcyBpbnRlbmRlZCB0byBrZWVwIHRoZSBmaWxlIGRlc2NyaXB0b3Igb3Blbiwgc2Vla2luZwp0 byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlIHBlcmlvZGljYWxseSwgYW5kIHJlLXJlYWRpbmcg dGhlCnN0YXRzLgoKVGhpcyBpcyBiZWNhdXNlIHRoZSB1bmRlcmx5aW5nIGltcGxlbWVudGF0aW9u IGlzIGNvc3RseSBvbiBldmVyeQpmaXJzdCBvcGVuL2xhc3QgY2xvc2UgdHJhbnNpdGlvbiwgYW5k IGFsc28sIGJlY2F1c2UgdGhlIHN0YXRzCmV4cG9ydGVkIG1vc3RseSBtYWtlIHNlbnNlIHdoZW4g dGhleSBhcmUgY29uc2lkZXJlZCByZWxhdGl2ZSB0bwp0aGUgcHJldmlvdXMgc2FtcGxlLgoKRmls ZSBsaXN0cyBuYW5vc2Vjb25kcyBlYWNoIGVuZ2luZSB3YXMgYWN0aXZlIHNpbmNlIHRoZSB0cmFj a2luZwpoYXMgc3RhcnRlZC4KClNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28u dXJzdWxpbkBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2Zz LmMgfCAxMjAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hh bmdlZCwgMTIwIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCmlu ZGV4IDEwMDM1MTFmMjhjYy4uZGI1ODhlZjg1OGNiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2RlYnVnZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rl YnVnZnMuYwpAQCAtNDc1Miw2ICs0NzUyLDEyMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVf b3BlcmF0aW9ucyBpOTE1X2hwZF9zdG9ybV9jdGxfZm9wcyA9IHsKIAkud3JpdGUgPSBpOTE1X2hw ZF9zdG9ybV9jdGxfd3JpdGUKIH07CiAKK0RFQ0xBUkVfU1RBVElDX0tFWV9GQUxTRShpOTE1X2Vu Z2luZV9zdGF0c19rZXkpOworc3RhdGljIERFRklORV9NVVRFWChpOTE1X2VuZ2luZV9zdGF0c19t dXRleCk7CitzdGF0aWMgaW50IGk5MTVfZW5naW5lX3N0YXRzX3JlZjsKKworc3RydWN0IGk5MTVf ZW5naW5lX3N0YXRzX2J1ZiB7CisJdW5zaWduZWQgaW50IGxlbjsKKwlzaXplX3QgYXZhaWxhYmxl OworCWNoYXIgYnVmWzBdOworfTsKKworc3RhdGljIGludCBpOTE1X2VuZ2luZV9zdGF0c19vcGVu KHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCWNvbnN0IHVuc2ln bmVkIGludCBlbmdpbmVfbmFtZV9sZW4gPQorCQlzaXplb2YoKChzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICopMCktPm5hbWUpOworCXN0cnVjdCBpOTE1X2VuZ2luZV9zdGF0c19idWYgKmJ1ZjsKKwlj b25zdCB1bnNpZ25lZCBpbnQgYnVmX3NpemUgPQorCQkoZW5naW5lX25hbWVfbGVuICsgMiArIDE5 ICsgMSkgKiBJOTE1X05VTV9FTkdJTkVTICsgMSArCisJCXNpemVvZigqYnVmKTsKKwlpbnQgcmV0 OworCisJYnVmID0ga3phbGxvYyhidWZfc2l6ZSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFidWYpCisJ CXJldHVybiAtRU5PTUVNOworCisJYnVmLT5sZW4gPSBidWZfc2l6ZTsKKwlmaWxlLT5wcml2YXRl X2RhdGEgPSBidWY7CisKKwlyZXQgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJmk5MTVfZW5n aW5lX3N0YXRzX211dGV4KTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJaWYgKGk5MTVf ZW5naW5lX3N0YXRzX3JlZisrID09IDApIHsKKwkJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gZmlsZS0+Zl9pbm9kZS0+aV9wcml2YXRlOworCQlzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmU7CisJCWVudW0gaW50ZWxfZW5naW5lX2lkIGlkOworCisJCWZvcl9lYWNoX2Vu Z2luZShlbmdpbmUsIGRldl9wcml2LCBpZCkgeworCQkJbWVtc2V0KCZlbmdpbmUtPnN0YXRzLCAw LCBzaXplb2YoZW5naW5lLT5zdGF0cykpOworCQkJc3Bpbl9sb2NrX2luaXQoJmVuZ2luZS0+c3Rh dHMubG9jayk7CisJCX0KKworCQlzdGF0aWNfYnJhbmNoX2VuYWJsZSgmaTkxNV9lbmdpbmVfc3Rh dHNfa2V5KTsKKwl9CisKKwltdXRleF91bmxvY2soJmk5MTVfZW5naW5lX3N0YXRzX211dGV4KTsK KworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGk5MTVfZW5naW5lX3N0YXRzX3JlbGVhc2Uo c3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJbXV0ZXhfbG9jaygm aTkxNV9lbmdpbmVfc3RhdHNfbXV0ZXgpOworCWlmICgtLWk5MTVfZW5naW5lX3N0YXRzX3JlZiA9 PSAwKQorCQlzdGF0aWNfYnJhbmNoX2Rpc2FibGUoJmk5MTVfZW5naW5lX3N0YXRzX2tleSk7CisJ bXV0ZXhfdW5sb2NrKCZpOTE1X2VuZ2luZV9zdGF0c19tdXRleCk7CisKKwlrZnJlZShmaWxlLT5w cml2YXRlX2RhdGEpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGk5MTVfZW5n aW5lX3N0YXRzX3JlYWQoc3RydWN0IGZpbGUgKmZpbGUsIGNoYXIgX191c2VyICp1YnVmLAorCQkJ CSAgICAgIHNpemVfdCBjb3VudCwgbG9mZl90ICpwb3MpCit7CisJc3RydWN0IGk5MTVfZW5naW5l X3N0YXRzX2J1ZiAqYnVmID0KKwkJKHN0cnVjdCBpOTE1X2VuZ2luZV9zdGF0c19idWYgKilmaWxl LT5wcml2YXRlX2RhdGE7CisKKwlpZiAoKnBvcyA9PSAwKSB7CisJCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGZpbGUtPmZfaW5vZGUtPmlfcHJpdmF0ZTsKKwkJY2hhciAqcHRy ID0gJmJ1Zi0+YnVmWzBdOworCQlpbnQgbGVmdCA9IGJ1Zi0+bGVuOworCQlzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmU7CisJCWVudW0gaW50ZWxfZW5naW5lX2lkIGlkOworCisJCWJ1Zi0+ YXZhaWxhYmxlID0gMDsKKworCQlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBkZXZfcHJpdiwgaWQp IHsKKwkJCXU2NCB0b3RhbDsKKwkJCWludCBsZW47CisKKwkJCXNwaW5fbG9ja19pcnEoJmVuZ2lu ZS0+c3RhdHMubG9jayk7CisJCQl0b3RhbCA9IGVuZ2luZS0+c3RhdHMudG90YWw7CisJCQkvKgor CQkJICogSWYgdGhlIGVuZ2luZSBpcyBleGVjdXRpbmcgc29tZXRoaW5nIGF0IHRoZSBtb21lbnQK KwkJCSAqIGFkZCBpdCB0byB0aGUgdG90YWwuCisJCQkgKi8KKwkJCWlmIChlbmdpbmUtPnN0YXRz LnJlZikKKwkJCQl0b3RhbCArPSBrdGltZV9nZXRfcmVhbF9ucygpIC0KKwkJCQkJIGVuZ2luZS0+ c3RhdHMuc3RhcnQ7CisJCQlzcGluX3VubG9ja19pcnEoJmVuZ2luZS0+c3RhdHMubG9jayk7CisK KwkJCWxlbiA9IHNucHJpbnRmKHB0ciwgbGVmdCwgIiVzOiAlbGx1XG4iLAorCQkJCSAgICAgICBl bmdpbmUtPm5hbWUsIHRvdGFsKTsKKwkJCWJ1Zi0+YXZhaWxhYmxlICs9IGxlbjsKKwkJCWxlZnQg LT0gbGVuOworCQkJcHRyICs9IGxlbjsKKworCQkJaWYgKGxlbiA9PSAwKQorCQkJCXJldHVybiAt RUZCSUc7CisJCX0KKwl9CisKKwlyZXR1cm4gc2ltcGxlX3JlYWRfZnJvbV9idWZmZXIodWJ1Ziwg Y291bnQsIHBvcywgJmJ1Zi0+YnVmWzBdLAorCQkJCSAgICAgICBidWYtPmF2YWlsYWJsZSk7Cit9 CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGk5MTVfZW5naW5lX3N0YXRz X2ZvcHMgPSB7CisJLm93bmVyID0gVEhJU19NT0RVTEUsCisJLm9wZW4gPSBpOTE1X2VuZ2luZV9z dGF0c19vcGVuLAorCS5yZWxlYXNlID0gaTkxNV9lbmdpbmVfc3RhdHNfcmVsZWFzZSwKKwkucmVh ZCA9IGk5MTVfZW5naW5lX3N0YXRzX3JlYWQsCisJLmxsc2VlayA9IGRlZmF1bHRfbGxzZWVrLAor fTsKKwogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1faW5mb19saXN0IGk5MTVfZGVidWdmc19saXN0 W10gPSB7CiAJeyJpOTE1X2NhcGFiaWxpdGllcyIsIGk5MTVfY2FwYWJpbGl0aWVzLCAwfSwKIAl7 Imk5MTVfZ2VtX29iamVjdHMiLCBpOTE1X2dlbV9vYmplY3RfaW5mbywgMH0sCkBAIC00ODM5LDYg KzQ5NTMsMTIgQEAgaW50IGk5MTVfZGVidWdmc19yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiAJc3RydWN0IGRlbnRyeSAqZW50OwogCWludCByZXQsIGk7CiAKKwll bnQgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJpOTE1X2VuZ2luZV9zdGF0cyIsIFNfSVJVR08sCisJ CQkJICBtaW5vci0+ZGVidWdmc19yb290LCB0b19pOTE1KG1pbm9yLT5kZXYpLAorCQkJCSAgJmk5 MTVfZW5naW5lX3N0YXRzX2ZvcHMpOworCWlmICghZW50KQorCQlyZXR1cm4gLUVOT01FTTsKKwog CWVudCA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoImk5MTVfZm9yY2V3YWtlX3VzZXIiLCBTX0lSVVNS LAogCQkJCSAgbWlub3ItPmRlYnVnZnNfcm9vdCwgdG9faTkxNShtaW5vci0+ZGV2KSwKIAkJCQkg ICZpOTE1X2ZvcmNld2FrZV9mb3BzKTsKLS0gCjIuOS4zCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK