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: Thu, 2 Jun 2016 10:48:45 +0530 Message-ID: <1464844729-2774-12-git-send-email-sourab.gupta@intel.com> References: <1464844729-2774-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 mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 5F8516E980 for ; Thu, 2 Jun 2016 05:17:30 +0000 (UTC) In-Reply-To: <1464844729-2774-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: Daniel Vetter , Sourab Gupta , Deepak S List-Id: intel-gfx@lists.freedesktop.org RnJvbTogU291cmFiIEd1cHRhIDxzb3VyYWIuZ3VwdGFAaW50ZWwuY29tPgoKVGhpcyBwYXRjaCBh ZGRzIHN1cHBvcnQgZm9yIG9wZW5pbmcgbXVsdGlwbGUgY29uY3VycmVudCBwZXJmIHN0cmVhbXMg Zm9yCmRpZmZlcmVudCBncHUgZW5naW5lcywgd2hpbGUgaGF2aW5nIHRoZSByZXN0cmljdGlvbiB0 byBvcGVuIG9ubHkgYSBzaW5nbGUKc3RyZWFtIG9wZW4gZm9yIGEgcGFydGljdWxhciBncHUgZW5n aW5lLgpUaGlzIGVuYWJsZXMgdXNlcnNwYWNlIGNsaWVudCB0byBvcGVuIG11bHRpcGxlIHN0cmVh bXMsIG9uZSBwZXIgZW5naW5lLAphdCBhbnkgdGltZSB0byBjYXB0dXJlIHNhbXBsZSBkYXRhIGZv ciBtdWx0aXBsZSBncHUgZW5naW5lcy4KClNpZ25lZC1vZmYtYnk6IFNvdXJhYiBHdXB0YSA8c291 cmFiLmd1cHRhQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o ICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYuYyB8IDY5ICsrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMzkgaW5z ZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXgg YTlhMTIzYi4uOWNjYWM4MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yMTYxLDcgKzIx NjEsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7CiAJCXNwaW5sb2NrX3QgaG9va19sb2Nr OwogCiAJCXN0cnVjdCBocnRpbWVyIHBvbGxfY2hlY2tfdGltZXI7Ci0JCXN0cnVjdCBpOTE1X3Bl cmZfc3RyZWFtICpleGNsdXNpdmVfc3RyZWFtOworCQlzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAq cmluZ19zdHJlYW1bSTkxNV9OVU1fRU5HSU5FU107CiAJCXdhaXRfcXVldWVfaGVhZF90IHBvbGxf d3FbSTkxNV9OVU1fRU5HSU5FU107CiAKIAkJc3RydWN0IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJm LmMKaW5kZXggNjViNGFmNi4uYWEzNTg5ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9wZXJmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMKQEAg LTk0NCw3ICs5NDQsNyBAQCBzdGF0aWMgaW50IGdlbjhfYXBwZW5kX29hX3JlcG9ydHMoc3RydWN0 IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSwKIAkJICogYW4gaW52YWxpZCBJRC4gSXQgY291bGQg YmUgZ29vZCB0byBhbm5vdGF0ZSB0aGVzZQogCQkgKiByZXBvcnRzIHdpdGggYSBfQ1RYX1NXSVRD SF9BV0FZIHJlYXNvbiBsYXRlci4KIAkJICovCi0JCWlmICghZGV2X3ByaXYtPnBlcmYuZXhjbHVz aXZlX3N0cmVhbS0+Y3R4IHx8CisJCWlmICghc3RyZWFtLT5jdHggfHwKIAkJICAgIGRldl9wcml2 LT5wZXJmLm9hLnNwZWNpZmljX2N0eF9pZCA9PSBjdHhfaWQgfHwKIAkJICAgIGRldl9wcml2LT5w ZXJmLm9hLm9hX2J1ZmZlci5sYXN0X2N0eF9pZCA9PSBjdHhfaWQpIHsKIApAQCAtOTU1LDcgKzk1 NSw3IEBAIHN0YXRpYyBpbnQgZ2VuOF9hcHBlbmRfb2FfcmVwb3J0cyhzdHJ1Y3QgaTkxNV9wZXJm X3N0cmVhbSAqc3RyZWFtLAogCQkJICogdGhlIHN3aXRjaC1hd2F5IHJlcG9ydHMgd2l0aCBhbiBp bnZhbGlkCiAJCQkgKiBjb250ZXh0IGlkIHRvIGJlIHJlY29nbmlzYWJsZSBieSB1c2Vyc3BhY2Uu CiAJCQkgKi8KLQkJCWlmIChkZXZfcHJpdi0+cGVyZi5leGNsdXNpdmVfc3RyZWFtLT5jdHggJiYK KwkJCWlmIChzdHJlYW0tPmN0eCAmJgogCQkJICAgIGRldl9wcml2LT5wZXJmLm9hLnNwZWNpZmlj X2N0eF9pZCAhPSBjdHhfaWQpCiAJCQkJcmVwb3J0MzJbMl0gPSAweDFmZmZmZjsKIApAQCAtMTU5 Niw3ICsxNTk2LDcgQEAgc3RhdGljIHZvaWQgaTkxNV9yaW5nX3N0cmVhbV9kZXN0cm95KHN0cnVj dCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0pCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gc3RyZWFtLT5kZXZfcHJpdjsKIAotCUJVR19PTihzdHJlYW0gIT0gZGV2X3By aXYtPnBlcmYuZXhjbHVzaXZlX3N0cmVhbSk7CisJQlVHX09OKHN0cmVhbSAhPSBkZXZfcHJpdi0+ cGVyZi5yaW5nX3N0cmVhbVtzdHJlYW0tPmVuZ2luZV0pOwogCiAJaWYgKHN0cmVhbS0+dXNpbmdf b2EpIHsKIAkJZGV2X3ByaXYtPnBlcmYub2Eub3BzLmRpc2FibGVfbWV0cmljX3NldChkZXZfcHJp dik7CkBAIC0xNjEwLDcgKzE2MTAsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X3Jpbmdfc3RyZWFtX2Rl c3Ryb3koc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSkKIAlpZiAoc3RyZWFtLT5jc19t b2RlKQogCQlmcmVlX2NvbW1hbmRfc3RyZWFtX2J1ZihkZXZfcHJpdiwgc3RyZWFtLT5lbmdpbmUp OwogCi0JZGV2X3ByaXYtPnBlcmYuZXhjbHVzaXZlX3N0cmVhbSA9IE5VTEw7CisJZGV2X3ByaXYt PnBlcmYucmluZ19zdHJlYW1bc3RyZWFtLT5lbmdpbmVdID0gTlVMTDsKIH0KIAogc3RhdGljIHZv aWQgZ2VuN19pbml0X29hX2J1ZmZlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp CkBAIC0yMDEyLDE0ICsyMDEyLDE0IEBAIHN0YXRpYyB2b2lkIGdlbjdfdXBkYXRlX29hY29udHJv bF9sb2NrZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCWFzc2VydF9z cGluX2xvY2tlZCgmZGV2X3ByaXYtPnBlcmYuaG9va19sb2NrKTsKIAotCWlmIChkZXZfcHJpdi0+ cGVyZi5leGNsdXNpdmVfc3RyZWFtLT5zdGF0ZSAhPQorCWlmIChkZXZfcHJpdi0+cGVyZi5yaW5n X3N0cmVhbVtSQ1NdLT5zdGF0ZSAhPQogCQkJCQlJOTE1X1BFUkZfU1RSRUFNX0RJU0FCTEVEKSB7 CiAJCXVuc2lnbmVkIGxvbmcgY3R4X2lkID0gMDsKIAotCQlpZiAoZGV2X3ByaXYtPnBlcmYuZXhj bHVzaXZlX3N0cmVhbS0+Y3R4KQorCQlpZiAoZGV2X3ByaXYtPnBlcmYucmluZ19zdHJlYW1bUkNT XS0+Y3R4KQogCQkJY3R4X2lkID0gZGV2X3ByaXYtPnBlcmYub2Euc3BlY2lmaWNfY3R4X2lkOwog Ci0JCWlmIChkZXZfcHJpdi0+cGVyZi5leGNsdXNpdmVfc3RyZWFtLT5jdHggPT0gTlVMTCB8fCBj dHhfaWQpIHsKKwkJaWYgKGRldl9wcml2LT5wZXJmLnJpbmdfc3RyZWFtW1JDU10tPmN0eCA9PSBO VUxMIHx8IGN0eF9pZCkgewogCQkJYm9vbCBwZXJpb2RpYyA9IGRldl9wcml2LT5wZXJmLm9hLnBl cmlvZGljOwogCQkJdTMyIHBlcmlvZF9leHBvbmVudCA9IGRldl9wcml2LT5wZXJmLm9hLnBlcmlv ZF9leHBvbmVudDsKIAkJCXUzMiByZXBvcnRfZm9ybWF0ID0gZGV2X3ByaXYtPnBlcmYub2Eub2Ff YnVmZmVyLmZvcm1hdDsKQEAgLTIxNDQsMTUgKzIxNDQsNiBAQCBzdGF0aWMgaW50IGk5MTVfcmlu Z19zdHJlYW1faW5pdChzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtLAogCQkJCQkJCVNB TVBMRV9UUyk7CiAJaW50IHJldDsKIAotCS8qIFRvIGF2b2lkIHRoZSBjb21wbGV4aXR5IG9mIGhh dmluZyB0byBhY2N1cmF0ZWx5IGZpbHRlcgotCSAqIGNvdW50ZXIgcmVwb3J0cyBhbmQgbWFyc2hh bCB0byB0aGUgYXBwcm9wcmlhdGUgY2xpZW50Ci0JICogd2UgY3VycmVudGx5IG9ubHkgYWxsb3cg ZXhjbHVzaXZlIGFjY2VzcwotCSAqLwotCWlmIChkZXZfcHJpdi0+cGVyZi5leGNsdXNpdmVfc3Ry ZWFtKSB7Ci0JCURSTV9FUlJPUigiU3RyZWFtIGFscmVhZHkgaW4gdXNlXG4iKTsKLQkJcmV0dXJu IC1FQlVTWTsKLQl9Ci0KIAlpZiAoKHByb3BzLT5zYW1wbGVfZmxhZ3MgJiBTQU1QTEVfQ1RYX0lE KSAmJiAhcHJvcHMtPmNzX21vZGUpIHsKIAkJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYtPmRldikp IHsKIAkJCURSTV9FUlJPUigKQEAgLTIxNzAsNiArMjE2MSwxMiBAQCBzdGF0aWMgaW50IGk5MTVf cmluZ19zdHJlYW1faW5pdChzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtLAogCWlmIChy ZXF1aXJlX29hX3VuaXQpIHsKIAkJaW50IGZvcm1hdF9zaXplOwogCisJCS8qIE9ubHkgYWxsb3cg ZXhjbHVzaXZlIGFjY2VzcyBwZXIgc3RyZWFtICovCisJCWlmIChkZXZfcHJpdi0+cGVyZi5yaW5n X3N0cmVhbVtSQ1NdKSB7CisJCQlEUk1fRVJST1IoIlN0cmVhbTowIGFscmVhZHkgaW4gdXNlXG4i KTsKKwkJCXJldHVybiAtRUJVU1k7CisJCX0KKwogCQlpZiAoIWRldl9wcml2LT5wZXJmLm9hLm9w cy5pbml0X29hX2J1ZmZlcikgewogCQkJRFJNX0VSUk9SKCJPQSB1bml0IG5vdCBzdXBwb3J0ZWRc biIpOwogCQkJcmV0dXJuIC1FTk9ERVY7CkBAIC0yMzA1LDYgKzIzMDIsMTMgQEAgc3RhdGljIGlu dCBpOTE1X3Jpbmdfc3RyZWFtX2luaXQoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSwK IAl9CiAKIAlpZiAocHJvcHMtPmNzX21vZGUpIHsKKwkJLyogT25seSBhbGxvdyBleGNsdXNpdmUg YWNjZXNzIHBlciBzdHJlYW0gKi8KKwkJaWYgKGRldl9wcml2LT5wZXJmLnJpbmdfc3RyZWFtW3By b3BzLT5lbmdpbmVdKSB7CisJCQlEUk1fRVJST1IoIlN0cmVhbTolZCBhbHJlYWR5IGluIHVzZVxu IiwgcHJvcHMtPmVuZ2luZSk7CisJCQlyZXQgPSAtRUJVU1k7CisJCQlnb3RvIGNzX2Vycm9yOwor CQl9CisKIAkJaWYgKCFjc19zYW1wbGVfZGF0YSkgewogCQkJRFJNX0VSUk9SKAogCQkJCSJSaW5n IGdpdmVuIHdpdGhvdXQgcmVxdWVzdGluZyBhbnkgQ1MgZGF0YSB0byBzYW1wbGUiKTsKQEAgLTIz NDUsNyArMjM0OSw3IEBAIHN0YXRpYyBpbnQgaTkxNV9yaW5nX3N0cmVhbV9pbml0KHN0cnVjdCBp OTE1X3BlcmZfc3RyZWFtICpzdHJlYW0sCiAKIAlzdHJlYW0tPm9wcyA9ICZpOTE1X29hX3N0cmVh bV9vcHM7CiAKLQlkZXZfcHJpdi0+cGVyZi5leGNsdXNpdmVfc3RyZWFtID0gc3RyZWFtOworCWRl dl9wcml2LT5wZXJmLnJpbmdfc3RyZWFtW3N0cmVhbS0+ZW5naW5lXSA9IHN0cmVhbTsKIAogCXJl dHVybiAwOwogCkBAIC0yMzc5LDggKzIzODMsOCBAQCBzdGF0aWMgdm9pZCBpOTE1X29hX2NvbnRl eHRfcGluX25vdGlmeV9sb2NrZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAog CSAgICBkZXZfcHJpdi0+cGVyZi5vYS5vcHMudXBkYXRlX2h3X2N0eF9pZF9sb2NrZWQgPT0gTlVM TCkKIAkJcmV0dXJuOwogCi0JaWYgKGRldl9wcml2LT5wZXJmLmV4Y2x1c2l2ZV9zdHJlYW0gJiYK LQkgICAgZGV2X3ByaXYtPnBlcmYuZXhjbHVzaXZlX3N0cmVhbS0+Y3R4ID09IGNvbnRleHQpIHsK KwlpZiAoZGV2X3ByaXYtPnBlcmYucmluZ19zdHJlYW1bUkNTXSAmJgorCSAgICBkZXZfcHJpdi0+ cGVyZi5yaW5nX3N0cmVhbVtSQ1NdLT5jdHggPT0gY29udGV4dCkgewogCQlzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqID0KIAkJCWNvbnRleHQtPmxlZ2FjeV9od19jdHgucmNzX3N0YXRl OwogCQl1MzIgY3R4X2lkID0gaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0KG9iaik7CkBAIC0yNDQ5 LDggKzI0NTMsOCBAQCB2b2lkIGk5MTVfb2FfbGVnYWN5X2N0eF9zd2l0Y2hfbm90aWZ5KHN0cnVj dCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogCWlmIChkZXZfcHJpdi0+cGVyZi5vYS5vcHMu bGVnYWN5X2N0eF9zd2l0Y2hfdW5sb2NrZWQgPT0gTlVMTCkKIAkJcmV0dXJuOwogCi0JaWYgKGRl dl9wcml2LT5wZXJmLmV4Y2x1c2l2ZV9zdHJlYW0gJiYKLQkgICAgZGV2X3ByaXYtPnBlcmYuZXhj bHVzaXZlX3N0cmVhbS0+c3RhdGUgIT0KKwlpZiAoZGV2X3ByaXYtPnBlcmYucmluZ19zdHJlYW1b UkNTXSAmJgorCSAgICBkZXZfcHJpdi0+cGVyZi5yaW5nX3N0cmVhbVtSQ1NdLT5zdGF0ZSAhPQog CQkJCUk5MTVfUEVSRl9TVFJFQU1fRElTQUJMRUQpIHsKIAogCQkvKiBYWFg6IFdlIGRvbid0IHRh a2UgYSBsb2NrIGhlcmUgYW5kIHRoaXMgbWF5IHJ1bgpAQCAtMjU5MSwyMyArMjU5NSwyNiBAQCBz dGF0aWMgc3NpemVfdCBpOTE1X3BlcmZfcmVhZChzdHJ1Y3QgZmlsZSAqZmlsZSwKIAlyZXR1cm4g cmV0OwogfQogCi1zdGF0aWMgZW51bSBocnRpbWVyX3Jlc3RhcnQgcG9sbF9jaGVja190aW1lcl9j YihzdHJ1Y3QgaHJ0aW1lciAqaHJ0aW1lcikKK3N0YXRpYyB2b2lkIHdha2VfdXBfcGVyZl9zdHJl YW1zKHZvaWQgKmRhdGEsIGFzeW5jX2Nvb2tpZV90IGNvb2tpZSkKIHsKKwlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkYXRhOwogCXN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpz dHJlYW07CiAKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPQotCQljb250YWlu ZXJfb2YoaHJ0aW1lciwgdHlwZW9mKCpkZXZfcHJpdiksCi0JCQkgICAgIHBlcmYucG9sbF9jaGVj a190aW1lcik7Ci0KLQkvKiBObyBuZWVkIHRvIHByb3RlY3QgdGhlIHN0cmVhbXMgbGlzdCBoZXJl LCBzaW5jZSB0aGUgaHJ0aW1lciBpcwotCSAqIGRpc2FibGVkIGJlZm9yZSB0aGUgc3RyZWFtIGlz IHJlbW92ZWQgZnJvbSBsaXN0LCBhbmQgY3VycmVudGx5IGEKLQkgKiBzaW5nbGUgZXhjbHVzaXZl X3N0cmVhbSBpcyBzdXBwb3J0ZWQuCi0JICogWFhYOiByZXZpc2l0IHRoaXMgd2hlbiBtdWx0aXBs ZSBjb25jdXJyZW50IHN0cmVhbXMgYXJlIHN1cHBvcnRlZC4KLQkgKi8KKwltdXRleF9sb2NrKCZk ZXZfcHJpdi0+cGVyZi5zdHJlYW1zX2xvY2spOwogCWxpc3RfZm9yX2VhY2hfZW50cnkoc3RyZWFt LCAmZGV2X3ByaXYtPnBlcmYuc3RyZWFtcywgbGluaykgewogCQlpZiAoc3RyZWFtX2hhdmVfZGF0 YV9fdW5sb2NrZWQoc3RyZWFtKSkKIAkJCXdha2VfdXAoJmRldl9wcml2LT5wZXJmLnBvbGxfd3Fb c3RyZWFtLT5lbmdpbmVdKTsKIAl9CisJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cGVyZi5zdHJl YW1zX2xvY2spOworfQorCitzdGF0aWMgZW51bSBocnRpbWVyX3Jlc3RhcnQgcG9sbF9jaGVja190 aW1lcl9jYihzdHJ1Y3QgaHJ0aW1lciAqaHJ0aW1lcikKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPQorCQljb250YWluZXJfb2YoaHJ0aW1lciwgdHlwZW9mKCpkZXZfcHJp diksCisJCQkgICAgIHBlcmYucG9sbF9jaGVja190aW1lcik7CisKKwlhc3luY19zY2hlZHVsZSh3 YWtlX3VwX3BlcmZfc3RyZWFtcywgZGV2X3ByaXYpOwogCiAJaHJ0aW1lcl9mb3J3YXJkX25vdyho cnRpbWVyLCBuc190b19rdGltZShQT0xMX1BFUklPRCkpOwogCi0tIAoxLjkuMQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==