From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH 4/5] drm/amdgpu: enable amdgpu_move_blit to handle multiple MM nodes Date: Mon, 29 Aug 2016 11:20:23 +0200 Message-ID: <1472462424-3052-5-git-send-email-deathsimple@vodafone.de> References: <1472462424-3052-1-git-send-email-deathsimple@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1472462424-3052-1-git-send-email-deathsimple-ANTagKRnAhcb1SvskN2V4Q@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 RnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgoKVGhpcyBh bGxvd3MgdXMgdG8gbW92ZSBzY2F0dGVyZWQgYnVmZmVycyBhcm91bmQuCgpTaWduZWQtb2ZmLWJ5 OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jIHwgOTYgKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNjQgaW5zZXJ0aW9ucygrKSwgMzIgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X3R0bS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jCmluZGV4IGVh NDgwYmIuLmRiODYzOGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV90dG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMK QEAgLTIzOSw1MiArMjM5LDg0IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9tb3ZlX251bGwoc3RydWN0 IHR0bV9idWZmZXJfb2JqZWN0ICpibywKIAluZXdfbWVtLT5tbV9ub2RlID0gTlVMTDsKIH0KIAot c3RhdGljIGludCBhbWRncHVfbW92ZV9ibGl0KHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8s Ci0JCQlib29sIGV2aWN0LCBib29sIG5vX3dhaXRfZ3B1LAotCQkJc3RydWN0IHR0bV9tZW1fcmVn ICpuZXdfbWVtLAotCQkJc3RydWN0IHR0bV9tZW1fcmVnICpvbGRfbWVtKQorc3RhdGljIHVpbnQ2 NF90IGFtZGdwdV9tbV9ub2RlX2FkZHIoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCisJCQkJ ICAgIHN0cnVjdCBkcm1fbW1fbm9kZSAqbW1fbm9kZSwKKwkJCQkgICAgc3RydWN0IHR0bV9tZW1f cmVnICptZW0pCiB7Ci0Jc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXY7Ci0Jc3RydWN0IGFtZGdw dV9yaW5nICpyaW5nOwotCXVpbnQ2NF90IG9sZF9zdGFydCwgbmV3X3N0YXJ0OwotCXN0cnVjdCBm ZW5jZSAqZmVuY2U7Ci0JaW50IHI7CisJdWludDY0X3QgYWRkciA9IG1tX25vZGUtPnN0YXJ0IDw8 IFBBR0VfU0hJRlQ7CiAKLQlhZGV2ID0gYW1kZ3B1X2dldF9hZGV2KGJvLT5iZGV2KTsKLQlyaW5n ID0gYWRldi0+bW1hbi5idWZmZXJfZnVuY3NfcmluZzsKLQlvbGRfc3RhcnQgPSAodTY0KW9sZF9t ZW0tPnN0YXJ0IDw8IFBBR0VfU0hJRlQ7Ci0JbmV3X3N0YXJ0ID0gKHU2NCluZXdfbWVtLT5zdGFy dCA8PCBQQUdFX1NISUZUOwotCi0Jc3dpdGNoIChvbGRfbWVtLT5tZW1fdHlwZSkgeworCXN3aXRj aCAobWVtLT5tZW1fdHlwZSkgewogCWNhc2UgVFRNX1BMX1ZSQU06CiAJY2FzZSBUVE1fUExfVFQ6 Ci0JCW9sZF9zdGFydCArPSBiby0+YmRldi0+bWFuW29sZF9tZW0tPm1lbV90eXBlXS5ncHVfb2Zm c2V0OworCQlhZGRyICs9IGFkZXYtPm1tYW4uYmRldi5tYW5bbWVtLT5tZW1fdHlwZV0uZ3B1X29m ZnNldDsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKLQkJRFJNX0VSUk9SKCJVbmtub3duIHBsYWNlbWVu dCAlZFxuIiwgb2xkX21lbS0+bWVtX3R5cGUpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0Jc3dp dGNoIChuZXdfbWVtLT5tZW1fdHlwZSkgewotCWNhc2UgVFRNX1BMX1ZSQU06Ci0JY2FzZSBUVE1f UExfVFQ6Ci0JCW5ld19zdGFydCArPSBiby0+YmRldi0+bWFuW25ld19tZW0tPm1lbV90eXBlXS5n cHVfb2Zmc2V0OworCQlEUk1fRVJST1IoIlVua25vd24gcGxhY2VtZW50ICVkXG4iLCBtZW0tPm1l bV90eXBlKTsKIAkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJRFJNX0VSUk9SKCJVbmtub3duIHBsYWNl bWVudCAlZFxuIiwgb2xkX21lbS0+bWVtX3R5cGUpOwotCQlyZXR1cm4gLUVJTlZBTDsKIAl9CisK KwlyZXR1cm4gYWRkcjsKK30KKworc3RhdGljIGludCBhbWRncHVfbW92ZV9ibGl0KHN0cnVjdCB0 dG1fYnVmZmVyX29iamVjdCAqYm8sCisJCQkgICAgYm9vbCBldmljdCwgYm9vbCBub193YWl0X2dw dSwKKwkJCSAgICBzdHJ1Y3QgdHRtX21lbV9yZWcgKm5ld19tZW0sCisJCQkgICAgc3RydWN0IHR0 bV9tZW1fcmVnICpvbGRfbWVtKQoreworCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gYW1k Z3B1X2dldF9hZGV2KGJvLT5iZGV2KTsKKwlzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcgPSBhZGV2 LT5tbWFuLmJ1ZmZlcl9mdW5jc19yaW5nOworCisJc3RydWN0IGRybV9tbV9ub2RlICpvbGRfbW0s ICpuZXdfbW07CisJdWludDY0X3Qgb2xkX3N0YXJ0LCBuZXdfc3RhcnQ7CisJdW5zaWduZWQgbG9u ZyBudW1fcGFnZXM7CisJc3RydWN0IGZlbmNlICpmZW5jZSA9IE5VTEw7CisJaW50IHI7CisKKwlC VUlMRF9CVUdfT04oKFBBR0VfU0laRSAlIEFNREdQVV9HUFVfUEFHRV9TSVpFKSAhPSAwKTsKKwog CWlmICghcmluZy0+cmVhZHkpIHsKIAkJRFJNX0VSUk9SKCJUcnlpbmcgdG8gbW92ZSBtZW1vcnkg d2l0aCByaW5nIHR1cm5lZCBvZmYuXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCi0JQlVJ TERfQlVHX09OKChQQUdFX1NJWkUgJSBBTURHUFVfR1BVX1BBR0VfU0laRSkgIT0gMCk7CisJb2xk X21tID0gb2xkX21lbS0+bW1fbm9kZTsKKwluZXdfbW0gPSBuZXdfbWVtLT5tbV9ub2RlOworCW51 bV9wYWdlcyA9IG5ld19tZW0tPm51bV9wYWdlczsKIAotCXIgPSBhbWRncHVfY29weV9idWZmZXIo cmluZywgb2xkX3N0YXJ0LCBuZXdfc3RhcnQsCi0JCQkgICAgICAgbmV3X21lbS0+bnVtX3BhZ2Vz ICogUEFHRV9TSVpFLCAvKiBieXRlcyAqLwotCQkJICAgICAgIGJvLT5yZXN2LCAmZmVuY2UsIGZh bHNlKTsKLQlpZiAocikKLQkJcmV0dXJuIHI7CisJb2xkX3N0YXJ0ID0gYW1kZ3B1X21tX25vZGVf YWRkcihhZGV2LCBvbGRfbW0sIG9sZF9tZW0pOworCW5ld19zdGFydCA9IGFtZGdwdV9tbV9ub2Rl X2FkZHIoYWRldiwgbmV3X21tLCBuZXdfbWVtKTsKKworCXdoaWxlIChudW1fcGFnZXMpIHsKKwkJ dW5zaWduZWQgbG9uZyBjdXJfcGFnZXMgPSBtaW4ob2xkX21tLT5zaXplLCBuZXdfbW0tPnNpemUp OworCQlzdHJ1Y3QgZmVuY2UgKm5leHQ7CisKKwkJciA9IGFtZGdwdV9jb3B5X2J1ZmZlcihyaW5n LCBvbGRfc3RhcnQsIG5ld19zdGFydCwKKwkJCQkgICAgICAgY3VyX3BhZ2VzICogUEFHRV9TSVpF LAorCQkJCSAgICAgICBiby0+cmVzdiwgJm5leHQsIGZhbHNlKTsKKwkJaWYgKHIpIHsKKwkJCWlm IChmZW5jZSkKKwkJCQlmZW5jZV93YWl0KGZlbmNlLCBmYWxzZSk7CisJCQlmZW5jZV9wdXQoZmVu Y2UpOworCQkJcmV0dXJuIHI7CisJCX0KKwkJZmVuY2VfcHV0KGZlbmNlKTsKKwkJZmVuY2UgPSBu ZXh0OworCisJCW51bV9wYWdlcyAtPSBjdXJfcGFnZXM7CisJCWlmIChudW1fcGFnZXMpIHsKKwkJ CW9sZF9zdGFydCArPSBjdXJfcGFnZXMgKiBQQUdFX1NJWkU7CisJCQlpZiAob2xkX3N0YXJ0ID09 ICgob2xkX21tLT5zdGFydCArIG9sZF9tbS0+c2l6ZSkgKgorCQkJCVBBR0VfU0laRSkpCisJCQkJ b2xkX3N0YXJ0ID0gYW1kZ3B1X21tX25vZGVfYWRkcihhZGV2LCArK29sZF9tbSwKKwkJCQkJCQkJ b2xkX21lbSk7CisKKwkJCW5ld19zdGFydCArPSBjdXJfcGFnZXMgKiBQQUdFX1NJWkU7CisJCQlp ZiAobmV3X3N0YXJ0ID09ICgobmV3X21tLT5zdGFydCArIG5ld19tbS0+c2l6ZSkgKgorCQkJCQkg IFBBR0VfU0laRSkpCisJCQkJbmV3X3N0YXJ0ID0gYW1kZ3B1X21tX25vZGVfYWRkcihhZGV2LCAr K25ld19tbSwKKwkJCQkJCQkJbmV3X21lbSk7CisJCX0KKwl9CiAKIAlyID0gdHRtX2JvX3BpcGVs aW5lX21vdmUoYm8sIGZlbmNlLCBldmljdCwgbmV3X21lbSk7CiAJZmVuY2VfcHV0KGZlbmNlKTsK LS0gCjIuNS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK