From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 14/14] drm/i915: Make GuC GGTT reservation work on ggtt Date: Mon, 10 Jun 2019 16:54:19 +0100 Message-ID: <20190610155419.23723-15-tvrtko.ursulin@linux.intel.com> References: <20190610155419.23723-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id DB65D89196 for ; Mon, 10 Jun 2019 15:54:43 +0000 (UTC) In-Reply-To: <20190610155419.23723-1-tvrtko.ursulin@linux.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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClRoZXNlIGZ1 bmN0aW9ucyBvcGVyYXRlIG9uIGdndHQgc28gbWFrZSB0aGVtIHRha2UgdGhhdCBkaXJlY3RseSBh cwpwYXJhbWV0ZXIuCgpBdCB0aGUgc2FtZSB0aW1lIG1vdmUgdGhlIFVTRVNfR1VDIGNvbmRpdGlv bmFsIGRvd24gdG8KaW50ZWxfZ3VjX3Jlc2VydmVfZ2d0dF90b3AgZm9yIHN5bW1ldHJ5IHdpdGgK aW50ZWxfZ3VjX3Jlc2VydmVkX2d0dF9zaXplLgoKdjI6CiAqIFJlbmFtZSBhbmQgbW92ZSBmdW5j dGlvbnMgdG8gYmUgc3RhdGljIGluIGk5MTVfZ2VtX2d0dC5jIChNaWNoYWwpCgpTaWduZWQtb2Zm LWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpDYzogTWljaGFs IFdhamRlY3prbyA8bWljaGFsLndhamRlY3prb0BpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgfCAzNyArKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmMgICAgfCAyNyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oICAgIHwgIDIgLS0KIDMg ZmlsZXMgY2hhbmdlZCwgMzAgaW5zZXJ0aW9ucygrKSwgMzYgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9ndHQuYwppbmRleCBlNjIwNDFlYjEwYjguLjM5NGYzNDdhOTBlZSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKQEAgLTI4MzAsNiArMjgzMCwzMSBAQCBz dGF0aWMgdm9pZCBmaW5pX2FsaWFzaW5nX3BwZ3R0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1KQogCWdndHQtPnZtLnZtYV9vcHMudW5iaW5kX3ZtYSA9IGdndHRfdW5iaW5kX3ZtYTsKIH0K IAorc3RhdGljIGludCBnZ3R0X3Jlc2VydmVfZ3VjX3RvcChzdHJ1Y3QgaTkxNV9nZ3R0ICpnZ3R0 KQoreworCXU2NCBzaXplOworCWludCByZXQ7CisKKwlpZiAoIVVTRVNfR1VDKGdndHQtPnZtLmk5 MTUpKQorCQlyZXR1cm4gMDsKKworCXNpemUgPSBnZ3R0LT52bS50b3RhbCAtIEdVQ19HR1RUX1RP UDsKKworCXJldCA9IGk5MTVfZ2VtX2d0dF9yZXNlcnZlKCZnZ3R0LT52bSwgJmdndHQtPnVjX2Z3 LCBzaXplLAorCQkJCSAgIEdVQ19HR1RUX1RPUCwgSTkxNV9DT0xPUl9VTkVWSUNUQUJMRSwKKwkJ CQkgICBQSU5fTk9FVklDVCk7CisJaWYgKHJldCkKKwkJRFJNX0RFQlVHX0RSSVZFUigiR3VDOiBm YWlsZWQgdG8gcmVzZXJ2ZSB0b3Agb2YgZ2d0dFxuIik7CisKKwlyZXR1cm4gcmV0OworfQorCitz dGF0aWMgdm9pZCBnZ3R0X3JlbGVhc2VfZ3VjX3RvcChzdHJ1Y3QgaTkxNV9nZ3R0ICpnZ3R0KQor eworCWlmIChkcm1fbW1fbm9kZV9hbGxvY2F0ZWQoJmdndHQtPnVjX2Z3KSkKKwkJZHJtX21tX3Jl bW92ZV9ub2RlKCZnZ3R0LT51Y19mdyk7Cit9CisKIGludCBpOTE1X2dlbV9pbml0X2dndHQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCS8qIExldCBHRU0gTWFuYWdlIGFs bCBvZiB0aGUgYXBlcnR1cmUuCkBAIC0yODY3LDExICsyODkyLDkgQEAgaW50IGk5MTVfZ2VtX2lu aXRfZ2d0dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJaWYgKHJldCkKIAkJ cmV0dXJuIHJldDsKIAotCWlmIChVU0VTX0dVQyhkZXZfcHJpdikpIHsKLQkJcmV0ID0gaW50ZWxf Z3VjX3Jlc2VydmVfZ2d0dF90b3AoJmRldl9wcml2LT5ndWMpOwotCQlpZiAocmV0KQotCQkJZ290 byBlcnJfcmVzZXJ2ZTsKLQl9CisJcmV0ID0gZ2d0dF9yZXNlcnZlX2d1Y190b3AoZ2d0dCk7CisJ aWYgKHJldCkKKwkJZ290byBlcnJfcmVzZXJ2ZTsKIAogCS8qIENsZWFyIGFueSBub24tcHJlYWxs b2NhdGVkIGJsb2NrcyAqLwogCWRybV9tbV9mb3JfZWFjaF9ob2xlKGVudHJ5LCAmZ2d0dC0+dm0u bW0sIGhvbGVfc3RhcnQsIGhvbGVfZW5kKSB7CkBAIC0yODkzLDcgKzI5MTYsNyBAQCBpbnQgaTkx NV9nZW1faW5pdF9nZ3R0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlyZXR1 cm4gMDsKIAogZXJyX2FwcGd0dDoKLQlpbnRlbF9ndWNfcmVsZWFzZV9nZ3R0X3RvcCgmZGV2X3By aXYtPmd1Yyk7CisJZ2d0dF9yZWxlYXNlX2d1Y190b3AoZ2d0dCk7CiBlcnJfcmVzZXJ2ZToKIAlk cm1fbW1fcmVtb3ZlX25vZGUoJmdndHQtPmVycm9yX2NhcHR1cmUpOwogCXJldHVybiByZXQ7CkBA IC0yOTIwLDcgKzI5NDMsNyBAQCB2b2lkIGk5MTVfZ2d0dF9jbGVhbnVwX2h3KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlpZiAoZHJtX21tX25vZGVfYWxsb2NhdGVkKCZnZ3R0 LT5lcnJvcl9jYXB0dXJlKSkKIAkJZHJtX21tX3JlbW92ZV9ub2RlKCZnZ3R0LT5lcnJvcl9jYXB0 dXJlKTsKIAotCWludGVsX2d1Y19yZWxlYXNlX2dndHRfdG9wKCZkZXZfcHJpdi0+Z3VjKTsKKwln Z3R0X3JlbGVhc2VfZ3VjX3RvcChnZ3R0KTsKIAogCWlmIChkcm1fbW1faW5pdGlhbGl6ZWQoJmdn dHQtPnZtLm1tKSkgewogCQlpbnRlbF92Z3RfZGViYWxsb29uKGdndHQpOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9ndWMuYwppbmRleCBkNDVkOTc2MjQ0MDIuLmM0MGE2ZWZkZDMzYSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZ3VjLmMKQEAgLTY4NSwzMCArNjg1LDMgQEAgc3RydWN0IGk5MTVfdm1hICppbnRl bF9ndWNfYWxsb2NhdGVfdm1hKHN0cnVjdCBpbnRlbF9ndWMgKmd1YywgdTMyIHNpemUpCiAJaTkx NV9nZW1fb2JqZWN0X3B1dChvYmopOwogCXJldHVybiB2bWE7CiB9Ci0KLWludCBpbnRlbF9ndWNf cmVzZXJ2ZV9nZ3R0X3RvcChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCi17Ci0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUgPSBndWNfdG9faTkxNShndWMpOwotCXN0cnVjdCBpOTE1X2dndHQg KmdndHQgPSAmaTkxNS0+Z2d0dDsKLQl1NjQgc2l6ZTsKLQlpbnQgcmV0OwotCi0Jc2l6ZSA9IGdn dHQtPnZtLnRvdGFsIC0gR1VDX0dHVFRfVE9QOwotCi0JcmV0ID0gaTkxNV9nZW1fZ3R0X3Jlc2Vy dmUoJmdndHQtPnZtLCAmZ2d0dC0+dWNfZncsIHNpemUsCi0JCQkJICAgR1VDX0dHVFRfVE9QLCBJ OTE1X0NPTE9SX1VORVZJQ1RBQkxFLAotCQkJCSAgIFBJTl9OT0VWSUNUKTsKLQlpZiAocmV0KQot CQlEUk1fREVCVUdfRFJJVkVSKCJHdUM6IGZhaWxlZCB0byByZXNlcnZlIHRvcCBvZiBnZ3R0XG4i KTsKLQotCXJldHVybiByZXQ7Ci19Ci0KLXZvaWQgaW50ZWxfZ3VjX3JlbGVhc2VfZ2d0dF90b3Ao c3RydWN0IGludGVsX2d1YyAqZ3VjKQotewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 ID0gZ3VjX3RvX2k5MTUoZ3VjKTsKLQlzdHJ1Y3QgaTkxNV9nZ3R0ICpnZ3R0ID0gJmk5MTUtPmdn dHQ7Ci0KLQlpZiAoZHJtX21tX25vZGVfYWxsb2NhdGVkKCZnZ3R0LT51Y19mdykpCi0JCWRybV9t bV9yZW1vdmVfbm9kZSgmZ2d0dC0+dWNfZncpOwotfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZ3VjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaApp bmRleCA4NWMzYjAyYTBjMDguLjA4YzkwNmFiZGZhMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZ3VjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3Vj LmgKQEAgLTE3Miw4ICsxNzIsNiBAQCBpbnQgaW50ZWxfZ3VjX2F1dGhfaHVjKHN0cnVjdCBpbnRl bF9ndWMgKmd1YywgdTMyIHJzYV9vZmZzZXQpOwogaW50IGludGVsX2d1Y19zdXNwZW5kKHN0cnVj dCBpbnRlbF9ndWMgKmd1Yyk7CiBpbnQgaW50ZWxfZ3VjX3Jlc3VtZShzdHJ1Y3QgaW50ZWxfZ3Vj ICpndWMpOwogc3RydWN0IGk5MTVfdm1hICppbnRlbF9ndWNfYWxsb2NhdGVfdm1hKHN0cnVjdCBp bnRlbF9ndWMgKmd1YywgdTMyIHNpemUpOwotaW50IGludGVsX2d1Y19yZXNlcnZlX2dndHRfdG9w KHN0cnVjdCBpbnRlbF9ndWMgKmd1Yyk7Ci12b2lkIGludGVsX2d1Y19yZWxlYXNlX2dndHRfdG9w KHN0cnVjdCBpbnRlbF9ndWMgKmd1Yyk7CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBpbnRlbF9ndWNf aXNfbG9hZGVkKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKIHsKLS0gCjIuMjAuMQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4