From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [RFC PATCH 1/5] drm/i915: Always wait for flip_done Date: Wed, 30 Aug 2017 14:17:48 +0200 Message-ID: <20170830121752.31291-2-maarten.lankhorst@linux.intel.com> References: <20170830121752.31291-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: <20170830121752.31291-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: intel-gfx@lists.freedesktop.org VGhlIG5leHQgY29tbWl0IHJlbW92ZXMgdGhlIHdhaXQgZm9yIGZsaXBfZG9uZSBpbiBpbgpkcm1f YXRvbWljX2hlbHBlcl9jb21taXRfY2xlYW51cF9kb25lLCBidXQgd2UgbmVlZCBpdCBmb3IgdGhl IHRlc3RzCnRvIHBhc3MuIEluc3RlYWQgb2YgdXNpbmcgY29tcGxpY2F0ZWQgdmJsYW5rIHRyYWNr aW5nIHdoaWNoIGVuZHMKdXAgYmVpbmcgaWdub3JlZCBhbnl3YXksIGNhbGwgdGhlIGNvcnJlY3Qg YXRvbWljIGhlbHBlci4gOikKClJGQyBiZWNhdXNlIEknbSBub3QgY29tcGxldGVseSBzdXJlIHdo YXQgd2Ugd2FudCB0byBkbyB3aXRoIHRoZSB2Ymxhbmsgd2FpdGluZywKSSB0aGluayBmb3Igbm93 IHRoaXMgcGF0Y2ggaXMgdGhlIHJpZ2h0IHdheSB0byBnbyB1bnRpbCB3ZSBkZWNpZGUgYmVjYXVz ZSBpdApwcmVzZXJ2ZXMgdGhlIHN0YXR1cyBxdW8gd2hlbiBkcm1fY3J0Y19jb21taXQgd2FzIGlu dHJvZHVjZWQuCgpTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5r aG9yc3RAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggICAgICB8ICAzICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA4 MyArKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwg OCBpbnNlcnRpb25zKCspLCA3OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApp bmRleCBjYmJhZmJmYjBhNTUuLmRlMTk2MjE4NjRhOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o CkBAIC03MDcsOCArNzA3LDcgQEAgc3RydWN0IGRybV9pOTE1X2Rpc3BsYXlfZnVuY3MgewogCQkJ ICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpOwogCXZvaWQgKCpjcnRjX2Rp c2FibGUpKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKIAkJCSAgICAg c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSk7Ci0Jdm9pZCAoKnVwZGF0ZV9jcnRj cykoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAotCQkJICAgICB1bnNpZ25lZCBpbnQg KmNydGNfdmJsYW5rX21hc2spOworCXZvaWQgKCp1cGRhdGVfY3J0Y3MpKHN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpzdGF0ZSk7CiAJdm9pZCAoKmF1ZGlvX2NvZGVjX2VuYWJsZSkoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJCQkgICBzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKIAkJCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9k ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggNTJjNzNiNGRhYmFhLi4z ZjNjYjk2YWExMWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTEyMTE0 LDczICsxMjExNCwxMCBAQCB1MzIgaW50ZWxfY3J0Y19nZXRfdmJsYW5rX2NvdW50ZXIoc3RydWN0 IGludGVsX2NydGMgKmNydGMpCiAJcmV0dXJuIGRldi0+ZHJpdmVyLT5nZXRfdmJsYW5rX2NvdW50 ZXIoZGV2LCBjcnRjLT5waXBlKTsKIH0KIAotc3RhdGljIHZvaWQgaW50ZWxfYXRvbWljX3dhaXRf Zm9yX3ZibGFua3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwKLQkJCQkJICBzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0JCQkJCSAgdW5zaWduZWQgY3J0Y19tYXNrKQotewotCXVu c2lnbmVkIGxhc3RfdmJsYW5rX2NvdW50W0k5MTVfTUFYX1BJUEVTXTsKLQllbnVtIHBpcGUgcGlw ZTsKLQlpbnQgcmV0OwotCi0JaWYgKCFjcnRjX21hc2spCi0JCXJldHVybjsKLQotCWZvcl9lYWNo X3BpcGUoZGV2X3ByaXYsIHBpcGUpIHsKLQkJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSBpbnRl bF9nZXRfY3J0Y19mb3JfcGlwZShkZXZfcHJpdiwKLQkJCQkJCQkJICBwaXBlKTsKLQotCQlpZiAo ISgoMSA8PCBwaXBlKSAmIGNydGNfbWFzaykpCi0JCQljb250aW51ZTsKLQotCQlyZXQgPSBkcm1f Y3J0Y192YmxhbmtfZ2V0KCZjcnRjLT5iYXNlKTsKLQkJaWYgKFdBUk5fT04ocmV0ICE9IDApKSB7 Ci0JCQljcnRjX21hc2sgJj0gfigxIDw8IHBpcGUpOwotCQkJY29udGludWU7Ci0JCX0KLQotCQls YXN0X3ZibGFua19jb3VudFtwaXBlXSA9IGRybV9jcnRjX3ZibGFua19jb3VudCgmY3J0Yy0+YmFz ZSk7Ci0JfQotCi0JZm9yX2VhY2hfcGlwZShkZXZfcHJpdiwgcGlwZSkgewotCQlzdHJ1Y3QgaW50 ZWxfY3J0YyAqY3J0YyA9IGludGVsX2dldF9jcnRjX2Zvcl9waXBlKGRldl9wcml2LAotCQkJCQkJ CQkgIHBpcGUpOwotCQlsb25nIGxyZXQ7Ci0KLQkJaWYgKCEoKDEgPDwgcGlwZSkgJiBjcnRjX21h c2spKQotCQkJY29udGludWU7Ci0KLQkJbHJldCA9IHdhaXRfZXZlbnRfdGltZW91dChkZXYtPnZi bGFua1twaXBlXS5xdWV1ZSwKLQkJCQlsYXN0X3ZibGFua19jb3VudFtwaXBlXSAhPQotCQkJCQlk cm1fY3J0Y192YmxhbmtfY291bnQoJmNydGMtPmJhc2UpLAotCQkJCW1zZWNzX3RvX2ppZmZpZXMo NTApKTsKLQotCQlXQVJOKCFscmV0LCAicGlwZSAlYyB2Ymxhbmsgd2FpdCB0aW1lZCBvdXRcbiIs IHBpcGVfbmFtZShwaXBlKSk7Ci0KLQkJZHJtX2NydGNfdmJsYW5rX3B1dCgmY3J0Yy0+YmFzZSk7 Ci0JfQotfQotCi1zdGF0aWMgYm9vbCBuZWVkc192Ymxhbmtfd2FpdChzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKLXsKLQkvKiBmYiB1cGRhdGVkLCBuZWVkIHRvIHVucGluIG9s ZCBmYiAqLwotCWlmIChjcnRjX3N0YXRlLT5mYl9jaGFuZ2VkKQotCQlyZXR1cm4gdHJ1ZTsKLQot CS8qIHdtIGNoYW5nZXMsIG5lZWQgdmJsYW5rIGJlZm9yZSBmaW5hbCB3bSdzICovCi0JaWYgKGNy dGNfc3RhdGUtPnVwZGF0ZV93bV9wb3N0KQotCQlyZXR1cm4gdHJ1ZTsKLQotCWlmIChjcnRjX3N0 YXRlLT53bS5uZWVkX3Bvc3R2YmxfdXBkYXRlKQotCQlyZXR1cm4gdHJ1ZTsKLQotCXJldHVybiBm YWxzZTsKLX0KLQogc3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX2NydGMoc3RydWN0IGRybV9jcnRj ICpjcnRjLAogCQkJICAgICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAogCQkJICAg ICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKLQkJCSAgICAgIHN0cnVj dCBkcm1fY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGUsCi0JCQkgICAgICB1bnNpZ25lZCBpbnQg KmNydGNfdmJsYW5rX21hc2spCisJCQkgICAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm5ld19j cnRjX3N0YXRlKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7CiAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwpAQCAtMTIyMDMs MTMgKzEyMTQwLDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX2NydGMoc3RydWN0IGRybV9j cnRjICpjcnRjLAogCX0KIAogCWRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9wbGFuZXNfb25fY3J0 YyhvbGRfY3J0Y19zdGF0ZSk7Ci0KLQlpZiAobmVlZHNfdmJsYW5rX3dhaXQocGlwZV9jb25maWcp KQotCQkqY3J0Y192YmxhbmtfbWFzayB8PSBkcm1fY3J0Y19tYXNrKGNydGMpOwogfQogCi1zdGF0 aWMgdm9pZCBpbnRlbF91cGRhdGVfY3J0Y3Moc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRl LAotCQkJICAgICAgIHVuc2lnbmVkIGludCAqY3J0Y192YmxhbmtfbWFzaykKK3N0YXRpYyB2b2lk IGludGVsX3VwZGF0ZV9jcnRjcyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiB7CiAJ c3RydWN0IGRybV9jcnRjICpjcnRjOwogCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX2NydGNf c3RhdGUsICpuZXdfY3J0Y19zdGF0ZTsKQEAgLTEyMjIwLDEyICsxMjE1MywxMSBAQCBzdGF0aWMg dm9pZCBpbnRlbF91cGRhdGVfY3J0Y3Moc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAog CQkJY29udGludWU7CiAKIAkJaW50ZWxfdXBkYXRlX2NydGMoY3J0Yywgc3RhdGUsIG9sZF9jcnRj X3N0YXRlLAotCQkJCSAgbmV3X2NydGNfc3RhdGUsIGNydGNfdmJsYW5rX21hc2spOworCQkJCSAg bmV3X2NydGNfc3RhdGUpOwogCX0KIH0KIAotc3RhdGljIHZvaWQgc2tsX3VwZGF0ZV9jcnRjcyhz dHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCi0JCQkgICAgIHVuc2lnbmVkIGludCAqY3J0 Y192YmxhbmtfbWFzaykKK3N0YXRpYyB2b2lkIHNrbF91cGRhdGVfY3J0Y3Moc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKnN0YXRlKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoc3RhdGUtPmRldik7CiAJc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqaW50 ZWxfc3RhdGUgPSB0b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpOwpAQCAtMTIyODQsNyArMTIy MTYsNyBAQCBzdGF0aWMgdm9pZCBza2xfdXBkYXRlX2NydGNzKHN0cnVjdCBkcm1fYXRvbWljX3N0 YXRlICpzdGF0ZSwKIAkJCQl2Ymxfd2FpdCA9IHRydWU7CiAKIAkJCWludGVsX3VwZGF0ZV9jcnRj KGNydGMsIHN0YXRlLCBvbGRfY3J0Y19zdGF0ZSwKLQkJCQkJICBuZXdfY3J0Y19zdGF0ZSwgY3J0 Y192YmxhbmtfbWFzayk7CisJCQkJCSAgbmV3X2NydGNfc3RhdGUpOwogCiAJCQlpZiAodmJsX3dh aXQpCiAJCQkJaW50ZWxfd2FpdF9mb3JfdmJsYW5rKGRldl9wcml2LCBwaXBlKTsKQEAgLTEyMzQ2 LDcgKzEyMjc4LDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfYXRvbWljX2NvbW1pdF90YWlsKHN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqaW50 ZWxfY3N0YXRlOwogCWJvb2wgaHdfY2hlY2sgPSBpbnRlbF9zdGF0ZS0+bW9kZXNldDsKIAl1NjQg cHV0X2RvbWFpbnNbSTkxNV9NQVhfUElQRVNdID0ge307Ci0JdW5zaWduZWQgY3J0Y192Ymxhbmtf bWFzayA9IDA7CiAJaW50IGk7CiAKIAlpbnRlbF9hdG9taWNfY29tbWl0X2ZlbmNlX3dhaXQoaW50 ZWxfc3RhdGUpOwpAQCAtMTI0MzgsNyArMTIzNjksNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9hdG9t aWNfY29tbWl0X3RhaWwoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCXBtX3Fvc191 cGRhdGVfcmVxdWVzdCgmZGV2X3ByaXYtPnBtX3Fvc19hdG9taWMsIDApOwogCiAJLyogTm93IGVu YWJsZSB0aGUgY2xvY2tzLCBwbGFuZSwgcGlwZSwgYW5kIGNvbm5lY3RvcnMgdGhhdCB3ZSBzZXQg dXAuICovCi0JZGV2X3ByaXYtPmRpc3BsYXkudXBkYXRlX2NydGNzKHN0YXRlLCAmY3J0Y192Ymxh bmtfbWFzayk7CisJZGV2X3ByaXYtPmRpc3BsYXkudXBkYXRlX2NydGNzKHN0YXRlKTsKIAogCS8q IEZJWE1FOiBXZSBzaG91bGQgY2FsbCBkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfaHdfZG9uZSgp IGhlcmUKIAkgKiBhbHJlYWR5LCBidXQgc3RpbGwgbmVlZCB0aGUgc3RhdGUgZm9yIHRoZSBkZWxh eWVkIG9wdGltaXphdGlvbi4gVG8KQEAgLTEyNDUwLDcgKzEyMzgxLDcgQEAgc3RhdGljIHZvaWQg aW50ZWxfYXRvbWljX2NvbW1pdF90YWlsKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkK IAkgKiAgIHdlIGRvbid0IG5lZWQgb3V0IHNwZWNpYWwgaGFuZGxpbmcgYW55IG1vcmUuCiAJICov CiAJaWYgKCFzdGF0ZS0+bGVnYWN5X2N1cnNvcl91cGRhdGUpCi0JCWludGVsX2F0b21pY193YWl0 X2Zvcl92YmxhbmtzKGRldiwgZGV2X3ByaXYsIGNydGNfdmJsYW5rX21hc2spOworCQlkcm1fYXRv bWljX2hlbHBlcl93YWl0X2Zvcl9mbGlwX2RvbmUoZGV2LCBzdGF0ZSk7CiAKIAkvKgogCSAqIE5v dyB0aGF0IHRoZSB2YmxhbmsgaGFzIHBhc3NlZCwgd2UgY2FuIGdvIGFoZWFkIGFuZCBwcm9ncmFt IHRoZQotLSAKMi4xMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK