From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Zimmermann Subject: [PATCH 1/3] drm/vram: Provide vmap and vunmap operations for GEM VRAM objects Date: Wed, 11 Sep 2019 14:03:50 +0200 Message-ID: <20190911120352.20084-2-tzimmermann@suse.de> References: <20190911120352.20084-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 A99FF6EACB for ; Wed, 11 Sep 2019 12:04:31 +0000 (UTC) In-Reply-To: <20190911120352.20084-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: kraxel@redhat.com, daniel@ffwll.ch, airlied@linux.ie, sam@ravnborg.org, yc_chen@aspeedtech.com Cc: Thomas Zimmermann , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org VGhlIGltcGxlbWVudGF0aW9uIG9mIHZtYXAgYW5kIHZ1bm1hcCBmb3IgR0VNIFZSQU0gaGVscGVy cyBpcwphbHJlYWR5IGluIFBSSU1FIGhlbHBlcnMuIFRoZSBwYXRjaCBtb3ZlcyB0aGUgb3BlcmF0 aW9ucyB0byBzZXBhcmF0ZQpmdW5jdGlvbnMgYW5kIGV4cG9ydHMgdGhlbSBmb3IgZ2VuZXJhbCB1 c2UuCgp2MzoKCSogcmVtb3ZlIHYyJ3Mgb2Jzb2xldGUgbm90ZSBvbiByZWYtY291bnRpbmcKdjI6 CgkqIGZpeCBkb2N1bWVudGF0aW9uCgkqIGFkZCBjcm9zcyByZWZlcmVuY2VzIHRvIGZ1bmN0aW9u IGRvY3VtZW50YXRpb24KCSogZG9jdW1lbnQgKHRoZSBsYWNrIG9mKSByZWYtY291bnRpbmcgZm9y IEdFTSBWUkFNIEJPIG1hcHBpbmdzCgpTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgWmltbWVybWFubiA8 dHppbW1lcm1hbm5Ac3VzZS5kZT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2dlbV92cmFtX2hl bHBlci5jIHwgMTA2ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tCiBpbmNsdWRlL2RybS9kcm1f Z2VtX3ZyYW1faGVscGVyLmggICAgIHwgICA1ICstCiAyIGZpbGVzIGNoYW5nZWQsIDc5IGluc2Vy dGlvbnMoKyksIDMyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fZ2VtX3ZyYW1faGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2dlbV92cmFtX2hlbHBl ci5jCmluZGV4IGFiOWY4NTIzZDg4Ny4uNDI0MjNkMTVkZmNjIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2dlbV92cmFtX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f Z2VtX3ZyYW1faGVscGVyLmMKQEAgLTM5Miw2ICszOTIsNzcgQEAgdm9pZCBkcm1fZ2VtX3ZyYW1f a3VubWFwKHN0cnVjdCBkcm1fZ2VtX3ZyYW1fb2JqZWN0ICpnYm8pCiB9CiBFWFBPUlRfU1lNQk9M KGRybV9nZW1fdnJhbV9rdW5tYXApOwogCisvKioKKyAqIGRybV9nZW1fdnJhbV92bWFwKCkgLSBQ aW5zIGFuZCBtYXBzIGEgR0VNIFZSQU0gb2JqZWN0IGludG8ga2VybmVsIGFkZHJlc3MKKyAqICAg ICAgICAgICAgICAgICAgICAgICBzcGFjZQorICogQGdibzoJVGhlIEdFTSBWUkFNIG9iamVjdCB0 byBtYXAKKyAqCisgKiBUaGUgdm1hcCBmdW5jdGlvbiBwaW5zIGEgR0VNIFZSQU0gb2JqZWN0IHRv IGl0cyBjdXJyZW50IGxvY2F0aW9uLCBlaXRoZXIKKyAqIHN5c3RlbSBvciB2aWRlbyBtZW1vcnks IGFuZCBtYXBzIGl0cyBidWZmZXIgaW50byBrZXJuZWwgYWRkcmVzcyBzcGFjZS4KKyAqIEFzIHBp bm5lZCBvYmplY3QgY2Fubm90IGJlIHJlbG9jYXRlZCwgeW91IHNob3VsZCBhdm9pZCBwaW5uaW5n IG9iamVjdHMKKyAqIHBlcm1hbmVudGx5LiBDYWxsIGRybV9nZW1fdnJhbV92dW5tYXAoKSB3aXRo IHRoZSByZXR1cm5lZCBhZGRyZXNzIHRvCisgKiB1bm1hcCBhbmQgdW5waW4gdGhlIEdFTSBWUkFN IG9iamVjdC4KKyAqCisgKiBJZiB5b3UgaGF2ZSBzcGVjaWFsIHJlcXVpcmVtZW50cyBmb3IgdGhl IHBpbm5pbmcgb3IgbWFwcGluZyBvcGVyYXRpb25zLAorICogY2FsbCBkcm1fZ2VtX3ZyYW1fcGlu KCkgYW5kIGRybV9nZW1fdnJhbV9rbWFwKCkgZGlyZWN0bHkuCisgKgorICogUmV0dXJuczoKKyAq IFRoZSBidWZmZXIncyB2aXJ0dWFsIGFkZHJlc3Mgb24gc3VjY2Vzcywgb3IKKyAqIGFuIEVSUl9Q VFIoKS1lbmNvZGVkIGVycm9yIGNvZGUgb3RoZXJ3aXNlLgorICovCit2b2lkICpkcm1fZ2VtX3Zy YW1fdm1hcChzdHJ1Y3QgZHJtX2dlbV92cmFtX29iamVjdCAqZ2JvKQoreworCWludCByZXQ7CisJ dm9pZCAqYmFzZTsKKworCXJldCA9IHR0bV9ib19yZXNlcnZlKCZnYm8tPmJvLCB0cnVlLCBmYWxz ZSwgTlVMTCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIEVSUl9QVFIocmV0KTsKKworCXJldCA9IGRy bV9nZW1fdnJhbV9waW5fbG9ja2VkKGdibywgMCk7CisJaWYgKHJldCkKKwkJZ290byBlcnJfdHRt X2JvX3VucmVzZXJ2ZTsKKwliYXNlID0gZHJtX2dlbV92cmFtX2ttYXBfbG9ja2VkKGdibywgdHJ1 ZSwgTlVMTCk7CisJaWYgKElTX0VSUihiYXNlKSkgeworCQlyZXQgPSBQVFJfRVJSKGJhc2UpOwor CQlnb3RvIGVycl9kcm1fZ2VtX3ZyYW1fdW5waW5fbG9ja2VkOworCX0KKworCXR0bV9ib191bnJl c2VydmUoJmdiby0+Ym8pOworCisJcmV0dXJuIGJhc2U7CisKK2Vycl9kcm1fZ2VtX3ZyYW1fdW5w aW5fbG9ja2VkOgorCWRybV9nZW1fdnJhbV91bnBpbl9sb2NrZWQoZ2JvKTsKK2Vycl90dG1fYm9f dW5yZXNlcnZlOgorCXR0bV9ib191bnJlc2VydmUoJmdiby0+Ym8pOworCXJldHVybiBFUlJfUFRS KHJldCk7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9nZW1fdnJhbV92bWFwKTsKKworLyoqCisgKiBk cm1fZ2VtX3ZyYW1fdnVubWFwKCkgLSBVbm1hcHMgYW5kIHVucGlucyBhIEdFTSBWUkFNIG9iamVj dAorICogQGdibzoJVGhlIEdFTSBWUkFNIG9iamVjdCB0byB1bm1hcAorICogQHZhZGRyOglUaGUg bWFwcGluZydzIGJhc2UgYWRkcmVzcyBhcyByZXR1cm5lZCBieSBkcm1fZ2VtX3ZyYW1fdm1hcCgp CisgKgorICogQSBjYWxsIHRvIGRybV9nZW1fdnJhbV92dW5tYXAoKSB1bm1hcHMgYW5kIHVucGlu cyBhIEdFTSBWUkFNIGJ1ZmZlci4gU2VlCisgKiB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgZHJtX2dl bV92cmFtX3ZtYXAoKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAqLwordm9pZCBkcm1fZ2VtX3Zy YW1fdnVubWFwKHN0cnVjdCBkcm1fZ2VtX3ZyYW1fb2JqZWN0ICpnYm8sIHZvaWQgKnZhZGRyKQor eworCWludCByZXQ7CisKKwlyZXQgPSB0dG1fYm9fcmVzZXJ2ZSgmZ2JvLT5ibywgZmFsc2UsIGZh bHNlLCBOVUxMKTsKKwlpZiAoV0FSTl9PTkNFKHJldCwgInR0bV9ib19yZXNlcnZlX2ZhaWxlZCgp OiByZXQ9JWRcbiIsIHJldCkpCisJCXJldHVybjsKKworCWRybV9nZW1fdnJhbV9rdW5tYXBfbG9j a2VkKGdibyk7CisJZHJtX2dlbV92cmFtX3VucGluX2xvY2tlZChnYm8pOworCisJdHRtX2JvX3Vu cmVzZXJ2ZSgmZ2JvLT5ibyk7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9nZW1fdnJhbV92dW5tYXAp OworCiAvKioKICAqIGRybV9nZW1fdnJhbV9maWxsX2NyZWF0ZV9kdW1iKCkgLSBcCiAJSGVscGVy IGZvciBpbXBsZW1lbnRpbmcgJnN0cnVjdCBkcm1fZHJpdmVyLmR1bWJfY3JlYXRlCkBAIC02MjIs MzEgKzY5MywxMiBAQCBzdGF0aWMgdm9pZCBkcm1fZ2VtX3ZyYW1fb2JqZWN0X3VucGluKHN0cnVj dCBkcm1fZ2VtX29iamVjdCAqZ2VtKQogc3RhdGljIHZvaWQgKmRybV9nZW1fdnJhbV9vYmplY3Rf dm1hcChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdlbSkKIHsKIAlzdHJ1Y3QgZHJtX2dlbV92cmFt X29iamVjdCAqZ2JvID0gZHJtX2dlbV92cmFtX29mX2dlbShnZW0pOwotCWludCByZXQ7CiAJdm9p ZCAqYmFzZTsKIAotCXJldCA9IHR0bV9ib19yZXNlcnZlKCZnYm8tPmJvLCB0cnVlLCBmYWxzZSwg TlVMTCk7Ci0JaWYgKHJldCkKLQkJcmV0dXJuIEVSUl9QVFIocmV0KTsKLQotCXJldCA9IGRybV9n ZW1fdnJhbV9waW5fbG9ja2VkKGdibywgMCk7Ci0JaWYgKHJldCkKLQkJZ290byBlcnJfdHRtX2Jv X3VucmVzZXJ2ZTsKLQliYXNlID0gZHJtX2dlbV92cmFtX2ttYXBfbG9ja2VkKGdibywgdHJ1ZSwg TlVMTCk7Ci0JaWYgKElTX0VSUihiYXNlKSkgewotCQlyZXQgPSBQVFJfRVJSKGJhc2UpOwotCQln b3RvIGVycl9kcm1fZ2VtX3ZyYW1fdW5waW5fbG9ja2VkOwotCX0KLQotCXR0bV9ib191bnJlc2Vy dmUoJmdiby0+Ym8pOwotCisJYmFzZSA9IGRybV9nZW1fdnJhbV92bWFwKGdibyk7CisJaWYgKElT X0VSUihiYXNlKSkKKwkJcmV0dXJuIE5VTEw7CiAJcmV0dXJuIGJhc2U7Ci0KLWVycl9kcm1fZ2Vt X3ZyYW1fdW5waW5fbG9ja2VkOgotCWRybV9nZW1fdnJhbV91bnBpbl9sb2NrZWQoZ2JvKTsKLWVy cl90dG1fYm9fdW5yZXNlcnZlOgotCXR0bV9ib191bnJlc2VydmUoJmdiby0+Ym8pOwotCXJldHVy biBFUlJfUFRSKHJldCk7CiB9CiAKIC8qKgpAQCAtNjU5LDE2ICs3MTEsOCBAQCBzdGF0aWMgdm9p ZCBkcm1fZ2VtX3ZyYW1fb2JqZWN0X3Z1bm1hcChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdlbSwK IAkJCQkgICAgICAgdm9pZCAqdmFkZHIpCiB7CiAJc3RydWN0IGRybV9nZW1fdnJhbV9vYmplY3Qg KmdibyA9IGRybV9nZW1fdnJhbV9vZl9nZW0oZ2VtKTsKLQlpbnQgcmV0OwotCi0JcmV0ID0gdHRt X2JvX3Jlc2VydmUoJmdiby0+Ym8sIGZhbHNlLCBmYWxzZSwgTlVMTCk7Ci0JaWYgKFdBUk5fT05D RShyZXQsICJ0dG1fYm9fcmVzZXJ2ZV9mYWlsZWQoKTogcmV0PSVkXG4iLCByZXQpKQotCQlyZXR1 cm47CiAKLQlkcm1fZ2VtX3ZyYW1fa3VubWFwX2xvY2tlZChnYm8pOwotCWRybV9nZW1fdnJhbV91 bnBpbl9sb2NrZWQoZ2JvKTsKLQotCXR0bV9ib191bnJlc2VydmUoJmdiby0+Ym8pOworCWRybV9n ZW1fdnJhbV92dW5tYXAoZ2JvLCB2YWRkcik7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRl L2RybS9kcm1fZ2VtX3ZyYW1faGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fZ2VtX3ZyYW1faGVs cGVyLmgKaW5kZXggOWFhZWY0ZjhjMzI3Li40MThlYjExMjI4NjEgMTAwNjQ0Ci0tLSBhL2luY2x1 ZGUvZHJtL2RybV9nZW1fdnJhbV9oZWxwZXIuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fZ2VtX3Zy YW1faGVscGVyLmgKQEAgLTQzLDcgKzQzLDggQEAgc3RydWN0IHZtX2FyZWFfc3RydWN0OwogICog b3BlcmF0aW9ucy4gU28gYSBidWZmZXIgb2JqZWN0IHRoYXQgaGFzIGJlZW4gcGlubmVkIE4gdGlt ZXMgd2l0aAogICogZHJtX2dlbV92cmFtX3BpbigpIG11c3QgYmUgdW5waW5uZWQgTiB0aW1lcyB3 aXRoCiAgKiBkcm1fZ2VtX3ZyYW1fdW5waW4oKS4gVGhlIHNhbWUgYXBwbGllcyB0byBwYWlycyBv ZgotICogZHJtX2dlbV92cmFtX2ttYXAoKSBhbmQgZHJtX2dlbV92cmFtX2t1bm1hcCgpLgorICog ZHJtX2dlbV92cmFtX2ttYXAoKSBhbmQgZHJtX2dlbV92cmFtX2t1bm1hcCgpLCBhcyB3ZWxsIGFz IHBhaXJzIG9mCisgKiBkcm1fZ2VtX3ZyYW1fdm1hcCgpIGFuZCBkcm1fZ2VtX3ZyYW1fdnVubWFw KCkuCiAgKi8KIHN0cnVjdCBkcm1fZ2VtX3ZyYW1fb2JqZWN0IHsKIAlzdHJ1Y3QgdHRtX2J1ZmZl cl9vYmplY3QgYm87CkBAIC0xMDEsNiArMTAyLDggQEAgaW50IGRybV9nZW1fdnJhbV91bnBpbihz dHJ1Y3QgZHJtX2dlbV92cmFtX29iamVjdCAqZ2JvKTsKIHZvaWQgKmRybV9nZW1fdnJhbV9rbWFw KHN0cnVjdCBkcm1fZ2VtX3ZyYW1fb2JqZWN0ICpnYm8sIGJvb2wgbWFwLAogCQkJYm9vbCAqaXNf aW9tZW0pOwogdm9pZCBkcm1fZ2VtX3ZyYW1fa3VubWFwKHN0cnVjdCBkcm1fZ2VtX3ZyYW1fb2Jq ZWN0ICpnYm8pOwordm9pZCAqZHJtX2dlbV92cmFtX3ZtYXAoc3RydWN0IGRybV9nZW1fdnJhbV9v YmplY3QgKmdibyk7Cit2b2lkIGRybV9nZW1fdnJhbV92dW5tYXAoc3RydWN0IGRybV9nZW1fdnJh bV9vYmplY3QgKmdibywgdm9pZCAqdmFkZHIpOwogCiBpbnQgZHJtX2dlbV92cmFtX2ZpbGxfY3Jl YXRlX2R1bWIoc3RydWN0IGRybV9maWxlICpmaWxlLAogCQkJCSAgc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKLS0gCjIuMjMuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJp LWRldmVs