From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrey Grodzovsky Subject: [PATCH v2 1/2] drm/amdgpu: Refactor amdgpu_cs_ib_vm_chunk and amdgpu_cs_ib_fill. Date: Tue, 10 Oct 2017 16:50:16 -0400 Message-ID: <1507668617-27299-1-git-send-email-andrey.grodzovsky@amd.com> References: <715810ad-26cc-506d-624d-8e5024968ea0@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <715810ad-26cc-506d-624d-8e5024968ea0-Re5JQEeQqe8AvxtiuMwx3w@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: christian.koenig-5C7GfCeVMHo@public.gmane.org, Monk.Liu-5C7GfCeVMHo@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Andrey Grodzovsky VGhpcyBlbmFibGVzIG9sZCBmZW5jZSB3YWl0aW5nIGJlZm9yZSByZXNlcnZhdGlvbiBsb2NrIGlz IGFxdWlyZWQKd2hpY2ggaW4gdHVybiBpcyBwYXJ0IG9mIGEgYmlnZ2VyIHNvbHV0aW9uIHRvIGRl YWRsb2NrIGhhcHBlbmluZwp3aGVuIGdwdSByZXNldCB3aXRoIFZSQU0gcmVjb3ZlcnkgYWNjdXJl cyBkdXJpbmcgaW50ZW5zaXZlIHJlbmRlcmluZy4KClNpZ25lZC1vZmYtYnk6IEFuZHJleSBHcm9k em92c2t5IDxhbmRyZXkuZ3JvZHpvdnNreUBhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9jcy5jIHwgMTExICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDY0IGluc2VydGlvbnMoKyksIDQ3IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMKaW5kZXggZmU3ZGQ0NC4uMWE1NGU1 MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMKQEAgLTczOSw2ICs3Mzks NyBAQCBzdGF0aWMgdm9pZCBhbWRncHVfY3NfcGFyc2VyX2Zpbmkoc3RydWN0IGFtZGdwdV9jc19w YXJzZXIgKnBhcnNlciwgaW50IGVycm9yLAogCiAJaWYgKHBhcnNlci0+Y3R4KQogCQlhbWRncHVf Y3R4X3B1dChwYXJzZXItPmN0eCk7CisKIAlpZiAocGFyc2VyLT5ib19saXN0KQogCQlhbWRncHVf Ym9fbGlzdF9wdXQocGFyc2VyLT5ib19saXN0KTsKIApAQCAtODQ1LDcgKzg0Niw1NiBAQCBzdGF0 aWMgaW50IGFtZGdwdV9jc19pYl92bV9jaHVuayhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwK IAlzdHJ1Y3QgYW1kZ3B1X2Zwcml2ICpmcHJpdiA9IHAtPmZpbHAtPmRyaXZlcl9wcml2OwogCXN0 cnVjdCBhbWRncHVfdm0gKnZtID0gJmZwcml2LT52bTsKIAlzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJp bmcgPSBwLT5qb2ItPnJpbmc7Ci0JaW50IGksIHI7CisJaW50IGksIGosIHI7CisKKwlmb3IgKGkg PSAwLCBqID0gMDsgaSA8IHAtPm5jaHVua3MgJiYgaiA8IHAtPmpvYi0+bnVtX2liczsgaSsrKSB7 CisKKwkJc3RydWN0IGFtZGdwdV9jc19jaHVuayAqY2h1bms7CisJCXN0cnVjdCBhbWRncHVfaWIg KmliOworCQlzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19pYiAqY2h1bmtfaWI7CisKKwkJY2h1 bmsgPSAmcC0+Y2h1bmtzW2ldOworCQlpYiA9ICZwLT5qb2ItPmlic1tqXTsKKwkJY2h1bmtfaWIg PSAoc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfaWIgKiljaHVuay0+a2RhdGE7CisKKwkJaWYg KGNodW5rLT5jaHVua19pZCAhPSBBTURHUFVfQ0hVTktfSURfSUIpCisJCQkJICAgICAgIGNvbnRp bnVlOworCisJCWlmIChwLT5qb2ItPnJpbmctPmZ1bmNzLT5wYXJzZV9jcykgeworCQkJc3RydWN0 IGFtZGdwdV9ib192YV9tYXBwaW5nICptOworCQkJc3RydWN0IGFtZGdwdV9ibyAqYW9iaiA9IE5V TEw7CisJCQl1aW50NjRfdCBvZmZzZXQ7CisJCQl1aW50OF90ICprcHRyOworCisJCQlyID0gYW1k Z3B1X2NzX2ZpbmRfbWFwcGluZyhwLCBjaHVua19pYi0+dmFfc3RhcnQsCisJCQkJCSZhb2JqLCAm bSk7CisJCQlpZiAocikgeworCQkJCURSTV9FUlJPUigiSUIgdmFfc3RhcnQgaXMgaW52YWxpZFxu Iik7CisJCQkJcmV0dXJuIHI7CisJCQl9CisKKwkJCWlmICgoY2h1bmtfaWItPnZhX3N0YXJ0ICsg Y2h1bmtfaWItPmliX2J5dGVzKSA+CisJCQkJKG0tPmxhc3QgKyAxKSAqIEFNREdQVV9HUFVfUEFH RV9TSVpFKSB7CisJCQkJRFJNX0VSUk9SKCJJQiB2YV9zdGFydCtpYl9ieXRlcyBpcyBpbnZhbGlk XG4iKTsKKwkJCQlyZXR1cm4gLUVJTlZBTDsKKwkJCX0KKworCQkJLyogdGhlIElCIHNob3VsZCBi ZSByZXNlcnZlZCBhdCB0aGlzIHBvaW50ICovCisJCQlyID0gYW1kZ3B1X2JvX2ttYXAoYW9iaiwg KHZvaWQgKiopJmtwdHIpOworCQkJaWYgKHIpIHsKKwkJCQlyZXR1cm4gcjsKKwkJCX0KKworCQkJ b2Zmc2V0ID0gbS0+c3RhcnQgKiBBTURHUFVfR1BVX1BBR0VfU0laRTsKKwkJCWtwdHIgKz0gY2h1 bmtfaWItPnZhX3N0YXJ0IC0gb2Zmc2V0OworCisJCQltZW1jcHkoaWItPnB0ciwga3B0ciwgY2h1 bmtfaWItPmliX2J5dGVzKTsKKwkJCWFtZGdwdV9ib19rdW5tYXAoYW9iaik7CisJCX0KKworCQlq Kys7CisJfQorCiAKIAkvKiBPbmx5IGZvciBVVkQvVkNFIFZNIGVtdWxhdGlvbiAqLwogCWlmIChy aW5nLT5mdW5jcy0+cGFyc2VfY3MpIHsKQEAgLTkxOSw1NCArOTY5LDIwIEBAIHN0YXRpYyBpbnQg YW1kZ3B1X2NzX2liX2ZpbGwoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAKIAkJcGFyc2Vy LT5qb2ItPnJpbmcgPSByaW5nOwogCi0JCWlmIChyaW5nLT5mdW5jcy0+cGFyc2VfY3MpIHsKLQkJ CXN0cnVjdCBhbWRncHVfYm9fdmFfbWFwcGluZyAqbTsKLQkJCXN0cnVjdCBhbWRncHVfYm8gKmFv YmogPSBOVUxMOwotCQkJdWludDY0X3Qgb2Zmc2V0OwotCQkJdWludDhfdCAqa3B0cjsKLQotCQkJ ciA9IGFtZGdwdV9jc19maW5kX21hcHBpbmcocGFyc2VyLCBjaHVua19pYi0+dmFfc3RhcnQsCi0J CQkJCQkgICAmYW9iaiwgJm0pOwotCQkJaWYgKHIpIHsKLQkJCQlEUk1fRVJST1IoIklCIHZhX3N0 YXJ0IGlzIGludmFsaWRcbiIpOwotCQkJCXJldHVybiByOwotCQkJfQotCi0JCQlpZiAoKGNodW5r X2liLT52YV9zdGFydCArIGNodW5rX2liLT5pYl9ieXRlcykgPgotCQkJICAgIChtLT5sYXN0ICsg MSkgKiBBTURHUFVfR1BVX1BBR0VfU0laRSkgewotCQkJCURSTV9FUlJPUigiSUIgdmFfc3RhcnQr aWJfYnl0ZXMgaXMgaW52YWxpZFxuIik7Ci0JCQkJcmV0dXJuIC1FSU5WQUw7Ci0JCQl9Ci0KLQkJ CS8qIHRoZSBJQiBzaG91bGQgYmUgcmVzZXJ2ZWQgYXQgdGhpcyBwb2ludCAqLwotCQkJciA9IGFt ZGdwdV9ib19rbWFwKGFvYmosICh2b2lkICoqKSZrcHRyKTsKLQkJCWlmIChyKSB7Ci0JCQkJcmV0 dXJuIHI7Ci0JCQl9Ci0KLQkJCW9mZnNldCA9IG0tPnN0YXJ0ICogQU1ER1BVX0dQVV9QQUdFX1NJ WkU7Ci0JCQlrcHRyICs9IGNodW5rX2liLT52YV9zdGFydCAtIG9mZnNldDsKLQotCQkJciA9ICBh bWRncHVfaWJfZ2V0KGFkZXYsIHZtLCBjaHVua19pYi0+aWJfYnl0ZXMsIGliKTsKLQkJCWlmIChy KSB7Ci0JCQkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gZ2V0IGliICFcbiIpOwotCQkJCXJldHVybiBy OwotCQkJfQotCi0JCQltZW1jcHkoaWItPnB0ciwga3B0ciwgY2h1bmtfaWItPmliX2J5dGVzKTsK LQkJCWFtZGdwdV9ib19rdW5tYXAoYW9iaik7Ci0JCX0gZWxzZSB7Ci0JCQlyID0gIGFtZGdwdV9p Yl9nZXQoYWRldiwgdm0sIDAsIGliKTsKLQkJCWlmIChyKSB7Ci0JCQkJRFJNX0VSUk9SKCJGYWls ZWQgdG8gZ2V0IGliICFcbiIpOwotCQkJCXJldHVybiByOwotCQkJfQotCisJCXIgPSAgYW1kZ3B1 X2liX2dldCgKKwkJCQlhZGV2LAorCQkJCXZtLAorCQkJCXJpbmctPmZ1bmNzLT5wYXJzZV9jcyA/ IGNodW5rX2liLT5pYl9ieXRlcyA6IDAsCisJCQkJaWIpOworCQlpZiAocikgeworCQkJRFJNX0VS Uk9SKCJGYWlsZWQgdG8gZ2V0IGliICFcbiIpOworCQkJcmV0dXJuIHI7CiAJCX0KIAogCQlpYi0+ Z3B1X2FkZHIgPSBjaHVua19pYi0+dmFfc3RhcnQ7CiAJCWliLT5sZW5ndGhfZHcgPSBjaHVua19p Yi0+aWJfYnl0ZXMgLyA0OwogCQlpYi0+ZmxhZ3MgPSBjaHVua19pYi0+ZmxhZ3M7CisKIAkJaisr OwogCX0KIApAQCAtMTIxMiw2ICsxMjI4LDEwIEBAIGludCBhbWRncHVfY3NfaW9jdGwoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxwKQogCQln b3RvIG91dDsKIAl9CiAKKwlyID0gYW1kZ3B1X2NzX2liX2ZpbGwoYWRldiwgJnBhcnNlcik7CisJ aWYgKHIpCisJCWdvdG8gb3V0OworCiAJciA9IGFtZGdwdV9jc19wYXJzZXJfYm9zKCZwYXJzZXIs IGRhdGEpOwogCWlmIChyKSB7CiAJCWlmIChyID09IC1FTk9NRU0pCkBAIC0xMjIyLDkgKzEyNDIs NiBAQCBpbnQgYW1kZ3B1X2NzX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRh dGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlscCkKIAl9CiAKIAlyZXNlcnZlZF9idWZmZXJzID0gdHJ1 ZTsKLQlyID0gYW1kZ3B1X2NzX2liX2ZpbGwoYWRldiwgJnBhcnNlcik7Ci0JaWYgKHIpCi0JCWdv dG8gb3V0OwogCiAJciA9IGFtZGdwdV9jc19kZXBlbmRlbmNpZXMoYWRldiwgJnBhcnNlcik7CiAJ aWYgKHIpIHsKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1n ZngK