From mboxrd@z Thu Jan 1 00:00:00 1970 From: sourab.gupta@intel.com Subject: [RFC 6/7] drm/i915: Add routines for inserting commands in the ringbuf for capturing timestamps Date: Mon, 22 Jun 2015 15:25:08 +0530 Message-ID: <1434966909-4113-7-git-send-email-sourab.gupta@intel.com> References: <1434966909-4113-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 DA9EA6E62C for ; Mon, 22 Jun 2015 02:53:28 -0700 (PDT) In-Reply-To: <1434966909-4113-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 ZGRzIHRoZSByb3V0aW5lcyB0aHJvdWdoIHdoaWNoIG9uZSBjYW4gaW5zZXJ0IGNvbW1hbmRzIGlu IHRoZQpyaW5nYnVmIGZvciBjYXB0dXJpbmcgdGltZXN0YW1wcy4gVGhlIHJvdXRpbmVzIHRvIGlu c2VydCB0aGVzZSBjb21tYW5kcyBjYW4gYmUKY2FsbGVkIGF0IGFwcHJvcHJpYXRlIHBsYWNlcyBk dXJpbmcgd29ya2xvYWQgZXhlY3V0aW9uLgpUaGUgc25hcHNob3RzIHRodXMgY2FwdHVyZWQgZm9y IGVhY2ggYmF0Y2hidWZmZXIgYXJlIHRoZW4gZm9yd2FyZGVkIHRvCnVzZXJzcGFjZSB1c2luZyB0 aGUgcGVyZiBldmVudCBmcmFtZXdvcmssIHRocm91Z2ggdGhlIEdlbiBQTVUgaW50ZXJmYWNlcy4K ClNpZ25lZC1vZmYtYnk6IFNvdXJhYiBHdXB0YSA8c291cmFiLmd1cHRhQGludGVsLmNvbT4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X29hX3BlcmYuYyB8IDg4ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgg ICAgIHwgIDIgKwogMiBmaWxlcyBjaGFuZ2VkLCA5MCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9vYV9wZXJmLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X29hX3BlcmYuYwppbmRleCA1NzRiNmQzLi5lZDBiZGM5IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X29hX3BlcmYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X29hX3BlcmYuYwpAQCAtOTksNiArOTksNzkgQEAgdm9pZCBpOTE1X29hX2luc2Vy dF9jbWQoc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYsIHUzMiBjdHhfaWQsCiAJCXF1 ZXVlX2hkci0+d3JhcF9jb3VudCsrOwogfQogCisvKiBSZXR1cm5zIHRoZSByaW5nJ3MgSUQgbWFz ayAoaS5lLiBJOTE1X0VYRUNfPHJpbmc+KSAqLworI2RlZmluZSByaW5nX2lkX21hc2socmluZykg KChyaW5nKS0+aWQgKyAxKQorCit2b2lkIGk5MTVfZ2VuX2luc2VydF9jbWRfdHMoc3RydWN0IGlu dGVsX3JpbmdidWZmZXIgKnJpbmdidWYsIHUzMiBjdHhfaWQsCisJCQkJaW50IHBlcmZ0YWcpCit7 CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9IHJpbmdidWYtPnJpbmc7CisJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gcmluZy0+ZGV2LT5kZXZfcHJpdmF0ZTsKKwlz dHJ1Y3QgZHJtX2k5MTVfdHNfbm9kZV9pbmZvICpub2RlX2luZm8gPSBOVUxMOworCXN0cnVjdCBk cm1faTkxNV90c19xdWV1ZV9oZWFkZXIgKnF1ZXVlX2hkciA9CisJCQkoc3RydWN0IGRybV9pOTE1 X3RzX3F1ZXVlX2hlYWRlciAqKQorCQkJZGV2X3ByaXYtPmdlbl9wbXUuYnVmZmVyLmFkZHI7CisJ dm9pZCAqZGF0YV9wdHIgPSAodTggKilxdWV1ZV9oZHIgKyBxdWV1ZV9oZHItPmRhdGFfb2Zmc2V0 OworCWludCBkYXRhX3NpemUgPQkocXVldWVfaGRyLT5zaXplX2luX2J5dGVzIC0gcXVldWVfaGRy LT5kYXRhX29mZnNldCk7CisJdTMyIG5vZGVfb2Zmc2V0LCB0aW1lc3RhbXBfb2Zmc2V0LCBhZGRy ID0gMDsKKwlpbnQgcmV0OworCisJc3RydWN0IGRybV9pOTE1X3RzX25vZGUgKm5vZGVzID0gZGF0 YV9wdHI7CisJaW50IG51bV9ub2RlcyA9IDA7CisJaW50IGluZGV4ID0gMDsKKworCW51bV9ub2Rl cyA9IGRhdGFfc2l6ZSAvIHNpemVvZigqbm9kZXMpOworCWluZGV4ID0gcXVldWVfaGRyLT5ub2Rl X2NvdW50ICUgbnVtX25vZGVzOworCisJdGltZXN0YW1wX29mZnNldCA9IG9mZnNldG9mKHN0cnVj dCBkcm1faTkxNV90c19kYXRhLCB0c19sb3cpOworCisJbm9kZV9vZmZzZXQgPSBpOTE1X2dlbV9v YmpfZ2d0dF9vZmZzZXQoZGV2X3ByaXYtPmdlbl9wbXUuYnVmZmVyLm9iaikgKworCQkJcXVldWVf aGRyLT5kYXRhX29mZnNldCArCisJCQlpbmRleCAqIHNpemVvZihzdHJ1Y3QgZHJtX2k5MTVfdHNf bm9kZSk7CisJYWRkciA9IG5vZGVfb2Zmc2V0ICsKKwkJb2Zmc2V0b2Yoc3RydWN0IGRybV9pOTE1 X3RzX25vZGUsIHRpbWVzdGFtcCkgKworCQl0aW1lc3RhbXBfb2Zmc2V0OworCisJaWYgKHJpbmct PmlkID09IFJDUykgeworCQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDYpOworCQlpZiAo cmV0KQorCQkJcmV0dXJuOworCisJCWludGVsX3JpbmdfZW1pdChyaW5nLCBHRlhfT1BfUElQRV9D T05UUk9MKDUpKTsKKwkJaW50ZWxfcmluZ19lbWl0KHJpbmcsCisJCQkJUElQRV9DT05UUk9MX0dM T0JBTF9HVFRfSVZCIHwKKwkJCQlQSVBFX0NPTlRST0xfVElNRVNUQU1QX1dSSVRFKTsKKwkJaW50 ZWxfcmluZ19lbWl0KHJpbmcsIGFkZHIgfCBQSVBFX0NPTlRST0xfR0xPQkFMX0dUVCk7CisJCWlu dGVsX3JpbmdfZW1pdChyaW5nLCAwKTsgLyogaW1tIGxvdywgbXVzdCBiZSB6ZXJvICovCisJCWlu dGVsX3JpbmdfZW1pdChyaW5nLCAwKTsgLyogaW1tIGhpZ2gsIG11c3QgYmUgemVybyAqLworCQlp bnRlbF9yaW5nX2VtaXQocmluZywgTUlfTk9PUCk7CisJCWludGVsX3JpbmdfYWR2YW5jZShyaW5n KTsKKwl9IGVsc2UgeworCQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDQpOworCQlpZiAo cmV0KQorCQkJcmV0dXJuOworCisJCWludGVsX3JpbmdfZW1pdChyaW5nLAorCQkJCU1JX0ZMVVNI X0RXIHwgTUlfRkxVU0hfRFdfT1BfU1RBTVApOworCQlpbnRlbF9yaW5nX2VtaXQocmluZywgYWRk ciB8IE1JX0ZMVVNIX0RXX1VTRV9HVFQpOworCQlpbnRlbF9yaW5nX2VtaXQocmluZywgMCk7IC8q IGltbSBsb3csIG11c3QgYmUgemVybyAqLworCQlpbnRlbF9yaW5nX2VtaXQocmluZywgMCk7IC8q IGltbSBoaWdoLCBtdXN0IGJlIHplcm8gKi8KKwkJaW50ZWxfcmluZ19hZHZhbmNlKHJpbmcpOwor CX0KKwlub2RlX2luZm8gPSAmbm9kZXNbaW5kZXhdLm5vZGVfaW5mbzsKKwlpOTE1X2dlbV9yZXF1 ZXN0X2Fzc2lnbigmbm9kZV9pbmZvLT5yZXEsCisJCQkJcmluZy0+b3V0c3RhbmRpbmdfbGF6eV9y ZXF1ZXN0KTsKKworCW5vZGVfaW5mbyA9ICZub2Rlc1tpbmRleF0ubm9kZV9pbmZvOworCW5vZGVf aW5mby0+cGlkID0gY3VycmVudC0+cGlkOworCW5vZGVfaW5mby0+Y3R4X2lkID0gY3R4X2lkOwor CW5vZGVfaW5mby0+cmluZyA9IHJpbmdfaWRfbWFzayhyaW5nKTsKKwlub2RlX2luZm8tPnBlcmZ0 YWcgPSBwZXJmdGFnOworCXF1ZXVlX2hkci0+bm9kZV9jb3VudCsrOworCWlmIChxdWV1ZV9oZHIt Pm5vZGVfY291bnQgPiBudW1fbm9kZXMpCisJCXF1ZXVlX2hkci0+d3JhcF9jb3VudCsrOworfQor CiBzdGF0aWMgdm9pZCBpbml0X29hX2FzeW5jX2J1Zl9xdWV1ZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiB7CiAJc3RydWN0IGRybV9pOTE1X29hX2FzeW5jX3F1ZXVlX2hlYWRl ciAqaGRyID0KQEAgLTM0NCw2ICs0MTcsNyBAQCB2b2lkIGk5MTVfZ2VuX3BtdV9zdG9wX3dvcmtf Zm4oc3RydWN0IHdvcmtfc3RydWN0ICpfX3dvcmspCiAJCWNvbnRhaW5lcl9vZihfX3dvcmssIHR5 cGVvZigqZGV2X3ByaXYpLAogCQkJZ2VuX3BtdS53b3JrX2V2ZW50X3N0b3ApOwogCXN0cnVjdCBw ZXJmX2V2ZW50ICpldmVudCA9IGRldl9wcml2LT5nZW5fcG11LmV4Y2x1c2l2ZV9ldmVudDsKKwlz dHJ1Y3QgZHJtX2k5MTVfaW5zZXJ0X2NtZCAqZW50cnksICpuZXh0OwogCXN0cnVjdCBkcm1faTkx NV90c19xdWV1ZV9oZWFkZXIgKmhkciA9CiAJCShzdHJ1Y3QgZHJtX2k5MTVfdHNfcXVldWVfaGVh ZGVyICopCiAJCWRldl9wcml2LT5nZW5fcG11LmJ1ZmZlci5hZGRyOwpAQCAtMzYxLDYgKzQzNSwx MyBAQCB2b2lkIGk5MTVfZ2VuX3BtdV9zdG9wX3dvcmtfZm4oc3RydWN0IHdvcmtfc3RydWN0ICpf X3dvcmspCiAJaWYgKHJldCkKIAkJcmV0dXJuOwogCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZl KGVudHJ5LCBuZXh0LCAmZGV2X3ByaXYtPnByb2ZpbGVfY21kLCBsaXN0KSB7CisJCWlmIChlbnRy eS0+aW5zZXJ0X2NtZCA9PSBpOTE1X2dlbl9pbnNlcnRfY21kX3RzKSB7CisJCQlsaXN0X2RlbCgm ZW50cnktPmxpc3QpOworCQkJa2ZyZWUoZW50cnkpOworCQl9CisJfQorCiAJaTkxNV9nZW5fcG11 X3dhaXRfZ3B1KGRldl9wcml2KTsKIAogCS8qIEVuc3VyZSB0aGF0IGFsbCByZXF1ZXN0cyBhcmUg Y29tcGxldGVkKi8KQEAgLTE0MzAsMTAgKzE1MTEsMTcgQEAgc3RhdGljIHZvaWQgaTkxNV9nZW5f ZXZlbnRfc3RhcnQoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50LCBpbnQgZmxhZ3MpCiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0KIAkJY29udGFpbmVyX29mKGV2ZW50LT5wbXUs IHR5cGVvZigqZGV2X3ByaXYpLCBnZW5fcG11LnBtdSk7CiAJdW5zaWduZWQgbG9uZyBsb2NrX2Zs YWdzOworCXN0cnVjdCBkcm1faTkxNV9pbnNlcnRfY21kICplbnRyeTsKKworCWVudHJ5ID0ga3ph bGxvYyhzaXplb2YoKmVudHJ5KSwgR0ZQX0FUT01JQyk7CisJaWYgKCFlbnRyeSkKKwkJcmV0dXJu OworCWVudHJ5LT5pbnNlcnRfY21kID0gaTkxNV9nZW5faW5zZXJ0X2NtZF90czsKIAogCXNwaW5f bG9ja19pcnFzYXZlKCZkZXZfcHJpdi0+Z2VuX3BtdS5sb2NrLCBsb2NrX2ZsYWdzKTsKIAogCWRl dl9wcml2LT5nZW5fcG11LmV2ZW50X2FjdGl2ZSA9IHRydWU7CisJbGlzdF9hZGRfdGFpbCgmZW50 cnktPmxpc3QsICZkZXZfcHJpdi0+cHJvZmlsZV9jbWQpOwogCiAJc3Bpbl91bmxvY2tfaXJxcmVz dG9yZSgmZGV2X3ByaXYtPmdlbl9wbXUubG9jaywgbG9ja19mbGFncyk7CiAKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oCmluZGV4IGM5OTU1OTY4Li4yMmVlZTEwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmgKQEAgLTM0Nyw2ICszNDcsNyBAQAogI2RlZmluZSAgIE1JX0ZMVVNIX0RXX1NUT1JFX0lOREVY CSgxPDwyMSkKICNkZWZpbmUgICBNSV9JTlZBTElEQVRFX1RMQgkJKDE8PDE4KQogI2RlZmluZSAg IE1JX0ZMVVNIX0RXX09QX1NUT1JFRFcJKDE8PDE0KQorI2RlZmluZSAgIE1JX0ZMVVNIX0RXX09Q X1NUQU1QCQkoMzw8MTQpCiAjZGVmaW5lICAgTUlfRkxVU0hfRFdfT1BfTUFTSwkJKDM8PDE0KQog I2RlZmluZSAgIE1JX0ZMVVNIX0RXX05PVElGWQkJKDE8PDgpCiAjZGVmaW5lICAgTUlfSU5WQUxJ REFURV9CU0QJCSgxPDw3KQpAQCAtNDIyLDYgKzQyMyw3IEBACiAjZGVmaW5lICAgUElQRV9DT05U Uk9MX1RMQl9JTlZBTElEQVRFCQkJKDE8PDE4KQogI2RlZmluZSAgIFBJUEVfQ09OVFJPTF9NRURJ QV9TVEFURV9DTEVBUgkJKDE8PDE2KQogI2RlZmluZSAgIFBJUEVfQ09OVFJPTF9RV19XUklURQkJ CQkoMTw8MTQpCisjZGVmaW5lICAgUElQRV9DT05UUk9MX1RJTUVTVEFNUF9XUklURQkJCSgzPDwx NCkKICNkZWZpbmUgICBQSVBFX0NPTlRST0xfUE9TVF9TWU5DX09QX01BU0sgICAgICAgICAgICAg ICAgKDM8PDE0KQogI2RlZmluZSAgIFBJUEVfQ09OVFJPTF9ERVBUSF9TVEFMTAkJCSgxPDwxMykK ICNkZWZpbmUgICBQSVBFX0NPTlRST0xfV1JJVEVfRkxVU0gJCQkoMTw8MTIpCi0tIAoxLjguNS4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=