From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH 3/5] drm/amdgpu: handle multiple MM nodes in the VMs Date: Mon, 29 Aug 2016 11:20:22 +0200 Message-ID: <1472462424-3052-4-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 bGxvd3MgdXMgdG8gbWFwIHNjYXR0ZXJlZCBWUkFNIEJPcyB0byB0aGUgVk1zLgoKU2lnbmVkLW9m Zi1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgotLS0KIGRy aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jIHwgNzkgKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQ0IGluc2VydGlvbnMoKyksIDM1 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV92bS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKaW5kZXgg ZWExYmQ2Ny4uZGY2NTA2ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X3ZtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMK QEAgLTEwNDgsOCArMTA0OCw4IEBAIGVycm9yX2ZyZWU6CiAgKiBAcGFnZXNfYWRkcjogRE1BIGFk ZHJlc3NlcyB0byB1c2UgZm9yIG1hcHBpbmcKICAqIEB2bTogcmVxdWVzdGVkIHZtCiAgKiBAbWFw cGluZzogbWFwcGVkIHJhbmdlIGFuZCBmbGFncyB0byB1c2UgZm9yIHRoZSB1cGRhdGUKLSAqIEBh ZGRyOiBhZGRyIHRvIHNldCB0aGUgYXJlYSB0bwogICogQGZsYWdzOiBIVyBmbGFncyBmb3IgdGhl IG1hcHBpbmcKKyAqIEBub2RlczogYXJyYXkgb2YgZHJtX21tX25vZGVzIHdpdGggdGhlIE1DIGFk ZHJlc3NlcwogICogQGZlbmNlOiBvcHRpb25hbCByZXN1bHRpbmcgZmVuY2UKICAqCiAgKiBTcGxp dCB0aGUgbWFwcGluZyBpbnRvIHNtYWxsZXIgY2h1bmtzIHNvIHRoYXQgZWFjaCB1cGRhdGUgZml0 cwpAQCAtMTA2MiwxMiArMTA2MiwxMSBAQCBzdGF0aWMgaW50IGFtZGdwdV92bV9ib19zcGxpdF9t YXBwaW5nKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCQkJCSAgICAgIGRtYV9hZGRyX3Qg KnBhZ2VzX2FkZHIsCiAJCQkJICAgICAgc3RydWN0IGFtZGdwdV92bSAqdm0sCiAJCQkJICAgICAg c3RydWN0IGFtZGdwdV9ib192YV9tYXBwaW5nICptYXBwaW5nLAotCQkJCSAgICAgIHVpbnQzMl90 IGZsYWdzLCB1aW50NjRfdCBhZGRyLAorCQkJCSAgICAgIHVpbnQzMl90IGZsYWdzLAorCQkJCSAg ICAgIHN0cnVjdCBkcm1fbW1fbm9kZSAqbm9kZXMsCiAJCQkJICAgICAgc3RydWN0IGZlbmNlICoq ZmVuY2UpCiB7Ci0JY29uc3QgdWludDY0X3QgbWF4X3NpemUgPSA2NFVMTCAqIDEwMjRVTEwgKiAx MDI0VUxMIC8gQU1ER1BVX0dQVV9QQUdFX1NJWkU7Ci0KLQl1aW50NjRfdCBzcmMgPSAwLCBzdGFy dCA9IG1hcHBpbmctPml0LnN0YXJ0OworCXVpbnQ2NF90IG9mZnNldCwgc3JjID0gMCwgc3RhcnQg PSBtYXBwaW5nLT5pdC5zdGFydDsKIAlpbnQgcjsKIAogCS8qIG5vcm1hbGx5LGJvX3ZhLT5mbGFn cyBvbmx5IGNvbnRpYW5zIFJFQURBQkxFIGFuZCBXSVJURUFCTEUgYml0IGdvIGhlcmUKQEAgLTEw ODAsMjMgKzEwNzksMzggQEAgc3RhdGljIGludCBhbWRncHVfdm1fYm9fc3BsaXRfbWFwcGluZyhz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAogCXRyYWNlX2FtZGdwdV92bV9ib191cGRhdGUo bWFwcGluZyk7CiAKLQlpZiAocGFnZXNfYWRkcikgewotCQlpZiAoZmxhZ3MgPT0gZ3R0X2ZsYWdz KQotCQkJc3JjID0gYWRldi0+Z2FydC50YWJsZV9hZGRyICsgKGFkZHIgPj4gMTIpICogODsKLQkJ YWRkciA9IDA7CisJb2Zmc2V0ID0gbWFwcGluZy0+b2Zmc2V0OworCWlmIChub2RlcykgeworCQl3 aGlsZSAob2Zmc2V0ID4gKG5vZGVzLT5zaXplIDw8IFBBR0VfU0hJRlQpKSB7CisJCQlvZmZzZXQg LT0gKG5vZGVzLT5zaXplIDw8IFBBR0VfU0hJRlQpOworCQkJKytub2RlczsKKwkJfQogCX0KLQlh ZGRyICs9IG1hcHBpbmctPm9mZnNldDsKIAotCWlmICghcGFnZXNfYWRkciB8fCBzcmMpCi0JCXJl dHVybiBhbWRncHVfdm1fYm9fdXBkYXRlX21hcHBpbmcoYWRldiwgZXhjbHVzaXZlLAotCQkJCQkJ ICAgc3JjLCBwYWdlc19hZGRyLCB2bSwKLQkJCQkJCSAgIHN0YXJ0LCBtYXBwaW5nLT5pdC5sYXN0 LAotCQkJCQkJICAgZmxhZ3MsIGFkZHIsIGZlbmNlKTsKKwlkbyB7CisJCXVpbnQ2NF90IG1heF9l bnRyaWVzOworCQl1aW50NjRfdCBhZGRyLCBsYXN0OwogCi0Jd2hpbGUgKHN0YXJ0ICE9IG1hcHBp bmctPml0Lmxhc3QgKyAxKSB7Ci0JCXVpbnQ2NF90IGxhc3Q7CisJCWlmIChub2RlcykgeworCQkJ YWRkciA9IG5vZGVzLT5zdGFydCA8PCBQQUdFX1NISUZUOworCQkJbWF4X2VudHJpZXMgPSBub2Rl cy0+c2l6ZSAtIChvZmZzZXQgPj4gUEFHRV9TSElGVCk7CisJCX0gZWxzZSB7CisJCQlhZGRyID0g MDsKKwkJCW1heF9lbnRyaWVzID0gUzY0X01BWDsKKwkJfQorCQlhZGRyICs9IG9mZnNldDsKKwor CQlpZiAocGFnZXNfYWRkcikgeworCQkJaWYgKGZsYWdzID09IGd0dF9mbGFncykKKwkJCQlzcmMg PSBhZGV2LT5nYXJ0LnRhYmxlX2FkZHIgKyAoYWRkciA+PiAxMikgKiA4OworCQkJZWxzZQorCQkJ CW1heF9lbnRyaWVzID0gbWluKG1heF9lbnRyaWVzLCAxNnVsbCAqIDEwMjR1bGwpOworCQkJYWRk ciA9IDA7CisJCX0gZWxzZSBpZiAoZmxhZ3MgJiBBTURHUFVfUFRFX1ZBTElEKSB7CisJCQlhZGRy ICs9IGFkZXYtPnZtX21hbmFnZXIudnJhbV9iYXNlX29mZnNldDsKKwkJfQogCi0JCWxhc3QgPSBt aW4oKHVpbnQ2NF90KW1hcHBpbmctPml0Lmxhc3QsIHN0YXJ0ICsgbWF4X3NpemUgLSAxKTsKKwkJ bGFzdCA9IG1pbigodWludDY0X3QpbWFwcGluZy0+aXQubGFzdCwgc3RhcnQgKyBtYXhfZW50cmll cyAtIDEpOwogCQlyID0gYW1kZ3B1X3ZtX2JvX3VwZGF0ZV9tYXBwaW5nKGFkZXYsIGV4Y2x1c2l2 ZSwKIAkJCQkJCXNyYywgcGFnZXNfYWRkciwgdm0sCiAJCQkJCQlzdGFydCwgbGFzdCwgZmxhZ3Ms IGFkZHIsCkBAIC0xMTA0LDkgKzExMTgsMTQgQEAgc3RhdGljIGludCBhbWRncHVfdm1fYm9fc3Bs aXRfbWFwcGluZyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAkJaWYgKHIpCiAJCQlyZXR1 cm4gcjsKIAorCQlvZmZzZXQgKz0gKGxhc3QgLSBzdGFydCArIDEpICogQU1ER1BVX0dQVV9QQUdF X1NJWkU7CisJCWlmIChub2RlcyAmJiBub2Rlcy0+c2l6ZSA9PSAob2Zmc2V0ID4+IFBBR0VfU0hJ RlQpKSB7CisJCQlvZmZzZXQgPSAwOworCQkJKytub2RlczsKKwkJfQogCQlzdGFydCA9IGxhc3Qg KyAxOwotCQlhZGRyICs9IG1heF9zaXplICogQU1ER1BVX0dQVV9QQUdFX1NJWkU7Ci0JfQorCisJ fSB3aGlsZSAobGlrZWx5KHN0YXJ0ICE9IG1hcHBpbmctPml0Lmxhc3QgKyAxKSk7CiAKIAlyZXR1 cm4gMDsKIH0KQEAgLTExMzAsMzQgKzExNDksMjQgQEAgaW50IGFtZGdwdV92bV9ib191cGRhdGUo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJZG1hX2FkZHJfdCAqcGFnZXNfYWRkciA9IE5V TEw7CiAJdWludDMyX3QgZ3R0X2ZsYWdzLCBmbGFnczsKIAlzdHJ1Y3QgdHRtX21lbV9yZWcgKm1l bTsKKwlzdHJ1Y3QgZHJtX21tX25vZGUgKm5vZGVzOwogCXN0cnVjdCBmZW5jZSAqZXhjbHVzaXZl OwotCXVpbnQ2NF90IGFkZHI7CiAJaW50IHI7CiAKIAlpZiAoY2xlYXIpIHsKIAkJbWVtID0gTlVM TDsKLQkJYWRkciA9IDA7CisJCW5vZGVzID0gTlVMTDsKIAkJZXhjbHVzaXZlID0gTlVMTDsKIAl9 IGVsc2UgewogCQlzdHJ1Y3QgdHRtX2RtYV90dCAqdHRtOwogCiAJCW1lbSA9ICZib192YS0+Ym8t PnRiby5tZW07Ci0JCWFkZHIgPSAodTY0KW1lbS0+c3RhcnQgPDwgUEFHRV9TSElGVDsKLQkJc3dp dGNoIChtZW0tPm1lbV90eXBlKSB7Ci0JCWNhc2UgVFRNX1BMX1RUOgorCQlub2RlcyA9IG1lbS0+ bW1fbm9kZTsKKwkJaWYgKG1lbS0+bWVtX3R5cGUgPT0gVFRNX1BMX1RUKSB7CiAJCQl0dG0gPSBj b250YWluZXJfb2YoYm9fdmEtPmJvLT50Ym8udHRtLCBzdHJ1Y3QKIAkJCQkJICAgdHRtX2RtYV90 dCwgdHRtKTsKIAkJCXBhZ2VzX2FkZHIgPSB0dG0tPmRtYV9hZGRyZXNzOwotCQkJYnJlYWs7Ci0K LQkJY2FzZSBUVE1fUExfVlJBTToKLQkJCWFkZHIgKz0gYWRldi0+dm1fbWFuYWdlci52cmFtX2Jh c2Vfb2Zmc2V0OwotCQkJYnJlYWs7Ci0KLQkJZGVmYXVsdDoKLQkJCWJyZWFrOwogCQl9Ci0KIAkJ ZXhjbHVzaXZlID0gcmVzZXJ2YXRpb25fb2JqZWN0X2dldF9leGNsKGJvX3ZhLT5iby0+dGJvLnJl c3YpOwogCX0KIApAQCAtMTE3Miw3ICsxMTgxLDcgQEAgaW50IGFtZGdwdV92bV9ib191cGRhdGUo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShtYXBwaW5n LCAmYm9fdmEtPmludmFsaWRzLCBsaXN0KSB7CiAJCXIgPSBhbWRncHVfdm1fYm9fc3BsaXRfbWFw cGluZyhhZGV2LCBleGNsdXNpdmUsCiAJCQkJCSAgICAgICBndHRfZmxhZ3MsIHBhZ2VzX2FkZHIs IHZtLAotCQkJCQkgICAgICAgbWFwcGluZywgZmxhZ3MsIGFkZHIsCisJCQkJCSAgICAgICBtYXBw aW5nLCBmbGFncywgbm9kZXMsCiAJCQkJCSAgICAgICAmYm9fdmEtPmxhc3RfcHRfdXBkYXRlKTsK IAkJaWYgKHIpCiAJCQlyZXR1cm4gcjsKLS0gCjIuNS4wCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2FtZC1nZngK