From mboxrd@z Thu Jan 1 00:00:00 1970 From: sourab.gupta@intel.com Subject: [RFC 5/8] drm/i915: Wait for GPU to finish before event stop, in async OA counter mode Date: Mon, 22 Jun 2015 15:20:16 +0530 Message-ID: <1434966619-3979-6-git-send-email-sourab.gupta@intel.com> References: <1434966619-3979-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 1DEBB6E5D7 for ; Mon, 22 Jun 2015 02:48:48 -0700 (PDT) In-Reply-To: <1434966619-3979-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 RnJvbTogU291cmFiIEd1cHRhIDxzb3VyYWIuZ3VwdGFAaW50ZWwuY29tPgoKVGhlIG1vZGUgb2Yg YXN5bmNocm9ub3VzIE9BIGNvdW50ZXIgc25hcHNob3QgY29sbGVjdGlvbiB3b3VsZCBuZWVkIGlu c2VydGlvbgpvZiBNSV9SRVBPUlRfUEVSRl9DT1VOVCBjb21tYW5kcyBpbnRvIHRoZSByaW5nYnVm ZmVyLiBUaGVyZWZvcmUsIGR1cmluZyB0aGUKc3RvcCBldmVudCBjYWxsLCB3ZSBuZWVkIHRvIHdh aXQgZm9yIEdQVSB0byBjb21wbGV0ZSBwcm9jZXNzaW5nIHRoZSBsYXN0CnJlcXVlc3QgZm9yIHdo aWNoIE1JX1JQQyBjb21tYW5kIHdhcyBpbnNlcnRlZC4gV2UgbmVlZCB0byBlbnN1cmUgdGhlIHBy b2Nlc3NpbmcKaXMgY29tcGxldGVkIGJlZm9yZSBldmVudF9kZXN0cm95IGNhbGxiYWNrIHdoaWNo IGRlYWxsb2NhdGVzIHRoZSBidWZmZXIKClNpZ25lZC1vZmYtYnk6IFNvdXJhYiBHdXB0YSA8c291 cmFiLmd1cHRhQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o ICAgICB8ICAyICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfb2FfcGVyZi5jIHwgOTUgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA4MSBp bnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRl eCBkNzM4ZjdhLi41NDUzODQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTE5NzksNiAr MTk3OSw4IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAkJCXU4ICpzbmFwc2hvdDsKIAkJ fSBvYV9hc3luY19idWZmZXI7CiAJCXN0cnVjdCB3b3JrX3N0cnVjdCB3b3JrX3RpbWVyOworCQlz dHJ1Y3Qgd29ya19zdHJ1Y3Qgd29ya19ldmVudF9zdG9wOworCQlzdHJ1Y3QgY29tcGxldGlvbiBj b21wbGV0ZTsKIAl9IG9hX3BtdTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X29hX3BlcmYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfb2FfcGVy Zi5jCmluZGV4IDNiZjRjNDcuLjVkNjNkYWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfb2FfcGVyZi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfb2FfcGVy Zi5jCkBAIC0xMTgsNiArMTE4LDkgQEAgdm9pZCBmb3J3YXJkX29hX2FzeW5jX3NuYXBzaG90c193 b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqX193b3JrKQogCWludCByZXQsIGhlYWQsIHRhaWwsIG51 bV9ub2RlczsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcTsKIAorCWlmIChkZXZf cHJpdi0+b2FfcG11LmV2ZW50X2FjdGl2ZSA9PSBmYWxzZSkKKwkJcmV0dXJuOworCiAJZmlyc3Rf bm9kZSA9IChzdHJ1Y3QgZHJtX2k5MTVfb2FfYXN5bmNfbm9kZSAqKQogCQkJKChjaGFyICopaGRy ICsgaGRyLT5kYXRhX29mZnNldCk7CiAJbnVtX25vZGVzID0gKGhkci0+c2l6ZV9pbl9ieXRlcyAt IGhkci0+ZGF0YV9vZmZzZXQpIC8KQEAgLTI5OCw2ICszMDEsNyBAQCBzdGF0aWMgdm9pZCBmbHVz aF9vYV9zbmFwc2hvdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogc3RhdGlj IHZvaWQKIG9hX2FzeW5jX2J1ZmZlcl9kZXN0cm95KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1KQogeworCXdhaXRfZm9yX2NvbXBsZXRpb24oJmk5MTUtPm9hX3BtdS5jb21wbGV0ZSk7CiAJ bXV0ZXhfbG9jaygmaTkxNS0+ZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogCiAJdnVubWFwKGk5MTUtPm9h X3BtdS5vYV9hc3luY19idWZmZXIuYWRkcik7CkBAIC04NTQsNiArODU4LDYzIEBAIHN0YXRpYyB2 b2lkIGNvbmZpZ19vYV9yZWdzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAl9 CiB9CiAKKwordm9pZCBpOTE1X29hX2FzeW5jX3N0b3Bfd29ya19mbihzdHJ1Y3Qgd29ya19zdHJ1 Y3QgKl9fd29yaykKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPQorCQlj b250YWluZXJfb2YoX193b3JrLCB0eXBlb2YoKmRldl9wcml2KSwKKwkJCW9hX3BtdS53b3JrX2V2 ZW50X3N0b3ApOworCXN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCA9IGRldl9wcml2LT5vYV9wbXUu ZXhjbHVzaXZlX2V2ZW50OworCXN0cnVjdCBkcm1faTkxNV9vYV9hc3luY19xdWV1ZV9oZWFkZXIg KmhkciA9CisJCShzdHJ1Y3QgZHJtX2k5MTVfb2FfYXN5bmNfcXVldWVfaGVhZGVyICopCisJCWRl dl9wcml2LT5vYV9wbXUub2FfYXN5bmNfYnVmZmVyLmFkZHI7CisJc3RydWN0IGRybV9pOTE1X29h X2FzeW5jX25vZGUgKmZpcnN0X25vZGUsICpub2RlOworCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcmVxOworCWludCByZXQsIGhlYWQsIHRhaWwsIG51bV9ub2RlczsKKworCWZpcnN0X25v ZGUgPSAoc3RydWN0IGRybV9pOTE1X29hX2FzeW5jX25vZGUgKikKKwkJCSgoY2hhciAqKWhkciAr IGhkci0+ZGF0YV9vZmZzZXQpOworCW51bV9ub2RlcyA9IChoZHItPnNpemVfaW5fYnl0ZXMgLSBo ZHItPmRhdGFfb2Zmc2V0KSAvCisJCQlzaXplb2YoKm5vZGUpOworCisKKwlyZXQgPSBpOTE1X211 dGV4X2xvY2tfaW50ZXJydXB0aWJsZShkZXZfcHJpdi0+ZGV2KTsKKwlpZiAocmV0KQorCQlyZXR1 cm47CisKKwlkZXZfcHJpdi0+b2FfcG11LmV2ZW50X2FjdGl2ZSA9IGZhbHNlOworCisJaTkxNV9v YV9hc3luY193YWl0X2dwdShkZXZfcHJpdik7CisKKwl1cGRhdGVfb2Fjb250cm9sKGRldl9wcml2 KTsKKwltbWlvd2IoKTsKKworCS8qIEVuc3VyZSB0aGF0IGFsbCByZXF1ZXN0cyBhcmUgY29tcGxl dGVkKi8KKwl0YWlsID0gaGRyLT5ub2RlX2NvdW50OworCWhlYWQgPSBkZXZfcHJpdi0+b2FfcG11 Lm9hX2FzeW5jX2J1ZmZlci5oZWFkOworCXdoaWxlICgoaGVhZCAlIG51bV9ub2RlcykgIT0gKHRh aWwgJSBudW1fbm9kZXMpKSB7CisJCW5vZGUgPSAmZmlyc3Rfbm9kZVtoZWFkICUgbnVtX25vZGVz XTsKKwkJcmVxID0gbm9kZS0+bm9kZV9pbmZvLnJlcTsKKwkJaWYgKHJlcSAmJiAhaTkxNV9nZW1f cmVxdWVzdF9jb21wbGV0ZWQocmVxLCB0cnVlKSkKKwkJCVdBUk5fT04oMSk7CisJCWhlYWQrKzsK Kwl9CisKKwlpZiAoZXZlbnQtPmF0dHIuc2FtcGxlX3BlcmlvZCkgeworCQlocnRpbWVyX2NhbmNl bCgmZGV2X3ByaXYtPm9hX3BtdS50aW1lcik7CisJCWZsdXNoX29hX3NuYXBzaG90cyhkZXZfcHJp diwgZmFsc2UpOworCX0KKwljYW5jZWxfd29ya19zeW5jKCZkZXZfcHJpdi0+b2FfcG11Lndvcmtf dGltZXIpOworCisJZGV2X3ByaXYtPm9hX3BtdS5vYV9hc3luY19idWZmZXIudGFpbCA9IDA7CisJ ZGV2X3ByaXYtPm9hX3BtdS5vYV9hc3luY19idWZmZXIuaGVhZCA9IDA7CisKKwltdXRleF91bmxv Y2soJmRldl9wcml2LT5kZXYtPnN0cnVjdF9tdXRleCk7CisKKwlldmVudC0+aHcuc3RhdGUgPSBQ RVJGX0hFU19TVE9QUEVEOworCWNvbXBsZXRlKCZkZXZfcHJpdi0+b2FfcG11LmNvbXBsZXRlKTsK K30KKwogc3RhdGljIHZvaWQgaTkxNV9vYV9ldmVudF9zdGFydChzdHJ1Y3QgcGVyZl9ldmVudCAq ZXZlbnQsIGludCBmbGFncykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PQpAQCAtOTM5LDI1ICsxMDAwLDIzIEBAIHN0YXRpYyB2b2lkIGk5MTVfb2FfZXZlbnRfc3RvcChz dHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQsIGludCBmbGFncykKIAkJY29udGFpbmVyX29mKGV2ZW50 LT5wbXUsIHR5cGVvZigqZGV2X3ByaXYpLCBvYV9wbXUucG11KTsKIAl1bnNpZ25lZCBsb25nIGxv Y2tfZmxhZ3M7CiAKLQlzcGluX2xvY2tfaXJxc2F2ZSgmZGV2X3ByaXYtPm9hX3BtdS5sb2NrLCBs b2NrX2ZsYWdzKTsKLQotCWRldl9wcml2LT5vYV9wbXUuZXZlbnRfYWN0aXZlID0gZmFsc2U7Ci0J dXBkYXRlX29hY29udHJvbChkZXZfcHJpdik7Ci0KLQltbWlvd2IoKTsKLQlzcGluX3VubG9ja19p cnFyZXN0b3JlKCZkZXZfcHJpdi0+b2FfcG11LmxvY2ssIGxvY2tfZmxhZ3MpOworCWlmIChkZXZf cHJpdi0+b2FfcG11LmFzeW5jX3NhbXBsZV9tb2RlKQorCQlzY2hlZHVsZV93b3JrKCZkZXZfcHJp di0+b2FfcG11LndvcmtfZXZlbnRfc3RvcCk7CisJZWxzZSB7CisJCXNwaW5fbG9ja19pcnFzYXZl KCZkZXZfcHJpdi0+b2FfcG11LmxvY2ssIGxvY2tfZmxhZ3MpOworCQlkZXZfcHJpdi0+b2FfcG11 LmV2ZW50X2FjdGl2ZSA9IGZhbHNlOworCQl1cGRhdGVfb2Fjb250cm9sKGRldl9wcml2KTsKIAot CWlmIChldmVudC0+YXR0ci5zYW1wbGVfcGVyaW9kKSB7Ci0JCWhydGltZXJfY2FuY2VsKCZkZXZf cHJpdi0+b2FfcG11LnRpbWVyKTsKLQkJZmx1c2hfb2Ffc25hcHNob3RzKGRldl9wcml2LCBmYWxz ZSk7Ci0JfQorCQltbWlvd2IoKTsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2X3ByaXYt Pm9hX3BtdS5sb2NrLCBsb2NrX2ZsYWdzKTsKKwkJaWYgKGV2ZW50LT5hdHRyLnNhbXBsZV9wZXJp b2QpIHsKKwkJCWhydGltZXJfY2FuY2VsKCZkZXZfcHJpdi0+b2FfcG11LnRpbWVyKTsKKwkJCWZs dXNoX29hX3NuYXBzaG90cyhkZXZfcHJpdiwgZmFsc2UpOworCQl9CiAKLQlpZiAoZGV2X3ByaXYt Pm9hX3BtdS5hc3luY19zYW1wbGVfbW9kZSkgewotCQlkZXZfcHJpdi0+b2FfcG11Lm9hX2FzeW5j X2J1ZmZlci50YWlsID0gMDsKLQkJZGV2X3ByaXYtPm9hX3BtdS5vYV9hc3luY19idWZmZXIuaGVh ZCA9IDA7CisJCWV2ZW50LT5ody5zdGF0ZSA9IFBFUkZfSEVTX1NUT1BQRUQ7CiAJfQogCi0JZXZl bnQtPmh3LnN0YXRlID0gUEVSRl9IRVNfU1RPUFBFRDsKIH0KIAogc3RhdGljIGludCBpOTE1X29h X2V2ZW50X2FkZChzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQsIGludCBmbGFncykKQEAgLTEwOTIs NiArMTE1MSw4IEBAIHZvaWQgaTkxNV9vYV9wbXVfcmVnaXN0ZXIoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKIAlpOTE1LT5vYV9wbXUudGltZXIuZnVuY3Rpb24gPSBocnRpbWVyX3NhbXBsZTsKIAog CUlOSVRfV09SSygmaTkxNS0+b2FfcG11LndvcmtfdGltZXIsIGZvcndhcmRfb2FfYXN5bmNfc25h cHNob3RzX3dvcmspOworCUlOSVRfV09SSygmaTkxNS0+b2FfcG11LndvcmtfZXZlbnRfc3RvcCwg aTkxNV9vYV9hc3luY19zdG9wX3dvcmtfZm4pOworCWluaXRfY29tcGxldGlvbigmaTkxNS0+b2Ff cG11LmNvbXBsZXRlKTsKIAogCXNwaW5fbG9ja19pbml0KCZpOTE1LT5vYV9wbXUubG9jayk7CiAK QEAgLTExMjIsOCArMTE4MywxMCBAQCB2b2lkIGk5MTVfb2FfcG11X3VucmVnaXN0ZXIoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKIAlpZiAoaTkxNS0+b2FfcG11LnBtdS5ldmVudF9pbml0ID09IE5V TEwpCiAJCXJldHVybjsKIAotCWlmIChpOTE1LT5vYV9wbXUuYXN5bmNfc2FtcGxlX21vZGUpCisJ aWYgKGk5MTUtPm9hX3BtdS5hc3luY19zYW1wbGVfbW9kZSkgewogCQljYW5jZWxfd29ya19zeW5j KCZpOTE1LT5vYV9wbXUud29ya190aW1lcik7CisJCWNhbmNlbF93b3JrX3N5bmMoJmk5MTUtPm9h X3BtdS53b3JrX2V2ZW50X3N0b3ApOworCX0KIAogCXVucmVnaXN0ZXJfc3lzY3RsX3RhYmxlKGk5 MTUtPm9hX3BtdS5zeXNjdGxfaGVhZGVyKTsKIAotLSAKMS44LjUuMQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK