From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 28/38] drm/i915: Create/destroy VM (ppGTT) for use with contexts Date: Fri, 18 Jan 2019 14:00:59 +0000 Message-ID: <20190118140109.25261-29-chris@chris-wilson.co.uk> References: <20190118140109.25261-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8E6056F7AC for ; Fri, 18 Jan 2019 14:01:53 +0000 (UTC) In-Reply-To: <20190118140109.25261-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org SW4gcHJlcGFyYXRpb24gdG8gbWFraW5nIHRoZSBwcEdUVCBiaW5kaW5nIGZvciBhIGNvbnRleHQg ZXhwbGljaXQgKHRvCmZhY2lsaXRhdGUgcmV1c2luZyB0aGUgc2FtZSBwcEdUVCBiZXR3ZWVuIGRp ZmZlcmVudCBjb250ZXh0cyksIGFsbG93IHRoZQp1c2VyIHRvIGNyZWF0ZSBhbmQgZGVzdHJveSBu YW1lZCBwcEdUVC4KClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2ls c29uLmNvLnVrPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICAgICB8 ICAyICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICB8ICAzICsKIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyB8IDgzICsrKysrKysrKysrKysr KysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuaCB8ICA1 ICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCAgICAgfCAgMiArCiBpbmNs dWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggICAgICAgICAgICAgfCAxMCArKysKIDYgZmlsZXMgY2hh bmdlZCwgMTA1IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwppbmRleCBmNDYy YTRkMjhhZjQuLjU2YmQwODdmMWM0ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCkBAIC0zMDAz LDYgKzMwMDMsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9pb2N0bF9kZXNjIGk5MTVfaW9j dGxzW10gPSB7CiAJRFJNX0lPQ1RMX0RFRl9EUlYoSTkxNV9QRVJGX0FERF9DT05GSUcsIGk5MTVf cGVyZl9hZGRfY29uZmlnX2lvY3RsLCBEUk1fVU5MT0NLRUR8RFJNX1JFTkRFUl9BTExPVyksCiAJ RFJNX0lPQ1RMX0RFRl9EUlYoSTkxNV9QRVJGX1JFTU9WRV9DT05GSUcsIGk5MTVfcGVyZl9yZW1v dmVfY29uZmlnX2lvY3RsLCBEUk1fVU5MT0NLRUR8RFJNX1JFTkRFUl9BTExPVyksCiAJRFJNX0lP Q1RMX0RFRl9EUlYoSTkxNV9RVUVSWSwgaTkxNV9xdWVyeV9pb2N0bCwgRFJNX1VOTE9DS0VEfERS TV9SRU5ERVJfQUxMT1cpLAorCURSTV9JT0NUTF9ERUZfRFJWKEk5MTVfR0VNX1ZNX0NSRUFURSwg aTkxNV9nZW1fdm1fY3JlYXRlX2lvY3RsLCBEUk1fUkVOREVSX0FMTE9XKSwKKwlEUk1fSU9DVExf REVGX0RSVihJOTE1X0dFTV9WTV9ERVNUUk9ZLCBpOTE1X2dlbV92bV9kZXN0cm95X2lvY3RsLCBE Uk1fUkVOREVSX0FMTE9XKSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgZHJtX2RyaXZlciBkcml2ZXIg PSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA3NGJjY2IxNTMzNTkuLmNiMTFjMjM4MjNj NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yMTcsNiArMjE3LDkgQEAgc3RydWN0IGRy bV9pOTE1X2ZpbGVfcHJpdmF0ZSB7CiAJfSBtbTsKIAlzdHJ1Y3QgaWRyIGNvbnRleHRfaWRyOwog CisJc3RydWN0IG11dGV4IHZtX2xvY2s7CisJc3RydWN0IGlkciB2bV9pZHI7CisKIAlzdHJ1Y3Qg aW50ZWxfcnBzX2NsaWVudCB7CiAJCWF0b21pY190IGJvb3N0czsKIAl9IHJwc19jbGllbnQ7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKaW5kZXggZTgzMzRjNGJjMTMwLi43 YzkwOTgxNzA0YmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2Nv bnRleHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKQEAg LTU5OCwxOSArNTk4LDI5IEBAIHN0YXRpYyBpbnQgY29udGV4dF9pZHJfY2xlYW51cChpbnQgaWQs IHZvaWQgKnAsIHZvaWQgKmRhdGEpCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgdm1faWRy X2NsZWFudXAoaW50IGlkLCB2b2lkICpwLCB2b2lkICpkYXRhKQoreworCWk5MTVfcHBndHRfcHV0 KHApOworCXJldHVybiAwOworfQorCiBpbnQgaTkxNV9nZW1fY29udGV4dF9vcGVuKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1LAogCQkJICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCiB7CiAJ c3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2ID0gZmlsZS0+ZHJpdmVyX3By aXY7CiAJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eDsKIAorCW11dGV4X2luaXQoJmZpbGVf cHJpdi0+dm1fbG9jayk7CisKIAlpZHJfaW5pdCgmZmlsZV9wcml2LT5jb250ZXh0X2lkcik7CisJ aWRyX2luaXRfYmFzZSgmZmlsZV9wcml2LT52bV9pZHIsIDEpOwogCiAJbXV0ZXhfbG9jaygmaTkx NS0+ZHJtLnN0cnVjdF9tdXRleCk7CiAJY3R4ID0gaTkxNV9nZW1fY3JlYXRlX2NvbnRleHQoaTkx NSwgZmlsZV9wcml2KTsKIAltdXRleF91bmxvY2soJmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOwog CWlmIChJU19FUlIoY3R4KSkgewogCQlpZHJfZGVzdHJveSgmZmlsZV9wcml2LT5jb250ZXh0X2lk cik7CisJCWlkcl9kZXN0cm95KCZmaWxlX3ByaXYtPnZtX2lkcik7CiAJCXJldHVybiBQVFJfRVJS KGN0eCk7CiAJfQogCkBAIC02MjcsNiArNjM3LDc5IEBAIHZvaWQgaTkxNV9nZW1fY29udGV4dF9j bG9zZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCiAKIAlpZHJfZm9yX2VhY2goJmZpbGVfcHJpdi0+ Y29udGV4dF9pZHIsIGNvbnRleHRfaWRyX2NsZWFudXAsIE5VTEwpOwogCWlkcl9kZXN0cm95KCZm aWxlX3ByaXYtPmNvbnRleHRfaWRyKTsKKworCWlkcl9mb3JfZWFjaCgmZmlsZV9wcml2LT52bV9p ZHIsIHZtX2lkcl9jbGVhbnVwLCBOVUxMKTsKKwlpZHJfZGVzdHJveSgmZmlsZV9wcml2LT52bV9p ZHIpOworCisJbXV0ZXhfZGVzdHJveSgmZmlsZV9wcml2LT52bV9sb2NrKTsKK30KKworaW50IGk5 MTVfZ2VtX3ZtX2NyZWF0ZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRh LAorCQkJICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCit7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUgPSB0b19pOTE1KGRldik7CisJc3RydWN0IGRybV9pOTE1X2dlbV92bV9jcmVh dGUgKmFyZ3MgPSBkYXRhOworCXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJp diA9IGZpbGUtPmRyaXZlcl9wcml2OworCXN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dDsKKwlp bnQgZXJyOworCisJaWYgKCFIQVNfRlVMTF9QUEdUVChpOTE1KSkKKwkJcmV0dXJuIC1FTk9ERVY7 CisKKwlpZiAoYXJncy0+ZmxhZ3MpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGFyZ3MtPmV4 dGVuc2lvbnMpCisJCXJldHVybiAtRUlOVkFMOworCisJcHBndHQgPSBpOTE1X3BwZ3R0X2NyZWF0 ZShpOTE1LCBmaWxlX3ByaXYpOworCWlmIChJU19FUlIocHBndHQpKQorCQlyZXR1cm4gUFRSX0VS UihwcGd0dCk7CisKKwllcnIgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJmZpbGVfcHJpdi0+ dm1fbG9jayk7CisJaWYgKGVycikKKwkJZ290byBlcnJfcHV0OworCisJZXJyID0gaWRyX2FsbG9j KCZmaWxlX3ByaXYtPnZtX2lkciwgcHBndHQsIDAsIDAsIEdGUF9LRVJORUwpOworCW11dGV4X3Vu bG9jaygmZmlsZV9wcml2LT52bV9sb2NrKTsKKwlpZiAoZXJyIDwgMCkKKwkJZ290byBlcnJfcHV0 OworCisJcHBndHQtPnVzZXJfaGFuZGxlID0gZXJyOworCWFyZ3MtPmlkID0gZXJyOworCXJldHVy biAwOworCitlcnJfcHV0OgorCWk5MTVfcHBndHRfcHV0KHBwZ3R0KTsKKwlyZXR1cm4gZXJyOwor fQorCitpbnQgaTkxNV9nZW1fdm1fZGVzdHJveV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB2b2lkICpkYXRhLAorCQkJICAgICAgc3RydWN0IGRybV9maWxlICpmaWxlKQoreworCXN0cnVj dCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiA9IGZpbGUtPmRyaXZlcl9wcml2Owor CXN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dDsKKwlpbnQgZXJyOworCXUzMiBpZDsKKworCWlk ID0gKih1MzIgKilkYXRhOworCWlmICghaWQpCisJCXJldHVybiAtRU5PRU5UOworCisJZXJyID0g bXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZmaWxlX3ByaXYtPnZtX2xvY2spOworCWlmIChlcnIp CisJCXJldHVybiBlcnI7CisKKwlwcGd0dCA9IGlkcl9yZW1vdmUoJmZpbGVfcHJpdi0+dm1faWRy LCBpZCk7CisJaWYgKHBwZ3R0KQorCQlwcGd0dC0+dXNlcl9oYW5kbGUgPSAwOworCisJbXV0ZXhf dW5sb2NrKCZmaWxlX3ByaXYtPnZtX2xvY2spOworCWlmICghcHBndHQpCisJCXJldHVybiAtRU5P RU5UOworCisJaTkxNV9wcGd0dF9wdXQocHBndHQpOworCXJldHVybiAwOwogfQogCiBzdGF0aWMg c3RydWN0IGk5MTVfcmVxdWVzdCAqCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9jb250ZXh0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0 LmgKaW5kZXggMWU0MWE5N2I4MDA3Li45Nzg2Zjg2YjY1OWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9jb250ZXh0LmgKQEAgLTM0OCw2ICszNDgsMTEgQEAgdm9pZCBpOTE1X2dlbV9j b250ZXh0X3JlbGVhc2Uoc3RydWN0IGtyZWYgKmN0eF9yZWYpOwogc3RydWN0IGk5MTVfZ2VtX2Nv bnRleHQgKgogaTkxNV9nZW1fY29udGV4dF9jcmVhdGVfZ3Z0KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpOwogCitpbnQgaTkxNV9nZW1fdm1fY3JlYXRlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHZvaWQgKmRhdGEsCisJCQkgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSk7CitpbnQgaTkx NV9nZW1fdm1fZGVzdHJveV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRh LAorCQkJICAgICAgc3RydWN0IGRybV9maWxlICpmaWxlKTsKKwogaW50IGk5MTVfZ2VtX2NvbnRl eHRfY3JlYXRlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCQkJ ICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpOwogaW50IGk5MTVfZ2VtX2NvbnRleHRfZGVzdHJveV9p b2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9ndHQuaAppbmRleCAwM2FkZTcxYjhkOWEuLjYxNjk4NjA5YTYyYyAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKQEAgLTM5Niw2ICszOTYsOCBAQCBzdHJ1Y3QgaTkxNV9o d19wcGd0dCB7CiAJCXN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5X3BvaW50ZXIgcGRwOwkvKiBH RU44KyAqLwogCQlzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeSBwZDsJCS8qIEdFTjYtNyAqLwog CX07CisKKwl1MzIgdXNlcl9oYW5kbGU7CiB9OwogCiBzdHJ1Y3QgZ2VuNl9od19wcGd0dCB7CmRp ZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggYi9pbmNsdWRlL3VhcGkvZHJt L2k5MTVfZHJtLmgKaW5kZXggNmVlMjIyMTgzOGRhLi5jMzMzNmM5MzFhOTUgMTAwNjQ0Ci0tLSBh L2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL2k5MTVf ZHJtLmgKQEAgLTMzOSw2ICszMzksOCBAQCB0eXBlZGVmIHN0cnVjdCBfZHJtX2k5MTVfc2FyZWEg ewogI2RlZmluZSBEUk1fSTkxNV9QRVJGX0FERF9DT05GSUcJMHgzNwogI2RlZmluZSBEUk1fSTkx NV9QRVJGX1JFTU9WRV9DT05GSUcJMHgzOAogI2RlZmluZSBEUk1fSTkxNV9RVUVSWQkJCTB4MzkK KyNkZWZpbmUgRFJNX0k5MTVfR0VNX1ZNX0NSRUFURQkJMHgzYQorI2RlZmluZSBEUk1fSTkxNV9H RU1fVk1fREVTVFJPWQkJMHgzYgogCiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0lOSVQJCURSTV9J T1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9JTklULCBkcm1faTkxNV9pbml0X3QpCiAj ZGVmaW5lIERSTV9JT0NUTF9JOTE1X0ZMVVNICQlEUk1fSU8gKCBEUk1fQ09NTUFORF9CQVNFICsg RFJNX0k5MTVfRkxVU0gpCkBAIC0zOTcsNiArMzk5LDggQEAgdHlwZWRlZiBzdHJ1Y3QgX2RybV9p OTE1X3NhcmVhIHsKICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfUEVSRl9BRERfQ09ORklHCURSTV9J T1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X1BFUkZfQUREX0NPTkZJRywgc3RydWN0IGRy bV9pOTE1X3BlcmZfb2FfY29uZmlnKQogI2RlZmluZSBEUk1fSU9DVExfSTkxNV9QRVJGX1JFTU9W RV9DT05GSUcJRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfUEVSRl9SRU1PVkVf Q09ORklHLCBfX3U2NCkKICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfUVVFUlkJCQlEUk1fSU9XUihE Uk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfUVVFUlksIHN0cnVjdCBkcm1faTkxNV9xdWVyeSkK KyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VNX1ZNX0NSRUFURQlEUk1fSU9XUiAoRFJNX0NPTU1B TkRfQkFTRSArIERSTV9JOTE1X0dFTV9WTV9DUkVBVEUsIHN0cnVjdCBkcm1faTkxNV9nZW1fdm1f Y3JlYXRlKQorI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fVk1fREVTVFJPWQlEUk1fSU9XIChE Uk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX1ZNX0RFU1RST1ksIHVpbnQzMl90KQogCiAv KiBBbGxvdyBkcml2ZXJzIHRvIHN1Ym1pdCBiYXRjaGJ1ZmZlcnMgZGlyZWN0bHkgdG8gaGFyZHdh cmUsIHJlbHlpbmcKICAqIG9uIHRoZSBzZWN1cml0eSBtZWNoYW5pc21zIHByb3ZpZGVkIGJ5IGhh cmR3YXJlLgpAQCAtMTQ0Miw2ICsxNDQ2LDEyIEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fY29udGV4 dF9kZXN0cm95IHsKIAlfX3UzMiBwYWQ7CiB9OwogCitzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3ZtX2Ny ZWF0ZSB7CisJX191NjQgZXh0ZW5zaW9uczsKKwlfX3UzMiBmbGFnczsKKwlfX3UzMiBpZDsgLyog b3V0cHV0OiBpZCBvZiBuZXcgdm0gKi8KK307CisKIHN0cnVjdCBkcm1faTkxNV9yZWdfcmVhZCB7 CiAJLyoKIAkgKiBSZWdpc3RlciBvZmZzZXQuCi0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=