From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [RFC PATCH 18/42] drm/i915/lmem: support CPU relocations Date: Thu, 14 Feb 2019 14:57:16 +0000 Message-ID: <20190214145740.14521-19-matthew.auld@intel.com> References: <20190214145740.14521-1-matthew.auld@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 0C6166E91B for ; Thu, 14 Feb 2019 14:58:06 +0000 (UTC) In-Reply-To: <20190214145740.14521-1-matthew.auld@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 V2UgbmVlZCB0byBzdXBwb3J0IGRvaW5nIHJlbG9jYXRpb25zIGZyb20gdGhlIENQVSB3aGVuIGRl YWxpbmcgd2l0aCBMTUVNCm9iamVjdHMuCgpTaWduZWQtb2ZmLWJ5OiBNYXR0aGV3IEF1bGQgPG1h dHRoZXcuYXVsZEBpbnRlbC5jb20+CkNjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5l bkBsaW51eC5pbnRlbC5jb20+CkNjOiBBYmRpZWwgSmFudWxndWUgPGFiZGllbC5qYW51bGd1ZUBs aW51eC5pbnRlbC5jb20+CkNjOiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+ Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIHwgNjcgKysr KysrKysrKysrKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDU2IGluc2VydGlvbnMoKyksIDEx IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2V4ZWNidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIu YwppbmRleCAwMmFkY2FmNmViZWEuLjM5MDY5MTEyOGMxZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwpAQCAtMjY1LDYgKzI2NSw3IEBAIHN0cnVjdCBpOTE1 X2V4ZWNidWZmZXIgewogCQlib29sIGhhc19sbGMgOiAxOwogCQlib29sIGhhc19mZW5jZSA6IDE7 CiAJCWJvb2wgbmVlZHNfdW5mZW5jZWQgOiAxOworCQlib29sIGlzX2xtZW0gOiAxOwogCiAJCXN0 cnVjdCBpOTE1X3JlcXVlc3QgKnJxOwogCQl1MzIgKnJxX2NtZDsKQEAgLTk3Myw2ICs5NzQsNyBA QCBzdGF0aWMgdm9pZCByZWxvY19jYWNoZV9pbml0KHN0cnVjdCByZWxvY19jYWNoZSAqY2FjaGUs CiAJY2FjaGUtPnVzZV82NGJpdF9yZWxvYyA9IEhBU182NEJJVF9SRUxPQyhpOTE1KTsKIAljYWNo ZS0+aGFzX2ZlbmNlID0gY2FjaGUtPmdlbiA8IDQ7CiAJY2FjaGUtPm5lZWRzX3VuZmVuY2VkID0g SU5URUxfSU5GTyhpOTE1KS0+dW5mZW5jZWRfbmVlZHNfYWxpZ25tZW50OworCWNhY2hlLT5pc19s bWVtID0gZmFsc2U7CiAJY2FjaGUtPm5vZGUuYWxsb2NhdGVkID0gZmFsc2U7CiAJY2FjaGUtPnJx ID0gTlVMTDsKIAljYWNoZS0+cnFfc2l6ZSA9IDA7CkBAIC0xMDI3LDE2ICsxMDI5LDIzIEBAIHN0 YXRpYyB2b2lkIHJlbG9jX2NhY2hlX3Jlc2V0KHN0cnVjdCByZWxvY19jYWNoZSAqY2FjaGUpCiAJ CWk5MTVfZ2VtX29ial9maW5pc2hfc2htZW1fYWNjZXNzKChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqKWNhY2hlLT5ub2RlLm1tKTsKIAl9IGVsc2UgewogCQl3bWIoKTsKLQkJaW9fbWFwcGlu Z191bm1hcF9hdG9taWMoKHZvaWQgX19pb21lbSAqKXZhZGRyKTsKLQkJaWYgKGNhY2hlLT5ub2Rl LmFsbG9jYXRlZCkgewotCQkJc3RydWN0IGk5MTVfZ2d0dCAqZ2d0dCA9IGNhY2hlX3RvX2dndHQo Y2FjaGUpOwotCi0JCQlnZ3R0LT52bS5jbGVhcl9yYW5nZSgmZ2d0dC0+dm0sCi0JCQkJCSAgICAg Y2FjaGUtPm5vZGUuc3RhcnQsCi0JCQkJCSAgICAgY2FjaGUtPm5vZGUuc2l6ZSk7Ci0JCQlkcm1f bW1fcmVtb3ZlX25vZGUoJmNhY2hlLT5ub2RlKTsKKworCQlpZiAoY2FjaGUtPmlzX2xtZW0pIHsK KwkJCWlvX21hcHBpbmdfdW5tYXBfYXRvbWljKCh2b2lkIF9faW9tZW0gKil2YWRkcik7CisJCQlp OTE1X2dlbV9vYmplY3RfdW5waW5fcGFnZXMoKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICop Y2FjaGUtPm5vZGUubW0pOworCQkJY2FjaGUtPmlzX2xtZW0gPSBmYWxzZTsKIAkJfSBlbHNlIHsK LQkJCWk5MTVfdm1hX3VucGluKChzdHJ1Y3QgaTkxNV92bWEgKiljYWNoZS0+bm9kZS5tbSk7CisJ CQlpb19tYXBwaW5nX3VubWFwX2F0b21pYygodm9pZCBfX2lvbWVtICopdmFkZHIpOworCQkJaWYg KGNhY2hlLT5ub2RlLmFsbG9jYXRlZCkgeworCQkJCXN0cnVjdCBpOTE1X2dndHQgKmdndHQgPSBj YWNoZV90b19nZ3R0KGNhY2hlKTsKKworCQkJCWdndHQtPnZtLmNsZWFyX3JhbmdlKCZnZ3R0LT52 bSwKKwkJCQkJCSAgICAgY2FjaGUtPm5vZGUuc3RhcnQsCisJCQkJCQkgICAgIGNhY2hlLT5ub2Rl LnNpemUpOworCQkJCWRybV9tbV9yZW1vdmVfbm9kZSgmY2FjaGUtPm5vZGUpOworCQkJfSBlbHNl IHsKKwkJCQlpOTE1X3ZtYV91bnBpbigoc3RydWN0IGk5MTVfdm1hICopY2FjaGUtPm5vZGUubW0p OworCQkJfQogCQl9CiAJfQogCkBAIC0xMDc2LDYgKzEwODUsMzggQEAgc3RhdGljIHZvaWQgKnJl bG9jX2ttYXAoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlyZXR1cm4gdmFkZHI7 CiB9CiAKK3N0YXRpYyB2b2lkICpyZWxvY19sbWVtKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmosCisJCQlzdHJ1Y3QgcmVsb2NfY2FjaGUgKmNhY2hlLAorCQkJdW5zaWduZWQgbG9uZyBw YWdlKQoreworCXZvaWQgKnZhZGRyOworCWludCBlcnI7CisKKwlHRU1fQlVHX09OKHVzZV9jcHVf cmVsb2MoY2FjaGUsIG9iaikpOworCisJaWYgKGNhY2hlLT52YWRkcikgeworCQlpb19tYXBwaW5n X3VubWFwX2F0b21pYygodm9pZCBfX2ZvcmNlIF9faW9tZW0gKikgdW5tYXNrX3BhZ2UoY2FjaGUt PnZhZGRyKSk7CisJfSBlbHNlIHsKKwkJZXJyID0gaTkxNV9nZW1fb2JqZWN0X3NldF90b193Y19k b21haW4ob2JqLCB0cnVlKTsKKwkJaWYgKGVycikKKwkJCXJldHVybiBFUlJfUFRSKGVycik7CisK KwkJZXJyID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9wYWdlcyhvYmopOworCQlpZiAoZXJyKQorCQkJ cmV0dXJuIEVSUl9QVFIoZXJyKTsKKworCQljYWNoZS0+bm9kZS5tbSA9ICh2b2lkICopb2JqOwor CQljYWNoZS0+aXNfbG1lbSA9IHRydWU7CisJfQorCisJdmFkZHIgPSBpOTE1X2dlbV9vYmplY3Rf bG1lbV9pb19tYXBfcGFnZShvYmosIHBhZ2UpOworCisJY2FjaGUtPnZhZGRyID0gKHVuc2lnbmVk IGxvbmcpdmFkZHI7CisJY2FjaGUtPnBhZ2UgPSBwYWdlOworCisJcmV0dXJuIHZhZGRyOworfQor CiBzdGF0aWMgdm9pZCAqcmVsb2NfaW9tYXAoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i aiwKIAkJCSBzdHJ1Y3QgcmVsb2NfY2FjaGUgKmNhY2hlLAogCQkJIHVuc2lnbmVkIGxvbmcgcGFn ZSkKQEAgLTExNTAsOCArMTE5MSwxMiBAQCBzdGF0aWMgdm9pZCAqcmVsb2NfdmFkZHIoc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJdmFkZHIgPSB1bm1hc2tfcGFnZShjYWNoZS0+ dmFkZHIpOwogCX0gZWxzZSB7CiAJCXZhZGRyID0gTlVMTDsKLQkJaWYgKChjYWNoZS0+dmFkZHIg JiBLTUFQKSA9PSAwKQotCQkJdmFkZHIgPSByZWxvY19pb21hcChvYmosIGNhY2hlLCBwYWdlKTsK KwkJaWYgKChjYWNoZS0+dmFkZHIgJiBLTUFQKSA9PSAwKSB7CisJCQlpZiAoaTkxNV9nZW1fb2Jq ZWN0X2lzX2xtZW0ob2JqKSkKKwkJCQl2YWRkciA9IHJlbG9jX2xtZW0ob2JqLCBjYWNoZSwgcGFn ZSk7CisJCQllbHNlCisJCQkJdmFkZHIgPSByZWxvY19pb21hcChvYmosIGNhY2hlLCBwYWdlKTsK KwkJfQogCQlpZiAoIXZhZGRyKQogCQkJdmFkZHIgPSByZWxvY19rbWFwKG9iaiwgY2FjaGUsIHBh Z2UpOwogCX0KLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4