From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v2 1/6] drm/i915: Always wait for flip_done, v2. Date: Mon, 4 Sep 2017 12:48:33 +0200 Message-ID: <20170904104838.23822-2-maarten.lankhorst@linux.intel.com> References: <20170904104838.23822-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170904104838.23822-1-maarten.lankhorst@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: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org VGhlIG5leHQgY29tbWl0IHJlbW92ZXMgdGhlIHdhaXQgZm9yIGZsaXBfZG9uZSBpbiBpbgpkcm1f YXRvbWljX2hlbHBlcl9jb21taXRfY2xlYW51cF9kb25lLCBidXQgd2UgbmVlZCBpdCBmb3IgdGhl IHRlc3RzCnRvIHBhc3MuIEluc3RlYWQgb2YgdXNpbmcgY29tcGxpY2F0ZWQgdmJsYW5rIHRyYWNr aW5nIHdoaWNoIGVuZHMKdXAgYmVpbmcgaWdub3JlZCBhbnl3YXksIGNhbGwgdGhlIGNvcnJlY3Qg YXRvbWljIGhlbHBlci4gOikKCkNoYW5nZXMgc2luY2UgdjE6Ci0gQWx3YXlzIGNhbGwgZHJtX2F0 b21pY19oZWxwZXJfd2FpdF9mb3JfZmxpcF9kb25lLAogIGV2ZW4gZm9yIGxlZ2FjeSBjdXJzb3Ig dXBkYXRlcy4gKGRhbnZldCkKClNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFy dGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaCAgICAgIHwgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYyB8IDg0ICsrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBj aGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDc5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCmluZGV4IDM4YmQwOGYyNTM5Yi4uNzk1MzNiYTZmMzg3IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKQEAgLTcyNSw4ICs3MjUsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfZGlzcGxheV9mdW5j cyB7CiAJCQkgICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSk7CiAJdm9pZCAo KmNydGNfZGlzYWJsZSkoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAog CQkJICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKTsKLQl2b2lkICgqdXBk YXRlX2NydGNzKShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCi0JCQkgICAgIHVuc2ln bmVkIGludCAqY3J0Y192YmxhbmtfbWFzayk7CisJdm9pZCAoKnVwZGF0ZV9jcnRjcykoc3RydWN0 IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKIAl2b2lkICgqYXVkaW9fY29kZWNfZW5hYmxlKShz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQkJCSAgIHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAogCQkJCSAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1 c3RlZF9tb2RlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCAyMTZjZDll MGUwOGYuLmE2Y2YxYzIwYzcxMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpA QCAtMTIxMzYsNzMgKzEyMTM2LDEwIEBAIHUzMiBpbnRlbF9jcnRjX2dldF92YmxhbmtfY291bnRl cihzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAlyZXR1cm4gZGV2LT5kcml2ZXItPmdldF92Ymxh bmtfY291bnRlcihkZXYsIGNydGMtPnBpcGUpOwogfQogCi1zdGF0aWMgdm9pZCBpbnRlbF9hdG9t aWNfd2FpdF9mb3JfdmJsYW5rcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotCQkJCQkgIHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKLQkJCQkJICB1bnNpZ25lZCBjcnRjX21hc2sp Ci17Ci0JdW5zaWduZWQgbGFzdF92YmxhbmtfY291bnRbSTkxNV9NQVhfUElQRVNdOwotCWVudW0g cGlwZSBwaXBlOwotCWludCByZXQ7Ci0KLQlpZiAoIWNydGNfbWFzaykKLQkJcmV0dXJuOwotCi0J Zm9yX2VhY2hfcGlwZShkZXZfcHJpdiwgcGlwZSkgewotCQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IGludGVsX2dldF9jcnRjX2Zvcl9waXBlKGRldl9wcml2LAotCQkJCQkJCQkgIHBpcGUpOwot Ci0JCWlmICghKCgxIDw8IHBpcGUpICYgY3J0Y19tYXNrKSkKLQkJCWNvbnRpbnVlOwotCi0JCXJl dCA9IGRybV9jcnRjX3ZibGFua19nZXQoJmNydGMtPmJhc2UpOwotCQlpZiAoV0FSTl9PTihyZXQg IT0gMCkpIHsKLQkJCWNydGNfbWFzayAmPSB+KDEgPDwgcGlwZSk7Ci0JCQljb250aW51ZTsKLQkJ fQotCi0JCWxhc3RfdmJsYW5rX2NvdW50W3BpcGVdID0gZHJtX2NydGNfdmJsYW5rX2NvdW50KCZj cnRjLT5iYXNlKTsKLQl9Ci0KLQlmb3JfZWFjaF9waXBlKGRldl9wcml2LCBwaXBlKSB7Ci0JCXN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gaW50ZWxfZ2V0X2NydGNfZm9yX3BpcGUoZGV2X3ByaXYs Ci0JCQkJCQkJCSAgcGlwZSk7Ci0JCWxvbmcgbHJldDsKLQotCQlpZiAoISgoMSA8PCBwaXBlKSAm IGNydGNfbWFzaykpCi0JCQljb250aW51ZTsKLQotCQlscmV0ID0gd2FpdF9ldmVudF90aW1lb3V0 KGRldi0+dmJsYW5rW3BpcGVdLnF1ZXVlLAotCQkJCWxhc3RfdmJsYW5rX2NvdW50W3BpcGVdICE9 Ci0JCQkJCWRybV9jcnRjX3ZibGFua19jb3VudCgmY3J0Yy0+YmFzZSksCi0JCQkJbXNlY3NfdG9f amlmZmllcyg1MCkpOwotCi0JCVdBUk4oIWxyZXQsICJwaXBlICVjIHZibGFuayB3YWl0IHRpbWVk IG91dFxuIiwgcGlwZV9uYW1lKHBpcGUpKTsKLQotCQlkcm1fY3J0Y192YmxhbmtfcHV0KCZjcnRj LT5iYXNlKTsKLQl9Ci19Ci0KLXN0YXRpYyBib29sIG5lZWRzX3ZibGFua193YWl0KHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQotewotCS8qIGZiIHVwZGF0ZWQsIG5lZWQgdG8g dW5waW4gb2xkIGZiICovCi0JaWYgKGNydGNfc3RhdGUtPmZiX2NoYW5nZWQpCi0JCXJldHVybiB0 cnVlOwotCi0JLyogd20gY2hhbmdlcywgbmVlZCB2YmxhbmsgYmVmb3JlIGZpbmFsIHdtJ3MgKi8K LQlpZiAoY3J0Y19zdGF0ZS0+dXBkYXRlX3dtX3Bvc3QpCi0JCXJldHVybiB0cnVlOwotCi0JaWYg KGNydGNfc3RhdGUtPndtLm5lZWRfcG9zdHZibF91cGRhdGUpCi0JCXJldHVybiB0cnVlOwotCi0J cmV0dXJuIGZhbHNlOwotfQotCiBzdGF0aWMgdm9pZCBpbnRlbF91cGRhdGVfY3J0YyhzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCiAJCQkgICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUs CiAJCQkgICAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAotCQkJICAg ICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZSwKLQkJCSAgICAgIHVuc2ln bmVkIGludCAqY3J0Y192YmxhbmtfbWFzaykKKwkJCSAgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0 ZSAqbmV3X2NydGNfc3RhdGUpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRl djsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CkBA IC0xMjIyNSwxMyArMTIxNjIsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF91cGRhdGVfY3J0YyhzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCiAJfQogCiAJZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X3BsYW5l c19vbl9jcnRjKG9sZF9jcnRjX3N0YXRlKTsKLQotCWlmIChuZWVkc192Ymxhbmtfd2FpdChwaXBl X2NvbmZpZykpCi0JCSpjcnRjX3ZibGFua19tYXNrIHw9IGRybV9jcnRjX21hc2soY3J0Yyk7CiB9 CiAKLXN0YXRpYyB2b2lkIGludGVsX3VwZGF0ZV9jcnRjcyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqc3RhdGUsCi0JCQkgICAgICAgdW5zaWduZWQgaW50ICpjcnRjX3ZibGFua19tYXNrKQorc3Rh dGljIHZvaWQgaW50ZWxfdXBkYXRlX2NydGNzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0 ZSkKIHsKIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7CiAJc3RydWN0IGRybV9jcnRjX3N0YXRlICpv bGRfY3J0Y19zdGF0ZSwgKm5ld19jcnRjX3N0YXRlOwpAQCAtMTIyNDIsMTIgKzEyMTc1LDExIEBA IHN0YXRpYyB2b2lkIGludGVsX3VwZGF0ZV9jcnRjcyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAq c3RhdGUsCiAJCQljb250aW51ZTsKIAogCQlpbnRlbF91cGRhdGVfY3J0YyhjcnRjLCBzdGF0ZSwg b2xkX2NydGNfc3RhdGUsCi0JCQkJICBuZXdfY3J0Y19zdGF0ZSwgY3J0Y192YmxhbmtfbWFzayk7 CisJCQkJICBuZXdfY3J0Y19zdGF0ZSk7CiAJfQogfQogCi1zdGF0aWMgdm9pZCBza2xfdXBkYXRl X2NydGNzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKLQkJCSAgICAgdW5zaWduZWQg aW50ICpjcnRjX3ZibGFua19tYXNrKQorc3RhdGljIHZvaWQgc2tsX3VwZGF0ZV9jcnRjcyhzdHJ1 Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShzdGF0ZS0+ZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0 YXRlICppbnRlbF9zdGF0ZSA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShzdGF0ZSk7CkBAIC0xMjMw Niw3ICsxMjIzOCw3IEBAIHN0YXRpYyB2b2lkIHNrbF91cGRhdGVfY3J0Y3Moc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKnN0YXRlLAogCQkJCXZibF93YWl0ID0gdHJ1ZTsKIAogCQkJaW50ZWxfdXBk YXRlX2NydGMoY3J0Yywgc3RhdGUsIG9sZF9jcnRjX3N0YXRlLAotCQkJCQkgIG5ld19jcnRjX3N0 YXRlLCBjcnRjX3ZibGFua19tYXNrKTsKKwkJCQkJICBuZXdfY3J0Y19zdGF0ZSk7CiAKIAkJCWlm ICh2Ymxfd2FpdCkKIAkJCQlpbnRlbF93YWl0X2Zvcl92YmxhbmsoZGV2X3ByaXYsIHBpcGUpOwpA QCAtMTIzNjgsNyArMTIzMDAsNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9hdG9taWNfY29tbWl0X3Rh aWwoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCXN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICppbnRlbF9jc3RhdGU7CiAJYm9vbCBod19jaGVjayA9IGludGVsX3N0YXRlLT5tb2Rlc2V0 OwogCXU2NCBwdXRfZG9tYWluc1tJOTE1X01BWF9QSVBFU10gPSB7fTsKLQl1bnNpZ25lZCBjcnRj X3ZibGFua19tYXNrID0gMDsKIAlpbnQgaTsKIAogCWludGVsX2F0b21pY19jb21taXRfZmVuY2Vf d2FpdChpbnRlbF9zdGF0ZSk7CkBAIC0xMjQ1OCw3ICsxMjM4OSw3IEBAIHN0YXRpYyB2b2lkIGlu dGVsX2F0b21pY19jb21taXRfdGFpbChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJ fQogCiAJLyogTm93IGVuYWJsZSB0aGUgY2xvY2tzLCBwbGFuZSwgcGlwZSwgYW5kIGNvbm5lY3Rv cnMgdGhhdCB3ZSBzZXQgdXAuICovCi0JZGV2X3ByaXYtPmRpc3BsYXkudXBkYXRlX2NydGNzKHN0 YXRlLCAmY3J0Y192YmxhbmtfbWFzayk7CisJZGV2X3ByaXYtPmRpc3BsYXkudXBkYXRlX2NydGNz KHN0YXRlKTsKIAogCS8qIEZJWE1FOiBXZSBzaG91bGQgY2FsbCBkcm1fYXRvbWljX2hlbHBlcl9j b21taXRfaHdfZG9uZSgpIGhlcmUKIAkgKiBhbHJlYWR5LCBidXQgc3RpbGwgbmVlZCB0aGUgc3Rh dGUgZm9yIHRoZSBkZWxheWVkIG9wdGltaXphdGlvbi4gVG8KQEAgLTEyNDY5LDggKzEyNDAwLDcg QEAgc3RhdGljIHZvaWQgaW50ZWxfYXRvbWljX2NvbW1pdF90YWlsKHN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlICpzdGF0ZSkKIAkgKiAtIHN3aXRjaCBvdmVyIHRvIHRoZSB2Ymxhbmsgd2FpdCBoZWxw ZXIgaW4gdGhlIGNvcmUgYWZ0ZXIgdGhhdCBzaW5jZQogCSAqICAgd2UgZG9uJ3QgbmVlZCBvdXQg c3BlY2lhbCBoYW5kbGluZyBhbnkgbW9yZS4KIAkgKi8KLQlpZiAoIXN0YXRlLT5sZWdhY3lfY3Vy c29yX3VwZGF0ZSkKLQkJaW50ZWxfYXRvbWljX3dhaXRfZm9yX3ZibGFua3MoZGV2LCBkZXZfcHJp diwgY3J0Y192YmxhbmtfbWFzayk7CisJZHJtX2F0b21pY19oZWxwZXJfd2FpdF9mb3JfZmxpcF9k b25lKGRldiwgc3RhdGUpOwogCiAJLyoKIAkgKiBOb3cgdGhhdCB0aGUgdmJsYW5rIGhhcyBwYXNz ZWQsIHdlIGNhbiBnbyBhaGVhZCBhbmQgcHJvZ3JhbSB0aGUKLS0gCjIuMTEuMAoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==