From mboxrd@z Thu Jan 1 00:00:00 1970 From: sourab.gupta@intel.com Subject: [PATCH 10/11] drm/i915: Support opening multiple concurrent perf streams Date: Tue, 16 Feb 2016 10:57:18 +0530 Message-ID: <1455600439-18480-11-git-send-email-sourab.gupta@intel.com> References: <1455600439-18480-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 E35CA6E739 for ; Tue, 16 Feb 2016 05:25:49 +0000 (UTC) In-Reply-To: <1455600439-18480-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: Jabin Wu , Sourab Gupta List-Id: intel-gfx@lists.freedesktop.org RnJvbTogU291cmFiIEd1cHRhIDxzb3VyYWIuZ3VwdGFAaW50ZWwuY29tPgoKVGhpcyBwYXRjaCBh ZGRzIHN1cHBvcnQgZm9yIG9wZW5pbmcgbXVsdGlwbGUgY29uY3VycmVudCBwZXJmIHN0cmVhbXMg Zm9yCmRpZmZlcmVudCBncHUgZW5naW5lcywgd2hpbGUgaGF2aW5nIHRoZSByZXN0cmljdGlvbiB0 byBvcGVuIG9ubHkgYSBzaW5nbGUKc3RyZWFtIG9wZW4gZm9yIGEgcGFydGljdWxhciBncHUgZW5n aW5lLgpUaGlzIGVuYWJsZXMgdXNlcnNwYWNlIGNsaWVudCB0byBvcGVuIG11bHRpcGxlIHN0cmVh bXMsIG9uZSBwZXIgZW5naW5lLAphdCBhbnkgdGltZSB0byBjYXB0dXJlIHNhbXBsZSBkYXRhIGZv ciBtdWx0aXBsZSBncHUgZW5naW5lcy4KClNpZ25lZC1vZmYtYnk6IFNvdXJhYiBHdXB0YSA8c291 cmFiLmd1cHRhQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o ICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYuYyB8IDY1ICsrKysrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMzggaW5z ZXJ0aW9ucygrKSwgMjkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXgg YjFjOTUyYy4uYmY2NWFjYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yMDg2LDcgKzIw ODYsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7CiAJCXNwaW5sb2NrX3QgaG9va19sb2Nr OwogCiAJCXN0cnVjdCBocnRpbWVyIHBvbGxfY2hlY2tfdGltZXI7Ci0JCXN0cnVjdCBpOTE1X3Bl cmZfc3RyZWFtICpleGNsdXNpdmVfc3RyZWFtOworCQlzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAq ZXhjbHVzaXZlX3N0cmVhbVtJOTE1X05VTV9SSU5HU107CiAJCXdhaXRfcXVldWVfaGVhZF90IHBv bGxfd3FbSTkxNV9OVU1fUklOR1NdOwogCiAJCXN0cnVjdCB7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVy Zi5jCmluZGV4IDFkMjcxMmQuLjNlYjU2ZDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcGVyZi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jCkBA IC0xMDYxLDcgKzEwNjEsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X3BlcmZfc3RyZWFtX2Rlc3Ryb3ko c3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSBzdHJlYW0tPmRldl9wcml2OwogCi0JQlVHX09OKHN0cmVhbSAhPSBk ZXZfcHJpdi0+cGVyZi5leGNsdXNpdmVfc3RyZWFtKTsKKwlCVUdfT04oc3RyZWFtICE9IGRldl9w cml2LT5wZXJmLmV4Y2x1c2l2ZV9zdHJlYW1bc3RyZWFtLT5yaW5nX2lkXSk7CiAKIAlpZiAoc3Ry ZWFtLT51c2luZ19vYSkgewogCQlkZXZfcHJpdi0+cGVyZi5vYS5vcHMuZGlzYWJsZV9tZXRyaWNf c2V0KGRldl9wcml2KTsKQEAgLTEwNzUsNyArMTA3NSw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfcGVy Zl9zdHJlYW1fZGVzdHJveShzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtKQogCWlmIChz dHJlYW0tPmNzX21vZGUpCiAJCWZyZWVfY29tbWFuZF9zdHJlYW1fYnVmKGRldl9wcml2LCBzdHJl YW0tPnJpbmdfaWQpOwogCi0JZGV2X3ByaXYtPnBlcmYuZXhjbHVzaXZlX3N0cmVhbSA9IE5VTEw7 CisJZGV2X3ByaXYtPnBlcmYuZXhjbHVzaXZlX3N0cmVhbVtzdHJlYW0tPnJpbmdfaWRdID0gTlVM TDsKIH0KIAogc3RhdGljIHZvaWQgKnZtYXBfb2FfYnVmZmVyKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmopCkBAIC0xNDM0LDE3ICsxNDM0LDE3IEBAIHN0YXRpYyB2b2lkIGdlbjdfdXBk YXRlX29hY29udHJvbF9sb2NrZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQog ewogCWFzc2VydF9zcGluX2xvY2tlZCgmZGV2X3ByaXYtPnBlcmYuaG9va19sb2NrKTsKIAotCWlm IChkZXZfcHJpdi0+cGVyZi5leGNsdXNpdmVfc3RyZWFtLT5lbmFibGVkKSB7CisJaWYgKGRldl9w cml2LT5wZXJmLmV4Y2x1c2l2ZV9zdHJlYW1bUkNTXS0+ZW5hYmxlZCkgewogCQl1bnNpZ25lZCBs b25nIGN0eF9pZCA9IDA7CiAJCWJvb2wgcGlubmluZ19vayA9IGZhbHNlOwogCi0JCWlmIChkZXZf cHJpdi0+cGVyZi5leGNsdXNpdmVfc3RyZWFtLT5jdHggJiYKKwkJaWYgKGRldl9wcml2LT5wZXJm LmV4Y2x1c2l2ZV9zdHJlYW1bUkNTXS0+Y3R4ICYmCiAJCSAgICBkZXZfcHJpdi0+cGVyZi5vYS5z cGVjaWZpY19jdHhfaWQpIHsKIAkJCWN0eF9pZCA9IGRldl9wcml2LT5wZXJmLm9hLnNwZWNpZmlj X2N0eF9pZDsKIAkJCXBpbm5pbmdfb2sgPSB0cnVlOwogCQl9CiAKLQkJaWYgKGRldl9wcml2LT5w ZXJmLmV4Y2x1c2l2ZV9zdHJlYW0tPmN0eCA9PSBOVUxMIHx8CisJCWlmIChkZXZfcHJpdi0+cGVy Zi5leGNsdXNpdmVfc3RyZWFtW1JDU10tPmN0eCA9PSBOVUxMIHx8CiAJCSAgICBwaW5uaW5nX29r KSB7CiAJCQlib29sIHBlcmlvZGljID0gZGV2X3ByaXYtPnBlcmYub2EucGVyaW9kaWM7CiAJCQl1 MzIgcGVyaW9kX2V4cG9uZW50ID0gZGV2X3ByaXYtPnBlcmYub2EucGVyaW9kX2V4cG9uZW50OwpA QCAtMTU1NiwxNCArMTU1Niw2IEBAIHN0YXRpYyBpbnQgaTkxNV9wZXJmX3N0cmVhbV9pbml0KHN0 cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0sCiAJCQkJCQkgICAgICBTQU1QTEVfVFMpOwog CWludCByZXQ7CiAKLQkvKiBUbyBhdm9pZCB0aGUgY29tcGxleGl0eSBvZiBoYXZpbmcgdG8gYWNj dXJhdGVseSBmaWx0ZXIKLQkgKiBjb3VudGVyIHJlcG9ydHMgYW5kIG1hcnNoYWwgdG8gdGhlIGFw cHJvcHJpYXRlIGNsaWVudAotCSAqIHdlIGN1cnJlbnRseSBvbmx5IGFsbG93IGV4Y2x1c2l2ZSBh Y2Nlc3MgKi8KLQlpZiAoZGV2X3ByaXYtPnBlcmYuZXhjbHVzaXZlX3N0cmVhbSkgewotCQlEUk1f RVJST1IoIlN0cmVhbSBhbHJlYWR5IGluIHVzZVxuIik7Ci0JCXJldHVybiAtRUJVU1k7Ci0JfQot CiAJLyogQ3R4IElkIGNhbiBiZSBzYW1wbGVkIGluIEhTVyBvbmx5IHRocm91Z2ggY29tbWFuZCBz dHJlYW1lciBtb2RlICovCiAJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYtPmRldikgJiYKIAkgICAg KHByb3BzLT5zYW1wbGVfZmxhZ3MgJiBTQU1QTEVfQ1RYX0lEKSAmJiAhcHJvcHMtPmNzX21vZGUp IHsKQEAgLTE1NzYsNiArMTU2OCwxMyBAQCBzdGF0aWMgaW50IGk5MTVfcGVyZl9zdHJlYW1faW5p dChzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtLAogCiAJaWYgKHJlcXVpcmVfb2FfdW5p dCkgewogCQlpbnQgZm9ybWF0X3NpemU7CisKKwkJLyogT25seSBhbGxvdyBleGNsdXNpdmUgYWNj ZXNzIHBlciBzdHJlYW0gKi8KKwkJaWYgKGRldl9wcml2LT5wZXJmLmV4Y2x1c2l2ZV9zdHJlYW1b UkNTXSkgeworCQkJRFJNX0VSUk9SKCJTdHJlYW06MCBhbHJlYWR5IGluIHVzZVxuIik7CisJCQly ZXR1cm4gLUVCVVNZOworCQl9CisKIAkJaWYgKCFkZXZfcHJpdi0+cGVyZi5vYS5vcHMuaW5pdF9v YV9idWZmZXIpIHsKIAkJCURSTV9FUlJPUigiT0EgdW5pdCBub3Qgc3VwcG9ydGVkXG4iKTsKIAkJ CXJldHVybiAtRU5PREVWOwpAQCAtMTY3Myw2ICsxNjcyLDEzIEBAIHN0YXRpYyBpbnQgaTkxNV9w ZXJmX3N0cmVhbV9pbml0KHN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0sCiAJfQogCiAJ aWYgKHByb3BzLT5jc19tb2RlKSB7CisJCS8qIE9ubHkgYWxsb3cgZXhjbHVzaXZlIGFjY2VzcyBw ZXIgc3RyZWFtICovCisJCWlmIChkZXZfcHJpdi0+cGVyZi5leGNsdXNpdmVfc3RyZWFtW3Byb3Bz LT5yaW5nX2lkXSkgeworCQkJRFJNX0VSUk9SKCJTdHJlYW06JWQgYWxyZWFkeSBpbiB1c2VcbiIs IHByb3BzLT5yaW5nX2lkKTsKKwkJCXJldCA9IC1FQlVTWTsKKwkJCWdvdG8gY3NfZXJyb3I7CisJ CX0KKwogCQkvKgogCQkgKiBUaGUgb25seSB0aW1lIHdlIHNob3VsZCBhbGxvdyBlbmFibGluZyBD UyBtb2RlIGlmIGl0J3Mgbm90CiAJCSAqIHN0cmljdGx5IHJlcXVpcmVkLCBpcyBpZiBTQU1QTEVf Q1RYX0lEIGhhcyBiZWVuIHJlcXVlc3RlZApAQCAtMTcwOSw3ICsxNzE1LDcgQEAgc3RhdGljIGlu dCBpOTE1X3BlcmZfc3RyZWFtX2luaXQoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSwK IAkJCWdvdG8gY3NfZXJyb3I7CiAJfQogCi0JZGV2X3ByaXYtPnBlcmYuZXhjbHVzaXZlX3N0cmVh bSA9IHN0cmVhbTsKKwlkZXZfcHJpdi0+cGVyZi5leGNsdXNpdmVfc3RyZWFtW3N0cmVhbS0+cmlu Z19pZF0gPSBzdHJlYW07CiAKIAlzdHJlYW0tPmRlc3Ryb3kgPSBpOTE1X3BlcmZfc3RyZWFtX2Rl c3Ryb3k7CiAJc3RyZWFtLT5lbmFibGUgPSBpOTE1X3BlcmZfc3RyZWFtX2VuYWJsZTsKQEAgLTE3 NTEsOCArMTc1Nyw4IEBAIHN0YXRpYyB2b2lkIGk5MTVfb2FfY29udGV4dF9waW5fbm90aWZ5X2xv Y2tlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJICAgIGRldl9wcml2LT5w ZXJmLm9hLm9wcy51cGRhdGVfaHdfY3R4X2lkX2xvY2tlZCA9PSBOVUxMKQogCQlyZXR1cm47CiAK LQlpZiAoZGV2X3ByaXYtPnBlcmYuZXhjbHVzaXZlX3N0cmVhbSAmJgotCSAgICBkZXZfcHJpdi0+ cGVyZi5leGNsdXNpdmVfc3RyZWFtLT5jdHggPT0gY29udGV4dCkgeworCWlmIChkZXZfcHJpdi0+ cGVyZi5leGNsdXNpdmVfc3RyZWFtW1JDU10gJiYKKwkgICAgZGV2X3ByaXYtPnBlcmYuZXhjbHVz aXZlX3N0cmVhbVtSQ1NdLT5jdHggPT0gY29udGV4dCkgewogCQlzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqID0KIAkJCWNvbnRleHQtPmxlZ2FjeV9od19jdHgucmNzX3N0YXRlOwogCQl1 MzIgY3R4X2lkID0gaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0KG9iaik7CkBAIC0xODIwLDggKzE4 MjYsOCBAQCB2b2lkIGk5MTVfb2FfbGVnYWN5X2N0eF9zd2l0Y2hfbm90aWZ5KHN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogCWlmIChkZXZfcHJpdi0+cGVyZi5vYS5vcHMubGVnYWN5 X2N0eF9zd2l0Y2hfdW5sb2NrZWQgPT0gTlVMTCkKIAkJcmV0dXJuOwogCi0JaWYgKGRldl9wcml2 LT5wZXJmLmV4Y2x1c2l2ZV9zdHJlYW0gJiYKLQkgICAgZGV2X3ByaXYtPnBlcmYuZXhjbHVzaXZl X3N0cmVhbS0+ZW5hYmxlZCkgeworCWlmIChkZXZfcHJpdi0+cGVyZi5leGNsdXNpdmVfc3RyZWFt W1JDU10gJiYKKwkgICAgZGV2X3ByaXYtPnBlcmYuZXhjbHVzaXZlX3N0cmVhbVtSQ1NdLT5lbmFi bGVkKSB7CiAKIAkJLyogWFhYOiBXZSBkb24ndCB0YWtlIGEgbG9jayBoZXJlIGFuZCB0aGlzIG1h eSBydW4KIAkJICogYXN5bmMgd2l0aCByZXNwZWN0IHRvIHN0cmVhbSBtZXRob2RzLiBOb3RhYmx5 IHdlCkBAIC0xOTQ0LDIzICsxOTUwLDI2IEBAIHN0YXRpYyBzc2l6ZV90IGk5MTVfcGVyZl9yZWFk KHN0cnVjdCBmaWxlICpmaWxlLAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBlbnVtIGhydGlt ZXJfcmVzdGFydCBwb2xsX2NoZWNrX3RpbWVyX2NiKHN0cnVjdCBocnRpbWVyICpocnRpbWVyKQor c3RhdGljIHZvaWQgd2FrZV91cF9wZXJmX3N0cmVhbXModm9pZCAqZGF0YSwgYXN5bmNfY29va2ll X3QgY29va2llKQogeworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRhdGE7 CiAJc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbTsKIAotCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9Ci0JCWNvbnRhaW5lcl9vZihocnRpbWVyLCB0eXBlb2YoKmRldl9w cml2KSwKLQkJCSAgICAgcGVyZi5wb2xsX2NoZWNrX3RpbWVyKTsKLQotCS8qIE5vIG5lZWQgdG8g cHJvdGVjdCB0aGUgc3RyZWFtcyBsaXN0IGhlcmUsIHNpbmNlIHRoZSBocnRpbWVyIGlzCi0JICog ZGlzYWJsZWQgYmVmb3JlIHRoZSBzdHJlYW0gaXMgcmVtb3ZlZCBmcm9tIGxpc3QsIGFuZCBjdXJy ZW50bHkgYQotCSAqIHNpbmdsZSBleGNsdXNpdmVfc3RyZWFtIGlzIHN1cHBvcnRlZC4KLQkgKiBY WFg6IHJldmlzaXQgdGhpcyB3aGVuIG11bHRpcGxlIGNvbmN1cnJlbnQgc3RyZWFtcyBhcmUgc3Vw cG9ydGVkLgotCSAqLworCW11dGV4X2xvY2soJmRldl9wcml2LT5wZXJmLnN0cmVhbXNfbG9jayk7 CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShzdHJlYW0sICZkZXZfcHJpdi0+cGVyZi5zdHJlYW1zLCBs aW5rKSB7CiAJCWlmIChzdHJlYW1faGF2ZV9kYXRhX191bmxvY2tlZChzdHJlYW0pKQogCQkJd2Fr ZV91cCgmZGV2X3ByaXYtPnBlcmYucG9sbF93cVtzdHJlYW0tPnJpbmdfaWRdKTsKIAl9CisJbXV0 ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cGVyZi5zdHJlYW1zX2xvY2spOworfQorCitzdGF0aWMgZW51 bSBocnRpbWVyX3Jlc3RhcnQgcG9sbF9jaGVja190aW1lcl9jYihzdHJ1Y3QgaHJ0aW1lciAqaHJ0 aW1lcikKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPQorCQljb250YWlu ZXJfb2YoaHJ0aW1lciwgdHlwZW9mKCpkZXZfcHJpdiksCisJCQkgICAgIHBlcmYucG9sbF9jaGVj a190aW1lcik7CisKKwlhc3luY19zY2hlZHVsZSh3YWtlX3VwX3BlcmZfc3RyZWFtcywgZGV2X3By aXYpOwogCiAJaHJ0aW1lcl9mb3J3YXJkX25vdyhocnRpbWVyLCBuc190b19rdGltZShQT0xMX1BF UklPRCkpOwogCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==