From mboxrd@z Thu Jan 1 00:00:00 1970 From: Abdiel Janulgue Subject: [PATCH i-g-t v5 3/4] igt/kms_flip: Use new igt_spin_batch Date: Fri, 11 Nov 2016 19:41:12 +0200 Message-ID: <1478886073-9479-4-git-send-email-abdiel.janulgue@linux.intel.com> References: <1478886073-9479-1-git-send-email-abdiel.janulgue@linux.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 ESMTPS id 4B1FB6E8BB for ; Fri, 11 Nov 2016 09:45:20 +0000 (UTC) In-Reply-To: <1478886073-9479-1-git-send-email-abdiel.janulgue@linux.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 List-Id: intel-gfx@lists.freedesktop.org Q2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzogRGFuaWVsIFZl dHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KU2lnbmVkLW9mZi1ieTogQWJkaWVsIEphbnVs Z3VlIDxhYmRpZWwuamFudWxndWVAbGludXguaW50ZWwuY29tPgotLS0KIHRlc3RzL2ttc19mbGlw LmMgfCAxODUgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMTgxIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19mbGlwLmMgYi90ZXN0cy9rbXNfZmxpcC5jCmluZGV4 IDJhOWZlMmUuLjc5Y2I3ODMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2ttc19mbGlwLmMKKysrIGIvdGVz dHMva21zX2ZsaXAuYwpAQCAtMTkxLDEwOSArMTkxLDYgQEAgc3RhdGljIHVuc2lnbmVkIGxvbmcg Z2V0dGltZV91cyh2b2lkKQogCXJldHVybiB0cy50dl9zZWMgKiAxMDAwMDAwICsgdHMudHZfbnNl YyAvIDEwMDA7CiB9CiAKLXN0YXRpYyBpbnQgY2FsaWJyYXRlX2R1bW15X2xvYWQoc3RydWN0IHRl c3Rfb3V0cHV0ICpvLAotCQkJCWNvbnN0IGNoYXIgKnJpbmdfbmFtZSwKLQkJCQlpbnQgKCplbWl0 KShzdHJ1Y3QgdGVzdF9vdXRwdXQgKm8sIGludCBsaW1pdCwgaW50IHRpbWVvdXQpKQotewotCXVu c2lnbmVkIGxvbmcgc3RhcnQ7Ci0JaW50IG9wcyA9IDE7Ci0KLQlzdGFydCA9IGdldHRpbWVfdXMo KTsKLQotCWRvIHsKLQkJdW5zaWduZWQgbG9uZyBkaWZmOwotCQlpbnQgcmV0OwotCi0JCXJldCA9 IGVtaXQobywgKG9wcysxKS8yLCAxMCk7Ci0JCWRpZmYgPSBnZXR0aW1lX3VzKCkgLSBzdGFydDsK LQotCQlpZiAocmV0IHx8IGRpZmYgLyBVU0VDX1BFUl9TRUMgPj0gMSkKLQkJCWJyZWFrOwotCi0J CW9wcyArPSBvcHM7Ci0JfSB3aGlsZSAob3BzIDwgMTAwMDAwKTsKLQotCWlndF9kZWJ1ZygiJXMg ZHVtbXkgbG9hZCBjYWxpYnJhdGVkOiAlZCBvcGVyYXRpb25zIC8gc2Vjb25kXG4iLAotCQkgIHJp bmdfbmFtZSwgb3BzKTsKLQotCXJldHVybiBvcHM7Ci19Ci0KLXN0YXRpYyB2b2lkIGJsaXRfY29w eShkcm1faW50ZWxfYm8gKmRzdCwgZHJtX2ludGVsX2JvICpzcmMsCi0JCSAgICAgIHVuc2lnbmVk IGludCB3aWR0aCwgdW5zaWduZWQgaW50IGhlaWdodCwKLQkJICAgICAgdW5zaWduZWQgaW50IGRz dF9waXRjaCwgdW5zaWduZWQgaW50IHNyY19waXRjaCkKLXsKLQlCTElUX0NPUFlfQkFUQ0hfU1RB UlQoMCk7Ci0JT1VUX0JBVENIKCgzIDw8IDI0KSB8IC8qIDMyIGJpdHMgKi8KLQkJICAoMHhjYyA8 PCAxNikgfCAvKiBjb3B5IFJPUCAqLwotCQkgIGRzdF9waXRjaCk7Ci0JT1VUX0JBVENIKDAgPDwg MTYgfCAwKTsKLQlPVVRfQkFUQ0goaGVpZ2h0IDw8IDE2IHwgd2lkdGgpOwotCU9VVF9SRUxPQ19G RU5DRUQoZHN0LCBJOTE1X0dFTV9ET01BSU5fUkVOREVSLCBJOTE1X0dFTV9ET01BSU5fUkVOREVS LCAwKTsKLQlPVVRfQkFUQ0goMCA8PCAxNiB8IDApOwotCU9VVF9CQVRDSChzcmNfcGl0Y2gpOwot CU9VVF9SRUxPQ19GRU5DRUQoc3JjLCBJOTE1X0dFTV9ET01BSU5fUkVOREVSLCAwLCAwKTsKLQlB RFZBTkNFX0JBVENIKCk7Ci0KLQlpZiAoYmF0Y2gtPmdlbiA+PSA2KSB7Ci0JCUJFR0lOX0JBVENI KDMsIDApOwotCQlPVVRfQkFUQ0goWFlfU0VUVVBfQ0xJUF9CTFRfQ01EKTsKLQkJT1VUX0JBVENI KDApOwotCQlPVVRfQkFUQ0goMCk7Ci0JCUFEVkFOQ0VfQkFUQ0goKTsKLQl9Ci19Ci0KLXN0YXRp YyBpbnQgX2VtaXRfZHVtbXlfbG9hZF9fYmNzKHN0cnVjdCB0ZXN0X291dHB1dCAqbywgaW50IGxp bWl0LCBpbnQgdGltZW91dCkKLXsKLQlpbnQgaSwgcmV0ID0gMDsKLQlkcm1faW50ZWxfYm8gKnNy Y19ibywgKmRzdF9ibywgKmZiX2JvOwotCXN0cnVjdCBpZ3RfZmIgKmZiX2luZm8gPSAmby0+ZmJf aW5mb1tvLT5jdXJyZW50X2ZiX2lkXTsKLQotCWlndF9yZXF1aXJlKGJ1Zm1ncik7Ci0KLQlzcmNf Ym8gPSBkcm1faW50ZWxfYm9fYWxsb2MoYnVmbWdyLCAiZHVtbXlfYm8iLCAyMDQ4KjIwNDgqNCwg NDA5Nik7Ci0JaWd0X2Fzc2VydChzcmNfYm8pOwotCi0JZHN0X2JvID0gZHJtX2ludGVsX2JvX2Fs bG9jKGJ1Zm1nciwgImR1bW15X2JvIiwgMjA0OCoyMDQ4KjQsIDQwOTYpOwotCWlndF9hc3NlcnQo ZHN0X2JvKTsKLQotCWZiX2JvID0gZ2VtX2hhbmRsZV90b19saWJkcm1fYm8oYnVmbWdyLCBkcm1f ZmQsICJpbXBvcnRlZCIsIGZiX2luZm8tPmdlbV9oYW5kbGUpOwotCWlndF9hc3NlcnQoZmJfYm8p OwotCi0JZm9yIChpID0gMDsgaSA8IGxpbWl0OyBpKyspIHsKLQkJYmxpdF9jb3B5KGRzdF9ibywg c3JjX2JvLAotCQkJICAyMDQ4LCAyMDQ4LAotCQkJICAyMDQ4KjQsIDIwNDgqNCk7Ci0KLQkJaWd0 X3N3YXAoc3JjX2JvLCBkc3RfYm8pOwotCX0KLQlibGl0X2NvcHkoZmJfYm8sIHNyY19ibywKLQkJ ICBtaW4oby0+ZmJfd2lkdGgsIDIwNDgpLCBtaW4oby0+ZmJfaGVpZ2h0LCAyMDQ4KSwKLQkJICBm Yl9pbmZvLT5zdHJpZGUsIDIwNDgqNCk7Ci0JaW50ZWxfYmF0Y2hidWZmZXJfZmx1c2goYmF0Y2gp OwotCi0JaWYgKHRpbWVvdXQgPiAwKQotCQlyZXQgPSBkcm1faW50ZWxfZ2VtX2JvX3dhaXQoZmJf Ym8sIHRpbWVvdXQgKiBOU0VDX1BFUl9TRUMpOwotCi0JZHJtX2ludGVsX2JvX3VucmVmZXJlbmNl KHNyY19ibyk7Ci0JZHJtX2ludGVsX2JvX3VucmVmZXJlbmNlKGRzdF9ibyk7Ci0JZHJtX2ludGVs X2JvX3VucmVmZXJlbmNlKGZiX2JvKTsKLQotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyB2b2lk IGVtaXRfZHVtbXlfbG9hZF9fYmNzKHN0cnVjdCB0ZXN0X291dHB1dCAqbywgaW50IHNlY29uZHMp Ci17Ci0Jc3RhdGljIGludCBvcHNfcGVyX3NlYzsKLQotCWlmIChvcHNfcGVyX3NlYyA9PSAwKQot CQlvcHNfcGVyX3NlYyA9IGNhbGlicmF0ZV9kdW1teV9sb2FkKG8sICJiY3MiLAotCQkJCQkJICAg X2VtaXRfZHVtbXlfbG9hZF9fYmNzKTsKLQotCV9lbWl0X2R1bW15X2xvYWRfX2JjcyhvLCBzZWNv bmRzICogb3BzX3Blcl9zZWMsIDApOwotfQotCiBzdGF0aWMgdm9pZCBlbWl0X2ZlbmNlX3N0cmVz cyhzdHJ1Y3QgdGVzdF9vdXRwdXQgKm8pCiB7CiAJY29uc3QgaW50IG51bV9mZW5jZXMgPSBnZW1f YXZhaWxhYmxlX2ZlbmNlcyhkcm1fZmQpOwpAQCAtMzM4LDgyICsyMzUsNiBAQCBzdGF0aWMgdm9p ZCBlbWl0X2ZlbmNlX3N0cmVzcyhzdHJ1Y3QgdGVzdF9vdXRwdXQgKm8pCiAJZnJlZShleGVjKTsK IH0KIAotc3RhdGljIGludCBfZW1pdF9kdW1teV9sb2FkX19yY3Moc3RydWN0IHRlc3Rfb3V0cHV0 ICpvLCBpbnQgbGltaXQsIGludCB0aW1lb3V0KQotewotCWNvbnN0IHN0cnVjdCBpZ3RfZmIgKmZi X2luZm8gPSAmby0+ZmJfaW5mb1tvLT5jdXJyZW50X2ZiX2lkXTsKLQlpZ3RfcmVuZGVyX2NvcHlm dW5jX3QgY29weWZ1bmM7Ci0Jc3RydWN0IGlndF9idWYgc2JbM10sICpzcmMsICpkc3QsICpmYjsK LQlpbnQgaSwgcmV0ID0gMDsKLQotCWlndF9yZXF1aXJlKGJ1Zm1ncik7Ci0KLQljb3B5ZnVuYyA9 IGlndF9nZXRfcmVuZGVyX2NvcHlmdW5jKGRldmlkKTsKLQlpZiAoY29weWZ1bmMgPT0gTlVMTCkK LQkJcmV0dXJuIF9lbWl0X2R1bW15X2xvYWRfX2JjcyhvLCBsaW1pdCwgdGltZW91dCk7Ci0KLQlz YlswXS5ibyA9IGRybV9pbnRlbF9ib19hbGxvYyhidWZtZ3IsICJkdW1teV9ibyIsIDIwNDgqMjA0 OCo0LCA0MDk2KTsKLQlpZ3RfYXNzZXJ0KHNiWzBdLmJvKTsKLQlzYlswXS5zaXplID0gc2JbMF0u Ym8tPnNpemU7Ci0Jc2JbMF0udGlsaW5nID0gSTkxNV9USUxJTkdfTk9ORTsKLQlzYlswXS5kYXRh ID0gTlVMTDsKLQlzYlswXS5udW1fdGlsZXMgPSBzYlswXS5iby0+c2l6ZTsKLQlzYlswXS5zdHJp ZGUgPSA0ICogMjA0ODsKLQotCXNiWzFdLmJvID0gZHJtX2ludGVsX2JvX2FsbG9jKGJ1Zm1nciwg ImR1bW15X2JvIiwgMjA0OCoyMDQ4KjQsIDQwOTYpOwotCWlndF9hc3NlcnQoc2JbMV0uYm8pOwot CXNiWzFdLnNpemUgPSBzYlsxXS5iby0+c2l6ZTsKLQlzYlsxXS50aWxpbmcgPSBJOTE1X1RJTElO R19OT05FOwotCXNiWzFdLmRhdGEgPSBOVUxMOwotCXNiWzFdLm51bV90aWxlcyA9IHNiWzFdLmJv LT5zaXplOwotCXNiWzFdLnN0cmlkZSA9IDQgKiAyMDQ4OwotCi0Jc2JbMl0uYm8gPSBnZW1faGFu ZGxlX3RvX2xpYmRybV9ibyhidWZtZ3IsIGRybV9mZCwgImltcG9ydGVkIiwgZmJfaW5mby0+Z2Vt X2hhbmRsZSk7Ci0JaWd0X2Fzc2VydChzYlsyXS5ibyk7Ci0Jc2JbMl0uc2l6ZSA9IHNiWzJdLmJv LT5zaXplOwotCXNiWzJdLnRpbGluZyA9IGlndF9mYl9tb2RfdG9fdGlsaW5nKGZiX2luZm8tPnRp bGluZyk7Ci0Jc2JbMl0uZGF0YSA9IE5VTEw7Ci0Jc2JbMl0ubnVtX3RpbGVzID0gc2JbMl0uYm8t PnNpemU7Ci0Jc2JbMl0uc3RyaWRlID0gZmJfaW5mby0+c3RyaWRlOwotCi0Jc3JjID0gJnNiWzBd OwotCWRzdCA9ICZzYlsxXTsKLQlmYiA9ICZzYlsyXTsKLQotCWZvciAoaSA9IDA7IGkgPCBsaW1p dDsgaSsrKSB7Ci0JCWNvcHlmdW5jKGJhdGNoLCBOVUxMLAotCQkJIHNyYywgMCwgMCwKLQkJCSAy MDQ4LCAyMDQ4LAotCQkJIGRzdCwgMCwgMCk7Ci0KLQkJaWd0X3N3YXAoc3JjLCBkc3QpOwotCX0K LQljb3B5ZnVuYyhiYXRjaCwgTlVMTCwKLQkJIHNyYywgMCwgMCwKLQkJIG1pbihvLT5mYl93aWR0 aCwgMjA0OCksIG1pbihvLT5mYl9oZWlnaHQsIDIwNDgpLAotCQkgZmIsIDAsIDApOwotCWludGVs X2JhdGNoYnVmZmVyX2ZsdXNoKGJhdGNoKTsKLQotCWlmICh0aW1lb3V0ID4gMCkKLQkJcmV0ID0g ZHJtX2ludGVsX2dlbV9ib193YWl0KGZiLT5ibywgdGltZW91dCAqIE5TRUNfUEVSX1NFQyk7Ci0K LQlkcm1faW50ZWxfYm9fdW5yZWZlcmVuY2Uoc2JbMF0uYm8pOwotCWRybV9pbnRlbF9ib191bnJl ZmVyZW5jZShzYlsxXS5ibyk7Ci0JZHJtX2ludGVsX2JvX3VucmVmZXJlbmNlKHNiWzJdLmJvKTsK LQotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyB2b2lkIGVtaXRfZHVtbXlfbG9hZF9fcmNzKHN0 cnVjdCB0ZXN0X291dHB1dCAqbywgaW50IHNlY29uZHMpCi17Ci0Jc3RhdGljIGludCBvcHNfcGVy X3NlYzsKLQotCWlmIChvcHNfcGVyX3NlYyA9PSAwKQotCQlvcHNfcGVyX3NlYyA9IGNhbGlicmF0 ZV9kdW1teV9sb2FkKG8sICJyY3MiLAotCQkJCQkJICAgX2VtaXRfZHVtbXlfbG9hZF9fcmNzKTsK LQotCV9lbWl0X2R1bW15X2xvYWRfX2JjcyhvLCBzZWNvbmRzICogb3BzX3Blcl9zZWMsIDApOwot fQotCiBzdGF0aWMgdm9pZCBkcG1zX29mZl9vdGhlcl9vdXRwdXRzKHN0cnVjdCB0ZXN0X291dHB1 dCAqbykKIHsKIAlpbnQgaSwgbjsKQEAgLTg3NCwxMCArNjk1LDEyIEBAIHN0YXRpYyB1bnNpZ25l ZCBpbnQgcnVuX3Rlc3Rfc3RlcChzdHJ1Y3QgdGVzdF9vdXRwdXQgKm8pCiAJCW8tPmN1cnJlbnRf ZmJfaWQgPSAhby0+Y3VycmVudF9mYl9pZDsKIAogCWlmIChvLT5mbGFncyAmIFRFU1RfV0lUSF9E VU1NWV9CQ1MpCi0JCWVtaXRfZHVtbXlfbG9hZF9fYmNzKG8sIDEpOworCQlpZ3Rfc3Bpbl9iYXRj aF93YWl0KGRybV9mZCwgTlNFQ19QRVJfU0VDLCBJOTE1X0VYRUNfQkxULAorCQkJCSAgICBvLT5m Yl9pbmZvW28tPmN1cnJlbnRfZmJfaWRdLmdlbV9oYW5kbGUpOwogCiAJaWYgKG8tPmZsYWdzICYg VEVTVF9XSVRIX0RVTU1ZX1JDUykKLQkJZW1pdF9kdW1teV9sb2FkX19yY3MobywgMSk7CisJCWln dF9zcGluX2JhdGNoX3dhaXQoZHJtX2ZkLCBOU0VDX1BFUl9TRUMsIEk5MTVfRVhFQ19SRU5ERVIs CisJCQkJICAgIG8tPmZiX2luZm9bby0+Y3VycmVudF9mYl9pZF0uZ2VtX2hhbmRsZSk7CiAKIAlp ZiAoby0+ZmxhZ3MgJiBURVNUX0ZCX1JFQ1JFQVRFKQogCQlyZWNyZWF0ZV9mYihvKTsKLS0gCjIu Ny4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK