From mboxrd@z Thu Jan 1 00:00:00 1970 From: sourab.gupta@intel.com Subject: [RFC 6/8] drm/i915: Insert commands for capture of OA counters in the ring Date: Wed, 15 Jul 2015 14:17:01 +0530 Message-ID: <1436950023-13940-7-git-send-email-sourab.gupta@intel.com> References: <1436950023-13940-1-git-send-email-sourab.gupta@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 29FB16EAF4 for ; Wed, 15 Jul 2015 01:45:13 -0700 (PDT) In-Reply-To: <1436950023-13940-1-git-send-email-sourab.gupta@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 Cc: Insoo Woo , Peter Zijlstra , Jabin Wu , Sourab Gupta List-Id: intel-gfx@lists.freedesktop.org RnJvbTogU291cmFiIEd1cHRhIDxzb3VyYWIuZ3VwdGFAaW50ZWwuY29tPgoKVGhpcyBwYXRjaCBh ZGRzIHRoZSByb3V0aW5lcyB3aGljaCBpbnNlcnQgY29tbWFuZHMgZm9yIGNhcHR1cmluZyBPQQpz bmFwc2hvdHMgaW50byB0aGUgcmluZ2J1ZmZlciBvZiBSQ1MgZW5naW5lLgoKVGhlIGNvbW1hbmQg TUlfUkVQT1JUX1BFUkZfQ09VTlQgY2FuIGJlIHVzZWQgdG8gY2FwdHVyZSBzbmFwc2hvdHMgb2Yg T0EKY291bnRlcnMsIHdoaWNoIGlzIGluc2VydGVkIGF0IEJCIGJvdW5kYXJpZXMuCldoaWxlIGlu c2VydGluZyB0aGUgY29tbWFuZHMsIHdlIGtlZXAgYSByZWZlcmVuY2Ugb2YgYXNzb2NpYXRlZCBy ZXF1ZXN0LgpUaGlzIHdpbGwgYmUgcmVsZWFzZWQgd2hlbiB3ZSBhcmUgZm9yd2FyZGluZyB0aGUg c2FtcGxlcyB0byB1c2Vyc3BhY2UKKG9yIHdoZW4gdGhlIGV2ZW50IGlzIGJlaW5nIGRlc3Ryb3ll ZCkuCkFsc28sIGFuIGFjdGl2ZSByZWZlcmVuY2Ugb2YgdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlciBp cyB0YWtlbiBoZXJlLCBzbyB0aGF0CndlIGNhbiBiZSBhc3N1cmVkIHRoYXQgdGhlIGJ1ZmZlciBp cyBmcmVlZCB1cCBvbmx5IGFmdGVyIEdQVSBpcyBkb25lIHdpdGgKaXQsIGV2ZW4gaWYgdGhlIGxv Y2FsIHJlZmVyZW5jZSBvZiB0aGUgYnVmZmVyIGlzIHJlbGVhc2VkLgoKU2lnbmVkLW9mZi1ieTog U291cmFiIEd1cHRhIDxzb3VyYWIuZ3VwdGFAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAgICB8IDExICsrKysrCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgfCAgNiArKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfb2FfcGVyZi5jICAgICAgICB8IDc3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogMyBmaWxlcyBjaGFuZ2VkLCA5NCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKaW5kZXggYjNkNWY3ZS4uZmIyOTZhZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0x NjYwLDYgKzE2NjAsMTEgQEAgZW51bSBpOTE1X29hX2V2ZW50X3N0YXRlIHsKIAlJOTE1X09BX0VW RU5UX1NUT1BQRUQsCiB9OwogCitlbnVtIGk5MTVfcHJvZmlsZV9tb2RlIHsKKwlJOTE1X1BST0ZJ TEVfT0EgPSAwLAorCUk5MTVfUFJPRklMRV9NQVgsCit9OworCiBzdHJ1Y3QgaTkxNV9vYV9yY3Nf bm9kZSB7CiAJc3RydWN0IGxpc3RfaGVhZCBoZWFkOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcmVxOwpAQCAtMTk3NCw2ICsxOTc5LDkgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg ewogCQlzdHJ1Y3Qgd29ya19zdHJ1Y3Qgd29ya190aW1lcjsKIAkJc3RydWN0IHdvcmtfc3RydWN0 IHdvcmtfZXZlbnRfZGVzdHJveTsKIAl9IG9hX3BtdTsKKworCXZvaWQgKCppbnNlcnRfcHJvZmls ZV9jbWRbSTkxNV9QUk9GSUxFX01BWF0pCisJCShzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmlu Z2J1ZiwgdTMyIGN0eF9pZCk7CiAjZW5kaWYKIAogCS8qIEFic3RyYWN0IHRoZSBzdWJtaXNzaW9u IG1lY2hhbmlzbSAobGVnYWN5IHJpbmdidWZmZXIgb3IgZXhlY2xpc3RzKSBhd2F5ICovCkBAIC0z MTU0LDYgKzMxNjIsNyBAQCB2b2lkIGk5MTVfb2FfY29udGV4dF9waW5fbm90aWZ5KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY29u dGV4dCk7CiB2b2lkIGk5MTVfb2FfY29udGV4dF91bnBpbl9ub3RpZnkoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSAgc3RydWN0IGludGVsX2NvbnRleHQgKmNvbnRleHQp Owordm9pZCBpOTE1X2luc2VydF9wcm9maWxpbmdfY21kKHN0cnVjdCBpbnRlbF9yaW5nYnVmZmVy ICpyaW5nYnVmLCB1MzIgY3R4X2lkKTsKICNlbHNlCiBzdGF0aWMgaW5saW5lIHZvaWQKIGk5MTVf b2FfY29udGV4dF9waW5fbm90aWZ5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK QEAgLTMxNjEsNiArMzE3MCw4IEBAIGk5MTVfb2FfY29udGV4dF9waW5fbm90aWZ5KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIHN0YXRpYyBpbmxpbmUgdm9pZAogaTkxNV9vYV9j b250ZXh0X3VucGluX25vdGlmeShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJ CQkgICAgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjb250ZXh0KSB7fQordm9pZCBpOTE1X2luc2Vy dF9wcm9maWxpbmdfY21kKHN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmLAorCQkJCXUz MiBjdHhfaWQpIHt9OwogI2VuZGlmCiAKIC8qIGk5MTVfZ2VtX2V2aWN0LmMgKi8KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwppbmRleCAzMzM2ZTFjLi4yZjg5NzFi IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC0xMzE3 LDYgKzEzMTcsOSBAQCBpOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1pc3Npb24oc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlLAogCQkJZ290byBlcnJvcjsKIAl9CiAK KwlpOTE1X2luc2VydF9wcm9maWxpbmdfY21kKHJpbmctPmJ1ZmZlciwKKwkJaTkxNV9leGVjYnVm ZmVyMl9nZXRfY29udGV4dF9pZCgqYXJncykpOworCiAJZXhlY19sZW4gPSBhcmdzLT5iYXRjaF9s ZW47CiAJaWYgKGNsaXByZWN0cykgewogCQlmb3IgKGkgPSAwOyBpIDwgYXJncy0+bnVtX2NsaXBy ZWN0czsgaSsrKSB7CkBAIC0xMzM5LDYgKzEzNDIsOSBAQCBpOTE1X2dlbV9yaW5nYnVmZmVyX3N1 Ym1pc3Npb24oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlLAog CQkJcmV0dXJuIHJldDsKIAl9CiAKKwlpOTE1X2luc2VydF9wcm9maWxpbmdfY21kKHJpbmctPmJ1 ZmZlciwKKwkJaTkxNV9leGVjYnVmZmVyMl9nZXRfY29udGV4dF9pZCgqYXJncykpOworCiAJdHJh Y2VfaTkxNV9nZW1fcmluZ19kaXNwYXRjaChpbnRlbF9yaW5nX2dldF9yZXF1ZXN0KHJpbmcpLCBk aXNwYXRjaF9mbGFncyk7CiAKIAlpOTE1X2dlbV9leGVjYnVmZmVyX21vdmVfdG9fYWN0aXZlKHZt YXMsIHJpbmcpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9vYV9wZXJm LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X29hX3BlcmYuYwppbmRleCBjMWUzYmVhLi45 OTY2ZTU0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X29hX3BlcmYuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X29hX3BlcmYuYwpAQCAtMjUsNiArMjUsNzgg QEAgc3RhdGljIGludCBoc3dfcGVyZl9mb3JtYXRfc2l6ZXNbXSA9IHsKIAk2NCAgIC8qIEM0X0I4 X0hTVyAqLwogfTsKIAordm9pZCBpOTE1X2luc2VydF9wcm9maWxpbmdfY21kKHN0cnVjdCBpbnRl bF9yaW5nYnVmZmVyICpyaW5nYnVmLCB1MzIgY3R4X2lkKQoreworCXN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKnJpbmcgPSByaW5nYnVmLT5yaW5nOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHJpbmctPmRldi0+ZGV2X3ByaXZhdGU7CisJaW50IGk7CisKKwlmb3IgKGkgPSBJ OTE1X1BST0ZJTEVfT0E7IGkgPCBJOTE1X1BST0ZJTEVfTUFYOyBpKyspIHsKKwkJaWYgKGRldl9w cml2LT5pbnNlcnRfcHJvZmlsZV9jbWRbaV0pCisJCQlkZXZfcHJpdi0+aW5zZXJ0X3Byb2ZpbGVf Y21kW2ldKHJpbmdidWYsIGN0eF9pZCk7CisJfQorfQorCit2b2lkIGk5MTVfb2FfaW5zZXJ0X2Nt ZChzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiwgdTMyIGN0eF9pZCkKK3sKKwlzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gcmluZ2J1Zi0+cmluZzsKKwlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSByaW5nLT5kZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSBkZXZfcHJpdi0+b2FfcG11Lm9hX3Jjc19idWZmZXIu b2JqOworCXN0cnVjdCBpOTE1X29hX3Jjc19ub2RlICplbnRyeTsKKwl1bnNpZ25lZCBsb25nIGxv Y2tfZmxhZ3M7CisJdTMyIGFkZHIgPSAwOworCWludCByZXQ7CisKKwkvKiBPQSBjb3VudGVycyBh cmUgb25seSBzdXBwb3J0ZWQgb24gdGhlIHJlbmRlciByaW5nICovCisJaWYgKHJpbmctPmlkICE9 IFJDUykKKwkJcmV0dXJuOworCisJZW50cnkgPSBremFsbG9jKHNpemVvZigqZW50cnkpLCBHRlBf S0VSTkVMKTsKKwlpZiAoZW50cnkgPT0gTlVMTCkgeworCQlEUk1fRVJST1IoImFsbG9jIGZhaWxl ZFxuIik7CisJCXJldHVybjsKKwl9CisJZW50cnktPmN0eF9pZCA9IGN0eF9pZDsKKwlpOTE1X2dl bV9yZXF1ZXN0X2Fzc2lnbigmZW50cnktPnJlcSwgcmluZy0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1 ZXN0KTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZkZXZfcHJpdi0+b2FfcG11LmxvY2ssIGxvY2tf ZmxhZ3MpOworCWlmIChsaXN0X2VtcHR5KCZkZXZfcHJpdi0+b2FfcG11Lm5vZGVfbGlzdCkpCisJ CWVudHJ5LT5vZmZzZXQgPSAwOworCWVsc2UgeworCQlzdHJ1Y3QgaTkxNV9vYV9yY3Nfbm9kZSAq bGFzdF9lbnRyeTsKKwkJaW50IG1heF9vZmZzZXQgPSBkZXZfcHJpdi0+b2FfcG11Lm9hX3Jjc19i dWZmZXIubm9kZV9jb3VudCAqCisJCQkJZGV2X3ByaXYtPm9hX3BtdS5vYV9yY3NfYnVmZmVyLm5v ZGVfc2l6ZTsKKworCQlsYXN0X2VudHJ5ID0gbGlzdF9sYXN0X2VudHJ5KCZkZXZfcHJpdi0+b2Ff cG11Lm5vZGVfbGlzdCwKKwkJCQkJc3RydWN0IGk5MTVfb2FfcmNzX25vZGUsIGhlYWQpOworCQll bnRyeS0+b2Zmc2V0ID0gbGFzdF9lbnRyeS0+b2Zmc2V0ICsKKwkJCQlkZXZfcHJpdi0+b2FfcG11 Lm9hX3Jjc19idWZmZXIubm9kZV9zaXplOworCisJCWlmIChlbnRyeS0+b2Zmc2V0ID4gbWF4X29m ZnNldCkKKwkJCWVudHJ5LT5vZmZzZXQgPSAwOworCX0KKwlsaXN0X2FkZF90YWlsKCZlbnRyeS0+ aGVhZCwgJmRldl9wcml2LT5vYV9wbXUubm9kZV9saXN0KTsKKwlzcGluX3VubG9ja19pcnFyZXN0 b3JlKCZkZXZfcHJpdi0+b2FfcG11LmxvY2ssIGxvY2tfZmxhZ3MpOworCisJYWRkciA9IGk5MTVf Z2VtX29ial9nZ3R0X29mZnNldChvYmopICsgZW50cnktPm9mZnNldDsKKworCS8qIGFkZHIgc2hv dWxkIGJlIDY0IGJ5dGUgYWxpZ25lZCAqLworCUJVR19PTihhZGRyICYgMHgzZik7CisKKwlyZXQg PSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDQpOworCWlmIChyZXQpCisJCXJldHVybjsKKworCWlu dGVsX3JpbmdfZW1pdChyaW5nLCBNSV9SRVBPUlRfUEVSRl9DT1VOVCB8ICgxPDwwKSk7CisJaW50 ZWxfcmluZ19lbWl0KHJpbmcsIGFkZHIgfCBNSV9SRVBPUlRfUEVSRl9DT1VOVF9HR1RUKTsKKwlp bnRlbF9yaW5nX2VtaXQocmluZywgcmluZy0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0LT5zZXFu byk7CisJaW50ZWxfcmluZ19lbWl0KHJpbmcsIE1JX05PT1ApOworCWludGVsX3JpbmdfYWR2YW5j ZShyaW5nKTsKKworCW9iai0+YmFzZS53cml0ZV9kb21haW4gPSBJOTE1X0dFTV9ET01BSU5fUkVO REVSOworCWk5MTVfdm1hX21vdmVfdG9fYWN0aXZlKGk5MTVfZ2VtX29ial90b19nZ3R0KG9iaiks IHJpbmcpOworfQorCiBzdGF0aWMgdm9pZCBmb3J3YXJkX29uZV9vYV9zbmFwc2hvdF90b19ldmVu dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJCSAgICAgdTggKnNuYXBz aG90LAogCQkJCQkgICAgIHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKQEAgLTEwMjUsNiArMTA5 NywxMCBAQCBzdGF0aWMgdm9pZCBpOTE1X29hX2V2ZW50X3N0YXJ0KHN0cnVjdCBwZXJmX2V2ZW50 ICpldmVudCwgaW50IGZsYWdzKQogCWRldl9wcml2LT5vYV9wbXUuZXZlbnRfc3RhdGUgPSBJOTE1 X09BX0VWRU5UX1NUQVJURUQ7CiAJdXBkYXRlX29hY29udHJvbChkZXZfcHJpdik7CiAKKwlpZiAo ZGV2X3ByaXYtPm9hX3BtdS5tdWx0aXBsZV9jdHhfbW9kZSkKKwkJZGV2X3ByaXYtPmluc2VydF9w cm9maWxlX2NtZFtJOTE1X1BST0ZJTEVfT0FdID0KKwkJCQlpOTE1X29hX2luc2VydF9jbWQ7CisK IAkvKiBSZXNldCB0aGUgaGVhZCBwdHIgdG8gZW5zdXJlIHdlIGRvbid0IGZvcndhcmQgcmVwb3J0 cyByZWxhdGluZwogCSAqIHRvIGEgcHJldmlvdXMgcGVyZiBldmVudCAqLwogCW9hc3RhdHVzMSA9 IEk5MTVfUkVBRChHRU43X09BU1RBVFVTMSk7CkBAIC0xMDYxLDYgKzExMzcsNyBAQCBzdGF0aWMg dm9pZCBpOTE1X29hX2V2ZW50X3N0b3Aoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50LCBpbnQgZmxh Z3MpCiAKIAkJc3Bpbl9sb2NrX2lycXNhdmUoJmRldl9wcml2LT5vYV9wbXUubG9jaywgbG9ja19m bGFncyk7CiAKKwkJZGV2X3ByaXYtPmluc2VydF9wcm9maWxlX2NtZFtJOTE1X1BST0ZJTEVfT0Fd ID0gTlVMTDsKIAkJZGV2X3ByaXYtPm9hX3BtdS5ldmVudF9zdGF0ZSA9IEk5MTVfT0FfRVZFTlRf U1RPUF9JTl9QUk9HUkVTUzsKIAkJbGlzdF9mb3JfZWFjaF9lbnRyeShlbnRyeSwgJmRldl9wcml2 LT5vYV9wbXUubm9kZV9saXN0LCBoZWFkKQogCQkJZW50cnktPmRpc2NhcmQgPSB0cnVlOwotLSAK MS44LjUuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK