From mboxrd@z Thu Jan 1 00:00:00 1970 From: sourab.gupta@intel.com Subject: [RFC 8/8] drm/i915: Support for retrieving MMIO register values alongwith timestamps through perf Date: Wed, 15 Jul 2015 14:21:46 +0530 Message-ID: <1436950306-14147-9-git-send-email-sourab.gupta@intel.com> References: <1436950306-14147-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 356596EAF1 for ; Wed, 15 Jul 2015 01:50:35 -0700 (PDT) In-Reply-To: <1436950306-14147-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 ZGRzIHN1cHBvcnQgZm9yIHJldHJpZXZpbmcgTU1JTyByZWdpc3RlciB2YWx1ZXMgYWxvbmd3aXRo CnRpbWVzdGFtcHMgYW5kIGZvcndhcmRpbmcgdGhlbSB0byB1c2Vyc3BhY2UgdGhyb3VnaCBwZXJm LgpUaGUgdXNlcnNwYWNlIGNhbiByZXF1ZXN0IHVwdG8gOCBNTUlPIHJlZ2lzdGVyIHZhbHVlcyB0 byBiZSBkdW1wZWQuClRoZSBhZGRyZXNzZXMgb2YgdXB0byA4IE1NSU8gcmVnaXN0ZXJzIGNhbiBi ZSBwYXNzZWQgdGhyb3VnaCBwZXJmIGF0dHIKY29uZmlnLiBUaGUgcmVnaXN0ZXJzIGFyZSBjaGVj a2VkIGFnYWluc3QgYSB3aGl0ZWxpc3QgYmVmb3JlIHBhc3NpbmcgdGhlbQpvbi4gVGhlIGNvbW1h bmRzIHRvIGR1bXAgdGhlIHZhbHVlcyBvZiB0aGVzZSBNTUlPIHJlZ2lzdGVycyBhcmUgdGhlbgpp bnNlcnRlZCBpbnRvIHRoZSByaW5nIGFsb25nd2l0aCBjb21tYW5kcyB0byBkdW1wIHRoZSB0aW1l c3RhbXBzLgoKU2lnbmVkLW9mZi1ieTogU291cmFiIEd1cHRhIDxzb3VyYWIuZ3VwdGFAaW50ZWwu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgIHwgIDIgKwogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9vYV9wZXJmLmMgfCA4NyArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0tCiBpbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggICAgICAgICB8 IDEwICsrKystCiAzIGZpbGVzIGNoYW5nZWQsIDkyIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggZjJmZThkMC4uZTExNDE3NSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yMDE3LDcgKzIwMTcsOSBAQCBzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSB7CiAjZGVmaW5lIEk5MTVfR0VOX1BNVV9TQU1QTEVfUklORwkJKDE8PDApCiAjZGVm aW5lIEk5MTVfR0VOX1BNVV9TQU1QTEVfUElECQkJKDE8PDEpCiAjZGVmaW5lIEk5MTVfR0VOX1BN VV9TQU1QTEVfVEFHCQkJKDE8PDIpCisjZGVmaW5lIEk5MTVfR0VOX1BNVV9TQU1QTEVfTU1JTwkJ KDE8PDMpCiAJCWludCBzYW1wbGVfaW5mb19mbGFnczsKKwkJdTMyIG1taW9fbGlzdFs4XTsKIAl9 IGdlbl9wbXU7CiAKIAl2b2lkICgqaW5zZXJ0X3Byb2ZpbGVfY21kW0k5MTVfUFJPRklMRV9NQVhd KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9vYV9wZXJmLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X29hX3BlcmYuYwppbmRleCAxY2MxNmVmLi5hOWQ0NGUwIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X29hX3BlcmYuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X29hX3BlcmYuYwpAQCAtMTEzLDggKzExMyw4IEBAIHZvaWQg aTkxNV9nZW5faW5zZXJ0X2NtZF90cyhzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1Ziwg dTMyIGN0eF9pZCwKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gZGV2X3ByaXYt Pmdlbl9wbXUuYnVmZmVyLm9iajsKIAlzdHJ1Y3QgaTkxNV9nZW5fcG11X25vZGUgKmVudHJ5Owog CXVuc2lnbmVkIGxvbmcgbG9ja19mbGFnczsKLQl1MzIgYWRkciA9IDA7Ci0JaW50IHJldDsKKwl1 MzIgbW1pb19hZGRyLCBhZGRyID0gMDsKKwlpbnQgcmV0LCBpOwogCiAJZW50cnkgPSBremFsbG9j KHNpemVvZigqZW50cnkpLCBHRlBfS0VSTkVMKTsKIAlpZiAoZW50cnkgPT0gTlVMTCkgewpAQCAt MTUwLDYgKzE1MCw3IEBAIHZvaWQgaTkxNV9nZW5faW5zZXJ0X2NtZF90cyhzdHJ1Y3QgaW50ZWxf cmluZ2J1ZmZlciAqcmluZ2J1ZiwgdTMyIGN0eF9pZCwKIAlzcGluX3VubG9ja19pcnFyZXN0b3Jl KCZkZXZfcHJpdi0+Z2VuX3BtdS5sb2NrLCBsb2NrX2ZsYWdzKTsKIAogCWFkZHIgPSBpOTE1X2dl bV9vYmpfZ2d0dF9vZmZzZXQob2JqKSArIGVudHJ5LT5vZmZzZXQ7CisJbW1pb19hZGRyID0gYWRk ciArIHNpemVvZihzdHJ1Y3QgZHJtX2k5MTVfdHNfZGF0YSk7CiAKIAlpZiAocmluZy0+aWQgPT0g UkNTKSB7CiAJCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgNik7CkBAIC0xNzcsNiArMTc4 LDI1IEBAIHZvaWQgaTkxNV9nZW5faW5zZXJ0X2NtZF90cyhzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZl ciAqcmluZ2J1ZiwgdTMyIGN0eF9pZCwKIAkJaW50ZWxfcmluZ19lbWl0KHJpbmcsIDApOyAvKiBp bW0gaGlnaCwgbXVzdCBiZSB6ZXJvICovCiAJCWludGVsX3JpbmdfYWR2YW5jZShyaW5nKTsKIAl9 CisJZm9yIChpID0gMDsgaSA8IDg7IGkrKykgeworCQlpZiAoMCA9PSBkZXZfcHJpdi0+Z2VuX3Bt dS5tbWlvX2xpc3RbaV0pCisJCQlicmVhazsKKworCQlhZGRyID0gbW1pb19hZGRyICsKKwkJCWkg KiBzaXplb2YoZGV2X3ByaXYtPmdlbl9wbXUubW1pb19saXN0W2ldKTsKKworCQlyZXQgPSBpbnRl bF9yaW5nX2JlZ2luKHJpbmcsIDQpOworCQlpZiAocmV0KQorCQkJcmV0dXJuOworCisJCWludGVs X3JpbmdfZW1pdChyaW5nLAorCQkJCU1JX1NUT1JFX1JFR0lTVEVSX01FTSgxKSB8CisJCQkJTUlf U1JNX0xSTV9HTE9CQUxfR1RUKTsKKwkJaW50ZWxfcmluZ19lbWl0KHJpbmcsIGRldl9wcml2LT5n ZW5fcG11Lm1taW9fbGlzdFtpXSk7CisJCWludGVsX3JpbmdfZW1pdChyaW5nLCBhZGRyKTsKKwkJ aW50ZWxfcmluZ19lbWl0KHJpbmcsIE1JX05PT1ApOworCQlpbnRlbF9yaW5nX2FkdmFuY2Uocmlu Zyk7CisJfQogCiAJb2JqLT5iYXNlLndyaXRlX2RvbWFpbiA9IEk5MTVfR0VNX0RPTUFJTl9SRU5E RVI7CiAJaTkxNV92bWFfbW92ZV90b19hY3RpdmUoaTkxNV9nZW1fb2JqX3RvX2dndHQob2JqKSwg cmluZyk7CkBAIC01NTYsNyArNTc2LDcgQEAgc3RhdGljIHZvaWQgZm9yd2FyZF9vbmVfZ2VuX3Bt dV9zYW1wbGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogewogCXN0cnVjdCBw ZXJmX3NhbXBsZV9kYXRhIGRhdGE7CiAJc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50ID0gZGV2X3By aXYtPmdlbl9wbXUuZXhjbHVzaXZlX2V2ZW50OwotCWludCB0c19zaXplLCBzbmFwc2hvdF9zaXpl OworCWludCB0c19zaXplLCBtbWlvX3NpemUsIHNuYXBzaG90X3NpemU7CiAJdTggKnNuYXBzaG90 LCAqY3VycmVudF9wdHI7CiAJc3RydWN0IGRybV9pOTE1X3RzX25vZGVfY3R4X2lkICpjdHhfaW5m bzsKIAlzdHJ1Y3QgZHJtX2k5MTVfdHNfbm9kZV9yaW5nX2lkICpyaW5nX2luZm87CkBAIC01NjUs MTAgKzU4NSwxNyBAQCBzdGF0aWMgdm9pZCBmb3J3YXJkX29uZV9nZW5fcG11X3NhbXBsZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJc3RydWN0IHBlcmZfcmF3X3JlY29yZCBy YXc7CiAKIAl0c19zaXplID0gc2l6ZW9mKHN0cnVjdCBkcm1faTkxNV90c19kYXRhKTsKLQlzbmFw c2hvdF9zaXplID0gdHNfc2l6ZSArIHNpemVvZigqY3R4X2luZm8pOworCisJaWYgKGRldl9wcml2 LT5nZW5fcG11LnNhbXBsZV9pbmZvX2ZsYWdzICYgSTkxNV9HRU5fUE1VX1NBTVBMRV9NTUlPKQor CQltbWlvX3NpemUgPSBzaXplb2Yoc3RydWN0IGRybV9pOTE1X21taW9fZGF0YSk7CisJZWxzZQor CQltbWlvX3NpemUgPSAwOworCiAJc25hcHNob3QgPSBkZXZfcHJpdi0+Z2VuX3BtdS5idWZmZXIu YWRkciArIG5vZGUtPm9mZnNldDsKKwlzbmFwc2hvdF9zaXplID0gdHNfc2l6ZSArIG1taW9fc2l6 ZSArIHNpemVvZigqY3R4X2luZm8pOwogCi0JY3R4X2luZm8gPSAoc3RydWN0IGRybV9pOTE1X3Rz X25vZGVfY3R4X2lkICopKHNuYXBzaG90ICsgdHNfc2l6ZSk7CisJY3R4X2luZm8gPSAoc3RydWN0 IGRybV9pOTE1X3RzX25vZGVfY3R4X2lkICopCisJCQkoc25hcHNob3QgKyBtbWlvX3NpemUgKyB0 c19zaXplKTsKIAljdHhfaW5mby0+Y3R4X2lkID0gbm9kZS0+Y3R4X2lkOwogCWN1cnJlbnRfcHRy ID0gc25hcHNob3QgKyBzbmFwc2hvdF9zaXplOwogCkBAIC0xMDUzLDYgKzEwODAsOSBAQCBzdGF0 aWMgaW50IGluaXRfZ2VuX3BtdV9idWZmZXIoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogCWlm IChkZXZfcHJpdi0+Z2VuX3BtdS5zYW1wbGVfaW5mb19mbGFncyAmIEk5MTVfR0VOX1BNVV9TQU1Q TEVfVEFHKQogCQlub2RlX3NpemUgKz0gc2l6ZW9mKHN0cnVjdCBkcm1faTkxNV90c19ub2RlX3Rh Zyk7CiAKKwlpZiAoZGV2X3ByaXYtPmdlbl9wbXUuc2FtcGxlX2luZm9fZmxhZ3MgJiBJOTE1X0dF Tl9QTVVfU0FNUExFX01NSU8pCisJCW5vZGVfc2l6ZSArPSBzaXplb2Yoc3RydWN0IGRybV9pOTE1 X21taW9fZGF0YSk7CisKIAkvKiBzaXplIGhhcyB0byBiZSBhbGlnbmVkIHRvIDggYnl0ZXMgKHJl cXVpcmVkIGJ5IHJlbGV2YW50IGdwdSBjbWRzKSAqLwogCW5vZGVfc2l6ZSA9IEFMSUdOKG5vZGVf c2l6ZSwgOCk7CiAJZGV2X3ByaXYtPmdlbl9wbXUuYnVmZmVyLm5vZGVfc2l6ZSA9IG5vZGVfc2l6 ZTsKQEAgLTE2NDgsNiArMTY3OCw0MiBAQCBlcnJfc2l6ZToKIAlnb3RvIG91dDsKIH0KIAorI2Rl ZmluZSBHRU5fUkFOR0UobCwgaCkgR0VOTUFTSyhoLCBsKQorCisvKiBTb21lIGVtYmFyZ29lZCBl bnRyaWVzIG1pc3NpbmcgZnJvbSB3aGl0ZWxpc3QgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcmVn aXN0ZXJfd2hpdGVsaXN0IHsKKwl1aW50NjRfdCBvZmZzZXQ7CisJdWludDMyX3Qgc2l6ZTsKKwkv KiBzdXBwb3J0ZWQgZ2VucywgMHgxMCBmb3IgNCwgMHgzMCBmb3IgNCBhbmQgNSwgZXRjLiAqLwor CXVpbnQzMl90IGdlbl9iaXRtYXNrOworfSB3aGl0ZWxpc3RbXSA9IHsKKwl7IEdFTjZfR1RfR0ZY X1JDNiwgNCwgR0VOX1JBTkdFKDcsIDkpIH0sCisJeyBHRU42X0dUX0dGWF9SQzZwLCA0LCBHRU5f UkFOR0UoNywgOSkgfSwKK307CisKK3N0YXRpYyBpbnQgY2hlY2tfbW1pb193aGl0ZWxpc3Qoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkJCXN0cnVjdCBkcm1faTkxNV9nZW5f cG11X2F0dHIgKmdlbl9hdHRyKQoreworCXN0cnVjdCByZWdpc3Rlcl93aGl0ZWxpc3QgY29uc3Qg KmVudHJ5ID0gd2hpdGVsaXN0OworCWludCBpLCBjb3VudDsKKworCWZvciAoY291bnQgPSAwOyBj b3VudCA8IDg7IGNvdW50KyspIHsKKwkJaWYgKCFnZW5fYXR0ci0+bW1pb19saXN0W2NvdW50XSkK KwkJCWJyZWFrOworCisJCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdoaXRlbGlzdCk7IGkr KywgZW50cnkrKykgeworCQkJaWYgKGVudHJ5LT5vZmZzZXQgPT0gZ2VuX2F0dHItPm1taW9fbGlz dFtjb3VudF0gJiYKKwkJCSAgICAoMSA8PCBJTlRFTF9JTkZPKGRldl9wcml2LT5kZXYpLT5nZW4g JgorCQkJCQllbnRyeS0+Z2VuX2JpdG1hc2spKQorCQkJCWJyZWFrOworCQl9CisKKwkJaWYgKGkg PT0gQVJSQVlfU0laRSh3aGl0ZWxpc3QpKQorCQkJcmV0dXJuIC1FSU5WQUw7CisJfQorCXJldHVy biAwOworfQorCiBzdGF0aWMgaW50IGk5MTVfZ2VuX2V2ZW50X2luaXQoc3RydWN0IHBlcmZfZXZl bnQgKmV2ZW50KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9CkBAIC0x Njc0LDYgKzE3NDAsMTcgQEAgc3RhdGljIGludCBpOTE1X2dlbl9ldmVudF9pbml0KHN0cnVjdCBw ZXJmX2V2ZW50ICpldmVudCkKIAlpZiAoZ2VuX2F0dHIuc2FtcGxlX3RhZykKIAkJZGV2X3ByaXYt Pmdlbl9wbXUuc2FtcGxlX2luZm9fZmxhZ3MgfD0gSTkxNV9HRU5fUE1VX1NBTVBMRV9UQUc7CiAK KwlpZiAoZ2VuX2F0dHIuc2FtcGxlX21taW8pIHsKKwkJcmV0ID0gY2hlY2tfbW1pb193aGl0ZWxp c3QoZGV2X3ByaXYsICZnZW5fYXR0cik7CisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0OworCisJ CWRldl9wcml2LT5nZW5fcG11LnNhbXBsZV9pbmZvX2ZsYWdzIHw9CisJCQkJSTkxNV9HRU5fUE1V X1NBTVBMRV9NTUlPOworCQltZW1jcHkoZGV2X3ByaXYtPmdlbl9wbXUubW1pb19saXN0LCBnZW5f YXR0ci5tbWlvX2xpc3QsCisJCQkJc2l6ZW9mKGRldl9wcml2LT5nZW5fcG11Lm1taW9fbGlzdCkp OworCX0KKwogCS8qIFRvIGF2b2lkIHRoZSBjb21wbGV4aXR5IG9mIGhhdmluZyB0byBhY2N1cmF0 ZWx5IGZpbHRlcgogCSAqIGRhdGEgYW5kIG1hcnNoYWwgdG8gdGhlIGFwcHJvcHJpYXRlIGNsaWVu dAogCSAqIHdlIGN1cnJlbnRseSBvbmx5IGFsbG93IGV4Y2x1c2l2ZSBhY2Nlc3MgKi8KZGlmZiAt LWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vaTkx NV9kcm0uaAppbmRleCA3YWI0OTcyLi42NWJjMzlkIDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkv ZHJtL2k5MTVfZHJtLmgKKysrIGIvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oCkBAIC04MSw3 ICs4MSw3IEBACiAKICNkZWZpbmUgSTkxNV9PQV9BVFRSX1NJWkVfVkVSMAkJMzIgIC8qIHNpemVv ZiBmaXJzdCBwdWJsaXNoZWQgc3RydWN0ICovCiAKLSNkZWZpbmUgSTkxNV9HRU5fUE1VX0FUVFJf U0laRV9WRVIwCTggIC8qIHNpemVvZiBmaXJzdCBwdWJsaXNoZWQgc3RydWN0ICovCisjZGVmaW5l IEk5MTVfR0VOX1BNVV9BVFRSX1NJWkVfVkVSMAk0MCAgLyogc2l6ZW9mIGZpcnN0IHB1Ymxpc2hl ZCBzdHJ1Y3QgKi8KIAogdHlwZWRlZiBzdHJ1Y3QgX2RybV9pOTE1X29hX2F0dHIgewogCV9fdTMy IHNpemU7CkBAIC0xMDUsNyArMTA1LDkgQEAgc3RydWN0IGRybV9pOTE1X2dlbl9wbXVfYXR0ciB7 CiAJX191MzIgc2FtcGxlX3Jpbmc6MSwKIAkJc2FtcGxlX3BpZDoxLAogCQlzYW1wbGVfdGFnOjEs Ci0JCV9fcmVzZXJ2ZWRfMToyOTsKKwkJc2FtcGxlX21taW86MSwKKwkJX19yZXNlcnZlZF8xOjI4 OworCV9fdTMyIG1taW9fbGlzdFs4XTsKIH07CiAKIC8qIEhlYWRlciBmb3IgUEVSRl9SRUNPUkRf REVWSUNFIHR5cGUgZXZlbnRzICovCkBAIC0xNTUsNiArMTU3LDEwIEBAIHN0cnVjdCBkcm1faTkx NV90c19kYXRhIHsKIAlfX3UzMiB0c19oaWdoOwogfTsKIAorc3RydWN0IGRybV9pOTE1X21taW9f ZGF0YSB7CisJX191MzIgbW1pb1s4XTsKK307CisKIHN0cnVjdCBkcm1faTkxNV90c19ub2RlX2N0 eF9pZCB7CiAJX191MzIgY3R4X2lkOwogCV9fdTMyIHBhZDsKLS0gCjEuOC41LjEKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==