From mboxrd@z Thu Jan 1 00:00:00 1970 From: sourab.gupta@intel.com Subject: [PATCH 11/15] drm/i915: Support opening multiple concurrent perf streams Date: Fri, 4 Nov 2016 15:00:40 +0530 Message-ID: <1478251844-23509-12-git-send-email-sourab.gupta@intel.com> References: <1478251844-23509-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 ESMTPS id 2659C6E908 for ; Fri, 4 Nov 2016 09:29:34 +0000 (UTC) In-Reply-To: <1478251844-23509-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: "Christopher S . Hall" , Daniel Vetter , Sourab Gupta , Matthew Auld , Thomas Gleixner List-Id: intel-gfx@lists.freedesktop.org RnJvbTogU291cmFiIEd1cHRhIDxzb3VyYWIuZ3VwdGFAaW50ZWwuY29tPgoKVGhpcyBwYXRjaCBh ZGRzIHN1cHBvcnQgZm9yIG9wZW5pbmcgbXVsdGlwbGUgY29uY3VycmVudCBwZXJmIHN0cmVhbXMg Zm9yCmRpZmZlcmVudCBncHUgZW5naW5lcywgd2hpbGUgaGF2aW5nIHRoZSByZXN0cmljdGlvbiB0 byBvcGVuIG9ubHkgYSBzaW5nbGUKc3RyZWFtIG9wZW4gZm9yIGEgcGFydGljdWxhciBncHUgZW5n aW5lLgpUaGlzIGVuYWJsZXMgdXNlcnNwYWNlIGNsaWVudCB0byBvcGVuIG11bHRpcGxlIHN0cmVh bXMsIG9uZSBwZXIgZW5naW5lLAphdCBhbnkgdGltZSB0byBjYXB0dXJlIHNhbXBsZSBkYXRhIGZv ciBtdWx0aXBsZSBncHUgZW5naW5lcy4KClNpZ25lZC1vZmYtYnk6IFNvdXJhYiBHdXB0YSA8c291 cmFiLmd1cHRhQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o ICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYuYyB8IDY5ICsrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMzkgaW5z ZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXgg MTE5YzgyYi4uZTkxMjY3OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yMjA0LDcgKzIy MDQsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7CiAKIAogCQlzdHJ1Y3QgaHJ0aW1lciBw b2xsX2NoZWNrX3RpbWVyOwotCQlzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqZXhjbHVzaXZlX3N0 cmVhbTsKKwkJc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnJpbmdfc3RyZWFtW0k5MTVfTlVNX0VO R0lORVNdOwogCQl3YWl0X3F1ZXVlX2hlYWRfdCBwb2xsX3dxW0k5MTVfTlVNX0VOR0lORVNdOwog CQlhdG9taWNfdCBwb2xsaW5bSTkxNV9OVU1fRU5HSU5FU107CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9w ZXJmLmMKaW5kZXggYjA1YzQxYS4uOGViODBlOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9wZXJmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMK QEAgLTEwODYsNyArMTA4Niw3IEBAIHN0YXRpYyBpbnQgZ2VuOF9hcHBlbmRfb2FfcmVwb3J0cyhz dHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtLAogCQkgKiBhbiBpbnZhbGlkIElELiBJdCBj b3VsZCBiZSBnb29kIHRvIGFubm90YXRlIHRoZXNlCiAJCSAqIHJlcG9ydHMgd2l0aCBhIF9DVFhf U1dJVENIX0FXQVkgcmVhc29uIGxhdGVyLgogCQkgKi8KLQkJaWYgKCFkZXZfcHJpdi0+cGVyZi5l eGNsdXNpdmVfc3RyZWFtLT5jdHggfHwKKwkJaWYgKCFzdHJlYW0tPmN0eCB8fAogCQkgICAgZGV2 X3ByaXYtPnBlcmYub2Euc3BlY2lmaWNfY3R4X2lkID09IGN0eF9pZCB8fAogCQkgICAgZGV2X3By aXYtPnBlcmYub2Eub2FfYnVmZmVyLmxhc3RfY3R4X2lkID09IGN0eF9pZCkgewogCkBAIC0xMDk3 LDcgKzEwOTcsNyBAQCBzdGF0aWMgaW50IGdlbjhfYXBwZW5kX29hX3JlcG9ydHMoc3RydWN0IGk5 MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSwKIAkJCSAqIHRoZSBzd2l0Y2gtYXdheSByZXBvcnRzIHdp dGggYW4gaW52YWxpZAogCQkJICogY29udGV4dCBpZCB0byBiZSByZWNvZ25pc2FibGUgYnkgdXNl cnNwYWNlLgogCQkJICovCi0JCQlpZiAoZGV2X3ByaXYtPnBlcmYuZXhjbHVzaXZlX3N0cmVhbS0+ Y3R4ICYmCisJCQlpZiAoc3RyZWFtLT5jdHggJiYKIAkJCSAgICBkZXZfcHJpdi0+cGVyZi5vYS5z cGVjaWZpY19jdHhfaWQgIT0gY3R4X2lkKQogCQkJCXJlcG9ydDMyWzJdID0gMHhmZmZmZmZmZjsK IApAQCAtMTc2Myw3ICsxNzYzLDcgQEAgc3RhdGljIHZvaWQgaTkxNV9yaW5nX3N0cmVhbV9kZXN0 cm95KHN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0pCiB7CiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gc3RyZWFtLT5kZXZfcHJpdjsKIAotCUJVR19PTihzdHJlYW0g IT0gZGV2X3ByaXYtPnBlcmYuZXhjbHVzaXZlX3N0cmVhbSk7CisJQlVHX09OKHN0cmVhbSAhPSBk ZXZfcHJpdi0+cGVyZi5yaW5nX3N0cmVhbVtzdHJlYW0tPmVuZ2luZV0pOwogCiAJaWYgKHN0cmVh bS0+dXNpbmdfb2EpIHsKIAkJZGV2X3ByaXYtPnBlcmYub2Eub3BzLmRpc2FibGVfbWV0cmljX3Nl dChkZXZfcHJpdik7CkBAIC0xNzc3LDcgKzE3NzcsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X3Jpbmdf c3RyZWFtX2Rlc3Ryb3koc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSkKIAlpZiAoc3Ry ZWFtLT5jc19tb2RlKQogCQlmcmVlX2NvbW1hbmRfc3RyZWFtX2J1ZihkZXZfcHJpdiwgc3RyZWFt LT5lbmdpbmUpOwogCi0JZGV2X3ByaXYtPnBlcmYuZXhjbHVzaXZlX3N0cmVhbSA9IE5VTEw7CisJ ZGV2X3ByaXYtPnBlcmYucmluZ19zdHJlYW1bc3RyZWFtLT5lbmdpbmVdID0gTlVMTDsKIH0KIAog c3RhdGljIHZvaWQgZ2VuN19pbml0X29hX2J1ZmZlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCkBAIC0yMjIwLDE0ICsyMjIwLDE0IEBAIHN0YXRpYyB2b2lkIGdlbjdfdXBkYXRl X29hY29udHJvbF9sb2NrZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewog CWFzc2VydF9zcGluX2xvY2tlZCgmZGV2X3ByaXYtPnBlcmYuaG9va19sb2NrKTsKIAotCWlmIChk ZXZfcHJpdi0+cGVyZi5leGNsdXNpdmVfc3RyZWFtLT5zdGF0ZSAhPQorCWlmIChkZXZfcHJpdi0+ cGVyZi5yaW5nX3N0cmVhbVtSQ1NdLT5zdGF0ZSAhPQogCQkJCQlJOTE1X1BFUkZfU1RSRUFNX0RJ U0FCTEVEKSB7CiAJCXVuc2lnbmVkIGxvbmcgY3R4X2lkID0gMDsKIAotCQlpZiAoZGV2X3ByaXYt PnBlcmYuZXhjbHVzaXZlX3N0cmVhbS0+Y3R4KQorCQlpZiAoZGV2X3ByaXYtPnBlcmYucmluZ19z dHJlYW1bUkNTXS0+Y3R4KQogCQkJY3R4X2lkID0gZGV2X3ByaXYtPnBlcmYub2Euc3BlY2lmaWNf Y3R4X2lkOwogCi0JCWlmIChkZXZfcHJpdi0+cGVyZi5leGNsdXNpdmVfc3RyZWFtLT5jdHggPT0g TlVMTCB8fCBjdHhfaWQpIHsKKwkJaWYgKGRldl9wcml2LT5wZXJmLnJpbmdfc3RyZWFtW1JDU10t PmN0eCA9PSBOVUxMIHx8IGN0eF9pZCkgewogCQkJYm9vbCBwZXJpb2RpYyA9IGRldl9wcml2LT5w ZXJmLm9hLnBlcmlvZGljOwogCQkJdTMyIHBlcmlvZF9leHBvbmVudCA9IGRldl9wcml2LT5wZXJm Lm9hLnBlcmlvZF9leHBvbmVudDsKIAkJCXUzMiByZXBvcnRfZm9ybWF0ID0gZGV2X3ByaXYtPnBl cmYub2Eub2FfYnVmZmVyLmZvcm1hdDsKQEAgLTIzNjYsMTUgKzIzNjYsNiBAQCBzdGF0aWMgaW50 IGk5MTVfcmluZ19zdHJlYW1faW5pdChzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtLAog CQkJCQkJCVNBTVBMRV9UUyk7CiAJaW50IHJldDsKIAotCS8qIFRvIGF2b2lkIHRoZSBjb21wbGV4 aXR5IG9mIGhhdmluZyB0byBhY2N1cmF0ZWx5IGZpbHRlcgotCSAqIGNvdW50ZXIgcmVwb3J0cyBh bmQgbWFyc2hhbCB0byB0aGUgYXBwcm9wcmlhdGUgY2xpZW50Ci0JICogd2UgY3VycmVudGx5IG9u bHkgYWxsb3cgZXhjbHVzaXZlIGFjY2VzcwotCSAqLwotCWlmIChkZXZfcHJpdi0+cGVyZi5leGNs dXNpdmVfc3RyZWFtKSB7Ci0JCURSTV9FUlJPUigiU3RyZWFtIGFscmVhZHkgaW4gdXNlXG4iKTsK LQkJcmV0dXJuIC1FQlVTWTsKLQl9Ci0KIAlpZiAoKHByb3BzLT5zYW1wbGVfZmxhZ3MgJiBTQU1Q TEVfQ1RYX0lEKSAmJiAhcHJvcHMtPmNzX21vZGUpIHsKIAkJaWYgKElTX0hBU1dFTEwoZGV2X3By aXYpKSB7CiAJCQlEUk1fRVJST1IoCkBAIC0yMzkyLDYgKzIzODMsMTIgQEAgc3RhdGljIGludCBp OTE1X3Jpbmdfc3RyZWFtX2luaXQoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSwKIAlp ZiAocmVxdWlyZV9vYV91bml0KSB7CiAJCWludCBmb3JtYXRfc2l6ZTsKIAorCQkvKiBPbmx5IGFs bG93IGV4Y2x1c2l2ZSBhY2Nlc3MgcGVyIHN0cmVhbSAqLworCQlpZiAoZGV2X3ByaXYtPnBlcmYu cmluZ19zdHJlYW1bUkNTXSkgeworCQkJRFJNX0VSUk9SKCJTdHJlYW06MCBhbHJlYWR5IGluIHVz ZVxuIik7CisJCQlyZXR1cm4gLUVCVVNZOworCQl9CisKIAkJLyogSWYgdGhlIHN5c2ZzIG1ldHJp Y3MvIGRpcmVjdG9yeSB3YXNuJ3QgcmVnaXN0ZXJlZCBmb3Igc29tZQogCQkgKiByZWFzb24gdGhl biBkb24ndCBsZXQgdXNlcnNwYWNlIHRyeSB0aGVpciBsdWNrIHdpdGggY29uZmlnCiAJCSAqIElE cwpAQCAtMjUzNiw2ICsyNTMzLDEzIEBAIHN0YXRpYyBpbnQgaTkxNV9yaW5nX3N0cmVhbV9pbml0 KHN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0sCiAJfQogCiAJaWYgKHByb3BzLT5jc19t b2RlKSB7CisJCS8qIE9ubHkgYWxsb3cgZXhjbHVzaXZlIGFjY2VzcyBwZXIgc3RyZWFtICovCisJ CWlmIChkZXZfcHJpdi0+cGVyZi5yaW5nX3N0cmVhbVtwcm9wcy0+ZW5naW5lXSkgeworCQkJRFJN X0VSUk9SKCJTdHJlYW06JWQgYWxyZWFkeSBpbiB1c2VcbiIsIHByb3BzLT5lbmdpbmUpOworCQkJ cmV0ID0gLUVCVVNZOworCQkJZ290byBjc19lcnJvcjsKKwkJfQorCiAJCWlmICghY3Nfc2FtcGxl X2RhdGEpIHsKIAkJCURSTV9FUlJPUigKIAkJCQkiUmluZyBnaXZlbiB3aXRob3V0IHJlcXVlc3Rp bmcgYW55IENTIGRhdGEgdG8gc2FtcGxlIik7CkBAIC0yNTc2LDcgKzI1ODAsNyBAQCBzdGF0aWMg aW50IGk5MTVfcmluZ19zdHJlYW1faW5pdChzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFt LAogCiAJc3RyZWFtLT5vcHMgPSAmaTkxNV9vYV9zdHJlYW1fb3BzOwogCi0JZGV2X3ByaXYtPnBl cmYuZXhjbHVzaXZlX3N0cmVhbSA9IHN0cmVhbTsKKwlkZXZfcHJpdi0+cGVyZi5yaW5nX3N0cmVh bVtzdHJlYW0tPmVuZ2luZV0gPSBzdHJlYW07CiAKIAlyZXR1cm4gMDsKIApAQCAtMjYxMiw4ICsy NjE2LDggQEAgaTkxNV9vYV9sZWdhY3lfY29udGV4dF9waW5fbm90aWZ5X2xvY2tlZChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJaWYgKGRldl9wcml2LT5wZXJmLm9hLm9wcy51 cGRhdGVfaHdfY3R4X2lkX2xvY2tlZCA9PSBOVUxMKQogCQlyZXR1cm47CiAKLQlpZiAoZGV2X3By aXYtPnBlcmYuZXhjbHVzaXZlX3N0cmVhbSAmJgotCSAgICBkZXZfcHJpdi0+cGVyZi5leGNsdXNp dmVfc3RyZWFtLT5jdHggPT0gY3R4KSB7CisJaWYgKGRldl9wcml2LT5wZXJmLnJpbmdfc3RyZWFt W1JDU10gJiYKKwkgICAgZGV2X3ByaXYtPnBlcmYucmluZ19zdHJlYW1bUkNTXS0+Y3R4ID09IGN0 eCkgewogCQlzdHJ1Y3QgaTkxNV92bWEgKnZtYSA9IGN0eC0+ZW5naW5lW1JDU10uc3RhdGU7CiAJ CXUzMiBjdHhfaWQgPSBpOTE1X2dndHRfb2Zmc2V0KHZtYSk7CiAKQEAgLTI2ODIsOCArMjY4Niw4 IEBAIHZvaWQgaTkxNV9vYV9sZWdhY3lfY3R4X3N3aXRjaF9ub3RpZnkoc3RydWN0IGRybV9pOTE1 X2dlbV9yZXF1ZXN0ICpyZXEpCiAJaWYgKGRldl9wcml2LT5wZXJmLm9hLm9wcy5sZWdhY3lfY3R4 X3N3aXRjaF91bmxvY2tlZCA9PSBOVUxMKQogCQlyZXR1cm47CiAKLQlpZiAoZGV2X3ByaXYtPnBl cmYuZXhjbHVzaXZlX3N0cmVhbSAmJgotCSAgICBkZXZfcHJpdi0+cGVyZi5leGNsdXNpdmVfc3Ry ZWFtLT5zdGF0ZSAhPQorCWlmIChkZXZfcHJpdi0+cGVyZi5yaW5nX3N0cmVhbVtSQ1NdICYmCisJ ICAgIGRldl9wcml2LT5wZXJmLnJpbmdfc3RyZWFtW1JDU10tPnN0YXRlICE9CiAJCQkJSTkxNV9Q RVJGX1NUUkVBTV9ESVNBQkxFRCkgewogCiAJCS8qIFhYWDogV2UgZG9uJ3QgdGFrZSBhIGxvY2sg aGVyZSBhbmQgdGhpcyBtYXkgcnVuCkBAIC0yODQ2LDE5ICsyODUwLDEyIEBAIHN0YXRpYyBzc2l6 ZV90IGk5MTVfcGVyZl9yZWFkKHN0cnVjdCBmaWxlICpmaWxlLAogCXJldHVybiByZXQ7CiB9CiAK LXN0YXRpYyBlbnVtIGhydGltZXJfcmVzdGFydCBwb2xsX2NoZWNrX3RpbWVyX2NiKHN0cnVjdCBo cnRpbWVyICpocnRpbWVyKQorc3RhdGljIHZvaWQgd2FrZV91cF9wZXJmX3N0cmVhbXModm9pZCAq ZGF0YSwgYXN5bmNfY29va2llX3QgY29va2llKQogeworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGRhdGE7CiAJc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbTsKIAot CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9Ci0JCWNvbnRhaW5lcl9vZihocnRp bWVyLCB0eXBlb2YoKmRldl9wcml2KSwKLQkJCSAgICAgcGVyZi5wb2xsX2NoZWNrX3RpbWVyKTsK LQotCS8qIE5vIG5lZWQgdG8gcHJvdGVjdCB0aGUgc3RyZWFtcyBsaXN0IGhlcmUsIHNpbmNlIHRo ZSBocnRpbWVyIGlzCi0JICogZGlzYWJsZWQgYmVmb3JlIHRoZSBzdHJlYW0gaXMgcmVtb3ZlZCBm cm9tIGxpc3QsIGFuZCBjdXJyZW50bHkgYQotCSAqIHNpbmdsZSBleGNsdXNpdmVfc3RyZWFtIGlz IHN1cHBvcnRlZC4KLQkgKiBYWFg6IHJldmlzaXQgdGhpcyB3aGVuIG11bHRpcGxlIGNvbmN1cnJl bnQgc3RyZWFtcyBhcmUgc3VwcG9ydGVkLgotCSAqLworCW11dGV4X2xvY2soJmRldl9wcml2LT5w ZXJmLnN0cmVhbXNfbG9jayk7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShzdHJlYW0sICZkZXZfcHJp di0+cGVyZi5zdHJlYW1zLCBsaW5rKSB7CiAJCWlmIChzdHJlYW1faGF2ZV9kYXRhX191bmxvY2tl ZChzdHJlYW0pKSB7CiAJCQlhdG9taWNfc2V0KCZkZXZfcHJpdi0+cGVyZi5wb2xsaW5bc3RyZWFt LT5lbmdpbmVdLApAQCAtMjg2Niw2ICsyODYzLDE2IEBAIHN0YXRpYyBlbnVtIGhydGltZXJfcmVz dGFydCBwb2xsX2NoZWNrX3RpbWVyX2NiKHN0cnVjdCBocnRpbWVyICpocnRpbWVyKQogCQkJd2Fr ZV91cCgmZGV2X3ByaXYtPnBlcmYucG9sbF93cVtzdHJlYW0tPmVuZ2luZV0pOwogCQl9CiAJfQor CW11dGV4X3VubG9jaygmZGV2X3ByaXYtPnBlcmYuc3RyZWFtc19sb2NrKTsKK30KKworc3RhdGlj IGVudW0gaHJ0aW1lcl9yZXN0YXJ0IHBvbGxfY2hlY2tfdGltZXJfY2Ioc3RydWN0IGhydGltZXIg KmhydGltZXIpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0KKwkJY29u dGFpbmVyX29mKGhydGltZXIsIHR5cGVvZigqZGV2X3ByaXYpLAorCQkJICAgICBwZXJmLnBvbGxf Y2hlY2tfdGltZXIpOworCisJYXN5bmNfc2NoZWR1bGUod2FrZV91cF9wZXJmX3N0cmVhbXMsIGRl dl9wcml2KTsKIAogCWhydGltZXJfZm9yd2FyZF9ub3coaHJ0aW1lciwgbnNfdG9fa3RpbWUoUE9M TF9QRVJJT0QpKTsKIAotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=