From: Horace Chen Subject: [PATCH 2/2] drm/amdgpu: Reserve shared memory on VRAM for SR-IOV Date: Thu, 28 Sep 2017 16:36:31 +0800 Message-ID: <1506587791-6549-2-git-send-email-horace.chen@amd.com> References: <1506587791-6549-1-git-send-email-horace.chen@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1506587791-6549-1-git-send-email-horace.chen-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: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Alexander.Deucher-5C7GfCeVMHo@public.gmane.org, Horace Chen U1ItSU9WIG5lZWQgdG8gcmVzZXJ2ZSBhIHBpZWNlIG9mIHNoYXJlZCBWUkFNIHRvIGV4Y2hhbmdl IGRhdGEKYmV0d2VlbSBQRiBhbmQgVkYuIFRoZSBzdGFydCBhZGRyZXNzIGFuZCBzaXplIG9mIHRo ZSBzaGFyZWQgbWVtCmFyZSBwYXNzZWQgdG8gZ3Vlc3QgdGhyb3VnaCBWQklPUyBzdHJ1Y3R1cmUg VlJBTV9Vc2FnZUJ5RmlybXdhcmUuCgpWUkFNX1VzYWdlQnlGaXJtd2FyZSBpcyBhIGdlbmVyYWwg ZmVhdHVyZSBpbiBWQklPUywgaXQgaW5kaWNhdGVzCnRoYXQgVkJJT1MgbmVlZCB0byByZXNlcnZl IGEgcGllY2Ugb2YgbWVtb3J5IG9uIHRoZSBWUkFNLgoKU2lnbmVkLW9mZi1ieTogSG9yYWNlIENo ZW4gPGhvcmFjZS5jaGVuQGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1LmggICAgICAgICAgfCAxNCArKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfYXRvbWJpb3MuYyB8IDE4ICsrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2RldmljZS5jICAgfCA1NyArKysrKysrKysrKysrKysrKysrKysrKysrKysr CiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMgICAgICB8ICA5ICsrKysr CiA0IGZpbGVzIGNoYW5nZWQsIDk3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaCBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCmluZGV4IGE1YjBiNjcuLmI4MDI4NTggMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCkBAIC0xMzgwLDYgKzEzODAsMTggQEAgc3RydWN0IGFt ZGdwdV9hdGNzIHsKIH07CiAKIC8qCisgKiBGaXJtd2FyZSBWUkFNIHJlc2VydmF0aW9uCisgKi8K K3N0cnVjdCBhbWRncHVfZndfdnJhbV91c2FnZSB7CisJdTY0IHN0YXJ0X29mZnNldDsKKwl1NjQg c2l6ZTsKKwlzdHJ1Y3QgYW1kZ3B1X2JvICpyZXNlcnZlZF9ibzsKKwl2b2xhdGlsZSB1aW50MzJf dCAqdmE7Cit9OworCitpbnQgYW1kZ3B1X2Z3X3Jlc2VydmVfdnJhbV9pbml0KHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2KTsKKworLyoKICAqIENHUwogICovCiBzdHJ1Y3QgY2dzX2RldmljZSAq YW1kZ3B1X2Nnc19jcmVhdGVfZGV2aWNlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTsKQEAg LTE1ODgsNiArMTYwMCw4IEBAIHN0cnVjdCBhbWRncHVfZGV2aWNlIHsKIAlzdHJ1Y3QgZGVsYXll ZF93b3JrICAgICBsYXRlX2luaXRfd29yazsKIAogCXN0cnVjdCBhbWRncHVfdmlydAl2aXJ0Owor CS8qIGZpcm13YXJlIFZSQU0gcmVzZXJ2YXRpb24gKi8KKwlzdHJ1Y3QgYW1kZ3B1X2Z3X3ZyYW1f dXNhZ2UgZndfdnJhbV91c2FnZTsKIAogCS8qIGxpbmsgYWxsIHNoYWRvdyBibyAqLwogCXN0cnVj dCBsaXN0X2hlYWQgICAgICAgICAgICAgICAgc2hhZG93X2xpc3Q7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYXRvbWJpb3MuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9hdG9tYmlvcy5jCmluZGV4IGNlNDQzNTguLmY2NmQzM2UgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hdG9tYmlvcy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hdG9tYmlvcy5jCkBAIC0xODA3 LDYgKzE4MDcsOCBAQCBpbnQgYW1kZ3B1X2F0b21iaW9zX2FsbG9jYXRlX2ZiX3NjcmF0Y2goc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJdWludDE2X3QgZGF0YV9vZmZzZXQ7CiAJaW50IHVz YWdlX2J5dGVzID0gMDsKIAlzdHJ1Y3QgX0FUT01fVlJBTV9VU0FHRV9CWV9GSVJNV0FSRSAqZmly bXdhcmVfdXNhZ2U7CisJdTY0IHN0YXJ0X2FkZHI7CisJdTY0IHNpemU7CiAKIAlpZiAoYW1kZ3B1 X2F0b21fcGFyc2VfZGF0YV9oZWFkZXIoY3R4LCBpbmRleCwgTlVMTCwgTlVMTCwgTlVMTCwgJmRh dGFfb2Zmc2V0KSkgewogCQlmaXJtd2FyZV91c2FnZSA9IChzdHJ1Y3QgX0FUT01fVlJBTV9VU0FH RV9CWV9GSVJNV0FSRSAqKShjdHgtPmJpb3MgKyBkYXRhX29mZnNldCk7CkBAIC0xODE1LDcgKzE4 MTcsMjEgQEAgaW50IGFtZGdwdV9hdG9tYmlvc19hbGxvY2F0ZV9mYl9zY3JhdGNoKHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2KQogCQkJICBsZTMyX3RvX2NwdShmaXJtd2FyZV91c2FnZS0+YXNG aXJtd2FyZVZyYW1SZXNlcnZlSW5mb1swXS51bFN0YXJ0QWRkclVzZWRCeUZpcm13YXJlKSwKIAkJ CSAgbGUxNl90b19jcHUoZmlybXdhcmVfdXNhZ2UtPmFzRmlybXdhcmVWcmFtUmVzZXJ2ZUluZm9b MF0udXNGaXJtd2FyZVVzZUluS2IpKTsKIAotCQl1c2FnZV9ieXRlcyA9IGxlMTZfdG9fY3B1KGZp cm13YXJlX3VzYWdlLT5hc0Zpcm13YXJlVnJhbVJlc2VydmVJbmZvWzBdLnVzRmlybXdhcmVVc2VJ bktiKSAqIDEwMjQ7CisJCXN0YXJ0X2FkZHIgPSBmaXJtd2FyZV91c2FnZS0+YXNGaXJtd2FyZVZy YW1SZXNlcnZlSW5mb1swXS51bFN0YXJ0QWRkclVzZWRCeUZpcm13YXJlOworCQlzaXplID0gZmly bXdhcmVfdXNhZ2UtPmFzRmlybXdhcmVWcmFtUmVzZXJ2ZUluZm9bMF0udXNGaXJtd2FyZVVzZUlu S2I7CisKKwkJaWYgKCh1aW50MzJfdCkoc3RhcnRfYWRkciAmIEFUT01fVlJBTV9PUEVSQVRJT05f RkxBR1NfTUFTSykgPT0KKwkJCSh1aW50MzJfdCkoQVRPTV9WUkFNX0JMT0NLX1NSSU9WX01TR19T SEFSRV9SRVNFUlZBVElPTiA8PAorCQkJQVRPTV9WUkFNX09QRVJBVElPTl9GTEFHU19TSElGVCkp IHsKKwkJCS8qIEZpcm13YXJlIHJlcXVlc3QgVlJBTSByZXNlcnZhdGlvbiBmb3IgU1ItSU9WICov CisJCQlhZGV2LT5md192cmFtX3VzYWdlLnN0YXJ0X29mZnNldCA9IChzdGFydF9hZGRyICYKKwkJ CQkofkFUT01fVlJBTV9PUEVSQVRJT05fRkxBR1NfTUFTSykpIDw8IDEwOworCQkJYWRldi0+Zndf dnJhbV91c2FnZS5zaXplID0gc2l6ZSA8PCAxMDsKKwkJCS8qIFVzZSB0aGUgZGVmYXVsdCBzY3Jh dGNoIHNpemUgKi8KKwkJCXVzYWdlX2J5dGVzID0gMDsKKwkJfSBlbHNlIHsKKwkJCXVzYWdlX2J5 dGVzID0gbGUxNl90b19jcHUoZmlybXdhcmVfdXNhZ2UtPmFzRmlybXdhcmVWcmFtUmVzZXJ2ZUlu Zm9bMF0udXNGaXJtd2FyZVVzZUluS2IpICogMTAyNDsKKwkJfQogCX0KIAljdHgtPnNjcmF0Y2hf c2l6ZV9ieXRlcyA9IDA7CiAJaWYgKHVzYWdlX2J5dGVzID09IDApCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMKaW5kZXggYTg2ZDg1Ni4uMWUxN2NmMiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYwpAQCAtNjU4LDYgKzY1OCw2 MiBAQCB2b2lkIGFtZGdwdV9nYXJ0X2xvY2F0aW9uKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 LCBzdHJ1Y3QgYW1kZ3B1X21jICptYykKIH0KIAogLyoKKyAqIEZpcm13YXJlIFJlc2VydmF0aW9u IGZ1bmN0aW9uCisgKi8KKy8qKgorICogYW1kZ3B1X2Z3X3Jlc2VydmVfdnJhbV9maW5pIC0gZnJl ZSBmdyByZXNlcnZlZCB2cmFtCisgKgorICogQGFkZXY6IGFtZGdwdV9kZXZpY2UgcG9pbnRlcgor ICoKKyAqIGZyZWUgZncgcmVzZXJ2ZWQgdnJhbSBpZiBpdCBpcyByZXNlcnZlZC4KKyAqLwordm9p ZCBhbWRncHVfZndfcmVzZXJ2ZV92cmFtX2Zpbmkoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYp Cit7CisKKwlpZiAoYWRldi0+ZndfdnJhbV91c2FnZS5yZXNlcnZlZF9ibyA9PSBOVUxMKQorCQly ZXR1cm47CisKKwlhbWRncHVfYm9fZnJlZV92cmFtX3Jlc3RyaWN0ZWRfa2VybmVsKCZhZGV2LT5m d192cmFtX3VzYWdlLnJlc2VydmVkX2JvLAorCQlOVUxMLCAodm9pZCAqKikmYWRldi0+ZndfdnJh bV91c2FnZS52YSk7CisJYWRldi0+ZndfdnJhbV91c2FnZS5yZXNlcnZlZF9ibyA9IE5VTEw7Cit9 CisKKy8qKgorICogYW1kZ3B1X2Z3X3Jlc2VydmVfdnJhbV9pbml0IC0gY3JlYXRlIGJvIHZyYW0g cmVzZXJ2YXRpb24gZnJvbSBmdworICoKKyAqIEBhZGV2OiBhbWRncHVfZGV2aWNlIHBvaW50ZXIK KyAqCisgKiBjcmVhdGUgYm8gdnJhbSByZXNlcnZhdGlvbiBmcm9tIGZ3LgorICovCitpbnQgYW1k Z3B1X2Z3X3Jlc2VydmVfdnJhbV9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQorewor CWludCByID0gMDsKKwl1NjQgZ3B1X2FkZHI7CisJdTY0IHZyYW1fc2l6ZSA9IGFkZXYtPm1jLnZp c2libGVfdnJhbV9zaXplOworCisJYWRldi0+ZndfdnJhbV91c2FnZS52YSA9IE5VTEw7CisJYWRl di0+ZndfdnJhbV91c2FnZS5yZXNlcnZlZF9ibyA9IE5VTEw7CisKKwlpZiAoYWRldi0+ZndfdnJh bV91c2FnZS5zaXplID4gMCAmJgorCQlhZGV2LT5md192cmFtX3VzYWdlLnNpemUgPD0gdnJhbV9z aXplKSB7CisKKwkJciA9IGFtZGdwdV9ib19jcmVhdGVfdnJhbV9yZXN0cmljdGVkX2tlcm5lbChh ZGV2LAorCQkJYWRldi0+ZndfdnJhbV91c2FnZS5zdGFydF9vZmZzZXQsCisJCQlhZGV2LT5md192 cmFtX3VzYWdlLnNpemUsIFBBR0VfU0laRSwKKwkJCUFNREdQVV9HRU1fQ1JFQVRFX0NQVV9BQ0NF U1NfUkVRVUlSRUQgfAorCQkJQU1ER1BVX0dFTV9DUkVBVEVfVlJBTV9DT05USUdVT1VTLAorCQkJ JmFkZXYtPmZ3X3ZyYW1fdXNhZ2UucmVzZXJ2ZWRfYm8sCisJCQkmZ3B1X2FkZHIsICh2b2lkICoq KSZhZGV2LT5md192cmFtX3VzYWdlLnZhKTsKKwkJaWYgKHIpIHsKKwkJCWRldl9pbmZvKGFkZXYt PmRldiwgIlJlc2VydmUgVlJBTSBmb3IgZmlybXdhcmUgZmFpbGVkIik7CisJCQlhZGV2LT5md192 cmFtX3VzYWdlLnJlc2VydmVkX2JvID0gTlVMTDsKKwkJfQorCX0KKwlyZXR1cm4gcjsKK30KKwor CisvKgogICogR1BVIGhlbHBlcnMgZnVuY3Rpb24uCiAgKi8KIC8qKgpAQCAtMjMzMSw2ICsyMzg3 LDcgQEAgdm9pZCBhbWRncHVfZGV2aWNlX2Zpbmkoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYp CiAJLyogZXZpY3QgdnJhbSBtZW1vcnkgKi8KIAlhbWRncHVfYm9fZXZpY3RfdnJhbShhZGV2KTsK IAlhbWRncHVfaWJfcG9vbF9maW5pKGFkZXYpOworCWFtZGdwdV9md19yZXNlcnZlX3ZyYW1fZmlu aShhZGV2KTsKIAlhbWRncHVfZmVuY2VfZHJpdmVyX2ZpbmkoYWRldik7CiAJYW1kZ3B1X2ZiZGV2 X2ZpbmkoYWRldik7CiAJciA9IGFtZGdwdV9maW5pKGFkZXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X3R0bS5jCmluZGV4IDEwODZmMDMuLmE1MjUzY2YgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uYworKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMKQEAgLTEyNTYsNiArMTI1NiwxNSBAQCBpbnQgYW1k Z3B1X3R0bV9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCS8qIENoYW5nZSB0aGUg c2l6ZSBoZXJlIGluc3RlYWQgb2YgdGhlIGluaXQgYWJvdmUgc28gb25seSBscGZuIGlzIGFmZmVj dGVkICovCiAJYW1kZ3B1X3R0bV9zZXRfYWN0aXZlX3ZyYW1fc2l6ZShhZGV2LCBhZGV2LT5tYy52 aXNpYmxlX3ZyYW1fc2l6ZSk7CiAKKwkvKgorCSAqVGhlIHJlc2VydmVkIHZyYW0gZm9yIGZpcm13 YXJlIG11c3QgYmUgcGlubmVkIHRvIHRoZSBzcGVjaWZpZWQKKwkgKnBsYWNlIG9uIHRoZSBWUkFN LCBzbyByZXNlcnZlIGl0IGVhcmx5LgorCSAqLworCXIgPSBhbWRncHVfZndfcmVzZXJ2ZV92cmFt X2luaXQoYWRldik7CisJaWYgKHIpIHsKKwkJcmV0dXJuIHI7CisJfQorCiAJciA9IGFtZGdwdV9i b19jcmVhdGVfa2VybmVsKGFkZXYsIGFkZXYtPm1jLnN0b2xlbl9zaXplLCBQQUdFX1NJWkUsCiAJ CQkJICAgIEFNREdQVV9HRU1fRE9NQUlOX1ZSQU0sCiAJCQkJICAgICZhZGV2LT5zdG9sZW5fdmdh X21lbW9yeSwKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1n ZngK