From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Zimmermann Subject: [PATCH v4 4/4] drm/vram: Implement lazy unmapping for GEM VRAM buffers Date: Fri, 6 Sep 2019 14:20:56 +0200 Message-ID: <20190906122056.32018-5-tzimmermann@suse.de> References: <20190906122056.32018-1-tzimmermann@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.suse.de (mx2.suse.de [195.135.220.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id 31ACC6E27E for ; Fri, 6 Sep 2019 12:21:02 +0000 (UTC) In-Reply-To: <20190906122056.32018-1-tzimmermann@suse.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: daniel@ffwll.ch, noralf@tronnes.org, airlied@linux.ie, rong.a.chen@intel.com, feng.tang@intel.com, ying.huang@intel.com, sean@poorly.run, maxime.ripard@bootlin.com, maarten.lankhorst@linux.intel.com, dave@stgolabs.net, kraxel@redhat.com Cc: Thomas Zimmermann , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJlcXVlbnQgbWFwcGluZyBhbmQgdW5tYXBwaW5nIGEgYnVmZmVyIG9iamVjdCBhZGRzIG92ZXJo ZWFkIGZvcgptb2RpZnlpbmcgdGhlIHBhZ2UgdGFibGUgYW5kIGNyZWF0ZXMgZGVidWcgb3V0cHV0 LiBVbm1hcHBpbmcgYSBidWZmZXIKaXMgb25seSByZXF1aXJlZCB3aGVuIHRoZSBtZW1vcnkgbWFu YWdlciBldmljdHMgdGhlIGJ1ZmZlciBmcm9tIGl0cwpjdXJyZW50IGxvY2F0aW9uLgoKdjQ6Cgkq IFdBUk5fT04gaWYgYnVmZmVyIGlzIHN0aWxsIG1hcHBlZCBkdXJpbmcgQk8gY2xlYW51cAoKU2ln bmVkLW9mZi1ieTogVGhvbWFzIFppbW1lcm1hbm4gPHR6aW1tZXJtYW5uQHN1c2UuZGU+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fdnJhbV9oZWxwZXIuYyB8IDQ5ICsrKysrKysrKysrKysr KysrKysrKystLS0tLQogaW5jbHVkZS9kcm0vZHJtX2dlbV92cmFtX2hlbHBlci5oICAgICB8ICA0 ICsrKwogMiBmaWxlcyBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZ2VtX3ZyYW1faGVscGVyLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2dlbV92cmFtX2hlbHBlci5jCmluZGV4IDFlMTdmMTFjYzdiOS4uMDk5 MGYwZTAzMjEzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2dlbV92cmFtX2hlbHBl ci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZ2VtX3ZyYW1faGVscGVyLmMKQEAgLTI4LDYg KzI4LDcgQEAgc3RhdGljIHZvaWQgZHJtX2dlbV92cmFtX2NsZWFudXAoc3RydWN0IGRybV9nZW1f dnJhbV9vYmplY3QgKmdibykKIAkgKi8KIAogCVdBUk5fT04oZ2JvLT5rbWFwX3VzZV9jb3VudCk7 CisJV0FSTl9PTihnYm8tPmttYXAudmlydHVhbCk7CiAKIAlkcm1fZ2VtX29iamVjdF9yZWxlYXNl KCZnYm8tPmJvLmJhc2UpOwogfQpAQCAtMzU2LDE4ICszNTcsMTcgQEAgRVhQT1JUX1NZTUJPTChk cm1fZ2VtX3ZyYW1fa21hcCk7CiAKIHN0YXRpYyB2b2lkIGRybV9nZW1fdnJhbV9rdW5tYXBfbG9j a2VkKHN0cnVjdCBkcm1fZ2VtX3ZyYW1fb2JqZWN0ICpnYm8pCiB7Ci0Jc3RydWN0IHR0bV9ib19r bWFwX29iaiAqa21hcCA9ICZnYm8tPmttYXA7Ci0KIAlpZiAoV0FSTl9PTl9PTkNFKCFnYm8tPmtt YXBfdXNlX2NvdW50KSkKIAkJcmV0dXJuOwogCWlmICgtLWdiby0+a21hcF91c2VfY291bnQgPiAw KQogCQlyZXR1cm47CiAKLQlpZiAoIWttYXAtPnZpcnR1YWwpCi0JCXJldHVybjsKLQotCXR0bV9i b19rdW5tYXAoa21hcCk7Ci0Ja21hcC0+dmlydHVhbCA9IE5VTEw7CisJLyoKKwkgKiBQZXJtYW5l bnRseSBtYXBwaW5nIGFuZCB1bm1hcHBpbmcgYnVmZmVycyBhZGRzIG92ZXJoZWFkIGZyb20KKwkg KiB1cGRhdGluZyB0aGUgcGFnZSB0YWJsZXMgYW5kIGNyZWF0ZXMgZGVidWdnaW5nIG91dHB1dC4g VGhlcmVmb3JlLAorCSAqIHdlIGRlbGF5IHRoZSBhY3R1YWwgdW5tYXAgb3BlcmF0aW9uIHVudGls IHRoZSBCTyBnZXRzIGV2aWN0ZWQKKwkgKiBmcm9tIG1lbW9yeS4gU2VlIGRybV9nZW1fdnJhbV9i b19kcml2ZXJfbW92ZV9ub3RpZnkoKS4KKwkgKi8KIH0KIAogLyoqCkBAIC00OTcsNiArNDk3LDM4 IEBAIGludCBkcm1fZ2VtX3ZyYW1fYm9fZHJpdmVyX3ZlcmlmeV9hY2Nlc3Moc3RydWN0IHR0bV9i dWZmZXJfb2JqZWN0ICpibywKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2dlbV92cmFtX2JvX2RyaXZl cl92ZXJpZnlfYWNjZXNzKTsKIAorLyoqCisgKiBkcm1fZ2VtX3ZyYW1fYm9fZHJpdmVyX21vdmVf bm90aWZ5KCkgLQorICoJSW1wbGVtZW50cyAmc3RydWN0IHR0bV9ib19kcml2ZXIubW92ZV9ub3Rp ZnkKKyAqIEBibzoJCVRUTSBidWZmZXIgb2JqZWN0LiBSZWZlcnMgdG8gJnN0cnVjdCBkcm1fZ2Vt X3ZyYW1fb2JqZWN0LmJvCisgKiBAZXZpY3Q6CVRydWUsIGlmIHRoZSBCTyBpcyBiZWluZyBldmlj dGVkIGZyb20gZ3JhcGhpY3MgbWVtb3J5OworICoJCWZhbHNlIG90aGVyd2lzZS4KKyAqIEBuZXdf bWVtOglOZXcgbWVtb3J5IHJlZ2lvbiwgb3IgTlVMTCBvbiBkZXN0cnVjdGlvbgorICovCit2b2lk IGRybV9nZW1fdnJhbV9ib19kcml2ZXJfbW92ZV9ub3RpZnkoc3RydWN0IHR0bV9idWZmZXJfb2Jq ZWN0ICpibywKKwkJCQkJYm9vbCBldmljdCwKKwkJCQkJc3RydWN0IHR0bV9tZW1fcmVnICpuZXdf bWVtKQoreworCXN0cnVjdCBkcm1fZ2VtX3ZyYW1fb2JqZWN0ICpnYm87CisJc3RydWN0IHR0bV9i b19rbWFwX29iaiAqa21hcDsKKworCS8qIFRUTSBtYXkgcGFzcyBCT3MgdGhhdCBhcmUgbm90IEdF TSBWUkFNIEJPcy4gKi8KKwlpZiAoIWRybV9pc19nZW1fdnJhbShibykpCisJCXJldHVybjsKKwor CWdibyA9IGRybV9nZW1fdnJhbV9vZl9ibyhibyk7CisJa21hcCA9ICZnYm8tPmttYXA7CisKKwlp ZiAoV0FSTl9PTl9PTkNFKGdiby0+a21hcF91c2VfY291bnQpKQorCQlyZXR1cm47CisKKwlpZiAo IWttYXAtPnZpcnR1YWwpCisJCXJldHVybjsKKwl0dG1fYm9fa3VubWFwKGttYXApOworCWttYXAt PnZpcnR1YWwgPSBOVUxMOworfQorRVhQT1JUX1NZTUJPTChkcm1fZ2VtX3ZyYW1fYm9fZHJpdmVy X21vdmVfbm90aWZ5KTsKKwogLyoKICAqIGRybV9nZW1fdnJhbV9tbV9mdW5jcyAtIEZ1bmN0aW9u cyBmb3IgJnN0cnVjdCBkcm1fdnJhbV9tbQogICoKQEAgLTUwNiw3ICs1MzgsOCBAQCBFWFBPUlRf U1lNQk9MKGRybV9nZW1fdnJhbV9ib19kcml2ZXJfdmVyaWZ5X2FjY2Vzcyk7CiAgKi8KIGNvbnN0 IHN0cnVjdCBkcm1fdnJhbV9tbV9mdW5jcyBkcm1fZ2VtX3ZyYW1fbW1fZnVuY3MgPSB7CiAJLmV2 aWN0X2ZsYWdzID0gZHJtX2dlbV92cmFtX2JvX2RyaXZlcl9ldmljdF9mbGFncywKLQkudmVyaWZ5 X2FjY2VzcyA9IGRybV9nZW1fdnJhbV9ib19kcml2ZXJfdmVyaWZ5X2FjY2VzcworCS52ZXJpZnlf YWNjZXNzID0gZHJtX2dlbV92cmFtX2JvX2RyaXZlcl92ZXJpZnlfYWNjZXNzLAorCS5tb3ZlX25v dGlmeSA9IGRybV9nZW1fdnJhbV9ib19kcml2ZXJfbW92ZV9ub3RpZnksCiB9OwogRVhQT1JUX1NZ TUJPTChkcm1fZ2VtX3ZyYW1fbW1fZnVuY3MpOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9k cm1fZ2VtX3ZyYW1faGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fZ2VtX3ZyYW1faGVscGVyLmgK aW5kZXggNGYwZTIwN2VlMDk3Li5iNDdjNDY1MTY0NjYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJt L2RybV9nZW1fdnJhbV9oZWxwZXIuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fZ2VtX3ZyYW1faGVs cGVyLmgKQEAgLTExMiw2ICsxMTIsMTAgQEAgaW50IGRybV9nZW1fdnJhbV9maWxsX2NyZWF0ZV9k dW1iKHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKIHZvaWQgZHJtX2dlbV92cmFtX2JvX2RyaXZlcl9l dmljdF9mbGFncyhzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAogCQkJCQlzdHJ1Y3QgdHRt X3BsYWNlbWVudCAqcGwpOwogCit2b2lkIGRybV9nZW1fdnJhbV9ib19kcml2ZXJfbW92ZV9ub3Rp Znkoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKKwkJCQkJYm9vbCBldmljdCwKKwkJCQkJ c3RydWN0IHR0bV9tZW1fcmVnICpuZXdfbWVtKTsKKwogaW50IGRybV9nZW1fdnJhbV9ib19kcml2 ZXJfdmVyaWZ5X2FjY2VzcyhzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAogCQkJCQkgc3Ry dWN0IGZpbGUgKmZpbHApOwogCi0tIAoyLjIzLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2RyaS1kZXZlbA==