From mboxrd@z Thu Jan 1 00:00:00 1970 From: Felix Kuehling Subject: Re: [PATCH 3/5] drm/amdgpu: handle multiple MM nodes in the VMs Date: Mon, 29 Aug 2016 18:29:46 -0400 Message-ID: References: <1472462424-3052-1-git-send-email-deathsimple@vodafone.de> <1472462424-3052-4-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-4-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: =?UTF-8?Q?Christian_K=c3=b6nig?= , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org SSBsb29rZWQgcmVhbGx5IGhhcmQgYW5kIGNvdWxkbid0IGZpbmQgYW55dGhpbmcgb2J2aW91c2x5 IGJyb2tlbi4gSXQKbWFrZXMgbWUgYSBiaXQgbmVydm91cyB0aGF0IHRoZXJlIGlzIG5vIGJvdW5k cyBjaGVja2luZyBvbiB0aGUgbm9kZXMKYXJyYXksIHRob3VnaC4KCkp1c3Qgb25lIG1pbm9yIG5p dCBwaWNrLgoKV2l0aCB0aGF0IGZpeGVkLCBSZXZpZXdlZC1ieTogRmVsaXggS3VlaGxpbmcgPEZl bGl4Lkt1ZWhsaW5nQGFtZC5jb20+CgoKT24gMTYtMDgtMjkgMDU6MjAgQU0sIENocmlzdGlhbiBL w7ZuaWcgd3JvdGU6Cj4gRnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0Bh bWQuY29tPgo+Cj4gVGhpcyBhbGxvd3MgdXMgdG8gbWFwIHNjYXR0ZXJlZCBWUkFNIEJPcyB0byB0 aGUgVk1zLgo+Cj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtv ZW5pZ0BhbWQuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf dm0uYyB8IDc5ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KPiAgMSBmaWxlIGNo YW5nZWQsIDQ0IGluc2VydGlvbnMoKyksIDM1IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKPiBpbmRleCBlYTFiZDY3Li5kZjY1MDZkIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKPiBAQCAtMTA0OCw4ICsxMDQ4LDgg QEAgZXJyb3JfZnJlZToKPiAgICogQHBhZ2VzX2FkZHI6IERNQSBhZGRyZXNzZXMgdG8gdXNlIGZv ciBtYXBwaW5nCj4gICAqIEB2bTogcmVxdWVzdGVkIHZtCj4gICAqIEBtYXBwaW5nOiBtYXBwZWQg cmFuZ2UgYW5kIGZsYWdzIHRvIHVzZSBmb3IgdGhlIHVwZGF0ZQo+IC0gKiBAYWRkcjogYWRkciB0 byBzZXQgdGhlIGFyZWEgdG8KPiAgICogQGZsYWdzOiBIVyBmbGFncyBmb3IgdGhlIG1hcHBpbmcK PiArICogQG5vZGVzOiBhcnJheSBvZiBkcm1fbW1fbm9kZXMgd2l0aCB0aGUgTUMgYWRkcmVzc2Vz Cj4gICAqIEBmZW5jZTogb3B0aW9uYWwgcmVzdWx0aW5nIGZlbmNlCj4gICAqCj4gICAqIFNwbGl0 IHRoZSBtYXBwaW5nIGludG8gc21hbGxlciBjaHVua3Mgc28gdGhhdCBlYWNoIHVwZGF0ZSBmaXRz Cj4gQEAgLTEwNjIsMTIgKzEwNjIsMTEgQEAgc3RhdGljIGludCBhbWRncHVfdm1fYm9fc3BsaXRf bWFwcGluZyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPiAgCQkJCSAgICAgIGRtYV9hZGRy X3QgKnBhZ2VzX2FkZHIsCj4gIAkJCQkgICAgICBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSwKPiAgCQkJ CSAgICAgIHN0cnVjdCBhbWRncHVfYm9fdmFfbWFwcGluZyAqbWFwcGluZywKPiAtCQkJCSAgICAg IHVpbnQzMl90IGZsYWdzLCB1aW50NjRfdCBhZGRyLAo+ICsJCQkJICAgICAgdWludDMyX3QgZmxh Z3MsCj4gKwkJCQkgICAgICBzdHJ1Y3QgZHJtX21tX25vZGUgKm5vZGVzLAo+ICAJCQkJICAgICAg c3RydWN0IGZlbmNlICoqZmVuY2UpCj4gIHsKPiAtCWNvbnN0IHVpbnQ2NF90IG1heF9zaXplID0g NjRVTEwgKiAxMDI0VUxMICogMTAyNFVMTCAvIEFNREdQVV9HUFVfUEFHRV9TSVpFOwo+IC0KPiAt CXVpbnQ2NF90IHNyYyA9IDAsIHN0YXJ0ID0gbWFwcGluZy0+aXQuc3RhcnQ7Cj4gKwl1aW50NjRf dCBvZmZzZXQsIHNyYyA9IDAsIHN0YXJ0ID0gbWFwcGluZy0+aXQuc3RhcnQ7Cj4gIAlpbnQgcjsK PiAgCj4gIAkvKiBub3JtYWxseSxib192YS0+ZmxhZ3Mgb25seSBjb250aWFucyBSRUFEQUJMRSBh bmQgV0lSVEVBQkxFIGJpdCBnbyBoZXJlCj4gQEAgLTEwODAsMjMgKzEwNzksMzggQEAgc3RhdGlj IGludCBhbWRncHVfdm1fYm9fc3BsaXRfbWFwcGluZyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl diwKPiAgCj4gIAl0cmFjZV9hbWRncHVfdm1fYm9fdXBkYXRlKG1hcHBpbmcpOwo+ICAKPiAtCWlm IChwYWdlc19hZGRyKSB7Cj4gLQkJaWYgKGZsYWdzID09IGd0dF9mbGFncykKPiAtCQkJc3JjID0g YWRldi0+Z2FydC50YWJsZV9hZGRyICsgKGFkZHIgPj4gMTIpICogODsKPiAtCQlhZGRyID0gMDsK PiArCW9mZnNldCA9IG1hcHBpbmctPm9mZnNldDsKPiArCWlmIChub2Rlcykgewo+ICsJCXdoaWxl IChvZmZzZXQgPiAobm9kZXMtPnNpemUgPDwgUEFHRV9TSElGVCkpIHsKPiArCQkJb2Zmc2V0IC09 IChub2Rlcy0+c2l6ZSA8PCBQQUdFX1NISUZUKTsKPiArCQkJKytub2RlczsKPiArCQl9Cj4gIAl9 Cj4gLQlhZGRyICs9IG1hcHBpbmctPm9mZnNldDsKPiAgCj4gLQlpZiAoIXBhZ2VzX2FkZHIgfHwg c3JjKQo+IC0JCXJldHVybiBhbWRncHVfdm1fYm9fdXBkYXRlX21hcHBpbmcoYWRldiwgZXhjbHVz aXZlLAo+IC0JCQkJCQkgICBzcmMsIHBhZ2VzX2FkZHIsIHZtLAo+IC0JCQkJCQkgICBzdGFydCwg bWFwcGluZy0+aXQubGFzdCwKPiAtCQkJCQkJICAgZmxhZ3MsIGFkZHIsIGZlbmNlKTsKPiArCWRv IHsKPiArCQl1aW50NjRfdCBtYXhfZW50cmllczsKPiArCQl1aW50NjRfdCBhZGRyLCBsYXN0Owo+ ICAKPiAtCXdoaWxlIChzdGFydCAhPSBtYXBwaW5nLT5pdC5sYXN0ICsgMSkgewo+IC0JCXVpbnQ2 NF90IGxhc3Q7Cj4gKwkJaWYgKG5vZGVzKSB7Cj4gKwkJCWFkZHIgPSBub2Rlcy0+c3RhcnQgPDwg UEFHRV9TSElGVDsKPiArCQkJbWF4X2VudHJpZXMgPSBub2Rlcy0+c2l6ZSAtIChvZmZzZXQgPj4g UEFHRV9TSElGVCk7CgpbRktdIEkgdGhpbmsgbWF4X2VudHJpZXMgaXMgdGhlIG51bWJlciBvZiBH UFUgcGFnZSB0YWJsZSBlbnRyaWVzLiBTbyB5b3UKc2hvdWxkIGNvbnZlcnQgZnJvbSB0aGUgc3lz dGVtIHBhZ2Ugc2l6ZSB0byB0aGUgR1BVIHBhZ2Ugc2l6ZToKICAgICAgICBtYXhfZW50cmllcyA9 ICgobm9kZXMtPnNpemUgPDwgUEFHRV9TSElGVCkgLSBvZmZzZXQpID4+CkFNREdQVV9HUFVfUEFH RV9TSElGVDsKCj4gKwkJfSBlbHNlIHsKPiArCQkJYWRkciA9IDA7Cj4gKwkJCW1heF9lbnRyaWVz ID0gUzY0X01BWDsKPiArCQl9Cj4gKwkJYWRkciArPSBvZmZzZXQ7Cj4gKwo+ICsJCWlmIChwYWdl c19hZGRyKSB7Cj4gKwkJCWlmIChmbGFncyA9PSBndHRfZmxhZ3MpCj4gKwkJCQlzcmMgPSBhZGV2 LT5nYXJ0LnRhYmxlX2FkZHIgKyAoYWRkciA+PiAxMikgKiA4Owo+ICsJCQllbHNlCj4gKwkJCQlt YXhfZW50cmllcyA9IG1pbihtYXhfZW50cmllcywgMTZ1bGwgKiAxMDI0dWxsKTsKPiArCQkJYWRk ciA9IDA7Cj4gKwkJfSBlbHNlIGlmIChmbGFncyAmIEFNREdQVV9QVEVfVkFMSUQpIHsKPiArCQkJ YWRkciArPSBhZGV2LT52bV9tYW5hZ2VyLnZyYW1fYmFzZV9vZmZzZXQ7Cj4gKwkJfQo+ICAKPiAt CQlsYXN0ID0gbWluKCh1aW50NjRfdCltYXBwaW5nLT5pdC5sYXN0LCBzdGFydCArIG1heF9zaXpl IC0gMSk7Cj4gKwkJbGFzdCA9IG1pbigodWludDY0X3QpbWFwcGluZy0+aXQubGFzdCwgc3RhcnQg KyBtYXhfZW50cmllcyAtIDEpOwo+ICAJCXIgPSBhbWRncHVfdm1fYm9fdXBkYXRlX21hcHBpbmco YWRldiwgZXhjbHVzaXZlLAo+ICAJCQkJCQlzcmMsIHBhZ2VzX2FkZHIsIHZtLAo+ICAJCQkJCQlz dGFydCwgbGFzdCwgZmxhZ3MsIGFkZHIsCj4gQEAgLTExMDQsOSArMTExOCwxNCBAQCBzdGF0aWMg aW50IGFtZGdwdV92bV9ib19zcGxpdF9tYXBwaW5nKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 LAo+ICAJCWlmIChyKQo+ICAJCQlyZXR1cm4gcjsKPiAgCj4gKwkJb2Zmc2V0ICs9IChsYXN0IC0g c3RhcnQgKyAxKSAqIEFNREdQVV9HUFVfUEFHRV9TSVpFOwo+ICsJCWlmIChub2RlcyAmJiBub2Rl cy0+c2l6ZSA9PSAob2Zmc2V0ID4+IFBBR0VfU0hJRlQpKSB7Cj4gKwkJCW9mZnNldCA9IDA7Cj4g KwkJCSsrbm9kZXM7Cj4gKwkJfQo+ICAJCXN0YXJ0ID0gbGFzdCArIDE7Cj4gLQkJYWRkciArPSBt YXhfc2l6ZSAqIEFNREdQVV9HUFVfUEFHRV9TSVpFOwo+IC0JfQo+ICsKPiArCX0gd2hpbGUgKGxp a2VseShzdGFydCAhPSBtYXBwaW5nLT5pdC5sYXN0ICsgMSkpOwo+ICAKPiAgCXJldHVybiAwOwo+ ICB9Cj4gQEAgLTExMzAsMzQgKzExNDksMjQgQEAgaW50IGFtZGdwdV92bV9ib191cGRhdGUoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gIAlkbWFfYWRkcl90ICpwYWdlc19hZGRyID0gTlVM TDsKPiAgCXVpbnQzMl90IGd0dF9mbGFncywgZmxhZ3M7Cj4gIAlzdHJ1Y3QgdHRtX21lbV9yZWcg Km1lbTsKPiArCXN0cnVjdCBkcm1fbW1fbm9kZSAqbm9kZXM7Cj4gIAlzdHJ1Y3QgZmVuY2UgKmV4 Y2x1c2l2ZTsKPiAtCXVpbnQ2NF90IGFkZHI7Cj4gIAlpbnQgcjsKPiAgCj4gIAlpZiAoY2xlYXIp IHsKPiAgCQltZW0gPSBOVUxMOwo+IC0JCWFkZHIgPSAwOwo+ICsJCW5vZGVzID0gTlVMTDsKPiAg CQlleGNsdXNpdmUgPSBOVUxMOwo+ICAJfSBlbHNlIHsKPiAgCQlzdHJ1Y3QgdHRtX2RtYV90dCAq dHRtOwo+ICAKPiAgCQltZW0gPSAmYm9fdmEtPmJvLT50Ym8ubWVtOwo+IC0JCWFkZHIgPSAodTY0 KW1lbS0+c3RhcnQgPDwgUEFHRV9TSElGVDsKPiAtCQlzd2l0Y2ggKG1lbS0+bWVtX3R5cGUpIHsK PiAtCQljYXNlIFRUTV9QTF9UVDoKPiArCQlub2RlcyA9IG1lbS0+bW1fbm9kZTsKPiArCQlpZiAo bWVtLT5tZW1fdHlwZSA9PSBUVE1fUExfVFQpIHsKPiAgCQkJdHRtID0gY29udGFpbmVyX29mKGJv X3ZhLT5iby0+dGJvLnR0bSwgc3RydWN0Cj4gIAkJCQkJICAgdHRtX2RtYV90dCwgdHRtKTsKPiAg CQkJcGFnZXNfYWRkciA9IHR0bS0+ZG1hX2FkZHJlc3M7Cj4gLQkJCWJyZWFrOwo+IC0KPiAtCQlj YXNlIFRUTV9QTF9WUkFNOgo+IC0JCQlhZGRyICs9IGFkZXYtPnZtX21hbmFnZXIudnJhbV9iYXNl X29mZnNldDsKPiAtCQkJYnJlYWs7Cj4gLQo+IC0JCWRlZmF1bHQ6Cj4gLQkJCWJyZWFrOwo+ICAJ CX0KPiAtCj4gIAkJZXhjbHVzaXZlID0gcmVzZXJ2YXRpb25fb2JqZWN0X2dldF9leGNsKGJvX3Zh LT5iby0+dGJvLnJlc3YpOwo+ICAJfQo+ICAKPiBAQCAtMTE3Miw3ICsxMTgxLDcgQEAgaW50IGFt ZGdwdV92bV9ib191cGRhdGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gIAlsaXN0X2Zv cl9lYWNoX2VudHJ5KG1hcHBpbmcsICZib192YS0+aW52YWxpZHMsIGxpc3QpIHsKPiAgCQlyID0g YW1kZ3B1X3ZtX2JvX3NwbGl0X21hcHBpbmcoYWRldiwgZXhjbHVzaXZlLAo+ICAJCQkJCSAgICAg ICBndHRfZmxhZ3MsIHBhZ2VzX2FkZHIsIHZtLAo+IC0JCQkJCSAgICAgICBtYXBwaW5nLCBmbGFn cywgYWRkciwKPiArCQkJCQkgICAgICAgbWFwcGluZywgZmxhZ3MsIG5vZGVzLAo+ICAJCQkJCSAg ICAgICAmYm9fdmEtPmxhc3RfcHRfdXBkYXRlKTsKPiAgCQlpZiAocikKPiAgCQkJcmV0dXJuIHI7 CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4 IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK