From: Paulo Zanoni Subject: [PATCH igt 1/4] lib: add igt_wait() Date: Mon, 8 Dec 2014 14:12:41 -0200 Message-ID: <1418055164-1536-1-git-send-email-przanoni@gmail.com> References: <1418054960-1403-1-git-send-email-przanoni@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qg0-f47.google.com (mail-qg0-f47.google.com [209.85.192.47]) by gabe.freedesktop.org (Postfix) with ESMTP id 75CF46E7BB for ; Mon, 8 Dec 2014 08:13:27 -0800 (PST) Received: by mail-qg0-f47.google.com with SMTP id z60so3700540qgd.34 for ; Mon, 08 Dec 2014 08:13:27 -0800 (PST) In-Reply-To: <1418054960-1403-1-git-send-email-przanoni@gmail.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: Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org RnJvbTogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+CgpKdXN0IGEgbGl0 dGxlIGhlbHBlciBmb3IgY29kZSB0aGF0IG5lZWRzIHRvIHdhaXQgZm9yIGEgY2VydGFpbgpjb25k aXRpb24gdG8gaGFwcGVuLiBJdCBoYXMgdGhlIG5pY2UgYWR2YW50YWdlIHRoYXQgaXQgY2FuIHN1 cnZpdmUgdGhlCnNpZ25hbCBoZWxwZXIuCgpEZXNwaXRlIHRoZSBjYWxsZXJzIGFkZGVkIGluIHRo aXMgcGF0Y2gsIHRoZXJlIGlzIGFub3RoZXIgdGhhdCB3aWxsIGdvCmluIGEgc2VwYXJhdGUgcGF0 Y2gsIGFuZCBhbm90aGVyIGluIGEgbmV3IElHVCB0ZXN0IGZpbGUgdGhhdCBJIHBsYW4gdG8KcHVz aCBsYXRlci4KClNpZ25lZC1vZmYtYnk6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50 ZWwuY29tPgotLS0KIGxpYi9pZ3RfYXV4LmMgIHwgMTggKy0tLS0tLS0tLS0tLS0tLS0tCiBsaWIv aWd0X2F1eC5oICB8IDQwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK IHRlc3RzL3BtX3JwbS5jIHwgMjggKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMyBmaWxl cyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCA0MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9saWIvaWd0X2F1eC5jIGIvbGliL2lndF9hdXguYwppbmRleCAzMDUxZDg0Li4xODAxNDFlIDEw MDY0NAotLS0gYS9saWIvaWd0X2F1eC5jCisrKyBiL2xpYi9pZ3RfYXV4LmMKQEAgLTUxOCwyOSAr NTE4LDEzIEBAIGVudW0gaWd0X3J1bnRpbWVfcG1fc3RhdHVzIGlndF9nZXRfcnVudGltZV9wbV9z dGF0dXModm9pZCkKICAqIFdhaXRzIHVudGlsIGZvciB0aGUgZHJpdmVyIHRvIHN3aXRjaCB0byBp bnRvIHRoZSBkZXNpcmVkIHJ1bnRpbWUgUE0gc3RhdHVzLAogICogd2l0aCBhIDEwIHNlY29uZCB0 aW1lb3V0LgogICoKLSAqIFNvbWUgc3VidGVzdHMgY2FsbCB0aGlzIGZ1bmN0aW9uIHdoaWxlIHRo ZSBzaWduYWwgaGVscGVyIGlzIGFjdGl2ZSwgc28gd2UKLSAqIGNhbid0IGFzc3VtZSBlYWNoIHVz bGVlcCgpIGNhbGwgd2lsbCBzbGVlcCBmb3IgMTAwbXMuCi0gKgogICogUmV0dXJuczoKICAqIFRy dWUgaWYgdGhlIGRlc2lyZWQgcnVudGltZSBQTSBzdGF0dXMgd2FzIGF0dGFpbmVkLCBmYWxzZSBp ZiB0aGUgb3BlcmF0aW9uCiAgKiB0aW1lZCBvdXQuCiAgKi8KIGJvb2wgaWd0X3dhaXRfZm9yX3Bt X3N0YXR1cyhlbnVtIGlndF9ydW50aW1lX3BtX3N0YXR1cyBzdGF0dXMpCiB7Ci0Jc3RydWN0IHRp bWV2YWwgc3RhcnQsIGVuZCwgZGlmZjsKLQotCWlndF9hc3NlcnQoZ2V0dGltZW9mZGF5KCZzdGFy dCwgTlVMTCkgPT0gMCk7Ci0JZG8gewotCQlpZiAoaWd0X2dldF9ydW50aW1lX3BtX3N0YXR1cygp ID09IHN0YXR1cykKLQkJCXJldHVybiB0cnVlOwotCi0JCXVzbGVlcCgxMDAgKiAxMDAwKTsKLQot CQlpZ3RfYXNzZXJ0KGdldHRpbWVvZmRheSgmZW5kLCBOVUxMKSA9PSAwKTsKLQkJdGltZXJzdWIo JmVuZCwgJnN0YXJ0LCAmZGlmZik7Ci0JfSB3aGlsZSAoZGlmZi50dl9zZWMgPCAxMCk7Ci0KLQly ZXR1cm4gZmFsc2U7CisJcmV0dXJuIGlndF93YWl0KGlndF9nZXRfcnVudGltZV9wbV9zdGF0dXMo KSA9PSBzdGF0dXMsIDEwMDAwLCAxMDApOwogfQogCiAvKiBGdW5jdGlvbnMgd2l0aCBwcmVmaXgg a21zdGVzdF8gaW5kZXBlbmRlbnQgb2YgY2Fpcm8gbGlicmFyeSBhcmUgcHVsbGVkIG91dApkaWZm IC0tZ2l0IGEvbGliL2lndF9hdXguaCBiL2xpYi9pZ3RfYXV4LmgKaW5kZXggNmM4M2M1My4uNDhj NDk1YiAxMDA2NDQKLS0tIGEvbGliL2lndF9hdXguaAorKysgYi9saWIvaWd0X2F1eC5oCkBAIC0z MCw2ICszMCw3IEBACiAKICNpbmNsdWRlIDxpbnRlbF9idWZtZ3IuaD4KICNpbmNsdWRlIDxzdGRi b29sLmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KIAogZXh0ZXJuIGRybV9pbnRlbF9ibyAqKnRy YXNoX2JvczsKIGV4dGVybiBpbnQgbnVtX3RyYXNoX2JvczsKQEAgLTkwLDQgKzkxLDQzIEBAIHZv aWQgaW50ZWxfcmVxdWlyZV9tZW1vcnkodWludDMyX3QgY291bnQsIHVpbnQzMl90IHNpemUsIHVu c2lnbmVkIG1vZGUpOwogI2RlZmluZSBtaW4oYSwgYikgKChhKSA8IChiKSA/IChhKSA6IChiKSkK ICNkZWZpbmUgbWF4KGEsIGIpICgoYSkgPiAoYikgPyAoYSkgOiAoYikpCiAKKy8qKgorICogaWd0 X3dhaXQ6CisgKiBAQ09ORDogY29uZGl0aW9uIHRvIHdhaXQKKyAqIEB0aW1lb3V0X21zOiB0aW1l b3V0IGluIG1pbGxpc2Vjb25kcworICogQGludGVydmFsX21zOiBhbW91bnQgb2YgdGltZSB3ZSB0 cnkgdG8gc2xlZXAgYmV0d2VlbiBDT05EIGNoZWNrcworICoKKyAqIFdhaXRzIHVudGlsIENPTkQg ZXZhbHVhdGVzIHRvIHRydWUgb3IgdGhlIHRpbWVvdXQgcGFzc2VzLgorICoKKyAqIEl0IGlzIHNh ZmUgdG8gY2FsbCB0aGlzIG1hY3JvIGlmIHRoZSBzaWduYWwgaGVscGVyIGlzIGFjdGl2ZS4gVGhl IG9ubHkKKyAqIHByb2JsZW0gaXMgdGhhdCB0aGUgdXNsZWVwKCkgY2FsbHMgd2lsbCByZXR1cm4g ZWFybHksIG1ha2luZyB1cyBldmFsdWF0ZSBDT05ECisgKiB0b28gb2Z0ZW4sIHBvc3NpYmx5IGVh dGluZyB2YWx1YWJsZSBDUFUgY3ljbGVzLgorICoKKyAqIFJldHVybnM6CisgKiBUcnVlIG9mIENP TkQgZXZhbHVhdGVkIHRvIHRydWUsIGZhbHNlIG90aGVyd2lzZS4KKyAqLworI2RlZmluZSBpZ3Rf d2FpdChDT05ELCB0aW1lb3V0X21zLCBpbnRlcnZhbF9tcykgKHsJCQlcCisJc3RydWN0IHRpbWV2 YWwgc3RhcnRfLCBlbmRfLCBkaWZmXzsJCQkJXAorCWludCBlbGFwc2VkX21zXzsJCQkJCQlcCisJ Ym9vbCByZXRfID0gZmFsc2U7CQkJCQkJXAorCQkJCQkJCQkJXAorCWlndF9hc3NlcnQoZ2V0dGlt ZW9mZGF5KCZzdGFydF8sIE5VTEwpID09IDApOwkJCVwKKwlkbyB7CQkJCQkJCQlcCisJCWlmIChD T05EKSB7CQkJCQkJXAorCQkJcmV0XyA9IHRydWU7CQkJCQlcCisJCQlicmVhazsJCQkJCQlcCisJ CX0JCQkJCQkJXAorCQkJCQkJCQkJXAorCQl1c2xlZXAoaW50ZXJ2YWxfbXMgKiAxMDAwKTsJCQkJ XAorCQkJCQkJCQkJXAorCQlpZ3RfYXNzZXJ0KGdldHRpbWVvZmRheSgmZW5kXywgTlVMTCkgPT0g MCk7CQlcCisJCXRpbWVyc3ViKCZlbmRfLCAmc3RhcnRfLCAmZGlmZl8pOwkJCVwKKwkJCQkJCQkJ CVwKKwkJZWxhcHNlZF9tc18gPSBkaWZmXy50dl9zZWMgKiAxMDAwICsJCQlcCisJCQkgICAgICBk aWZmXy50dl91c2VjIC8gMTAwMDsJCQlcCisJfSB3aGlsZSAoZWxhcHNlZF9tc18gPCB0aW1lb3V0 X21zKTsJCQkJXAorCQkJCQkJCQkJXAorCXJldF87CQkJCQkJCQlcCit9KQorCiAjZW5kaWYgLyog SUdUX0FVWF9IICovCmRpZmYgLS1naXQgYS90ZXN0cy9wbV9ycG0uYyBiL3Rlc3RzL3BtX3JwbS5j CmluZGV4IGMxMjBkNzUuLmI3Zjk2MzUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3BtX3JwbS5jCisrKyBi L3Rlc3RzL3BtX3JwbS5jCkBAIC0xNTMsMjQgKzE1MywxNiBAQCBzdGF0aWMgdWludDY0X3QgZ2V0 X3Jlc2lkZW5jeSh1aW50MzJfdCB0eXBlKQogCiBzdGF0aWMgYm9vbCBwYzhfcGx1c19yZXNpZGVu Y3lfY2hhbmdlZCh1bnNpZ25lZCBpbnQgdGltZW91dF9zZWMpCiB7Ci0JdW5zaWduZWQgaW50IGk7 CiAJdWludDY0X3QgcmVzX3BjOCwgcmVzX3BjOSwgcmVzX3BjMTA7Ci0JaW50IHRvX3NsZWVwID0g MTAwICogMTAwMDsKIAogCXJlc19wYzggPSBnZXRfcmVzaWRlbmN5KE1TUl9QQzhfUkVTKTsKIAly ZXNfcGM5ID0gZ2V0X3Jlc2lkZW5jeShNU1JfUEM5X1JFUyk7CiAJcmVzX3BjMTAgPSBnZXRfcmVz aWRlbmN5KE1TUl9QQzEwX1JFUyk7CiAKLQlmb3IgKGkgPSAwOyBpIDwgdGltZW91dF9zZWMgKiAx MDAwICogMTAwMDsgaSArPSB0b19zbGVlcCkgewotCQlpZiAocmVzX3BjOCAhPSBnZXRfcmVzaWRl bmN5KE1TUl9QQzhfUkVTKSB8fAotCQkgICAgcmVzX3BjOSAhPSBnZXRfcmVzaWRlbmN5KE1TUl9Q QzlfUkVTKSB8fAotCQkgICAgcmVzX3BjMTAgIT0gZ2V0X3Jlc2lkZW5jeShNU1JfUEMxMF9SRVMp KSB7Ci0JCQlyZXR1cm4gdHJ1ZTsKLQkJfQotCQl1c2xlZXAodG9fc2xlZXApOwotCX0KLQotCXJl dHVybiBmYWxzZTsKKwlyZXR1cm4gaWd0X3dhaXQocmVzX3BjOCAhPSBnZXRfcmVzaWRlbmN5KE1T Ul9QQzhfUkVTKSB8fAorCQkJcmVzX3BjOSAhPSBnZXRfcmVzaWRlbmN5KE1TUl9QQzlfUkVTKSB8 fAorCQkJcmVzX3BjMTAgIT0gZ2V0X3Jlc2lkZW5jeShNU1JfUEMxMF9SRVMpLAorCQkJdGltZW91 dF9zZWMgKiAxMDAwLCAxMDApOwogfQogCiBzdGF0aWMgZW51bSBwYzhfc3RhdHVzIGdldF9wYzhf c3RhdHVzKHZvaWQpCkBAIC0xOTEsMTcgKzE4Myw3IEBAIHN0YXRpYyBlbnVtIHBjOF9zdGF0dXMg Z2V0X3BjOF9zdGF0dXModm9pZCkKIAogc3RhdGljIGJvb2wgd2FpdF9mb3JfcGM4X3N0YXR1cyhl bnVtIHBjOF9zdGF0dXMgc3RhdHVzKQogewotCWludCBpOwotCWludCBodW5kcmVkX21zID0gMTAw ICogMTAwMCwgdGVuX3MgPSAxMCAqIDEwMDAgKiAxMDAwOwotCi0JZm9yIChpID0gMDsgaSA8IHRl bl9zOyBpICs9IGh1bmRyZWRfbXMpIHsKLQkJaWYgKGdldF9wYzhfc3RhdHVzKCkgPT0gc3RhdHVz KQotCQkJcmV0dXJuIHRydWU7Ci0KLQkJdXNsZWVwKGh1bmRyZWRfbXMpOwotCX0KLQotCXJldHVy biBmYWxzZTsKKwlyZXR1cm4gaWd0X3dhaXQoZ2V0X3BjOF9zdGF0dXMoKSA9PSBzdGF0dXMsIDEw MDAwLCAxMDApOwogfQogCiBzdGF0aWMgYm9vbCB3YWl0X2Zvcl9zdXNwZW5kZWQodm9pZCkKLS0g CjIuMS4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=