From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunming Zhou Subject: [PATCH 06/18] drm/amdgpu: implement vm recovery function from shadow Date: Fri, 12 Aug 2016 14:38:55 +0800 Message-ID: <1470983947-32579-7-git-send-email-David1.Zhou@amd.com> References: <1470983947-32579-1-git-send-email-David1.Zhou@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1470983947-32579-1-git-send-email-David1.Zhou-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: Chunming Zhou Q2hhbmdlLUlkOiBJNDY3ODMwNDNlZWNiZTlmYzljMmNlOTIzMGJlMTA4NWFjYTM3MzFiZApTaWdu ZWQtb2ZmLWJ5OiBDaHVubWluZyBaaG91IDxEYXZpZDEuWmhvdUBhbWQuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oICAgIHwgIDQgKysrCiBkcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYyB8IDQ4ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNTIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1LmgKaW5kZXggMzhlZDZjNC4uZjZkZjc3ZiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1LmgKQEAgLTkyMiw2ICs5MjIsOCBAQCBzdHJ1Y3QgYW1kZ3B1X3ZtIHsK IAogCS8qIGNsaWVudCBpZCAqLwogCXU2NCAgICAgICAgICAgICAgICAgICAgIGNsaWVudF9pZDsK KworCXN0cnVjdCBmZW5jZSAgICAgICAgICAgICpzaGFkb3dfc3luY19mZW5jZTsKIH07CiAKIHN0 cnVjdCBhbWRncHVfdm1faWQgewpAQCAtMTAxMiw2ICsxMDE0LDggQEAgaW50IGFtZGdwdV92bV9i b191bm1hcChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAkJICAgICAgIHVpbnQ2NF90IGFk ZHIpOwogdm9pZCBhbWRncHVfdm1fYm9fcm12KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAog CQkgICAgICBzdHJ1Y3QgYW1kZ3B1X2JvX3ZhICpib192YSk7CitpbnQgYW1kZ3B1X3ZtX3JlY292 ZXJfcGFnZV90YWJsZV9mcm9tX3NoYWRvdyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKKwkJ CQkJICAgICBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSk7CiAKIC8qCiAgKiBjb250ZXh0IHJlbGF0ZWQg c3RydWN0dXJlcwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X3ZtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYwppbmRleCBjMWIz N2RjLi4zNzc1ZTliIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfdm0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYwpAQCAt NzAyLDYgKzcwMiw1MiBAQCBlcnJvcl9mcmVlOgogCXJldHVybiByOwogfQogCitpbnQgYW1kZ3B1 X3ZtX3JlY292ZXJfcGFnZV90YWJsZV9mcm9tX3NoYWRvdyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAq YWRldiwKKwkJCQkJICAgICBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSkKK3sKKwlzdHJ1Y3QgYW1kZ3B1 X3JpbmcgKnJpbmcgPSBhZGV2LT5tbWFuLmJ1ZmZlcl9mdW5jc19yaW5nOworCXN0cnVjdCBmZW5j ZSAqZmVuY2U7CisJdWludDY0X3QgcHRfaWR4OworCWludCByOworCisJaWYgKCF2bS0+cGFnZV9k aXJlY3RvcnktPnNoYWRvdykKKwkJcmV0dXJuIDA7CisKKwlyID0gYW1kZ3B1X2JvX3Jlc2VydmUo dm0tPnBhZ2VfZGlyZWN0b3J5LCBmYWxzZSk7CisJaWYgKHIpCisJCXJldHVybiByOworCXZtLT5w YWdlX2RpcmVjdG9yeS0+YmFja3VwX3NoYWRvdyA9IEFNREdQVV9CT19TSEFET1dfVE9fUEFSRU5U OworCXIgPSBhbWRncHVfYm9fc3luY19iZXR3ZWVuX2JvX2FuZF9zaGFkb3coYWRldiwgcmluZywK KwkJCQkJCSB2bS0+cGFnZV9kaXJlY3RvcnksCisJCQkJCQkgTlVMTCwgJmZlbmNlKTsKKwlpZiAo cikgeworCQlEUk1fRVJST1IoInJlY292ZXIgcGFnZSB0YWJsZSBmYWlsZWQhXG4iKTsKKwkJZ290 byBlcnI7CisJfQorCWZlbmNlX3B1dCh2bS0+c2hhZG93X3N5bmNfZmVuY2UpOworCXZtLT5zaGFk b3dfc3luY19mZW5jZSA9IGZlbmNlX2dldChmZW5jZSk7CisJZmVuY2VfcHV0KGZlbmNlKTsKKwlm b3IgKHB0X2lkeCA9IDA7IHB0X2lkeCA8PSB2bS0+bWF4X3BkZV91c2VkOyArK3B0X2lkeCkgewor CQlzdHJ1Y3QgYW1kZ3B1X2JvICpibyA9IHZtLT5wYWdlX3RhYmxlc1twdF9pZHhdLmVudHJ5LnJv Ymo7CisKKwkJaWYgKCFibykKKwkJCWNvbnRpbnVlOworCQliby0+YmFja3VwX3NoYWRvdyA9IEFN REdQVV9CT19TSEFET1dfVE9fUEFSRU5UOworCQlyID0gYW1kZ3B1X2JvX3N5bmNfYmV0d2Vlbl9i b19hbmRfc2hhZG93KGFkZXYsIHJpbmcsIGJvLAorCQkJCQkJCSBOVUxMLCAmZmVuY2UpOworCQlp ZiAocikgeworCQkJRFJNX0VSUk9SKCJyZWNvdmVyIHBhZ2UgdGFibGUgZmFpbGVkIVxuIik7CisJ CQlnb3RvIGVycjsKKwkJfQorCQlmZW5jZV9wdXQodm0tPnNoYWRvd19zeW5jX2ZlbmNlKTsKKwkJ dm0tPnNoYWRvd19zeW5jX2ZlbmNlID0gZmVuY2VfZ2V0KGZlbmNlKTsKKwkJZmVuY2VfcHV0KGZl bmNlKTsKKwl9CisKK2VycjoKKwlhbWRncHVfYm9fdW5yZXNlcnZlKHZtLT5wYWdlX2RpcmVjdG9y eSk7CisJcmV0dXJuIHI7Cit9CiAvKioKICAqIGFtZGdwdV92bV9mcmFnX3B0ZXMgLSBhZGQgZnJh Z21lbnQgaW5mb3JtYXRpb24gdG8gUFRFcwogICoKQEAgLTE1NTYsNiArMTYwMiw3IEBAIGludCBh bWRncHVfdm1faW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0IGFtZGdwdV92 bSAqdm0pCiAJaWYgKHIpCiAJCWdvdG8gZXJyb3JfZnJlZV9wYWdlX2RpcmVjdG9yeTsKIAl2bS0+ bGFzdF9ldmljdGlvbl9jb3VudGVyID0gYXRvbWljNjRfcmVhZCgmYWRldi0+bnVtX2V2aWN0aW9u cyk7CisJdm0tPnNoYWRvd19zeW5jX2ZlbmNlID0gTlVMTDsKIAogCXJldHVybiAwOwogCkBAIC0x NjEzLDYgKzE2NjAsNyBAQCB2b2lkIGFtZGdwdV92bV9maW5pKHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2LCBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSkKIAkJYW1kZ3B1X2JvX3VucmVmKCZ2bS0+cGFn ZV9kaXJlY3RvcnktPnNoYWRvdyk7CiAJYW1kZ3B1X2JvX3VucmVmKCZ2bS0+cGFnZV9kaXJlY3Rv cnkpOwogCWZlbmNlX3B1dCh2bS0+cGFnZV9kaXJlY3RvcnlfZmVuY2UpOworCWZlbmNlX3B1dCh2 bS0+c2hhZG93X3N5bmNfZmVuY2UpOwogfQogCiAvKioKLS0gCjEuOS4xCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAph bWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK