From mboxrd@z Thu Jan 1 00:00:00 1970 From: Junwei Zhang Subject: [PATCH] drm/amdgpu: allocate gart memory when it's required (v3) Date: Wed, 27 Jun 2018 16:28:18 +0800 Message-ID: <1530088098-10566-1-git-send-email-Jerry.Zhang@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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: Junwei Zhang , Felix.Kuehling-5C7GfCeVMHo@public.gmane.org, christian.koenig-5C7GfCeVMHo@public.gmane.org SW5zdGVhZCBvZiBjYWxsaW5nIGdhcnQgbWVtb3J5IG9uIGV2ZXJ5IGJvIHBpbiwKYWxsb2NhdGVz IGl0IG9uIGRlbWFuZAoKdjI6IGZpeCBlcnJvciBoYW5kbGluZwp2MzogZHJvcCB0aGUgY2hhbmdl IGZvciBrZmQgZ3R0IGJvIG1hcHBpbmcsIG5vdCBuZWVkZWQuCgpTaWduZWQtb2ZmLWJ5OiBKdW53 ZWkgWmhhbmcgPEplcnJ5LlpoYW5nQGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2FtZGtmZC5jICAgICAgICB8ICA2ICsrKysrKwogZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2JlbmNobWFyay5jICAgICB8IDE0ICsrKysrKysrKysrKy0tCiBk cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGlzcGxheS5jICAgICAgIHwgIDYgKysr KysrCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZmIuYyAgICAgICAgICAgIHwg IDggKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuYyAg ICAgICAgfCAxNSArKysrKysrKystLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV90ZXN0LmMgICAgICAgICAgfCAgNSArKysrKwogZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYyB8IDEzICsrKysrKysrKysrLS0KIDcgZmlsZXMgY2hh bmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZC5jIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZC5jCmluZGV4IDk4ZTNiZjguLmUzZWQwOGQgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmQuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkLmMKQEAgLTI4MCw2ICsyODAs MTIgQEAgaW50IGFsbG9jX2d0dF9tZW0oc3RydWN0IGtnZF9kZXYgKmtnZCwgc2l6ZV90IHNpemUs CiAJCWdvdG8gYWxsb2NhdGVfbWVtX3Bpbl9ib19mYWlsZWQ7CiAJfQogCisJciA9IGFtZGdwdV90 dG1fYWxsb2NfZ2FydCgmYm8tPnRibyk7CisJaWYgKHIpIHsKKwkJZGV2X2VycihhZGV2LT5kZXYs ICIlcCBiaW5kIGZhaWxlZFxuIiwgYm8pOworCQlnb3RvIGFsbG9jYXRlX21lbV9rbWFwX2JvX2Zh aWxlZDsKKwl9CisKIAlyID0gYW1kZ3B1X2JvX2ttYXAoYm8sICZjcHVfcHRyX3RtcCk7CiAJaWYg KHIpIHsKIAkJZGV2X2VycihhZGV2LT5kZXYsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfYmVuY2htYXJrLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfYmVuY2htYXJrLmMKaW5kZXggY2I4OGQ3ZS4uMzA3OWVhOCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2JlbmNobWFyay5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9iZW5jaG1hcmsuYwpAQCAtOTYsMTEgKzk2LDE2 IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9iZW5jaG1hcmtfbW92ZShzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwgdW5zaWduZWQgc2l6ZSwKIAlpZiAodW5saWtlbHkociAhPSAwKSkKIAkJZ290byBv dXRfY2xlYW51cDsKIAlyID0gYW1kZ3B1X2JvX3Bpbihzb2JqLCBzZG9tYWluKTsKLQlzYWRkciA9 IGFtZGdwdV9ib19ncHVfb2Zmc2V0KHNvYmopOworCWlmIChyKSB7CisJCWFtZGdwdV9ib191bnJl c2VydmUoc29iaik7CisJCWdvdG8gb3V0X2NsZWFudXA7CisJfQorCXIgPSBhbWRncHVfdHRtX2Fs bG9jX2dhcnQoJnNvYmotPnRibyk7CiAJYW1kZ3B1X2JvX3VucmVzZXJ2ZShzb2JqKTsKIAlpZiAo cikgewogCQlnb3RvIG91dF9jbGVhbnVwOwogCX0KKwlzYWRkciA9IGFtZGdwdV9ib19ncHVfb2Zm c2V0KHNvYmopOwogCWJwLmRvbWFpbiA9IGRkb21haW47CiAJciA9IGFtZGdwdV9ib19jcmVhdGUo YWRldiwgJmJwLCAmZG9iaik7CiAJaWYgKHIpIHsKQEAgLTExMCwxMSArMTE1LDE2IEBAIHN0YXRp YyB2b2lkIGFtZGdwdV9iZW5jaG1hcmtfbW92ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwg dW5zaWduZWQgc2l6ZSwKIAlpZiAodW5saWtlbHkociAhPSAwKSkKIAkJZ290byBvdXRfY2xlYW51 cDsKIAlyID0gYW1kZ3B1X2JvX3Bpbihkb2JqLCBkZG9tYWluKTsKLQlkYWRkciA9IGFtZGdwdV9i b19ncHVfb2Zmc2V0KGRvYmopOworCWlmIChyKSB7CisJCWFtZGdwdV9ib191bnJlc2VydmUoc29i aik7CisJCWdvdG8gb3V0X2NsZWFudXA7CisJfQorCXIgPSBhbWRncHVfdHRtX2FsbG9jX2dhcnQo JmRvYmotPnRibyk7CiAJYW1kZ3B1X2JvX3VucmVzZXJ2ZShkb2JqKTsKIAlpZiAocikgewogCQln b3RvIG91dF9jbGVhbnVwOwogCX0KKwlkYWRkciA9IGFtZGdwdV9ib19ncHVfb2Zmc2V0KGRvYmop OwogCiAJaWYgKGFkZXYtPm1tYW4uYnVmZmVyX2Z1bmNzKSB7CiAJCXRpbWUgPSBhbWRncHVfYmVu Y2htYXJrX2RvX21vdmUoYWRldiwgc2l6ZSwgc2FkZHIsIGRhZGRyLCBuKTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kaXNwbGF5LmMgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGlzcGxheS5jCmluZGV4IDAzNmI2ZjcuLjdkNmEzNmIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kaXNwbGF5LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rpc3BsYXkuYwpAQCAtMTk0 LDYgKzE5NCwxMiBAQCBpbnQgYW1kZ3B1X2Rpc3BsYXlfY3J0Y19wYWdlX2ZsaXBfdGFyZ2V0KHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJZ290byB1bnJlc2VydmU7CiAJfQogCisJciA9IGFtZGdw dV90dG1fYWxsb2NfZ2FydCgmbmV3X2Fiby0+dGJvKTsKKwlpZiAodW5saWtlbHkociAhPSAwKSkg eworCQlEUk1fRVJST1IoIiVwIGJpbmQgZmFpbGVkXG4iLCBuZXdfYWJvKTsKKwkJZ290byB1bnBp bjsKKwl9CisKIAlyID0gcmVzZXJ2YXRpb25fb2JqZWN0X2dldF9mZW5jZXNfcmN1KG5ld19hYm8t PnRiby5yZXN2LCAmd29yay0+ZXhjbCwKIAkJCQkJICAgICAgJndvcmstPnNoYXJlZF9jb3VudCwK IAkJCQkJICAgICAgJndvcmstPnNoYXJlZCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfZmIuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9mYi5jCmluZGV4IDQ2MmI3YTEuLmNkNjhhMmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9mYi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9mYi5jCkBAIC0xNzMsNiArMTczLDE0IEBAIHN0YXRpYyBpbnQgYW1kZ3B1ZmJfY3Jl YXRlX3Bpbm5lZF9vYmplY3Qoc3RydWN0IGFtZGdwdV9mYmRldiAqcmZiZGV2LAogCQlhbWRncHVf Ym9fdW5yZXNlcnZlKGFibyk7CiAJCWdvdG8gb3V0X3VucmVmOwogCX0KKworCXJldCA9IGFtZGdw dV90dG1fYWxsb2NfZ2FydCgmYWJvLT50Ym8pOworCWlmIChyZXQpIHsKKwkJYW1kZ3B1X2JvX3Vu cmVzZXJ2ZShhYm8pOworCQlkZXZfZXJyKGFkZXYtPmRldiwgIiVwIGJpbmQgZmFpbGVkXG4iLCBh Ym8pOworCQlnb3RvIG91dF91bnJlZjsKKwl9CisKIAlyZXQgPSBhbWRncHVfYm9fa21hcChhYm8s IE5VTEwpOwogCWFtZGdwdV9ib191bnJlc2VydmUoYWJvKTsKIAlpZiAocmV0KSB7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMKaW5kZXggNzljZGJmMS4uN2Y3YzIy MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuYwpAQCAtMjU3 LDYgKzI1NywxMyBAQCBpbnQgYW1kZ3B1X2JvX2NyZWF0ZV9yZXNlcnZlZChzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldiwKIAkJZGV2X2VycihhZGV2LT5kZXYsICIoJWQpIGtlcm5lbCBibyBwaW4g ZmFpbGVkXG4iLCByKTsKIAkJZ290byBlcnJvcl91bnJlc2VydmU7CiAJfQorCisJciA9IGFtZGdw dV90dG1fYWxsb2NfZ2FydCgmKCpib19wdHIpLT50Ym8pOworCWlmIChyKSB7CisJCWRldl9lcnIo YWRldi0+ZGV2LCAiJXAgYmluZCBmYWlsZWRcbiIsICpib19wdHIpOworCQlnb3RvIGVycm9yX3Vu cGluOworCX0KKwogCWlmIChncHVfYWRkcikKIAkJKmdwdV9hZGRyID0gYW1kZ3B1X2JvX2dwdV9v ZmZzZXQoKmJvX3B0cik7CiAKQEAgLTI3MCw2ICsyNzcsOCBAQCBpbnQgYW1kZ3B1X2JvX2NyZWF0 ZV9yZXNlcnZlZChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAogCXJldHVybiAwOwogCitl cnJvcl91bnBpbjoKKwlhbWRncHVfYm9fdW5waW4oKmJvX3B0cik7CiBlcnJvcl91bnJlc2VydmU6 CiAJYW1kZ3B1X2JvX3VucmVzZXJ2ZSgqYm9fcHRyKTsKIApAQCAtOTAzLDEyICs5MTIsNiBAQCBp bnQgYW1kZ3B1X2JvX3Bpbl9yZXN0cmljdGVkKHN0cnVjdCBhbWRncHVfYm8gKmJvLCB1MzIgZG9t YWluLAogCQlnb3RvIGVycm9yOwogCX0KIAotCXIgPSBhbWRncHVfdHRtX2FsbG9jX2dhcnQoJmJv LT50Ym8pOwotCWlmICh1bmxpa2VseShyKSkgewotCQlkZXZfZXJyKGFkZXYtPmRldiwgIiVwIGJp bmQgZmFpbGVkXG4iLCBibyk7Ci0JCWdvdG8gZXJyb3I7Ci0JfQotCiAJYm8tPnBpbl9jb3VudCA9 IDE7CiAKIAlkb21haW4gPSBhbWRncHVfbWVtX3R5cGVfdG9fZG9tYWluKGJvLT50Ym8ubWVtLm1l bV90eXBlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90 ZXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdGVzdC5jCmluZGV4IDYy MmFmZmMuLmQ2ZWVlYTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV90ZXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Rlc3Qu YwpAQCAtMTAyLDYgKzEwMiwxMSBAQCBzdGF0aWMgdm9pZCBhbWRncHVfZG9fdGVzdF9tb3Zlcyhz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAkJCURSTV9FUlJPUigiRmFpbGVkIHRvIHBpbiBH VFQgb2JqZWN0ICVkXG4iLCBpKTsKIAkJCWdvdG8gb3V0X2xjbGVhbl91bnJlczsKIAkJfQorCQly ID0gYW1kZ3B1X3R0bV9hbGxvY19nYXJ0KCZndHRfb2JqW2ldLT50Ym8pOworCQlpZiAocikgewor CQkJRFJNX0VSUk9SKCIlcCBiaW5kIGZhaWxlZFxuIiwgZ3R0X29ialtpXSk7CisJCQlnb3RvIG91 dF9sY2xlYW5fdW5waW47CisJCX0KIAkJZ2FydF9hZGRyID0gYW1kZ3B1X2JvX2dwdV9vZmZzZXQo Z3R0X29ialtpXSk7CiAKIAkJciA9IGFtZGdwdV9ib19rbWFwKGd0dF9vYmpbaV0sICZndHRfbWFw KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1k Z3B1X2RtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9k bS5jCmluZGV4IDMxNjUyYzFlLi5kNDMzNDI4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMKQEAgLTMxMTAsMTMgKzMxMTAsMjIgQEAg c3RhdGljIGludCBkbV9wbGFuZV9oZWxwZXJfcHJlcGFyZV9mYihzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZSwKIAkJZG9tYWluID0gQU1ER1BVX0dFTV9ET01BSU5fVlJBTTsKIAogCXIgPSBhbWRncHVf Ym9fcGluKHJibywgZG9tYWluKTsKLQlhbWRncHVfYm9fdW5yZXNlcnZlKHJibyk7Ci0KIAlpZiAo dW5saWtlbHkociAhPSAwKSkgewogCQlpZiAociAhPSAtRVJFU1RBUlRTWVMpCiAJCQlEUk1fRVJS T1IoIkZhaWxlZCB0byBwaW4gZnJhbWVidWZmZXIgd2l0aCBlcnJvciAlZFxuIiwgcik7CisJCWFt ZGdwdV9ib191bnJlc2VydmUocmJvKTsKKwkJcmV0dXJuIHI7CisJfQorCisJciA9IGFtZGdwdV90 dG1fYWxsb2NfZ2FydCgmcmJvLT50Ym8pOworCWlmICh1bmxpa2VseShyICE9IDApKSB7CisJCWFt ZGdwdV9ib191bnBpbihyYm8pOworCQlhbWRncHVfYm9fdW5yZXNlcnZlKHJibyk7CisJCURSTV9F UlJPUigiJXAgYmluZCBmYWlsZWRcbiIsIHJibyk7CiAJCXJldHVybiByOwogCX0KKwlhbWRncHVf Ym9fdW5yZXNlcnZlKHJibyk7CisKIAlhZmItPmFkZHJlc3MgPSBhbWRncHVfYm9fZ3B1X29mZnNl dChyYm8pOwogCiAJYW1kZ3B1X2JvX3JlZihyYm8pOwotLSAKMS45LjEKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFt ZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=