From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zhang, Jerry (Junwei)" Subject: Re: [PATCH 04/11] drm/amdgpu: add some VM PD/PT iterators Date: Tue, 11 Sep 2018 10:38:01 +0800 Message-ID: <5B972A89.60500@amd.com> References: <20180909180339.1910-1-christian.koenig@amd.com> <20180909180339.1910-5-christian.koenig@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180909180339.1910-5-christian.koenig-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: =?UTF-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org T24gMDkvMTAvMjAxOCAwMjowMyBBTSwgQ2hyaXN0aWFuIEvDtm5pZyB3cm90ZToKPiBCb3RoIGEg bGVhZiBhcyB3ZWxsIGFzIGRmcyBpdGVyYXRvciB0byB3YWxrIG92ZXIgYWxsIHRoZSBQRHMvUFRz Lgo+Cj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0Bh bWQuY29tPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMg fCAyMjEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICAxIGZpbGUgY2hhbmdl ZCwgMjIxIGluc2VydGlvbnMoKykKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfdm0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92 bS5jCj4gaW5kZXggNDE2ZWNjZDllYTI5Li40MDA3MjAyNTg1ZDQgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYwo+IEBAIC0zNTUsNiArMzU1LDIyNyBAQCBzdGF0aWMg c3RydWN0IGFtZGdwdV92bV9wdCAqYW1kZ3B1X3ZtX3B0X3BhcmVudChzdHJ1Y3QgYW1kZ3B1X3Zt X3B0ICpwdCkKPiAgIAlyZXR1cm4gbGlzdF9maXJzdF9lbnRyeSgmcGFyZW50LT52YSwgc3RydWN0 IGFtZGdwdV92bV9wdCwgYmFzZS5ib19saXN0KTsKPiAgIH0KPgo+ICsvKioKPiArICogYW1kZ3B1 X3ZtX3B0X2N1cnNvciAtIHN0YXRlIGZvciBmb3JfZWFjaF9hbWRncHVfdm1fcHQKPiArICovCj4g K3N0cnVjdCBhbWRncHVfdm1fcHRfY3Vyc29yIHsKPiArCXVpbnQ2NF90IHBmbjsKPiArCXN0cnVj dCBhbWRncHVfdm1fcHQgKnBhcmVudDsKPiArCXN0cnVjdCBhbWRncHVfdm1fcHQgKmVudHJ5Owo+ ICsJdW5zaWduZWQgbGV2ZWw7Cj4gK307Cj4gKwo+ICsvKioKPiArICogYW1kZ3B1X3ZtX3B0X3N0 YXJ0IC0gc3RhcnQgUEQvUFQgd2Fsawo+ICsgKgo+ICsgKiBAYWRldjogYW1kZ3B1X2RldmljZSBw b2ludGVyCj4gKyAqIEB2bTogYW1kZ3B1X3ZtIHN0cnVjdHVyZQo+ICsgKiBAc3RhcnQ6IHN0YXJ0 IGFkZHJlc3Mgb2YgdGhlIHdhbGsKPiArICogQGN1cnNvcjogc3RhdGUgdG8gaW5pdGlhbGl6ZQo+ ICsgKgo+ICsgKiBJbml0aWFsaXplIGEgYW1kZ3B1X3ZtX3B0X2N1cnNvciB0byBzdGFydCBhIHdh bGsuCj4gKyAqLwo+ICtzdGF0aWMgdm9pZCBhbWRncHVfdm1fcHRfc3RhcnQoc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYsCj4gKwkJCSAgICAgICBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSwgdWludDY0 X3Qgc3RhcnQsCj4gKwkJCSAgICAgICBzdHJ1Y3QgYW1kZ3B1X3ZtX3B0X2N1cnNvciAqY3Vyc29y KQo+ICt7Cj4gKwljdXJzb3ItPnBmbiA9IHN0YXJ0Owo+ICsJY3Vyc29yLT5wYXJlbnQgPSBOVUxM Owo+ICsJY3Vyc29yLT5lbnRyeSA9ICZ2bS0+cm9vdDsKPiArCWN1cnNvci0+bGV2ZWwgPSBhZGV2 LT52bV9tYW5hZ2VyLnJvb3RfbGV2ZWw7Cj4gK30KPiArCj4gKy8qKgo+ICsgKiBhbWRncHVfdm1f cHRfZGVzY2VuZGFudCAtIGdvdCB0byBjaGlsZCBub2RlCgpzZWVtcyB0eXBvIGZvciAiZ28gdG8i CgpKZXJyeQoKPiArICoKPiArICogQGFkZXY6IGFtZGdwdV9kZXZpY2UgcG9pbnRlcgo+ICsgKiBA Y3Vyc29yOiBjdXJyZW50IHN0YXRlCj4gKyAqCj4gKyAqIFdhbGsgdG8gdGhlIGNoaWxkIG5vZGUg b2YgdGhlIGN1cnJlbnQgbm9kZS4KPiArICogUmV0dXJuczoKPiArICogVHJ1ZSBpZiB0aGUgd2Fs ayB3YXMgcG9zc2libGUsIGZhbHNlIG90aGVyd2lzZS4KPiArICovCj4gK3N0YXRpYyBib29sIGFt ZGdwdV92bV9wdF9kZXNjZW5kYW50KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICsJCQkJ ICAgIHN0cnVjdCBhbWRncHVfdm1fcHRfY3Vyc29yICpjdXJzb3IpCj4gK3sKPiArCXVuc2lnbmVk IG51bV9lbnRyaWVzLCBzaGlmdCwgaWR4Owo+ICsKPiArCWlmICghY3Vyc29yLT5lbnRyeS0+ZW50 cmllcykKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ICsJQlVHX09OKCFjdXJzb3ItPmVudHJ5LT5i YXNlLmJvKTsKPiArCW51bV9lbnRyaWVzID0gYW1kZ3B1X3ZtX251bV9lbnRyaWVzKGFkZXYsIGN1 cnNvci0+bGV2ZWwpOwo+ICsJc2hpZnQgPSBhbWRncHVfdm1fbGV2ZWxfc2hpZnQoYWRldiwgY3Vy c29yLT5sZXZlbCk7Cj4gKwo+ICsJKytjdXJzb3ItPmxldmVsOwo+ICsJaWR4ID0gKGN1cnNvci0+ cGZuID4+IHNoaWZ0KSAlIG51bV9lbnRyaWVzOwo+ICsJY3Vyc29yLT5wYXJlbnQgPSBjdXJzb3It PmVudHJ5Owo+ICsJY3Vyc29yLT5lbnRyeSA9ICZjdXJzb3ItPmVudHJ5LT5lbnRyaWVzW2lkeF07 Cj4gKwlyZXR1cm4gdHJ1ZTsKPiArfQo+ICsKPiArLyoqCj4gKyAqIGFtZGdwdV92bV9wdF9zaWJs aW5nIC0gZ28gdG8gc2libGluZyBub2RlCj4gKyAqCj4gKyAqIEBhZGV2OiBhbWRncHVfZGV2aWNl IHBvaW50ZXIKPiArICogQGN1cnNvcjogY3VycmVudCBzdGF0ZQo+ICsgKgo+ICsgKiBXYWxrIHRv IHRoZSBzaWJsaW5nIG5vZGUgb2YgdGhlIGN1cnJlbnQgbm9kZS4KPiArICogUmV0dXJuczoKPiAr ICogVHJ1ZSBpZiB0aGUgd2FsayB3YXMgcG9zc2libGUsIGZhbHNlIG90aGVyd2lzZS4KPiArICov Cj4gK3N0YXRpYyBib29sIGFtZGdwdV92bV9wdF9zaWJsaW5nKHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2LAo+ICsJCQkJIHN0cnVjdCBhbWRncHVfdm1fcHRfY3Vyc29yICpjdXJzb3IpCj4gK3sK PiArCXVuc2lnbmVkIHNoaWZ0LCBudW1fZW50cmllczsKPiArCj4gKwkvKiBSb290IGRvZXNuJ3Qg aGF2ZSBhIHNpYmxpbmcgKi8KPiArCWlmICghY3Vyc29yLT5wYXJlbnQpCj4gKwkJcmV0dXJuIGZh bHNlOwo+ICsKPiArCS8qIEdvIHRvIG91ciBwYXJlbnRzIGFuZCBzZWUgaWYgd2UgZ290IGEgc2li bGluZyAqLwo+ICsJc2hpZnQgPSBhbWRncHVfdm1fbGV2ZWxfc2hpZnQoYWRldiwgY3Vyc29yLT5s ZXZlbCAtIDEpOwo+ICsJbnVtX2VudHJpZXMgPSBhbWRncHVfdm1fbnVtX2VudHJpZXMoYWRldiwg Y3Vyc29yLT5sZXZlbCAtIDEpOwo+ICsKPiArCWlmIChjdXJzb3ItPmVudHJ5ID09ICZjdXJzb3It PnBhcmVudC0+ZW50cmllc1tudW1fZW50cmllcyAtIDFdKQo+ICsJCXJldHVybiBmYWxzZTsKPiAr Cj4gKwljdXJzb3ItPnBmbiArPSAxVUxMIDw8IHNoaWZ0Owo+ICsJY3Vyc29yLT5wZm4gJj0gfigo MVVMTCA8PCBzaGlmdCkgLSAxKTsKPiArCSsrY3Vyc29yLT5lbnRyeTsKPiArCXJldHVybiB0cnVl Owo+ICt9Cj4gKwo+ICsvKioKPiArICogYW1kZ3B1X3ZtX3B0X2FuY2VzdG9yIC0gZ28gdG8gcGFy ZW50IG5vZGUKPiArICoKPiArICogQGFkZXY6IGFtZGdwdV9kZXZpY2UgcG9pbnRlcgo+ICsgKiBA Y3Vyc29yOiBjdXJyZW50IHN0YXRlCj4gKyAqCj4gKyAqIFdhbGsgdG8gdGhlIHBhcmVudCBub2Rl IG9mIHRoZSBjdXJyZW50IG5vZGUuCj4gKyAqIFJldHVybnM6Cj4gKyAqIFRydWUgaWYgdGhlIHdh bGsgd2FzIHBvc3NpYmxlLCBmYWxzZSBvdGhlcndpc2UuCj4gKyAqLwo+ICtzdGF0aWMgYm9vbCBh bWRncHVfdm1fcHRfYW5jZXN0b3Ioc3RydWN0IGFtZGdwdV92bV9wdF9jdXJzb3IgKmN1cnNvcikK PiArewo+ICsJaWYgKCFjdXJzb3ItPnBhcmVudCkKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ICsJ LS1jdXJzb3ItPmxldmVsOwo+ICsJY3Vyc29yLT5lbnRyeSA9IGN1cnNvci0+cGFyZW50Owo+ICsJ Y3Vyc29yLT5wYXJlbnQgPSBhbWRncHVfdm1fcHRfcGFyZW50KGN1cnNvci0+cGFyZW50KTsKPiAr CXJldHVybiB0cnVlOwo+ICt9Cj4gKwo+ICsvKioKPiArICogYW1kZ3B1X3ZtX3B0X25leHQgLSBn ZXQgbmV4dCBQRC9QVCBpbiBoaWVyYXRjaHkKPiArICoKPiArICogQGFkZXY6IGFtZGdwdV9kZXZp Y2UgcG9pbnRlcgo+ICsgKiBAY3Vyc29yOiBjdXJyZW50IHN0YXRlCj4gKyAqCj4gKyAqIFdhbGsg dGhlIFBEL1BUIHRyZWUgdG8gdGhlIG5leHQgbm9kZS4KPiArICovCj4gK3N0YXRpYyB2b2lkIGFt ZGdwdV92bV9wdF9uZXh0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICsJCQkgICAgICBz dHJ1Y3QgYW1kZ3B1X3ZtX3B0X2N1cnNvciAqY3Vyc29yKQo+ICt7Cj4gKwkvKiBGaXJzdCB0cnkg YSBuZXdib3JuIGNoaWxkICovCj4gKwlpZiAoYW1kZ3B1X3ZtX3B0X2Rlc2NlbmRhbnQoYWRldiwg Y3Vyc29yKSkKPiArCQlyZXR1cm47Cj4gKwo+ICsJLyogSWYgdGhhdCBkaWRuJ3Qgd29ya2VkIHRy eSB0byBmaW5kIGEgc2libGluZyAqLwo+ICsJd2hpbGUgKCFhbWRncHVfdm1fcHRfc2libGluZyhh ZGV2LCBjdXJzb3IpKSB7Cj4gKwkJLyogTm8gc2libGluZywgZ28gdG8gb3VyIHBhcmVudHMgYW5k IGdyYW5kcGFyZW50cyAqLwo+ICsJCWlmICghYW1kZ3B1X3ZtX3B0X2FuY2VzdG9yKGN1cnNvcikp IHsKPiArCQkJY3Vyc29yLT5wZm4gPSB+MGxsOwo+ICsJCQlyZXR1cm47Cj4gKwkJfQo+ICsJfQo+ ICt9Cj4gKwo+ICsvKioKPiArICogYW1kZ3B1X3ZtX3B0X2ZpcnN0X2xlYWYgLSBnZXQgZmlyc3Qg bGVhZiBQRC9QVAo+ICsgKgo+ICsgKiBAYWRldjogYW1kZ3B1X2RldmljZSBwb2ludGVyCj4gKyAq IEB2bTogYW1kZ3B1X3ZtIHN0cnVjdHVyZQo+ICsgKiBAc3RhcnQ6IHN0YXJ0IGFkZHIgb2YgdGhl IHdhbGsKPiArICogQGN1cnNvcjogc3RhdGUgdG8gaW5pdGlhbGl6ZQo+ICsgKgo+ICsgKiBTdGFy dCBhIHdhbGsgYW5kIGdvIGRpcmVjdGx5IHRvIHRoZSBsZWFmIG5vZGUuCj4gKyAqLwo+ICtzdGF0 aWMgdm9pZCBhbWRncHVfdm1fcHRfZmlyc3RfbGVhZihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl diwKPiArCQkJCSAgICBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSwgdWludDY0X3Qgc3RhcnQsCj4gKwkJ CQkgICAgc3RydWN0IGFtZGdwdV92bV9wdF9jdXJzb3IgKmN1cnNvcikKPiArewo+ICsJYW1kZ3B1 X3ZtX3B0X3N0YXJ0KGFkZXYsIHZtLCBzdGFydCwgY3Vyc29yKTsKPiArCXdoaWxlIChhbWRncHVf dm1fcHRfZGVzY2VuZGFudChhZGV2LCBjdXJzb3IpKTsKPiArfQo+ICsKPiArLyoqCj4gKyAqIGFt ZGdwdV92bV9wdF9uZXh0X2xlYWYgLSBnZXQgbmV4dCBsZWFmIFBEL1BUCj4gKyAqCj4gKyAqIEBh ZGV2OiBhbWRncHVfZGV2aWNlIHBvaW50ZXIKPiArICogQGN1cnNvcjogY3VycmVudCBzdGF0ZQo+ ICsgKgo+ICsgKiBXYWxrIHRoZSBQRC9QVCB0cmVlIHRvIHRoZSBuZXh0IGxlYWYgbm9kZS4KPiAr ICovCj4gK3N0YXRpYyB2b2lkIGFtZGdwdV92bV9wdF9uZXh0X2xlYWYoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYsCj4gKwkJCQkgICBzdHJ1Y3QgYW1kZ3B1X3ZtX3B0X2N1cnNvciAqY3Vyc29y KQo+ICt7Cj4gKwlhbWRncHVfdm1fcHRfbmV4dChhZGV2LCBjdXJzb3IpOwo+ICsJd2hpbGUgKGFt ZGdwdV92bV9wdF9kZXNjZW5kYW50KGFkZXYsIGN1cnNvcikpOwo+ICt9Cj4gKwo+ICsvKioKPiAr ICogZm9yX2VhY2hfYW1kZ3B1X3ZtX3B0X2xlYWYgLSB3YWxrIG92ZXIgYWxsIGxlYWYgUERzL1BU cyBpbiB0aGUgaGllcmFyY2h5Cj4gKyAqLwo+ICsjZGVmaW5lIGZvcl9lYWNoX2FtZGdwdV92bV9w dF9sZWFmKGFkZXYsIHZtLCBzdGFydCwgZW5kLCBjdXJzb3IpCQlcCj4gKwlmb3IgKGFtZGdwdV92 bV9wdF9maXJzdF9sZWFmKChhZGV2KSwgKHZtKSwgKHN0YXJ0KSwgJihjdXJzb3IpKTsJCVwKPiAr CSAgICAgKGN1cnNvcikucGZuIDw9IGVuZDsgYW1kZ3B1X3ZtX3B0X25leHRfbGVhZigoYWRldiks ICYoY3Vyc29yKSkpCj4gKwo+ICsvKioKPiArICogYW1kZ3B1X3ZtX3B0X2ZpcnN0X2RmcyAtIHN0 YXJ0IGEgZGVlcCBmaXJzdCBzZWFyY2gKPiArICoKPiArICogQGFkZXY6IGFtZGdwdV9kZXZpY2Ug c3RydWN0dXJlCj4gKyAqIEB2bTogYW1kZ3B1X3ZtIHN0cnVjdHVyZQo+ICsgKiBAY3Vyc29yOiBz dGF0ZSB0byBpbml0aWFsaXplCj4gKyAqCj4gKyAqIFN0YXJ0cyBhIGRlZXAgZmlyc3QgdHJhdmVy c2FsIG9mIHRoZSBQRC9QVCB0cmVlLgo+ICsgKi8KPiArc3RhdGljIHZvaWQgYW1kZ3B1X3ZtX3B0 X2ZpcnN0X2RmcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPiArCQkJCSAgIHN0cnVjdCBh bWRncHVfdm0gKnZtLAo+ICsJCQkJICAgc3RydWN0IGFtZGdwdV92bV9wdF9jdXJzb3IgKmN1cnNv cikKPiArewo+ICsJYW1kZ3B1X3ZtX3B0X3N0YXJ0KGFkZXYsIHZtLCAwLCBjdXJzb3IpOwo+ICsJ d2hpbGUgKGFtZGdwdV92bV9wdF9kZXNjZW5kYW50KGFkZXYsIGN1cnNvcikpOwo+ICt9Cj4gKwo+ ICsvKioKPiArICogYW1kZ3B1X3ZtX3B0X25leHRfZGZzIC0gZ2V0IHRoZSBuZXh0IG5vZGUgZm9y IGEgZGVlcCBmaXJzdCBzZWFyY2gKPiArICoKPiArICogQGFkZXY6IGFtZGdwdV9kZXZpY2Ugc3Ry dWN0dXJlCj4gKyAqIEBjdXJzb3I6IGN1cnJlbnQgc3RhdGUKPiArICoKPiArICogTW92ZSB0aGUg Y3Vyc29yIHRvIHRoZSBuZXh0IG5vZGUgaW4gYSBkZWVwIGZpcnN0IHNlYXJjaC4KPiArICovCj4g K3N0YXRpYyB2b2lkIGFtZGdwdV92bV9wdF9uZXh0X2RmcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAq YWRldiwKPiArCQkJCSAgc3RydWN0IGFtZGdwdV92bV9wdF9jdXJzb3IgKmN1cnNvcikKPiArewo+ ICsJaWYgKCFjdXJzb3ItPnBhcmVudCkKPiArCQljdXJzb3ItPmVudHJ5ID0gTlVMTDsKPiArCWVs c2UgaWYgKGFtZGdwdV92bV9wdF9zaWJsaW5nKGFkZXYsIGN1cnNvcikpCj4gKwkJd2hpbGUgKGFt ZGdwdV92bV9wdF9kZXNjZW5kYW50KGFkZXYsIGN1cnNvcikpOwo+ICsJZWxzZQo+ICsJCWFtZGdw dV92bV9wdF9hbmNlc3RvcihjdXJzb3IpOwo+ICt9Cj4gKwo+ICsvKioKPiArICogZm9yX2VhY2hf YW1kZ3B1X3ZtX3B0X2Rmc19zYWZlIC0gc2FmZSBkZWVwIGZpcnN0IHNlYXJjaCBvZiBhbGwgUERz L1BUcwo+ICsgKi8KPiArI2RlZmluZSBmb3JfZWFjaF9hbWRncHVfdm1fcHRfZGZzX3NhZmUoYWRl diwgdm0sIGN1cnNvciwgZW50cnkpCQkJXAo+ICsJZm9yIChhbWRncHVfdm1fcHRfZmlyc3RfZGZz KChhZGV2KSwgKHZtKSwgJihjdXJzb3IpKSwJCQlcCj4gKwkgICAgIChlbnRyeSkgPSAoY3Vyc29y KS5lbnRyeTsgKGVudHJ5KTsgKGVudHJ5KSA9IChjdXJzb3IpLmVudHJ5LAlcCj4gKwkgICAgIGFt ZGdwdV92bV9wdF9uZXh0X2RmcygoYWRldiksICYoY3Vyc29yKSkpCj4gKwo+ICAgLyoqCj4gICAg KiBhbWRncHVfdm1fZ2V0X3BkX2JvIC0gYWRkIHRoZSBWTSBQRCB0byBhIHZhbGlkYXRpb24gbGlz dAo+ICAgICoKPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK