From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v3 1/3] drm/vram: Add kmap ref-counting to GEM VRAM objects Date: Fri, 6 Sep 2019 11:09:31 +0200 Message-ID: <20190906090915.GA3958@phenom.ffwll.local> References: <20190906085214.11677-1-tzimmermann@suse.de> <20190906085214.11677-2-tzimmermann@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x544.google.com (mail-ed1-x544.google.com [IPv6:2a00:1450:4864:20::544]) by gabe.freedesktop.org (Postfix) with ESMTPS id 47487892F0 for ; Fri, 6 Sep 2019 09:09:40 +0000 (UTC) Received: by mail-ed1-x544.google.com with SMTP id c19so5596195edy.10 for ; Fri, 06 Sep 2019 02:09:40 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20190906085214.11677-2-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: Thomas Zimmermann Cc: feng.tang@intel.com, dave@stgolabs.net, rong.a.chen@intel.com, airlied@linux.ie, dri-devel@lists.freedesktop.org, maxime.ripard@bootlin.com, kraxel@redhat.com, ying.huang@intel.com, sean@poorly.run List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBTZXAgMDYsIDIwMTkgYXQgMTA6NTI6MTJBTSArMDIwMCwgVGhvbWFzIFppbW1lcm1h bm4gd3JvdGU6Cj4gVGhlIGttYXAgYW5kIGt1bm1hcCBvcGVyYXRpb25zIG9mIEdFTSBWUkFNIGJ1 ZmZlcnMgY2FuIG5vdyBiZSBjYWxsZWQKPiBpbiBpbnRlcmxlYXZpbmcgcGFpcnMuIFRoZSBmaXJz dCBjYWxsIHRvIGRybV9nZW1fdnJhbV9rbWFwKCkgbWFwcyB0aGUKPiBidWZmZXIncyBtZW1vcnkg dG8ga2VybmVsIGFkZHJlc3Mgc3BhY2UgYW5kIHRoZSBmaW5hbCBjYWxsIHRvCj4gZHJtX2dlbV92 cmFtX2t1bm1hcCgpIHVubWFwcyB0aGUgbWVtb3J5LiBJbnRlcm1lZGlhdGUgY2FsbHMgdG8gdGhl c2UKPiBmdW5jdGlvbnMgaW5jcmVtZW50IG9yIGRlY3JlbWVudCBhIHJlZmVyZW5jZSBjb3VudGVy Lgo+IAo+IFRoaXMgY2hhbmdlIGFsbG93cyBmb3Iga2VlcGluZyBidWZmZXIgbWVtb3J5IG1hcHBl ZCBmb3IgbG9uZ2VyIGFuZAo+IG1pbmltaXplcyB0aGUgYW1vdW50IG9mIGNoYW5nZXMgdG8gVExC LCBwYWdlIHRhYmxlcywgZXRjLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFRob21hcyBaaW1tZXJtYW5u IDx0emltbWVybWFubkBzdXNlLmRlPgo+IENjOiBEYXZpZGxvaHIgQnVlc28gPGRhdmVAc3Rnb2xh YnMubmV0Pgo+IFJldmlld2VkLWJ5OiBHZXJkIEhvZmZtYW5uIDxrcmF4ZWxAcmVkaGF0LmNvbT4K PiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fdnJhbV9oZWxwZXIuYyB8IDc0ICsrKysr KysrKysrKysrKysrKysrLS0tLS0tLQo+ICBpbmNsdWRlL2RybS9kcm1fZ2VtX3ZyYW1faGVscGVy LmggICAgIHwgMTkgKysrKysrKwo+ICAyIGZpbGVzIGNoYW5nZWQsIDc1IGluc2VydGlvbnMoKyks IDE4IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2dl bV92cmFtX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fdnJhbV9oZWxwZXIuYwo+ IGluZGV4IGZkNzUxMDc4YmFlMS4uNmM3OTEyMDkyODc2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fZ2VtX3ZyYW1faGVscGVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2dlbV92cmFtX2hlbHBlci5jCj4gQEAgLTI2LDcgKzI2LDExIEBAIHN0YXRpYyB2b2lkIGRybV9n ZW1fdnJhbV9jbGVhbnVwKHN0cnVjdCBkcm1fZ2VtX3ZyYW1fb2JqZWN0ICpnYm8pCj4gIAkgKiBU VE0gYnVmZmVyIG9iamVjdCBpbiAnYm8nIGhhcyBhbHJlYWR5IGJlZW4gY2xlYW5lZAo+ICAJICog dXA7IG9ubHkgcmVsZWFzZSB0aGUgR0VNIG9iamVjdC4KPiAgCSAqLwo+ICsKPiArCVdBUk5fT04o Z2JvLT5rbWFwX3VzZV9jb3VudCk7Cj4gKwo+ICAJZHJtX2dlbV9vYmplY3RfcmVsZWFzZSgmZ2Jv LT5iby5iYXNlKTsKPiArCW11dGV4X2Rlc3Ryb3koJmdiby0+a21hcF9sb2NrKTsKPiAgfQo+ICAK PiAgc3RhdGljIHZvaWQgZHJtX2dlbV92cmFtX2Rlc3Ryb3koc3RydWN0IGRybV9nZW1fdnJhbV9v YmplY3QgKmdibykKPiBAQCAtMTAwLDYgKzEwNCw4IEBAIHN0YXRpYyBpbnQgZHJtX2dlbV92cmFt X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCWlmIChyZXQpCj4gIAkJZ290byBlcnJf ZHJtX2dlbV9vYmplY3RfcmVsZWFzZTsKPiAgCj4gKwltdXRleF9pbml0KCZnYm8tPmttYXBfbG9j ayk7Cj4gKwo+ICAJcmV0dXJuIDA7Cj4gIAo+ICBlcnJfZHJtX2dlbV9vYmplY3RfcmVsZWFzZToK PiBAQCAtMjgzLDYgKzI4OSwzNCBAQCBpbnQgZHJtX2dlbV92cmFtX3VucGluKHN0cnVjdCBkcm1f Z2VtX3ZyYW1fb2JqZWN0ICpnYm8pCj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fZ2VtX3ZyYW1f dW5waW4pOwo+ICAKPiArc3RhdGljIHZvaWQgKmRybV9nZW1fdnJhbV9rbWFwX2xvY2tlZChzdHJ1 Y3QgZHJtX2dlbV92cmFtX29iamVjdCAqZ2JvLAo+ICsJCQkJICAgICAgYm9vbCBtYXAsIGJvb2wg KmlzX2lvbWVtKQo+ICt7Cj4gKwlpbnQgcmV0Owo+ICsJc3RydWN0IHR0bV9ib19rbWFwX29iaiAq a21hcCA9ICZnYm8tPmttYXA7Cj4gKwo+ICsJaWYgKGdiby0+a21hcF91c2VfY291bnQgPiAwKQo+ ICsJCWdvdG8gb3V0Owo+ICsKPiArCWlmIChrbWFwLT52aXJ0dWFsIHx8ICFtYXApCj4gKwkJZ290 byBvdXQ7Cj4gKwo+ICsJcmV0ID0gdHRtX2JvX2ttYXAoJmdiby0+Ym8sIDAsIGdiby0+Ym8ubnVt X3BhZ2VzLCBrbWFwKTsKPiArCWlmIChyZXQpCj4gKwkJcmV0dXJuIEVSUl9QVFIocmV0KTsKPiAr Cj4gK291dDoKPiArCWlmICgha21hcC0+dmlydHVhbCkgewo+ICsJCWlmIChpc19pb21lbSkKPiAr CQkJKmlzX2lvbWVtID0gZmFsc2U7Cj4gKwkJcmV0dXJuIE5VTEw7IC8qIG5vdCBtYXBwZWQ7IGRv bid0IGluY3JlbWVudCByZWYgKi8KPiArCX0KPiArCSsrZ2JvLT5rbWFwX3VzZV9jb3VudDsKPiAr CWlmIChpc19pb21lbSkKPiArCQlyZXR1cm4gdHRtX2ttYXBfb2JqX3ZpcnR1YWwoa21hcCwgaXNf aW9tZW0pOwo+ICsJcmV0dXJuIGttYXAtPnZpcnR1YWw7Cj4gK30KPiArCj4gIC8qKgo+ICAgKiBk cm1fZ2VtX3ZyYW1fa21hcCgpIC0gTWFwcyBhIEdFTSBWUkFNIG9iamVjdCBpbnRvIGtlcm5lbCBh ZGRyZXNzIHNwYWNlCj4gICAqIEBnYm86CXRoZSBHRU0gVlJBTSBvYmplY3QKPiBAQCAtMzA0LDQw ICszMzgsNDQgQEAgdm9pZCAqZHJtX2dlbV92cmFtX2ttYXAoc3RydWN0IGRybV9nZW1fdnJhbV9v YmplY3QgKmdibywgYm9vbCBtYXAsCj4gIAkJCWJvb2wgKmlzX2lvbWVtKQo+ICB7Cj4gIAlpbnQg cmV0Owo+IC0Jc3RydWN0IHR0bV9ib19rbWFwX29iaiAqa21hcCA9ICZnYm8tPmttYXA7Cj4gLQo+ IC0JaWYgKGttYXAtPnZpcnR1YWwgfHwgIW1hcCkKPiAtCQlnb3RvIG91dDsKPiArCXZvaWQgKnZp cnR1YWw7Cj4gIAo+IC0JcmV0ID0gdHRtX2JvX2ttYXAoJmdiby0+Ym8sIDAsIGdiby0+Ym8ubnVt X3BhZ2VzLCBrbWFwKTsKPiArCXJldCA9IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmZ2JvLT5r bWFwX2xvY2spOwo+ICAJaWYgKHJldCkKPiAgCQlyZXR1cm4gRVJSX1BUUihyZXQpOwo+ICsJdmly dHVhbCA9IGRybV9nZW1fdnJhbV9rbWFwX2xvY2tlZChnYm8sIG1hcCwgaXNfaW9tZW0pOwo+ICsJ bXV0ZXhfdW5sb2NrKCZnYm8tPmttYXBfbG9jayk7Cj4gIAo+IC1vdXQ6Cj4gLQlpZiAoIWlzX2lv bWVtKQo+IC0JCXJldHVybiBrbWFwLT52aXJ0dWFsOwo+IC0JaWYgKCFrbWFwLT52aXJ0dWFsKSB7 Cj4gLQkJKmlzX2lvbWVtID0gZmFsc2U7Cj4gLQkJcmV0dXJuIE5VTEw7Cj4gLQl9Cj4gLQlyZXR1 cm4gdHRtX2ttYXBfb2JqX3ZpcnR1YWwoa21hcCwgaXNfaW9tZW0pOwo+ICsJcmV0dXJuIHZpcnR1 YWw7Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fZ2VtX3ZyYW1fa21hcCk7Cj4gIAo+IC0vKioK PiAtICogZHJtX2dlbV92cmFtX2t1bm1hcCgpIC0gVW5tYXBzIGEgR0VNIFZSQU0gb2JqZWN0Cj4g LSAqIEBnYm86CXRoZSBHRU0gVlJBTSBvYmplY3QKPiAtICovCj4gLXZvaWQgZHJtX2dlbV92cmFt X2t1bm1hcChzdHJ1Y3QgZHJtX2dlbV92cmFtX29iamVjdCAqZ2JvKQo+ICtzdGF0aWMgdm9pZCBk cm1fZ2VtX3ZyYW1fa3VubWFwX2xvY2tlZChzdHJ1Y3QgZHJtX2dlbV92cmFtX29iamVjdCAqZ2Jv KQo+ICB7Cj4gIAlzdHJ1Y3QgdHRtX2JvX2ttYXBfb2JqICprbWFwID0gJmdiby0+a21hcDsKPiAg Cj4gKwlpZiAoV0FSTl9PTl9PTkNFKCFnYm8tPmttYXBfdXNlX2NvdW50KSkKPiArCQlyZXR1cm47 Cj4gKwlpZiAoLS1nYm8tPmttYXBfdXNlX2NvdW50ID4gMCkKPiArCQlyZXR1cm47Cj4gKwo+ICAJ aWYgKCFrbWFwLT52aXJ0dWFsKQo+ICAJCXJldHVybjsKPiAgCj4gIAl0dG1fYm9fa3VubWFwKGtt YXApOwo+ICAJa21hcC0+dmlydHVhbCA9IE5VTEw7Cj4gIH0KPiArCj4gKy8qKgo+ICsgKiBkcm1f Z2VtX3ZyYW1fa3VubWFwKCkgLSBVbm1hcHMgYSBHRU0gVlJBTSBvYmplY3QKPiArICogQGdibzoJ dGhlIEdFTSBWUkFNIG9iamVjdAo+ICsgKi8KPiArdm9pZCBkcm1fZ2VtX3ZyYW1fa3VubWFwKHN0 cnVjdCBkcm1fZ2VtX3ZyYW1fb2JqZWN0ICpnYm8pCj4gK3sKPiArCW11dGV4X2xvY2soJmdiby0+ a21hcF9sb2NrKTsKPiArCWRybV9nZW1fdnJhbV9rdW5tYXBfbG9ja2VkKGdibyk7Cj4gKwltdXRl eF91bmxvY2soJmdiby0+a21hcF9sb2NrKTsKPiArfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9nZW1f dnJhbV9rdW5tYXApOwo+ICAKPiAgLyoqCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9n ZW1fdnJhbV9oZWxwZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9nZW1fdnJhbV9oZWxwZXIuaAo+IGlu ZGV4IGFjMjE3ZDc2ODQ1Ni4uOGMwOGJjODdiNzg4IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJt L2RybV9nZW1fdnJhbV9oZWxwZXIuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9nZW1fdnJhbV9o ZWxwZXIuaAo+IEBAIC0zNCwxMSArMzQsMzAgQEAgc3RydWN0IHZtX2FyZWFfc3RydWN0Owo+ICAg KiBiYWNrZWQgYnkgVlJBTS4gSXQgY2FuIGJlIHVzZWQgZm9yIHNpbXBsZSBmcmFtZWJ1ZmZlciBk ZXZpY2VzIHdpdGgKPiAgICogZGVkaWNhdGVkIG1lbW9yeS4gVGhlIGJ1ZmZlciBvYmplY3QgY2Fu IGJlIGV2aWN0ZWQgdG8gc3lzdGVtIG1lbW9yeSBpZgo+ICAgKiB2aWRlbyBtZW1vcnkgYmVjb21l cyBzY2FyY2UuCj4gKyAqCj4gKyAqIEdFTSBWUkFNIG9iamVjdHMgcGVyZm9ybSByZWZlcmVuY2Ug Y291bnRpbmcgZm9yIHBpbiBhbmQgbWFwcGluZwo+ICsgKiBvcGVyYXRpb25zLiBTbyBhIGJ1ZmZl ciBvYmplY3QgdGhhdCBoYXMgYmVlbiBwaW5uZWQgTiB0aW1lcyB3aXRoCj4gKyAqIGRybV9nZW1f dnJhbV9waW4oKSBtdXN0IGJlIHVucGlubmVkIE4gdGltZXMgd2l0aAo+ICsgKiBkcm1fZ2VtX3Zy YW1fdW5waW4oKS4gVGhlIHNhbWUgYXBwbGllcyB0byBwYWlycyBvZgo+ICsgKiBkcm1fZ2VtX3Zy YW1fa21hcCgpIGFuZCBkcm1fZ2VtX3ZyYW1fa3VubWFwKCkuCj4gICAqLwo+ICBzdHJ1Y3QgZHJt X2dlbV92cmFtX29iamVjdCB7Cj4gIAlzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgYm87Cj4gIAlz dHJ1Y3QgdHRtX2JvX2ttYXBfb2JqIGttYXA7Cj4gIAo+ICsJLyoqCj4gKwkgKiBAa21hcF9sb2Nr OiBQcm90ZWN0cyB0aGUga21hcCBhZGRyZXNzIGFuZCB1c2UgY291bnQKPiArCSAqLwo+ICsJc3Ry dWN0IG11dGV4IGttYXBfbG9jazsKCklzbid0IHRoZSBsb2NraW5nIGhlcmUgYSBiaXQgcmFjeTog VGhlIHR0bSBzaWRlIGlzIHByb3RlY3RlZCBieSB0aGUKZG1hX3Jlc3Ygd3dfbXV0ZXgsIGJ1dCB5 b3UgaGF2ZSB5b3VyIG93biBsb2NrIGhlcmUuIFNvIGlmIHlvdSByYWNlICBrbWFwCm9uIG9uZSBz aWRlIChmcm9tIGZiZGV2KSB3aXRoIGEgbW9kZXNldCB0aGF0IGV2aWN0cyBzdHVmZiAoZnJvbSB0 dG0pCnRoaW5ncyBnbyBib29tLgoKSSB0aGluayBzaW1wbGVyIHRvIGp1c3QgcmV1c2UgdGhlIHR0 bSBibyBsb2NrIChyZXNlcnZlL3VucmVzZXJ2ZSkuIEl0J3MKYXRtIHN0aWxsIGEgYml0IHNwZWNp YWwsIGJ1dCBDaHJpc3RpYW4gS8O2bmlnIGhhcyBwbGFucyB0byBtYWtlCnJlc2VydmUvdW5yZXNl cnZlIHJlYWxseSBub3RoaW5nIG1vcmUgdGhhbiBkbWFfcmVzdl9sb2NrL3VubG9jay4KLURhbmll bAoKPiArCj4gKwkvKioKPiArCSAqIEBrbWFwX3VzZV9jb3VudDoKPiArCSAqCj4gKwkgKiBSZWZl cmVuY2UgY291bnQgb24gdGhlIHZpcnR1YWwgYWRkcmVzcy4KPiArCSAqIFRoZSBhZGRyZXNzIGFy ZSB1bi1tYXBwZWQgd2hlbiB0aGUgY291bnQgcmVhY2hlcyB6ZXJvLgo+ICsJICovCj4gKwl1bnNp Z25lZCBpbnQga21hcF91c2VfY291bnQ7Cj4gKwo+ICAJLyogU3VwcG9ydGVkIHBsYWNlbWVudHMg YXJlICVUVE1fUExfVlJBTSBhbmQgJVRUTV9QTF9TWVNURU0gKi8KPiAgCXN0cnVjdCB0dG1fcGxh Y2VtZW50IHBsYWNlbWVudDsKPiAgCXN0cnVjdCB0dG1fcGxhY2UgcGxhY2VtZW50c1syXTsKPiAt LSAKPiAyLjIzLjAKPiAKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRl bCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWw=