From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrey Grodzovsky Subject: [PATCH v4 3/3] drm/amd/display: Switch to using atomic_helper for flip. Date: Wed, 1 Feb 2017 12:03:36 -0500 Message-ID: <1485968616-4296-4-git-send-email-Andrey.Grodzovsky@amd.com> References: <1485968616-4296-1-git-send-email-Andrey.Grodzovsky@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1485968616-4296-1-git-send-email-Andrey.Grodzovsky-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: dc_upstream-5C7GfCeVMHo@public.gmane.org, Andrey Grodzovsky , nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org, daniel.vetter-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org djI6Ck1vZGlmeSBmb3IgbW92aWcgcGZsaXAgZmxhZ3MgdG8gY3J0Y19zdGF0ZQoKdjQ6CkZpeCBp ZGVudGF0aW9uLgoKQ2hhbmdlLUlkOiBJMjVkYWU2ZDhjMjlkZTVkMDIyYTQyYWE5OWExOGEzMjY3 NGI1NmNkYQpTaWduZWQtb2ZmLWJ5OiBBbmRyZXkgR3JvZHpvdnNreSA8QW5kcmV5Lkdyb2R6b3Zz a3lAYW1kLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfbW9kZS5o ICAgICAgICAgICB8ICAgMSAtCiAuLi4vZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVf ZG1fdHlwZXMuYyAgICB8IDExMyArKysrKy0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdl ZCwgMjQgaW5zZXJ0aW9ucygrKSwgOTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X21vZGUuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9tb2RlLmgKaW5kZXggNGMwYTg2ZS4uM2ZmM2MxNCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X21vZGUuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfbW9kZS5oCkBAIC00NDMsNyArNDQzLDYgQEAgc3RydWN0 IGFtZGdwdV9jcnRjIHsKIAllbnVtIGFtZGdwdV9pbnRlcnJ1cHRfc3RhdGUgdnN5bmNfdGltZXJf ZW5hYmxlZDsKIAogCWludCBvdGdfaW5zdDsKLQl1aW50MzJfdCBmbGlwX2ZsYWdzOwogCS8qIEFm dGVyIFNldCBNb2RlIHRhcmdldCB3aWxsIGJlIG5vbi1OVUxMICovCiAJc3RydWN0IGRjX3Rhcmdl dCAqdGFyZ2V0OwogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9h bWRncHVfZG0vYW1kZ3B1X2RtX3R5cGVzLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkv YW1kZ3B1X2RtL2FtZGdwdV9kbV90eXBlcy5jCmluZGV4IGE0NDNiNzAuLjc4ZjY1YmEgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX3R5 cGVzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVf ZG1fdHlwZXMuYwpAQCAtMTA2MCw4MyArMTA2MCw2IEBAIHN0YXRpYyBpbnQgZG1fY3J0Y19mdW5j c19hdG9taWNfc2V0X3Byb3BlcnR5KAogCXJldHVybiAwOwogfQogCi0KLXN0YXRpYyBpbnQgYW1k Z3B1X2F0b21pY19oZWxwZXJfcGFnZV9mbGlwKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKLQkJCQlz dHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKLQkJCQlzdHJ1Y3QgZHJtX3BlbmRpbmdfdmJsYW5r X2V2ZW50ICpldmVudCwKLQkJCQl1aW50MzJfdCBmbGFncykKLXsKLQlzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSA9IGNydGMtPnByaW1hcnk7Ci0Jc3RydWN0IGFtZGdwdV9jcnRjICphY3J0YyA9IHRv X2FtZGdwdV9jcnRjKGNydGMpOwotCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZTsKLQlz dHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsKLQlzdHJ1Y3QgZHJtX2NydGNfc3Rh dGUgKmNydGNfc3RhdGU7Ci0JaW50IHJldCA9IDA7Ci0KLQlzdGF0ZSA9IGRybV9hdG9taWNfc3Rh dGVfYWxsb2MocGxhbmUtPmRldik7Ci0JaWYgKCFzdGF0ZSkKLQkJcmV0dXJuIC1FTk9NRU07Ci0K LQlyZXQgPSBkcm1fY3J0Y192YmxhbmtfZ2V0KGNydGMpOwotCWlmIChyZXQpCi0JCXJldHVybiBy ZXQ7Ci0KLQlzdGF0ZS0+YWNxdWlyZV9jdHggPSBkcm1fbW9kZXNldF9sZWdhY3lfYWNxdWlyZV9j dHgoY3J0Yyk7Ci1yZXRyeToKLQljcnRjX3N0YXRlID0gZHJtX2F0b21pY19nZXRfY3J0Y19zdGF0 ZShzdGF0ZSwgY3J0Yyk7Ci0JaWYgKElTX0VSUihjcnRjX3N0YXRlKSkgewotCQlyZXQgPSBQVFJf RVJSKGNydGNfc3RhdGUpOwotCQlnb3RvIGZhaWw7Ci0JfQotCWNydGNfc3RhdGUtPmV2ZW50ID0g ZXZlbnQ7Ci0KLQlwbGFuZV9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlKHN0YXRl LCBwbGFuZSk7Ci0JaWYgKElTX0VSUihwbGFuZV9zdGF0ZSkpIHsKLQkJcmV0ID0gUFRSX0VSUihw bGFuZV9zdGF0ZSk7Ci0JCWdvdG8gZmFpbDsKLQl9Ci0KLQlyZXQgPSBkcm1fYXRvbWljX3NldF9j cnRjX2Zvcl9wbGFuZShwbGFuZV9zdGF0ZSwgY3J0Yyk7Ci0JaWYgKHJldCAhPSAwKQotCQlnb3Rv IGZhaWw7Ci0JZHJtX2F0b21pY19zZXRfZmJfZm9yX3BsYW5lKHBsYW5lX3N0YXRlLCBmYik7Ci0K LQkvKiBNYWtlIHN1cmUgd2UgZG9uJ3QgYWNjaWRlbnRhbGx5IGRvIGEgZnVsbCBtb2Rlc2V0LiAq LwotCXN0YXRlLT5hbGxvd19tb2Rlc2V0ID0gZmFsc2U7Ci0JaWYgKCFjcnRjX3N0YXRlLT5hY3Rp dmUpIHsKLQkJRFJNX0RFQlVHX0FUT01JQygiW0NSVEM6JWRdIGRpc2FibGVkLCByZWplY3Rpbmcg bGVnYWN5IGZsaXBcbiIsCi0JCQkJIGNydGMtPmJhc2UuaWQpOwotCQlyZXQgPSAtRUlOVkFMOwot CQlnb3RvIGZhaWw7Ci0JfQotCWFjcnRjLT5mbGlwX2ZsYWdzID0gZmxhZ3M7Ci0KLQlyZXQgPSBk cm1fYXRvbWljX25vbmJsb2NraW5nX2NvbW1pdChzdGF0ZSk7Ci0KLWZhaWw6Ci0JaWYgKHJldCA9 PSAtRURFQURMSykKLQkJZ290byBiYWNrb2ZmOwotCi0JaWYgKHJldCkKLQkJZHJtX2NydGNfdmJs YW5rX3B1dChjcnRjKTsKLQotCWRybV9hdG9taWNfc3RhdGVfcHV0KHN0YXRlKTsKLQotCXJldHVy biByZXQ7Ci1iYWNrb2ZmOgotCWRybV9hdG9taWNfc3RhdGVfY2xlYXIoc3RhdGUpOwotCWRybV9h dG9taWNfbGVnYWN5X2JhY2tvZmYoc3RhdGUpOwotCi0JLyoKLQkgKiBTb21lb25lIG1pZ2h0IGhh dmUgZXhjaGFuZ2VkIHRoZSBmcmFtZWJ1ZmZlciB3aGlsZSB3ZSBkcm9wcGVkIGxvY2tzCi0JICog aW4gdGhlIGJhY2tvZmYgY29kZS4gV2UgbmVlZCB0byBmaXggdXAgdGhlIGZiIHJlZmNvdW50IHRy YWNraW5nIHRoZQotCSAqIGNvcmUgZG9lcyBmb3IgdXMuCi0JICovCi0JcGxhbmUtPm9sZF9mYiA9 IHBsYW5lLT5mYjsKLQotCWdvdG8gcmV0cnk7Ci19Ci0KIC8qIEltcGxlbWVudGVkIG9ubHkgdGhl IG9wdGlvbnMgY3VycmVudGx5IGF2YWlsaWJsZSBmb3IgdGhlIGRyaXZlciAqLwogc3RhdGljIGNv bnN0IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyBhbWRncHVfZG1fY3J0Y19mdW5jcyA9IHsKIAkucmVz ZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0LApAQCAtMTE0NSw3ICsxMDY4LDcgQEAg c3RhdGljIGludCBhbWRncHVfYXRvbWljX2hlbHBlcl9wYWdlX2ZsaXAoc3RydWN0IGRybV9jcnRj ICpjcnRjLAogCS5kZXN0cm95ID0gYW1kZ3B1X2RtX2NydGNfZGVzdHJveSwKIAkuZ2FtbWFfc2V0 ID0gYW1kZ3B1X2RtX2F0b21pY19jcnRjX2dhbW1hX3NldCwKIAkuc2V0X2NvbmZpZyA9IGRybV9h dG9taWNfaGVscGVyX3NldF9jb25maWcsCi0JLnBhZ2VfZmxpcCA9IGFtZGdwdV9hdG9taWNfaGVs cGVyX3BhZ2VfZmxpcCwKKwkucGFnZV9mbGlwX3RhcmdldCA9IGRybV9hdG9taWNfaGVscGVyX3Bh Z2VfZmxpcF90YXJnZXQsCiAJLmF0b21pY19kdXBsaWNhdGVfc3RhdGUgPSBkcm1fYXRvbWljX2hl bHBlcl9jcnRjX2R1cGxpY2F0ZV9zdGF0ZSwKIAkuYXRvbWljX2Rlc3Ryb3lfc3RhdGUgPSBkcm1f YXRvbWljX2hlbHBlcl9jcnRjX2Rlc3Ryb3lfc3RhdGUsCiAJLmF0b21pY19zZXRfcHJvcGVydHkg PSBkbV9jcnRjX2Z1bmNzX2F0b21pY19zZXRfcHJvcGVydHkKQEAgLTE2MjYsNyArMTU0OSw4IEBA IHN0YXRpYyB2b2lkIGNsZWFyX3VucmVsYXRlZF9maWVsZHMoc3RydWN0IGRybV9wbGFuZV9zdGF0 ZSAqc3RhdGUpCiBzdGF0aWMgYm9vbCBwYWdlX2ZsaXBfbmVlZGVkKAogCWNvbnN0IHN0cnVjdCBk cm1fcGxhbmVfc3RhdGUgKm5ld19zdGF0ZSwKIAljb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRl ICpvbGRfc3RhdGUsCi0JYm9vbCBjb21taXRfc3VyZmFjZV9yZXF1aXJlZCkKKwlib29sIGNvbW1p dF9zdXJmYWNlX3JlcXVpcmVkLAorCXVpbnQzMl90IHBmbGlwX2ZsYWdzKQogewogCXN0cnVjdCBk cm1fcGxhbmVfc3RhdGUgb2xkX3N0YXRlX3RtcDsKIAlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlIG5l d19zdGF0ZV90bXA7CkBAIC0xNjc5LDcgKzE2MDMsNyBAQCBzdGF0aWMgYm9vbCBwYWdlX2ZsaXBf bmVlZGVkKAogCQkJCSAgICBzaXplb2Yob2xkX3N0YXRlX3RtcCkpID09IDAgPyB0cnVlOmZhbHNl OwogCWlmIChuZXdfc3RhdGUtPmNydGMgJiYgcGFnZV9mbGlwX3JlcXVpcmVkID09IGZhbHNlKSB7 CiAJCWFjcnRjX25ldyA9IHRvX2FtZGdwdV9jcnRjKG5ld19zdGF0ZS0+Y3J0Yyk7Ci0JCWlmIChh Y3J0Y19uZXctPmZsaXBfZmxhZ3MgJiBEUk1fTU9ERV9QQUdFX0ZMSVBfQVNZTkMpCisJCWlmIChw ZmxpcF9mbGFncyAmIERSTV9NT0RFX1BBR0VfRkxJUF9BU1lOQykKIAkJCXBhZ2VfZmxpcF9yZXF1 aXJlZCA9IHRydWU7CiAJfQogCXJldHVybiBwYWdlX2ZsaXBfcmVxdWlyZWQ7CkBAIC0yNjk2LDcg KzI2MjAsMTEgQEAgaW50IGFtZGdwdV9kbV9hdG9taWNfY29tbWl0KAogCQkgKiAxLiBUaGlzIGNv bW1pdCBpcyBub3QgYSBwYWdlIGZsaXAuCiAJCSAqIDIuIFRoaXMgY29tbWl0IGlzIGEgcGFnZSBm bGlwLCBhbmQgdGFyZ2V0cyBhcmUgY3JlYXRlZC4KIAkJICovCi0JCWlmICghcGFnZV9mbGlwX25l ZWRlZChwbGFuZV9zdGF0ZSwgb2xkX3BsYW5lX3N0YXRlLCB0cnVlKSB8fAorCQlpZiAoIXBhZ2Vf ZmxpcF9uZWVkZWQocGxhbmVfc3RhdGUsCisJCQkJICAgICAgb2xkX3BsYW5lX3N0YXRlLAorCQkJ CSAgICAgIHRydWUsCisJCQkJICAgICAgY3J0Yy0+c3RhdGUtPnBmbGlwX2ZsYWdzKQorCQkJCXx8 CiAJCQkJYWN0aW9uID09IERNX0NPTU1JVF9BQ1RJT05fRFBNU19PTiB8fAogCQkJCWFjdGlvbiA9 PSBETV9DT01NSVRfQUNUSU9OX1NFVCkgewogCQkJbGlzdF9mb3JfZWFjaF9lbnRyeShjb25uZWN0 b3IsCkBAIC0yNzYwLDIxICsyNjg4LDI0IEBAIGludCBhbWRncHVfZG1fYXRvbWljX2NvbW1pdCgK IAlmb3JfZWFjaF9wbGFuZV9pbl9zdGF0ZShzdGF0ZSwgcGxhbmUsIG9sZF9wbGFuZV9zdGF0ZSwg aSkgewogCQlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSA9IHBsYW5lLT5zdGF0 ZTsKIAkJc3RydWN0IGRybV9jcnRjICpjcnRjID0gcGxhbmVfc3RhdGUtPmNydGM7Ci0JCXN0cnVj dCBhbWRncHVfY3J0YyAqYWNydGMgPSB0b19hbWRncHVfY3J0YyhjcnRjKTsKIAkJc3RydWN0IGRy bV9mcmFtZWJ1ZmZlciAqZmIgPSBwbGFuZV9zdGF0ZS0+ZmI7CisJCXVpbnQzMl90IHBmbGlwX2Zs YWdzOwogCiAJCWlmICghZmIgfHwgIWNydGMgfHwgIWNydGMtPnN0YXRlLT5wbGFuZXNfY2hhbmdl ZCB8fAogCQkJIWNydGMtPnN0YXRlLT5hY3RpdmUpCiAJCQljb250aW51ZTsKIAotCQlpZiAocGFn ZV9mbGlwX25lZWRlZChwbGFuZV9zdGF0ZSwgb2xkX3BsYW5lX3N0YXRlLCBmYWxzZSkpIHsKKwkJ cGZsaXBfZmxhZ3MgPSBjcnRjLT5zdGF0ZS0+cGZsaXBfZmxhZ3M7CisJCWlmIChwYWdlX2ZsaXBf bmVlZGVkKHBsYW5lX3N0YXRlLAorCQkJCSAgICAgb2xkX3BsYW5lX3N0YXRlLAorCQkJCSAgICAg ZmFsc2UsCisJCQkJICAgICBwZmxpcF9mbGFncykpIHsKIAkJCXJldCA9IGFtZGdwdV9jcnRjX3Bh Z2VfZmxpcF90YXJnZXQoY3J0YywKIAkJCQkJCQkgICBmYiwKIAkJCQkJCQkgICBjcnRjLT5zdGF0 ZS0+ZXZlbnQsCi0JCQkJCQkJICAgYWNydGMtPmZsaXBfZmxhZ3MsCi0JCQkJCQkJICAgZHJtX2Ny dGNfdmJsYW5rX2NvdW50KGNydGMpKTsKLQkJCS8qY2xlYW4gdXAgdGhlIGZsYWdzIGZvciBuZXh0 IHVzYWdlKi8KLQkJCWFjcnRjLT5mbGlwX2ZsYWdzID0gMDsKKwkJCQkJCQkgICBjcnRjLT5zdGF0 ZS0+cGZsaXBfZmxhZ3MsCisJCQkJCQkJICAgY3J0Yy0+c3RhdGUtPnRhcmdldF92YmxhbmspOwor CiAJCQlpZiAocmV0KQogCQkJCWJyZWFrOwogCQl9CkBAIC0zMTM4LDEzICszMDY5LDE3IEBAIGlu dCBhbWRncHVfZG1fYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJY29u dGludWU7CiAKIAkJCWFjdGlvbiA9IGdldF9kbV9jb21taXRfYWN0aW9uKGNydGMtPnN0YXRlKTsK KwkJCWNydGNfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9leGlzdGluZ19jcnRjX3N0YXRlKHN0YXRl LCBjcnRjKTsKIAogCQkJLyogU3VyZmFjZXMgYXJlIGNyZWF0ZWQgdW5kZXIgdHdvIHNjZW5hcmlv czoKIAkJCSAqIDEuIFRoaXMgY29tbWl0IGlzIG5vdCBhIHBhZ2UgZmxpcC4KIAkJCSAqIDIuIFRo aXMgY29tbWl0IGlzIGEgcGFnZSBmbGlwLCBhbmQgdGFyZ2V0cyBhcmUgY3JlYXRlZC4KIAkJCSAq LwotCQkJaWYgKCFwYWdlX2ZsaXBfbmVlZGVkKHBsYW5lX3N0YXRlLCBvbGRfcGxhbmVfc3RhdGUs Ci0JCQkJCSAgICAgIHRydWUpIHx8CisJCQlpZiAoIXBhZ2VfZmxpcF9uZWVkZWQocGxhbmVfc3Rh dGUsCisJCQkJCSAgICAgIG9sZF9wbGFuZV9zdGF0ZSwKKwkJCQkJICAgICAgdHJ1ZSwKKwkJCQkJ ICAgICAgY3J0Y19zdGF0ZS0+cGZsaXBfZmxhZ3MpCisJCQkJCXx8CiAJCQkJCWFjdGlvbiA9PSBE TV9DT01NSVRfQUNUSU9OX0RQTVNfT04gfHwKIAkJCQkJYWN0aW9uID09IERNX0NPTU1JVF9BQ1RJ T05fU0VUKSB7CiAJCQkJc3RydWN0IGRjX3N1cmZhY2UgKnN1cmZhY2U7Ci0tIAoxLjkuMQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWls aW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==