From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunming Zhou Subject: [PATCH 03/10] drm/amdgpu: implement vm recovery function from shadow V2 Date: Mon, 15 Aug 2016 14:06:35 +0800 Message-ID: <1471241202-11463-4-git-send-email-David1.Zhou@amd.com> References: <1471241202-11463-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: <1471241202-11463-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 VjI6CmEuIGNoZWNrIHRoZSBwdC9wZCBpZiBldmljdGVkLCBubyBuZWVkIHRvIHJlY292ZXIgZm9y IGV2aWN0ZWQgcHQvcGQgYm8uCmIuIHJldHVybiBmZW5jZSB0byBjYWxsZXIuCgpDaGFuZ2UtSWQ6 IEk0Njc4MzA0M2VlY2JlOWZjOWMyY2U5MjMwYmUxMDg1YWNhMzczMWJkClNpZ25lZC1vZmYtYnk6 IENodW5taW5nIFpob3UgPERhdmlkMS5aaG91QGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1LmggICAgfCAgMyArKwogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X3ZtLmMgfCA1OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAy IGZpbGVzIGNoYW5nZWQsIDYyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdS5oCmluZGV4IDIyOWJiMzIuLjUwZmQ5NzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdS5oCkBAIC0xMDEwLDYgKzEwMTAsOSBAQCBpbnQgYW1kZ3B1X3ZtX2JvX3VubWFwKHN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2LAogCQkgICAgICAgdWludDY0X3QgYWRkcik7CiB2b2lkIGFt ZGdwdV92bV9ib19ybXYoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCSAgICAgIHN0cnVj dCBhbWRncHVfYm9fdmEgKmJvX3ZhKTsKK2ludCBhbWRncHVfdm1fcmVjb3Zlcl9wYWdlX3RhYmxl X2Zyb21fc2hhZG93KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAorCQkJCQkgICAgIHN0cnVj dCBhbWRncHVfdm0gKnZtLAorCQkJCQkgICAgIHN0cnVjdCBmZW5jZSAqKmZlbmNlKTsKIAogLyoK ICAqIGNvbnRleHQgcmVsYXRlZCBzdHJ1Y3R1cmVzCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV92bS5jCmluZGV4IDI4NDMxMzIuLjkxNWE0MWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV92bS5jCkBAIC03MDAsNiArNzAwLDY1IEBAIGVycm9yX2ZyZWU6CiAJcmV0dXJu IHI7CiB9CiAKK2ludCBhbWRncHVfdm1fcmVjb3Zlcl9wYWdlX3RhYmxlX2Zyb21fc2hhZG93KHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAorCQkJCQkgICAgIHN0cnVjdCBhbWRncHVfdm0gKnZt LAorCQkJCQkgICAgIHN0cnVjdCBmZW5jZSAqKmZlbmNlKQoreworCXN0cnVjdCBhbWRncHVfcmlu ZyAqcmluZyA9IGFkZXYtPm1tYW4uYnVmZmVyX2Z1bmNzX3Jpbmc7CisJc3RydWN0IGZlbmNlICpm OworCXVpbnQ2NF90IHB0X2lkeDsKKwl1aW50MzJfdCBkb21haW47CisJaW50IHI7CisKKwlpZiAo IXZtLT5wYWdlX2RpcmVjdG9yeS0+c2hhZG93KQorCQlyZXR1cm4gMDsKKworCXIgPSBhbWRncHVf Ym9fcmVzZXJ2ZSh2bS0+cGFnZV9kaXJlY3RvcnksIGZhbHNlKTsKKwlpZiAocikKKwkJcmV0dXJu IHI7CisJZG9tYWluID0gYW1kZ3B1X21lbV90eXBlX3RvX2RvbWFpbih2bS0+cGFnZV9kaXJlY3Rv cnktPnRiby5tZW0ubWVtX3R5cGUpOworCS8qIGlmIGJvIGhhcyBiZWVuIGV2aWN0ZWQsIHRoZW4g bm8gbmVlZCB0byByZWNvdmVyICovCisJaWYgKGRvbWFpbiA9PSBBTURHUFVfR0VNX0RPTUFJTl9W UkFNKSB7CisJCXZtLT5wYWdlX2RpcmVjdG9yeS0+YmFja3VwX3NoYWRvdyA9IEFNREdQVV9CT19T SEFET1dfVE9fUEFSRU5UOworCQlyID0gYW1kZ3B1X2JvX2JhY2t1cF9zaGFkb3coYWRldiwgcmlu ZywKKwkJCQkJICAgIHZtLT5wYWdlX2RpcmVjdG9yeSwKKwkJCQkJICAgIE5VTEwsICZmLCB0cnVl KTsKKwkJaWYgKHIpIHsKKwkJCURSTV9FUlJPUigicmVjb3ZlciBwYWdlIHRhYmxlIGZhaWxlZCFc biIpOworCQkJZ290byBlcnI7CisJCX0KKwkJaWYgKGZlbmNlKSB7CisJCQlmZW5jZV9wdXQoKmZl bmNlKTsKKwkJCSpmZW5jZSA9IGZlbmNlX2dldChmKTsKKwkJfQorCX0KKwlmb3IgKHB0X2lkeCA9 IDA7IHB0X2lkeCA8PSB2bS0+bWF4X3BkZV91c2VkOyArK3B0X2lkeCkgeworCQlzdHJ1Y3QgYW1k Z3B1X2JvICpibyA9IHZtLT5wYWdlX3RhYmxlc1twdF9pZHhdLmVudHJ5LnJvYmo7CisKKwkJaWYg KCFibykKKwkJCWNvbnRpbnVlOworCQlkb21haW4gPSBhbWRncHVfbWVtX3R5cGVfdG9fZG9tYWlu KGJvLT50Ym8ubWVtLm1lbV90eXBlKTsKKwkJLyogaWYgYm8gaGFzIGJlZW4gZXZpY3RlZCwgdGhl biBubyBuZWVkIHRvIHJlY292ZXIgKi8KKwkJaWYgKGRvbWFpbiAhPSBBTURHUFVfR0VNX0RPTUFJ Tl9WUkFNKQorCQkJY29udGludWU7CisKKwkJYm8tPmJhY2t1cF9zaGFkb3cgPSBBTURHUFVfQk9f U0hBRE9XX1RPX1BBUkVOVDsKKwkJciA9IGFtZGdwdV9ib19iYWNrdXBfc2hhZG93KGFkZXYsIHJp bmcsIGJvLAorCQkJCQkgICAgTlVMTCwgJmYsIHRydWUpOworCQlpZiAocikgeworCQkJRFJNX0VS Uk9SKCJyZWNvdmVyIHBhZ2UgdGFibGUgZmFpbGVkIVxuIik7CisJCQlnb3RvIGVycjsKKwkJCWlm IChmZW5jZSkgeworCQkJCWZlbmNlX3B1dCgqZmVuY2UpOworCQkJCSpmZW5jZSA9IGZlbmNlX2dl dChmKTsKKwkJCX0KKwkJfQorCX0KKworZXJyOgorCWFtZGdwdV9ib191bnJlc2VydmUodm0tPnBh Z2VfZGlyZWN0b3J5KTsKKwlyZXR1cm4gcjsKK30KIC8qKgogICogYW1kZ3B1X3ZtX3VwZGF0ZV9w dGVzIC0gbWFrZSBzdXJlIHRoYXQgcGFnZSB0YWJsZXMgYXJlIHZhbGlkCiAgKgotLSAKMS45LjEK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZngg bWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=