From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fernando Pacheco Subject: [PATCH v2 2/5] drm/i915/uc: Reserve upper range of GGTT Date: Thu, 18 Apr 2019 16:31:48 -0700 Message-ID: <20190418233151.17510-3-fernando.pacheco@intel.com> References: <20190418233151.17510-1-fernando.pacheco@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 57EAE89077 for ; Thu, 18 Apr 2019 23:34:22 +0000 (UTC) In-Reply-To: <20190418233151.17510-1-fernando.pacheco@intel.com> 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 R3VDIGFuZCBIdUMgZGVwZW5kIG9uIHN0cnVjdF9tdXRleCBmb3IgZGV2aWNlCnJlaW5pdGlhbGl6 YXRpb24uIE1vdmluZyBhd2F5IGZyb20gdGhpcyBkZXBlbmRlbmN5CnJlcXVpcmVzIHBlcm1hLXBp bm5pbmcgdGhlIGZpcm13YXJlIGltYWdlcyBpbiBHR1RULgpUaGUgdXBwZXIgcG9ydGlvbiBvZiB0 aGUgR3VDIGFkZHJlc3Mgc3BhY2UgaGFzCmEgc2l6ZWFibGUgaG9sZSAoc2V2ZXJhbCBNQikgdGhh dCBpcyBpbmFjY2Vzc2libGUKYnkgR3VDLiBSZXNlcnZlIHRoaXMgcmFuZ2Ugd2l0aGluIEdHVFQg YXMgaXQgY2FuCmNvbWZvcnRhYmx5IGhvbGQgR3VDL0h1QyBmaXJtd2FyZSBpbWFnZXMuCgp2Mjog UmVzZXJ2ZSBub2RlIHJhdGhlciB0aGFuIGluc2VydCAoQ2hyaXMpCiAgICBTaW1wbGVyIGRldGVy bWluYXRpb24gb2Ygbm9kZSBzdGFydC9zaXplIChEYW5pZWxlKQogICAgTW92ZSByZXNlcnZlL3Jl bGVhc2Ugb3V0IHRvIGludGVsX2d1Yy4qIGZpbGVzCgpTaWduZWQtb2ZmLWJ5OiBGZXJuYW5kbyBQ YWNoZWNvIDxmZXJuYW5kby5wYWNoZWNvQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9ndHQuYyB8IDI1ICsrKysrKysrLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2d0dC5oIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Z3VjLmMgICAgfCA0NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZ3VjLmggICAgfCAgMiArKwogNCBmaWxlcyBjaGFuZ2VkLCA2MCBpbnNl cnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5j CmluZGV4IDhmNDYwY2M0Y2MxZi4uMGI0YzIyZTY4NTc0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9ndHQuYwpAQCAtMjc1Miw2ICsyNzUyLDEyIEBAIGludCBpOTE1X2dlbV9pbml0X2dndHQo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWlmIChyZXQpCiAJCXJldHVybiBy ZXQ7CiAKKwlpZiAoVVNFU19HVUMoZGV2X3ByaXYpKSB7CisJCXJldCA9IGludGVsX2d1Y19yZXNl cnZlX2dndHRfdG9wKCZkZXZfcHJpdi0+Z3VjKTsKKwkJaWYgKHJldCkKKwkJCWdvdG8gZXJyX3Jl c2VydmU7CisJfQorCiAJLyogQ2xlYXIgYW55IG5vbi1wcmVhbGxvY2F0ZWQgYmxvY2tzICovCiAJ ZHJtX21tX2Zvcl9lYWNoX2hvbGUoZW50cnksICZnZ3R0LT52bS5tbSwgaG9sZV9zdGFydCwgaG9s ZV9lbmQpIHsKIAkJRFJNX0RFQlVHX0tNUygiY2xlYXJpbmcgdW51c2VkIEdUVCBzcGFjZTogWyVs eCwgJWx4XVxuIiwKQEAgLTI3NjYsMTIgKzI3NzIsMTQgQEAgaW50IGk5MTVfZ2VtX2luaXRfZ2d0 dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJaWYgKElOVEVMX1BQR1RUKGRl dl9wcml2KSA9PSBJTlRFTF9QUEdUVF9BTElBU0lORykgewogCQlyZXQgPSBpOTE1X2dlbV9pbml0 X2FsaWFzaW5nX3BwZ3R0KGRldl9wcml2KTsKIAkJaWYgKHJldCkKLQkJCWdvdG8gZXJyOworCQkJ Z290byBlcnJfYXBwZ3R0OwogCX0KIAogCXJldHVybiAwOwogCi1lcnI6CitlcnJfYXBwZ3R0Ogor CWludGVsX2d1Y19yZWxlYXNlX2dndHRfdG9wKCZkZXZfcHJpdi0+Z3VjKTsKK2Vycl9yZXNlcnZl OgogCWRybV9tbV9yZW1vdmVfbm9kZSgmZ2d0dC0+ZXJyb3JfY2FwdHVyZSk7CiAJcmV0dXJuIHJl dDsKIH0KQEAgLTI3OTcsNiArMjgwNSw4IEBAIHZvaWQgaTkxNV9nZ3R0X2NsZWFudXBfaHcoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWlmIChkcm1fbW1fbm9kZV9hbGxvY2F0 ZWQoJmdndHQtPmVycm9yX2NhcHR1cmUpKQogCQlkcm1fbW1fcmVtb3ZlX25vZGUoJmdndHQtPmVy cm9yX2NhcHR1cmUpOwogCisJaW50ZWxfZ3VjX3JlbGVhc2VfZ2d0dF90b3AoJmRldl9wcml2LT5n dWMpOworCiAJaWYgKGRybV9tbV9pbml0aWFsaXplZCgmZ2d0dC0+dm0ubW0pKSB7CiAJCWludGVs X3ZndF9kZWJhbGxvb24oZGV2X3ByaXYpOwogCQlpOTE1X2FkZHJlc3Nfc3BhY2VfZmluaSgmZ2d0 dC0+dm0pOwpAQCAtMzM2OSwxNyArMzM3OSw2IEBAIGludCBpOTE1X2dndHRfcHJvYmVfaHcoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7 CiAKLQkvKiBUcmltIHRoZSBHR1RUIHRvIGZpdCB0aGUgR3VDIG1hcHBhYmxlIHVwcGVyIHJhbmdl ICh3aGVuIGVuYWJsZWQpLgotCSAqIFRoaXMgaXMgZWFzaWVyIHRoYW4gZG9pbmcgcmFuZ2UgcmVz dHJpY3Rpb24gb24gdGhlIGZseSwgYXMgd2UKLQkgKiBjdXJyZW50bHkgZG9uJ3QgaGF2ZSBhbnkg Yml0cyBzcGFyZSB0byBwYXNzIGluIHRoaXMgdXBwZXIKLQkgKiByZXN0cmljdGlvbiEKLQkgKi8K LQlpZiAoVVNFU19HVUMoZGV2X3ByaXYpKSB7Ci0JCWdndHQtPnZtLnRvdGFsID0gbWluX3QodTY0 LCBnZ3R0LT52bS50b3RhbCwgR1VDX0dHVFRfVE9QKTsKLQkJZ2d0dC0+bWFwcGFibGVfZW5kID0K LQkJCW1pbl90KHU2NCwgZ2d0dC0+bWFwcGFibGVfZW5kLCBnZ3R0LT52bS50b3RhbCk7Ci0JfQot CiAJaWYgKChnZ3R0LT52bS50b3RhbCAtIDEpID4+IDMyKSB7CiAJCURSTV9FUlJPUigiV2UgbmV2 ZXIgZXhwZWN0ZWQgYSBHbG9iYWwgR1RUIHdpdGggbW9yZSB0aGFuIDMyYml0cyIKIAkJCSAgIiBv ZiBhZGRyZXNzIHNwYWNlISBGb3VuZCAlbGxkTSFcbiIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2d0dC5oCmluZGV4IGY1OTdmMzViMTA5Yi4uYjUxZTc3OTczMmMzIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9ndHQuaApAQCAtMzg0LDYgKzM4NCw3IEBAIHN0cnVjdCBpOTE1X2dndHQgewog CXUzMiBwaW5fYmlhczsKIAogCXN0cnVjdCBkcm1fbW1fbm9kZSBlcnJvcl9jYXB0dXJlOworCXN0 cnVjdCBkcm1fbW1fbm9kZSB1Y19mdzsKIH07CiAKIHN0cnVjdCBpOTE1X2h3X3BwZ3R0IHsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZ3VjLmMKaW5kZXggZDgxYTAyYjBmNTI1Li5kZGQyNDZkYzNmMTQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2d1Yy5jCkBAIC03MjEsMyArNzIxLDQ4IEBAIHUzMiBpbnRlbF9n dWNfcmVzZXJ2ZWRfZ3R0X3NpemUoc3RydWN0IGludGVsX2d1YyAqZ3VjKQogewogCXJldHVybiBn dWNfdG9faTkxNShndWMpLT53b3BjbS5ndWMuc2l6ZTsKIH0KKworc3RhdGljIHUzMiBfX2ludGVs X2d1Y19nZ3R0X3RvcF9vZmZzZXQoc3RydWN0IGludGVsX2d1YyAqZ3VjKQoreworCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1ID0gZ3VjX3RvX2k5MTUoZ3VjKTsKKwlzdHJ1Y3QgaTkxNV9n Z3R0ICpnZ3R0ID0gJmk5MTUtPmdndHQ7CisJc3RydWN0IGludGVsX2h1YyAqaHVjID0gJmk5MTUt Pmh1YzsKKwl1MzIgZ3VjX2Z3X3NpemUsIGh1Y19md19zaXplOworCXUzMiBtaW5fcmVzZXJ2ZWRf c2l6ZTsKKworCWd1Y19md19zaXplID0gcm91bmRfdXAoZ3VjLT5mdy5zaXplLCBJOTE1X0dUVF9Q QUdFX1NJWkUpOworCWh1Y19md19zaXplID0gcm91bmRfdXAoaHVjLT5mdy5zaXplLCBJOTE1X0dU VF9QQUdFX1NJWkUpOworCisJbWluX3Jlc2VydmVkX3NpemUgPSBndWNfZndfc2l6ZSArIGh1Y19m d19zaXplOworCisJcmV0dXJuIG1pbl90KHUzMiwgR1VDX0dHVFRfVE9QLCBnZ3R0LT52bS50b3Rh bCAtIG1pbl9yZXNlcnZlZF9zaXplKTsKK30KKworaW50IGludGVsX2d1Y19yZXNlcnZlX2dndHRf dG9wKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSA9IGd1Y190b19pOTE1KGd1Yyk7CisJc3RydWN0IGk5MTVfZ2d0dCAqZ2d0dCA9ICZpOTE1 LT5nZ3R0OworCXU2NCBzdGFydCwgc2l6ZTsKKwlpbnQgcmV0OworCisJc3RhcnQgPSBfX2ludGVs X2d1Y19nZ3R0X3RvcF9vZmZzZXQoZ3VjKTsKKwlzaXplID0gZ2d0dC0+dm0udG90YWwgLSBzdGFy dDsKKworCXJldCA9IGk5MTVfZ2VtX2d0dF9yZXNlcnZlKCZnZ3R0LT52bSwgJmdndHQtPnVjX2Z3 LCBzaXplLAorCQkJCSAgIHN0YXJ0LCBJOTE1X0NPTE9SX1VORVZJQ1RBQkxFLAorCQkJCSAgIFBJ Tl9OT0VWSUNUKTsKKworCWlmIChyZXQpCisJCURSTV9ERUJVR19EUklWRVIoIkd1QzogZmFpbGVk IHRvIHJlc2VydmUgdG9wIG9mIGdndHRcbiIpOworCisJcmV0dXJuIHJldDsKK30KKwordm9pZCBp bnRlbF9ndWNfcmVsZWFzZV9nZ3R0X3RvcChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCit7CisJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBndWNfdG9faTkxNShndWMpOworCXN0cnVjdCBp OTE1X2dndHQgKmdndHQgPSAmaTkxNS0+Z2d0dDsKKworCWlmIChkcm1fbW1fbm9kZV9hbGxvY2F0 ZWQoJmdndHQtPnVjX2Z3KSkKKwkJZHJtX21tX3JlbW92ZV9ub2RlKCZnZ3R0LT51Y19mdyk7Cit9 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oCmluZGV4IDJjNTlmZjhkOWYzOS4uMjQ5NGU4NDgzMWEy IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaApAQCAtMTczLDYgKzE3Myw4IEBAIGludCBpbnRl bF9ndWNfc3VzcGVuZChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpOwogaW50IGludGVsX2d1Y19yZXN1 bWUoc3RydWN0IGludGVsX2d1YyAqZ3VjKTsKIHN0cnVjdCBpOTE1X3ZtYSAqaW50ZWxfZ3VjX2Fs bG9jYXRlX3ZtYShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsIHUzMiBzaXplKTsKIHUzMiBpbnRlbF9n dWNfcmVzZXJ2ZWRfZ3R0X3NpemUoc3RydWN0IGludGVsX2d1YyAqZ3VjKTsKK2ludCBpbnRlbF9n dWNfcmVzZXJ2ZV9nZ3R0X3RvcChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpOwordm9pZCBpbnRlbF9n dWNfcmVsZWFzZV9nZ3R0X3RvcChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpOwogCiBzdGF0aWMgaW5s aW5lIGludCBpbnRlbF9ndWNfc2FuaXRpemUoc3RydWN0IGludGVsX2d1YyAqZ3VjKQogewotLSAK Mi4yMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=