From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Subject: [PATCH 4/5] drm/amdgpu: Wait for end of last waited-for vblank before programming flip Date: Fri, 10 Jun 2016 17:57:12 +0900 Message-ID: <1465549033-16561-5-git-send-email-michel@daenzer.net> References: <1465549033-16561-1-git-send-email-michel@daenzer.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.gna.ch (darkcity.gna.ch [195.226.6.51]) by gabe.freedesktop.org (Postfix) with ESMTP id 10E136ECBA for ; Fri, 10 Jun 2016 08:57:21 +0000 (UTC) In-Reply-To: <1465549033-16561-1-git-send-email-michel@daenzer.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogTWljaGVsIETDpG56ZXIgPG1pY2hlbC5kYWVuemVyQGFtZC5jb20+CgpJZiB1c2Vyc3Bh Y2Ugd2FudHMgYSBwYWdlIGZsaXAgdG8gdGFrZSBlZmZlY3QgZHVyaW5nIHZibGFuayBzZXF1ZW5j ZSBuLAppdCBoYXMgdG8gd2FpdCBmb3IgdmJsYW5rIHNlcW5vIG4tMSBiZWZvcmUgY2FsbGluZyB0 aGUKRFJNX0lPQ1RMX01PREVfUEFHRV9GTElQIGlvY3RsLgoKVGhpcyBjaGFuZ2UgbWFrZXMgc3Vy ZSB0aGF0IHdlIGRvIG5vdCBwcm9ncmFtIHRoZSBmbGlwIHRvIHRoZSBoYXJkd2FyZQpiZWZvcmUg dGhlIGVuZCBvZiB2Ymxhbmsgc2Vxbm8gbi0xIGluIHRoaXMgY2FzZSwgdG8gcHJldmVudCB0aGUg ZmxpcApmcm9tIHRha2luZyBlZmZlY3QgdG9vIGVhcmx5LgoKT24gdGhlIG90aGVyIGhhbmQsIGlm IHRoZSBEUk1fSU9DVExfTU9ERV9QQUdFX0ZMSVAgaW9jdGwgaXMgY2FsbGVkCmR1cmluZyB2Ymxh bmssIGJ1dCB1c2Vyc3BhY2UgZGlkbid0IHdhaXQgZm9yIHRoZSBjdXJyZW50IHZibGFuayBzZXFu bwpiZWZvcmUsIHRoaXMgY2hhbmdlIHdvdWxkIHN0aWxsIGFsbG93IHRoZSBmbGlwIHRvIGJlIHBy b2dyYW1tZWQgZHVyaW5nCnRoZSBjdXJyZW50IHZibGFuayBzZXFuby4KClNpZ25lZC1vZmYtYnk6 IE1pY2hlbCBEw6RuemVyIDxtaWNoZWwuZGFlbnplckBhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oICAgICAgICAgfCAgMyArKy0KIGRyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9kaXNwbGF5LmMgfCAzNCArKysrKysrKysrKysrKysrKysrKysr KysrLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKaW5kZXggOTkyZjAwYi4uN2I1Mzk2NyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKQEAgLTcxMiwxMCArNzEyLDExIEBAIHZv aWQgYW1kZ3B1X2Rvb3JiZWxsX2dldF9rZmRfaW5mbyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl diwKICAqLwogCiBzdHJ1Y3QgYW1kZ3B1X2ZsaXBfd29yayB7Ci0Jc3RydWN0IHdvcmtfc3RydWN0 CQlmbGlwX3dvcms7CisJc3RydWN0IGRlbGF5ZWRfd29yawkJZmxpcF93b3JrOwogCXN0cnVjdCB3 b3JrX3N0cnVjdAkJdW5waW5fd29yazsKIAlzdHJ1Y3QgYW1kZ3B1X2RldmljZQkJKmFkZXY7CiAJ aW50CQkJCWNydGNfaWQ7CisJdTMyCQkJCWF2b2lkX3ZibGFuazsKIAl1aW50NjRfdAkJCWJhc2U7 CiAJc3RydWN0IGRybV9wZW5kaW5nX3ZibGFua19ldmVudCAqZXZlbnQ7CiAJc3RydWN0IGFtZGdw dV9ibwkJKm9sZF9yYm87CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rpc3Bs YXkuYwppbmRleCBkZTk1ZWE3Li5hOWY3ODUxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9kaXNwbGF5LmMKQEAgLTQxLDcgKzQxLDcgQEAgc3RhdGljIHZvaWQgYW1kZ3B1 X2ZsaXBfY2FsbGJhY2soc3RydWN0IGZlbmNlICpmLCBzdHJ1Y3QgZmVuY2VfY2IgKmNiKQogCQlj b250YWluZXJfb2YoY2IsIHN0cnVjdCBhbWRncHVfZmxpcF93b3JrLCBjYik7CiAKIAlmZW5jZV9w dXQoZik7Ci0Jc2NoZWR1bGVfd29yaygmd29yay0+ZmxpcF93b3JrKTsKKwlzY2hlZHVsZV93b3Jr KCZ3b3JrLT5mbGlwX3dvcmsud29yayk7CiB9CiAKIHN0YXRpYyBib29sIGFtZGdwdV9mbGlwX2hh bmRsZV9mZW5jZShzdHJ1Y3QgYW1kZ3B1X2ZsaXBfd29yayAqd29yaywKQEAgLTYzLDggKzYzLDEw IEBAIHN0YXRpYyBib29sIGFtZGdwdV9mbGlwX2hhbmRsZV9mZW5jZShzdHJ1Y3QgYW1kZ3B1X2Zs aXBfd29yayAqd29yaywKIAogc3RhdGljIHZvaWQgYW1kZ3B1X2ZsaXBfd29ya19mdW5jKHN0cnVj dCB3b3JrX3N0cnVjdCAqX193b3JrKQogeworCXN0cnVjdCBkZWxheWVkX3dvcmsgKmRlbGF5ZWRf d29yayA9CisJCWNvbnRhaW5lcl9vZihfX3dvcmssIHN0cnVjdCBkZWxheWVkX3dvcmssIHdvcmsp OwogCXN0cnVjdCBhbWRncHVfZmxpcF93b3JrICp3b3JrID0KLQkJY29udGFpbmVyX29mKF9fd29y aywgc3RydWN0IGFtZGdwdV9mbGlwX3dvcmssIGZsaXBfd29yayk7CisJCWNvbnRhaW5lcl9vZihk ZWxheWVkX3dvcmssIHN0cnVjdCBhbWRncHVfZmxpcF93b3JrLCBmbGlwX3dvcmspOwogCXN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2ID0gd29yay0+YWRldjsKIAlzdHJ1Y3QgYW1kZ3B1X2NydGMg KmFtZGdwdUNydGMgPSBhZGV2LT5tb2RlX2luZm8uY3J0Y3Nbd29yay0+Y3J0Y19pZF07CiAKQEAg LTgxLDYgKzgzLDE5IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9mbGlwX3dvcmtfZnVuYyhzdHJ1Y3Qg d29ya19zdHJ1Y3QgKl9fd29yaykKIAkJaWYgKGFtZGdwdV9mbGlwX2hhbmRsZV9mZW5jZSh3b3Jr LCAmd29yay0+c2hhcmVkW2ldKSkKIAkJCXJldHVybjsKIAorCS8qIFdhaXQgdW50aWwgd2UncmUg b3V0IG9mIHRoZSBsYXN0IHdhaXRlZC1mb3IgdmVydGljYWwgYmxhbmsKKwkgKiBwZXJpb2QKKwkg Ki8KKwlpZiAoYW1kZ3B1Q3J0Yy0+ZW5hYmxlZCAmJgorCSAgICBkcm1fY3J0Y192YmxhbmtfY291 bnQoY3J0YykgPT0gd29yay0+YXZvaWRfdmJsYW5rICYmCisJICAgIChhbWRncHVfZ2V0X2NydGNf c2Nhbm91dHBvcyhhZGV2LT5kZGV2LCB3b3JrLT5jcnRjX2lkLCAwLAorCQkJCQkmdnBvcywgJmhw b3MsIE5VTEwsIE5VTEwsCisJCQkJCSZjcnRjLT5od21vZGUpCisJICAgICAmIERSTV9TQ0FOT1VU UE9TX0lOX1ZCTEFOSykpIHsKKwkJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZ3b3JrLT5mbGlwX3dv cmssIHVzZWNzX3RvX2ppZmZpZXMoMTAwMCkpOworCQlyZXR1cm47CisJfQorCiAJLyogV2UgYm9y cm93IHRoZSBldmVudCBzcGluIGxvY2sgZm9yIHByb3RlY3RpbmcgZmxpcF9zdGF0dXMgKi8KIAlz cGluX2xvY2tfaXJxc2F2ZSgmY3J0Yy0+ZGV2LT5ldmVudF9sb2NrLCBmbGFncyk7CiAKQEAgLTE3 NSw2ICsxOTAsNyBAQCBpbnQgYW1kZ3B1X2NydGNfcGFnZV9mbGlwKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKIAkJCSAgdWludDMyX3QgcGFnZV9mbGlwX2ZsYWdzKQogewogCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBjcnRjLT5kZXY7CisJc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYgPSBldmVu dC0+YmFzZS5maWxlX3ByaXY7CiAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBkZXYtPmRl dl9wcml2YXRlOwogCXN0cnVjdCBhbWRncHVfY3J0YyAqYW1kZ3B1X2NydGMgPSB0b19hbWRncHVf Y3J0YyhjcnRjKTsKIAlzdHJ1Y3QgYW1kZ3B1X2ZyYW1lYnVmZmVyICpvbGRfYW1kZ3B1X2ZiOwpA QCAtMTkxLDcgKzIwNyw3IEBAIGludCBhbWRncHVfY3J0Y19wYWdlX2ZsaXAoc3RydWN0IGRybV9j cnRjICpjcnRjLAogCWlmICh3b3JrID09IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwogCi0JSU5J VF9XT1JLKCZ3b3JrLT5mbGlwX3dvcmssIGFtZGdwdV9mbGlwX3dvcmtfZnVuYyk7CisJSU5JVF9E RUxBWUVEX1dPUksoJndvcmstPmZsaXBfd29yaywgYW1kZ3B1X2ZsaXBfd29ya19mdW5jKTsKIAlJ TklUX1dPUksoJndvcmstPnVucGluX3dvcmssIGFtZGdwdV91bnBpbl93b3JrX2Z1bmMpOwogCiAJ d29yay0+ZXZlbnQgPSBldmVudDsKQEAgLTI0NCw2ICsyNjAsMTYgQEAgaW50IGFtZGdwdV9jcnRj X3BhZ2VfZmxpcChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCWdvdG8gcGZsaXBfY2xlYW51cDsK IAl9CiAKKwkvKiBJZiB0aGlzIGZpbGUgZGVzY3JpcHRvciBoYXMgd2FpdGVkIGZvciB0aGUgY3Vy cmVudCB2YmxhbmsgcGVyaW9kLAorCSAqIGRvIG5vdCBwcm9ncmFtIHRoZSBmbGlwIGR1cmluZyB0 aGlzIHZibGFuayBwZXJpb2QKKwkgKi8KKwlpZiAoYW1kZ3B1X2NydGMtPmNydGNfaWQgPCBmaWxl X3ByaXYtPm51bV9jcnRjcykKKwkJd29yay0+YXZvaWRfdmJsYW5rID0KKwkJCWZpbGVfcHJpdi0+ bGFzdF92Ymxhbmtfd2FpdFthbWRncHVfY3J0Yy0+Y3J0Y19pZF07CisKKwlpZiAoIXdvcmstPmF2 b2lkX3ZibGFuaykKKwkJd29yay0+YXZvaWRfdmJsYW5rID0gZHJtX2NydGNfdmJsYW5rX2NvdW50 KGNydGMpIC0gMTsKKwogCS8qIHdlIGJvcnJvdyB0aGUgZXZlbnQgc3BpbiBsb2NrIGZvciBwcm90 ZWN0aW5nIGZsaXBfd3JvayAqLwogCXNwaW5fbG9ja19pcnFzYXZlKCZjcnRjLT5kZXYtPmV2ZW50 X2xvY2ssIGZsYWdzKTsKIAlpZiAoYW1kZ3B1X2NydGMtPnBmbGlwX3N0YXR1cyAhPSBBTURHUFVf RkxJUF9OT05FKSB7CkBAIC0yNjIsNyArMjg4LDcgQEAgaW50IGFtZGdwdV9jcnRjX3BhZ2VfZmxp cChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJLyogdXBkYXRlIGNydGMgZmIgKi8KIAljcnRjLT5w cmltYXJ5LT5mYiA9IGZiOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNydGMtPmRldi0+ZXZl bnRfbG9jaywgZmxhZ3MpOwotCWFtZGdwdV9mbGlwX3dvcmtfZnVuYygmd29yay0+ZmxpcF93b3Jr KTsKKwlhbWRncHVfZmxpcF93b3JrX2Z1bmMoJndvcmstPmZsaXBfd29yay53b3JrKTsKIAlyZXR1 cm4gMDsKIAogdmJsYW5rX2NsZWFudXA6Ci0tIAoyLjguMQoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==