From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH v3 16/37] drm/i915/lmem: support CPU relocations Date: Fri, 9 Aug 2019 23:26:22 +0100 Message-ID: <20190809222643.23142-17-matthew.auld@intel.com> References: <20190809222643.23142-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190809222643.23142-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 Cc: dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org QWRkIExNRU0gc3VwcG9ydCBmb3IgdGhlIENQVSByZWxvYyBwYXRoLiBXaGVuIGRvaW5nIHJlbG9j YXRpb25zIHdlIGhhdmUKYm90aCBhIEdQVSBhbmQgQ1BVIHJlbG9jIHBhdGgsIGFzIHdlbGwgYXMg c29tZSBkZWJ1Z2dpbmcgb3B0aW9ucyB0byBmb3JjZSBhCnBhcnRpY3VsYXIgcGF0aC4gVGhlIEdQ VSByZWxvYyBwYXRoIGlzIHByZWZlcnJlZCB3aGVuIHRoZSBvYmplY3QKaXMgbm90IGN1cnJlbnRs eSBpZGxlLCBvdGhlcndpc2Ugd2UgdXNlIHRoZSBDUFUgcmVsb2MgcGF0aC4gU2luY2Ugd2UKY2Fu J3Qga21hcCB0aGUgb2JqZWN0LCBhbmQgdGhlIG1hcHBhYmxlIGFwZXJ0dXJlIG1pZ2h0IG5vdCBi ZSBhdmFpbGFibGUsCmFkZCBzdXBwb3J0IGZvciBtYXBwaW5nIGl0IHRocm91Z2ggTE1FTUJBUi4K ClNpZ25lZC1vZmYtYnk6IE1hdHRoZXcgQXVsZCA8bWF0dGhldy5hdWxkQGludGVsLmNvbT4KQ2M6 IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KQ2M6IEFi ZGllbCBKYW51bGd1ZSA8YWJkaWVsLmphbnVsZ3VlQGxpbnV4LmludGVsLmNvbT4KQ2M6IFJvZHJp Z28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KLS0tCiAuLi4vZ3B1L2RybS9pOTE1L2dl bS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgICAgfCA1NSArKysrKysrKysrKysrKysrKy0tCiAxIGZp bGUgY2hhbmdlZCwgNTEgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwppbmRleCAyZmEwODM1Nzk0 NGUuLmQ3MGIzZTZkYzEyZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5 MTVfZ2VtX2V4ZWNidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9n ZW1fZXhlY2J1ZmZlci5jCkBAIC0xNSw2ICsxNSw3IEBACiAjaW5jbHVkZSAiZGlzcGxheS9pbnRl bF9mcm9udGJ1ZmZlci5oIgogCiAjaW5jbHVkZSAiZ2VtL2k5MTVfZ2VtX2lvY3Rscy5oIgorI2lu Y2x1ZGUgImdlbS9pOTE1X2dlbV9sbWVtLmgiCiAjaW5jbHVkZSAiZ3QvaW50ZWxfY29udGV4dC5o IgogI2luY2x1ZGUgImd0L2ludGVsX2VuZ2luZV9wb29sLmgiCiAjaW5jbHVkZSAiZ3QvaW50ZWxf Z3QuaCIKQEAgLTI1MSw2ICsyNTIsNyBAQCBzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyIHsKIAkJYm9v bCBoYXNfbGxjIDogMTsKIAkJYm9vbCBoYXNfZmVuY2UgOiAxOwogCQlib29sIG5lZWRzX3VuZmVu Y2VkIDogMTsKKwkJYm9vbCBpc19sbWVtIDogMTsKIAogCQlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpy cTsKIAkJdTMyICpycV9jbWQ7CkBAIC05NTksNiArOTYxLDcgQEAgc3RhdGljIHZvaWQgcmVsb2Nf Y2FjaGVfaW5pdChzdHJ1Y3QgcmVsb2NfY2FjaGUgKmNhY2hlLAogCWNhY2hlLT51c2VfNjRiaXRf cmVsb2MgPSBIQVNfNjRCSVRfUkVMT0MoaTkxNSk7CiAJY2FjaGUtPmhhc19mZW5jZSA9IGNhY2hl LT5nZW4gPCA0OwogCWNhY2hlLT5uZWVkc191bmZlbmNlZCA9IElOVEVMX0lORk8oaTkxNSktPnVu ZmVuY2VkX25lZWRzX2FsaWdubWVudDsKKwljYWNoZS0+aXNfbG1lbSA9IGZhbHNlOwogCWNhY2hl LT5ub2RlLmFsbG9jYXRlZCA9IGZhbHNlOwogCWNhY2hlLT5ycSA9IE5VTEw7CiAJY2FjaGUtPnJx X3NpemUgPSAwOwpAQCAtMTAxNywxMCArMTAyMCwxNCBAQCBzdGF0aWMgdm9pZCByZWxvY19jYWNo ZV9yZXNldChzdHJ1Y3QgcmVsb2NfY2FjaGUgKmNhY2hlKQogCX0gZWxzZSB7CiAJCXN0cnVjdCBp OTE1X2dndHQgKmdndHQgPSBjYWNoZV90b19nZ3R0KGNhY2hlKTsKIAotCQlpbnRlbF9ndF9mbHVz aF9nZ3R0X3dyaXRlcyhnZ3R0LT52bS5ndCk7CisJCWlmICghY2FjaGUtPmlzX2xtZW0pCisJCQlp bnRlbF9ndF9mbHVzaF9nZ3R0X3dyaXRlcyhnZ3R0LT52bS5ndCk7CiAJCWlvX21hcHBpbmdfdW5t YXBfYXRvbWljKCh2b2lkIF9faW9tZW0gKil2YWRkcik7CiAKLQkJaWYgKGNhY2hlLT5ub2RlLmFs bG9jYXRlZCkgeworCQlpZiAoY2FjaGUtPmlzX2xtZW0pIHsKKwkJCWk5MTVfZ2VtX29iamVjdF91 bnBpbl9wYWdlcygoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKiljYWNoZS0+bm9kZS5tbSk7 CisJCQljYWNoZS0+aXNfbG1lbSA9IGZhbHNlOworCQl9IGVsc2UgaWYgKGNhY2hlLT5ub2RlLmFs bG9jYXRlZCkgewogCQkJZ2d0dC0+dm0uY2xlYXJfcmFuZ2UoJmdndHQtPnZtLAogCQkJCQkgICAg IGNhY2hlLT5ub2RlLnN0YXJ0LAogCQkJCQkgICAgIGNhY2hlLT5ub2RlLnNpemUpOwpAQCAtMTA2 Niw2ICsxMDczLDQyIEBAIHN0YXRpYyB2b2lkICpyZWxvY19rbWFwKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmosCiAJcmV0dXJuIHZhZGRyOwogfQogCitzdGF0aWMgdm9pZCAqcmVsb2Nf bG1lbShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAorCQkJc3RydWN0IHJlbG9jX2Nh Y2hlICpjYWNoZSwKKwkJCXVuc2lnbmVkIGxvbmcgcGFnZSkKK3sKKwl2b2lkICp2YWRkcjsKKwlp bnQgZXJyOworCisJR0VNX0JVR19PTih1c2VfY3B1X3JlbG9jKGNhY2hlLCBvYmopKTsKKworCWlm IChjYWNoZS0+dmFkZHIpIHsKKwkJaW9fbWFwcGluZ191bm1hcF9hdG9taWMoKHZvaWQgX19mb3Jj ZSBfX2lvbWVtICopIHVubWFza19wYWdlKGNhY2hlLT52YWRkcikpOworCX0gZWxzZSB7CisJCWVy ciA9IGk5MTVfZ2VtX29iamVjdF9waW5fcGFnZXMob2JqKTsKKwkJaWYgKGVycikKKwkJCXJldHVy biBFUlJfUFRSKGVycik7CisKKwkJaTkxNV9nZW1fb2JqZWN0X2xvY2sob2JqKTsKKwkJZXJyID0g aTkxNV9nZW1fb2JqZWN0X3NldF90b193Y19kb21haW4ob2JqLCB0cnVlKTsKKwkJaTkxNV9nZW1f b2JqZWN0X3VubG9jayhvYmopOworCQlpZiAoZXJyKSB7CisJCQlpOTE1X2dlbV9vYmplY3RfdW5w aW5fcGFnZXMob2JqKTsKKwkJCXJldHVybiBFUlJfUFRSKGVycik7CisJCX0KKworCQljYWNoZS0+ bm9kZS5tbSA9ICh2b2lkICopb2JqOworCQljYWNoZS0+aXNfbG1lbSA9IHRydWU7CisJfQorCisJ dmFkZHIgPSBpOTE1X2dlbV9vYmplY3RfbG1lbV9pb19tYXBfcGFnZV9hdG9taWMob2JqLCBwYWdl KTsKKworCWNhY2hlLT52YWRkciA9ICh1bnNpZ25lZCBsb25nKXZhZGRyOworCWNhY2hlLT5wYWdl ID0gcGFnZTsKKworCXJldHVybiB2YWRkcjsKK30KKwogc3RhdGljIHZvaWQgKnJlbG9jX2lvbWFw KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkgc3RydWN0IHJlbG9jX2NhY2hl ICpjYWNoZSwKIAkJCSB1bnNpZ25lZCBsb25nIHBhZ2UpCkBAIC0xMTQyLDggKzExODUsMTIgQEAg c3RhdGljIHZvaWQgKnJlbG9jX3ZhZGRyKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmos CiAJCXZhZGRyID0gdW5tYXNrX3BhZ2UoY2FjaGUtPnZhZGRyKTsKIAl9IGVsc2UgewogCQl2YWRk ciA9IE5VTEw7Ci0JCWlmICgoY2FjaGUtPnZhZGRyICYgS01BUCkgPT0gMCkKLQkJCXZhZGRyID0g cmVsb2NfaW9tYXAob2JqLCBjYWNoZSwgcGFnZSk7CisJCWlmICgoY2FjaGUtPnZhZGRyICYgS01B UCkgPT0gMCkgeworCQkJaWYgKGk5MTVfZ2VtX29iamVjdF9pc19sbWVtKG9iaikpCisJCQkJdmFk ZHIgPSByZWxvY19sbWVtKG9iaiwgY2FjaGUsIHBhZ2UpOworCQkJZWxzZQorCQkJCXZhZGRyID0g cmVsb2NfaW9tYXAob2JqLCBjYWNoZSwgcGFnZSk7CisJCX0KIAkJaWYgKCF2YWRkcikKIAkJCXZh ZGRyID0gcmVsb2Nfa21hcChvYmosIGNhY2hlLCBwYWdlKTsKIAl9Ci0tIAoyLjIwLjEKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==