From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 2/2] drm/amdgpu: Refactor flip into prepare submit and submit. (v2) Date: Fri, 13 Jan 2017 13:26:45 -0500 Message-ID: <1484332005-12910-2-git-send-email-alexander.deucher@amd.com> References: <1484332005-12910-1-git-send-email-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1484332005-12910-1-git-send-email-alexander.deucher-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: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Alex Deucher , Andrey Grodzovsky RnJvbTogQW5kcmV5IEdyb2R6b3Zza3kgPEFuZHJleS5Hcm9kem92c2t5QGFtZC5jb20+CgpNYWtl IHBmbGlwIGF0b21pYyBmcmllbmRseS4gU3BsaXQgdGhlIGZ1aW5jdGlvbiBpbnRvCndoYXRldmVy IGNhbiBmYWlsIHBhcnQgYW5kIHRoZSBhY3R1YWwgZmxpcCBzdWJtaXQgcGFydC4KQ2FsbCB0aGUg cHJlLXN1Ym1pdCBmdW5jdGlvbiBiZWZvcmUgYXRvbWljIHN0YXRlcwphcmUgc3dhcHBlZCBzbyBp biBjYXNlIG9mIGVycm9yIHdlIGNhbiBmYWlsIHRoZQpJT0NUTC4KCnYyOgpVcGRhdGUgZHVlIHRv ICB0YXJnZXRfdmJsYW5rIGNvZGUgY2hhbmdlLgpGaXggaWRlbnRldGF0aW9uLgpDaGFuZ2UgcmV0 dXJuIHR5cGUgZm9yIGFtZGdwdV9jcnRjX3N1Ym1pdF9mbGlwIHRvIHZvaWQKClNpZ25lZC1vZmYt Ynk6IEFuZHJleSBHcm9kem92c2t5IDxBbmRyZXkuR3JvZHpvdnNreUBhbWQuY29tPgpSZXZpZXdl ZC1ieSBIYXJyeSBXZW50bGFuZCA8aGFycnkud2VudGxhbmRAYW1kLmNvbT4KU2lnbmVkLW9mZi1i eTogQWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgotLS0KIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kaXNwbGF5LmMgfCAxNDcgKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X21vZGUuaCAg ICB8ICAxNyArKysrCiAyIGZpbGVzIGNoYW5nZWQsIDEzNSBpbnNlcnRpb25zKCspLCAyOSBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf ZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rpc3BsYXkuYwpp bmRleCA0OTg2MzQwLi5kMGFkNjE5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9kaXNwbGF5LmMKQEAgLTEzOCwxMCArMTM4LDU2IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV91 bnBpbl93b3JrX2Z1bmMoc3RydWN0IHdvcmtfc3RydWN0ICpfX3dvcmspCiAJa2ZyZWUod29yayk7 CiB9CiAKLWludCBhbWRncHVfY3J0Y19wYWdlX2ZsaXBfdGFyZ2V0KHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKLQkJCQkgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCi0JCQkJIHN0cnVjdCBkcm1f cGVuZGluZ192YmxhbmtfZXZlbnQgKmV2ZW50LAotCQkJCSB1aW50MzJfdCBwYWdlX2ZsaXBfZmxh Z3MsIHVpbnQzMl90IHRhcmdldCkKKworc3RhdGljIHZvaWQgYW1kZ3B1X2ZsaXBfd29ya19jbGVh bnVwKHN0cnVjdCBhbWRncHVfZmxpcF93b3JrICp3b3JrKQoreworCWludCBpOworCisJYW1kZ3B1 X2JvX3VucmVmKCZ3b3JrLT5vbGRfYWJvKTsKKwlkbWFfZmVuY2VfcHV0KHdvcmstPmV4Y2wpOwor CWZvciAoaSA9IDA7IGkgPCB3b3JrLT5zaGFyZWRfY291bnQ7ICsraSkKKwkJZG1hX2ZlbmNlX3B1 dCh3b3JrLT5zaGFyZWRbaV0pOworCWtmcmVlKHdvcmstPnNoYXJlZCk7CisJa2ZyZWUod29yayk7 Cit9CisKK3N0YXRpYyB2b2lkIGFtZGdwdV9mbGlwX2NsZWFudXBfdW5yZXNlcnZlKAorCQlzdHJ1 Y3QgYW1kZ3B1X2ZsaXBfd29yayAqd29yaywKKwkJc3RydWN0IGFtZGdwdV9ibyAqbmV3X2FibykK K3sKKwlhbWRncHVfYm9fdW5yZXNlcnZlKG5ld19hYm8pOworCWFtZGdwdV9mbGlwX3dvcmtfY2xl YW51cCh3b3JrKTsKK30KKworc3RhdGljIHZvaWQgYW1kZ3B1X2ZsaXBfY2xlYW51cF91bnBpbigK KwkJc3RydWN0IGFtZGdwdV9mbGlwX3dvcmsgKndvcmssCisJCXN0cnVjdCBhbWRncHVfYm8gKm5l d19hYm8pCit7CisJaWYgKHVubGlrZWx5KGFtZGdwdV9ib191bnBpbihuZXdfYWJvKSAhPSAwKSkK KwkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gdW5waW4gbmV3IGFibyBpbiBlcnJvciBwYXRoXG4iKTsK KwlhbWRncHVfZmxpcF9jbGVhbnVwX3VucmVzZXJ2ZSh3b3JrLCBuZXdfYWJvKTsKK30KKwordm9p ZCBhbWRncHVfY3J0Y19jbGVhbnVwX2ZsaXBfY3R4KAorCQlzdHJ1Y3QgYW1kZ3B1X2ZsaXBfd29y ayAqd29yaywKKwkJc3RydWN0IGFtZGdwdV9ibyAqbmV3X2FibykKK3sKKwlpZiAodW5saWtlbHko YW1kZ3B1X2JvX3Jlc2VydmUobmV3X2FibywgZmFsc2UpICE9IDApKSB7CisJCURSTV9FUlJPUigi ZmFpbGVkIHRvIHJlc2VydmUgbmV3IGFibyBpbiBlcnJvciBwYXRoXG4iKTsKKwkJYW1kZ3B1X2Zs aXBfd29ya19jbGVhbnVwKHdvcmspOworCQlyZXR1cm47CisJfQorCWFtZGdwdV9mbGlwX2NsZWFu dXBfdW5waW4od29yaywgbmV3X2Fibyk7Cit9CisKK2ludCBhbWRncHVfY3J0Y19wcmVwYXJlX2Zs aXAoCisJCQkJc3RydWN0IGRybV9jcnRjICpjcnRjLAorCQkJCXN0cnVjdCBkcm1fZnJhbWVidWZm ZXIgKmZiLAorCQkJCXN0cnVjdCBkcm1fcGVuZGluZ192YmxhbmtfZXZlbnQgKmV2ZW50LAorCQkJ CXVpbnQzMl90IHBhZ2VfZmxpcF9mbGFncywKKwkJCQl1aW50MzJfdCB0YXJnZXQsCisJCQkJc3Ry dWN0IGFtZGdwdV9mbGlwX3dvcmsgKip3b3JrX3AsCisJCQkJc3RydWN0IGFtZGdwdV9ibyAqKm5l d19hYm9fcCkKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2OwogCXN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKQEAgLTE1NCw3ICsyMDAs NyBAQCBpbnQgYW1kZ3B1X2NydGNfcGFnZV9mbGlwX3RhcmdldChzdHJ1Y3QgZHJtX2NydGMgKmNy dGMsCiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAl1NjQgdGlsaW5nX2ZsYWdzOwogCXU2NCBiYXNl OwotCWludCBpLCByOworCWludCByOwogCiAJd29yayA9IGt6YWxsb2Moc2l6ZW9mICp3b3JrLCBH RlBfS0VSTkVMKTsKIAlpZiAod29yayA9PSBOVUxMKQpAQCAtMjE1LDQxICsyNjEsODQgQEAgaW50 IGFtZGdwdV9jcnRjX3BhZ2VfZmxpcF90YXJnZXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQlz cGluX3VubG9ja19pcnFyZXN0b3JlKCZjcnRjLT5kZXYtPmV2ZW50X2xvY2ssIGZsYWdzKTsKIAkJ ciA9IC1FQlVTWTsKIAkJZ290byBwZmxpcF9jbGVhbnVwOwotCX0KIAotCWFtZGdwdV9jcnRjLT5w ZmxpcF9zdGF0dXMgPSBBTURHUFVfRkxJUF9QRU5ESU5HOwotCWFtZGdwdV9jcnRjLT5wZmxpcF93 b3JrcyA9IHdvcms7CisJfQorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNydGMtPmRldi0+ZXZl bnRfbG9jaywgZmxhZ3MpOwogCisJKndvcmtfcCA9IHdvcms7CisJKm5ld19hYm9fcCA9IG5ld19h Ym87CiAKLQlEUk1fREVCVUdfRFJJVkVSKCJjcnRjOiVkWyVwXSwgcGZsaXBfc3RhdDpBTURHUFVf RkxJUF9QRU5ESU5HLCB3b3JrOiAlcCxcbiIsCi0JCQkJCSBhbWRncHVfY3J0Yy0+Y3J0Y19pZCwg YW1kZ3B1X2NydGMsIHdvcmspOwotCS8qIHVwZGF0ZSBjcnRjIGZiICovCi0JY3J0Yy0+cHJpbWFy eS0+ZmIgPSBmYjsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjcnRjLT5kZXYtPmV2ZW50X2xv Y2ssIGZsYWdzKTsKLQlhbWRncHVfZmxpcF93b3JrX2Z1bmMoJndvcmstPmZsaXBfd29yay53b3Jr KTsKIAlyZXR1cm4gMDsKIAogcGZsaXBfY2xlYW51cDoKLQlpZiAodW5saWtlbHkoYW1kZ3B1X2Jv X3Jlc2VydmUobmV3X2FibywgZmFsc2UpICE9IDApKSB7Ci0JCURSTV9FUlJPUigiZmFpbGVkIHRv IHJlc2VydmUgbmV3IGFibyBpbiBlcnJvciBwYXRoXG4iKTsKLQkJZ290byBjbGVhbnVwOwotCX0K KwlhbWRncHVfY3J0Y19jbGVhbnVwX2ZsaXBfY3R4KHdvcmssIG5ld19hYm8pOworCXJldHVybiBy OworCiB1bnBpbjoKLQlpZiAodW5saWtlbHkoYW1kZ3B1X2JvX3VucGluKG5ld19hYm8pICE9IDAp KSB7Ci0JCURSTV9FUlJPUigiZmFpbGVkIHRvIHVucGluIG5ldyBhYm8gaW4gZXJyb3IgcGF0aFxu Iik7Ci0JfQorCWFtZGdwdV9mbGlwX2NsZWFudXBfdW5waW4od29yaywgbmV3X2Fibyk7CisJcmV0 dXJuIHI7CisKIHVucmVzZXJ2ZToKLQlhbWRncHVfYm9fdW5yZXNlcnZlKG5ld19hYm8pOworCWFt ZGdwdV9mbGlwX2NsZWFudXBfdW5yZXNlcnZlKHdvcmssIG5ld19hYm8pOworCXJldHVybiByOwog CiBjbGVhbnVwOgotCWFtZGdwdV9ib191bnJlZigmd29yay0+b2xkX2Fibyk7Ci0JZG1hX2ZlbmNl X3B1dCh3b3JrLT5leGNsKTsKLQlmb3IgKGkgPSAwOyBpIDwgd29yay0+c2hhcmVkX2NvdW50OyAr K2kpCi0JCWRtYV9mZW5jZV9wdXQod29yay0+c2hhcmVkW2ldKTsKLQlrZnJlZSh3b3JrLT5zaGFy ZWQpOwotCWtmcmVlKHdvcmspOwotCisJYW1kZ3B1X2ZsaXBfd29ya19jbGVhbnVwKHdvcmspOwog CXJldHVybiByOworCit9CisKK3ZvaWQgYW1kZ3B1X2NydGNfc3VibWl0X2ZsaXAoCisJCXN0cnVj dCBkcm1fY3J0YyAqY3J0YywKKwkJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCisJCXN0cnVj dCBhbWRncHVfZmxpcF93b3JrICp3b3JrLAorCQlzdHJ1Y3QgYW1kZ3B1X2JvICpuZXdfYWJvKQor eworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3RydWN0IGFtZGdwdV9jcnRjICphbWRncHVfY3J0 YyA9IHRvX2FtZGdwdV9jcnRjKGNydGMpOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmNydGMtPmRl di0+ZXZlbnRfbG9jaywgZmxhZ3MpOworCWFtZGdwdV9jcnRjLT5wZmxpcF9zdGF0dXMgPSBBTURH UFVfRkxJUF9QRU5ESU5HOworCWFtZGdwdV9jcnRjLT5wZmxpcF93b3JrcyA9IHdvcms7CisKKwkv KiB1cGRhdGUgY3J0YyBmYiAqLworCWNydGMtPnByaW1hcnktPmZiID0gZmI7CisJc3Bpbl91bmxv Y2tfaXJxcmVzdG9yZSgmY3J0Yy0+ZGV2LT5ldmVudF9sb2NrLCBmbGFncyk7CisKKwlEUk1fREVC VUdfRFJJVkVSKAorCQkJImNydGM6JWRbJXBdLCBwZmxpcF9zdGF0OkFNREdQVV9GTElQX1BFTkRJ TkcsIHdvcms6ICVwLFxuIiwKKwkJCWFtZGdwdV9jcnRjLT5jcnRjX2lkLCBhbWRncHVfY3J0Yywg d29yayk7CisKKwlhbWRncHVfZmxpcF93b3JrX2Z1bmMoJndvcmstPmZsaXBfd29yay53b3JrKTsK K30KKworaW50IGFtZGdwdV9jcnRjX3BhZ2VfZmxpcF90YXJnZXQoc3RydWN0IGRybV9jcnRjICpj cnRjLAorCQkJICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKKwkJCSAgc3RydWN0IGRybV9w ZW5kaW5nX3ZibGFua19ldmVudCAqZXZlbnQsCisJCQkgIHVpbnQzMl90IHBhZ2VfZmxpcF9mbGFn cywKKwkJCSAgdWludDMyX3QgdGFyZ2V0KQoreworCXN0cnVjdCBhbWRncHVfYm8gKm5ld19hYm87 CisJc3RydWN0IGFtZGdwdV9mbGlwX3dvcmsgKndvcms7CisJaW50IHIgPSBhbWRncHVfY3J0Y19w cmVwYXJlX2ZsaXAoCisJCQljcnRjLAorCQkJZmIsCisJCQlldmVudCwKKwkJCXBhZ2VfZmxpcF9m bGFncywKKwkJCXRhcmdldCwKKwkJCSZ3b3JrLAorCQkJJm5ld19hYm8pOworCisJaWYgKHIpCisJ CXJldHVybiByOworCisJYW1kZ3B1X2NydGNfc3VibWl0X2ZsaXAoCisJCQljcnRjLAorCQkJZmIs CisJCQl3b3JrLAorCQkJbmV3X2Fibyk7CisKKwlyZXR1cm4gMDsKIH0KIAogaW50IGFtZGdwdV9j cnRjX3NldF9jb25maWcoc3RydWN0IGRybV9tb2RlX3NldCAqc2V0KQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X21vZGUuaCBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9tb2RlLmgKaW5kZXggYjYwMzQ2Ny4uYjZkM2JjMyAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X21vZGUuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfbW9kZS5oCkBAIC01OTUsNiArNTk1LDIzIEBAIGlu dCBhbWRncHVfY3J0Y19wYWdlX2ZsaXBfdGFyZ2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJ CQkgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJCQkJIHN0cnVjdCBkcm1fcGVuZGluZ192 YmxhbmtfZXZlbnQgKmV2ZW50LAogCQkJCSB1aW50MzJfdCBwYWdlX2ZsaXBfZmxhZ3MsIHVpbnQz Ml90IHRhcmdldCk7Cit2b2lkIGFtZGdwdV9jcnRjX2NsZWFudXBfZmxpcF9jdHgoCisJCXN0cnVj dCBhbWRncHVfZmxpcF93b3JrICp3b3JrLAorCQlzdHJ1Y3QgYW1kZ3B1X2JvICpuZXdfYWJvKTsK K2ludCBhbWRncHVfY3J0Y19wcmVwYXJlX2ZsaXAoc3RydWN0IGRybV9jcnRjICpjcnRjLAorCQkJ ICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKKwkJCSAgc3RydWN0IGRybV9wZW5kaW5nX3Zi bGFua19ldmVudCAqZXZlbnQsCisJCQkgIHVpbnQzMl90IHBhZ2VfZmxpcF9mbGFncywKKwkJCSAg dWludDMyX3QgdGFyZ2V0LAorCQkJICBzdHJ1Y3QgYW1kZ3B1X2ZsaXBfd29yayAqKndvcmssCisJ CQkgIHN0cnVjdCBhbWRncHVfYm8gKipuZXdfYWJvKTsKKwordm9pZCBhbWRncHVfY3J0Y19zdWJt aXRfZmxpcCgKKwkJc3RydWN0IGRybV9jcnRjICpjcnRjLAorCQlzdHJ1Y3QgZHJtX2ZyYW1lYnVm ZmVyICpmYiwKKwkJc3RydWN0IGFtZGdwdV9mbGlwX3dvcmsgKndvcmssCisJCXN0cnVjdCBhbWRn cHVfYm8gKm5ld19hYm8pOworCiBleHRlcm4gY29uc3Qgc3RydWN0IGRybV9tb2RlX2NvbmZpZ19m dW5jcyBhbWRncHVfbW9kZV9mdW5jczsKIAogI2VuZGlmCi0tIAoyLjUuNQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QK YW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==