From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC 1/7] drm/gem: Add drm_gem_dumb_map_offset() Date: Thu, 20 Jul 2017 10:00:49 +0200 Message-ID: <20170720080049.lzsb4osur7ek6jd2@phenom.ffwll.local> References: <1499867165-60925-1-git-send-email-noralf@tronnes.org> <1499867165-60925-2-git-send-email-noralf@tronnes.org> <87h8y8dtu3.fsf@eliezer.anholt.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id E40C76E66E for ; Thu, 20 Jul 2017 08:00:53 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id t3so1580201wme.2 for ; Thu, 20 Jul 2017 01:00:53 -0700 (PDT) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Noralf =?iso-8859-1?Q?Tr=F8nnes?= Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBKdWwgMjAsIDIwMTcgYXQgMTI6MTM6MDdBTSArMDIwMCwgTm9yYWxmIFRyw7hubmVz IHdyb3RlOgo+IAo+IERlbiAxOS4wNy4yMDE3IDIzLjAxLCBza3JldiBFcmljIEFuaG9sdDoKPiA+ IE5vcmFsZiBUcsO4bm5lcyA8bm9yYWxmQHRyb25uZXMub3JnPiB3cml0ZXM6Cj4gPiAKPiA+ID4g QWRkIGEgY29tbW9uIGRybV9kcml2ZXIuZHVtYl9tYXBfb2Zmc2V0IGZ1bmN0aW9uIGZvciBHRU0g YmFja2VkIGRyaXZlcnMuCj4gPiA+IAo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBOb3JhbGYgVHLDuG5u ZXMgPG5vcmFsZkB0cm9ubmVzLm9yZz4KPiA+IEluc3RlYWQgb2YganVzdCBpbnRyb2R1Y2luZyB0 aGUgbmV3IGNvZGUsIGNvdWxkIHdlIHJlcGxhY2UgQ01BJ3MgY29kZQo+ID4gd2l0aCBjYWxscyB0 byB0aGlzIGF0IHRoZSBzYW1lIHRpbWU/Cj4gCj4gSSBoYXZlIGdvbmUgdGhyb3VnaCBhbGwgdGhl IGRybV9kcml2ZXItPmR1bWJfbWFwX29mZnNldAo+IGltcGxlbWVudGF0aW9ucyBhbmQgZm91bmQg MjMgZHJpdmVycyB0aGF0IGNvdWxkIHVzZSBpdDoKPiAtIDE4IGRyaXZlcnMgdXNlIGRybV9nZW1f Y21hX2R1bWJfbWFwX29mZnNldCgpCj4gLSBleHlub3NfZHJtX2dlbV9kdW1iX21hcF9vZmZzZXQo KQo+IC0gbXRrX2RybV9nZW1fZHVtYl9tYXBfb2Zmc2V0KCkKPiAtIHBzYl9nZW1fZHVtYl9tYXBf Z3R0KCkKPiAtIHJvY2tjaGlwX2dlbV9kdW1iX21hcF9vZmZzZXQoKQo+IC0gdGVncmFfYm9fZHVt Yl9tYXBfb2Zmc2V0KCkKPiAKPiB2Z2VtX2dlbV9kdW1iX21hcCgpIGNhbid0IHVzZSBpdCBiZWNh dXNlIG9mIHRoaXMgY2hlY2s6Cj4gICAgIGlmICghb2JqLT5maWxwKSB7Cj4gICAgICAgICByZXQg PSAtRUlOVkFMOwo+ICAgICAgICAgZ290byB1bnJlZjsKPiAgICAgfQo+IAo+IGFybWFkYV9nZW1f ZHVtYl9tYXBfb2Zmc2V0KCkgY2FuJ3QgdXNlIGl0IGJlY2F1c2Ugb2YgdGhpcyBjaGVjazoKPiAg ICAgLyogRG9uJ3QgYWxsb3cgaW1wb3J0ZWQgb2JqZWN0cyB0byBiZSBtYXBwZWQgKi8KPiAgICAg aWYgKG9iai0+b2JqLmltcG9ydF9hdHRhY2gpIHsKPiAgICAgICAgIHJldCA9IC1FSU5WQUw7Cj4g ICAgICAgICBnb3RvIGVycl91bnJlZjsKPiAgICAgfQo+IAo+IEkgc2VlIHRoYXQgZHJpdmVycyBt dXN0IGltcGxlbWVudCBhbGwgMyAuZHVtYl8qIGNhbGxiYWNrczoKPiAKPiAgKiBUbyBzdXBwb3J0 IGR1bWIgb2JqZWN0cyBkcml2ZXJzIG11c3QgaW1wbGVtZW50IHRoZQo+ICZkcm1fZHJpdmVyLmR1 bWJfY3JlYXRlLAo+ICAqICZkcm1fZHJpdmVyLmR1bWJfZGVzdHJveSBhbmQgJmRybV9kcml2ZXIu ZHVtYl9tYXBfb2Zmc2V0IG9wZXJhdGlvbnMuIFNlZQo+ICAqIHRoZXJlIGZvciBmdXJ0aGVyIGRl dGFpbHMuCj4gCj4gSSdtIGEgZmFuIG9mIGRlZmF1bHRzLCBpcyB0aGVyZSBhbnkgcmVhc29uIHdl IGNhbid0IGRvIHRoaXM6CgpTbyBpbiBnZW5lcmFsIHdlIHRyeSBub3QgdG8gc2V0IGRlZmF1bHRz IGZvciB0aGUgbWFpbiBkcml2ZXIgZW50cnkgaG9va3MsCnRvIGF2b2lkIHRoZSBoZWxwZXIgZnVu Y3Rpb25zIGxlYWtpbmcgaW50byBjb3JlIGFuZCBiZWNvbWluZyBtYW5kYXRvcnkuClNvIGUuZy4g LT5hdG9taWNfY29tbWl0IHNob3VsZCBuZXZlciBoYXZlIGEgZGVmYXVsdCBvZgpkcm1fYXRvbWlj X2hlbHBlcl9jb21taXQuCgpTYW1lIHRob3VnaHQgYXBwbGllZCBoZXJlIGZvciB0aGUgZHVtYiBi dWZmZXJzIC0gdGhlIGlkZWEgaXMgdGhhdCBkcml2ZXJzCnVzaW5nIGFueSBraW5kIG9mIGJ1ZmZl ciBtYW5hZ2VyIHNjaGVtZSBjb3VsZCBoYXZlIGR1bWIgYnVmZmVycywgaW5jbHVkaW5nCm1heWJl IG5vdCBoYXZpbmcgYSBidWZmZXIgbWFuYWdlciBhdCBhbGwgKGFuZCB5b3UgZ2V0IHNvbWUgY29v a2llIHRvCmRpcmVjdCB2cmFtIGFsbG9jYXRpb25zIG9yIHdoYXRldmVyKS4gQnV0IGV2ZXJ5b25l IGVuZGVkIHVwIHdpdGggZ2VtLCBqdXN0CndpdGggZGlmZmVyZW50IGtpbmRzIG9mIGJhY2tpbmcg c3RvcmFnZSBpbXBsZW1lbnRhdGlvbnMgKGNtYSwgc2htZW0gb3IKdHRtKS4KCkkgdGhpbmsgaXQg bWFrZXMgc2Vuc2UgdG8gbWFrZSB0aGVzZSB0aGUgZGVmYXVsdHMgYW5kIHJpcCBvdXQgdGhlIGRl ZmF1bHQKYXNzaWdubWVudCBmcm9tIGFsbCBkcml2ZXJzLgo+IAo+ICBpbnQgZHJtX21vZGVfbW1h cF9kdW1iX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gICAgICAgICAgICAgICAgICAg dm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCj4gIHsKPiAgICAgIHN0cnVj dCBkcm1fbW9kZV9tYXBfZHVtYiAqYXJncyA9IGRhdGE7Cj4gCj4gICAgICAvKiBjYWxsIGRyaXZl ciBpb2N0bCB0byBnZXQgbW1hcCBvZmZzZXQgKi8KPiAtICAgICBpZiAoIWRldi0+ZHJpdmVyLT5k dW1iX21hcF9vZmZzZXQpCj4gKyAgICBpZiAoIWRldi0+ZHJpdmVyLT5kdW1iX2NyZWF0ZSkKPiAg ICAgICAgIHJldHVybiAtRU5PU1lTOwo+IAo+IC0gICAgIHJldHVybiBkZXYtPmRyaXZlci0+ZHVt Yl9tYXBfb2Zmc2V0KGZpbGVfcHJpdiwgZGV2LCBhcmdzLT5oYW5kbGUsCj4gJmFyZ3MtPm9mZnNl dCk7Cj4gKyAgICAgaWYgKGRldi0+ZHJpdmVyLT5kdW1iX21hcF9vZmZzZXQpCj4gKyAgICAgICAg cmV0dXJuIGRldi0+ZHJpdmVyLT5kdW1iX21hcF9vZmZzZXQoZmlsZV9wcml2LCBkZXYsIGFyZ3Mt PmhhbmRsZSwKPiAmYXJncy0+b2Zmc2V0KTsKPiArICAgIGVsc2UKPiArICAgICAgICByZXR1cm4g ZHJtX2dlbV9kdW1iX21hcF9vZmZzZXQoZmlsZV9wcml2LCBkZXYsIGFyZ3MtPmhhbmRsZSwKPiAm YXJncy0+b2Zmc2V0KTsKPiAgfQo+IAo+ICBpbnQgZHJtX21vZGVfZGVzdHJveV9kdW1iX2lvY3Rs KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gICAgICAgICAgICAgICAgICB2b2lkICpkYXRhLCBz dHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikKPiAgewo+ICAgICAgc3RydWN0IGRybV9tb2RlX2Rl c3Ryb3lfZHVtYiAqYXJncyA9IGRhdGE7Cj4gCj4gLSAgICAgaWYgKCFkZXYtPmRyaXZlci0+ZHVt Yl9kZXN0cm95KQo+ICsgICAgaWYgKCFkZXYtPmRyaXZlci0+ZHVtYl9jcmVhdGUpCj4gICAgICAg ICAgcmV0dXJuIC1FTk9TWVM7Cj4gCj4gLSAgICByZXR1cm4gZGV2LT5kcml2ZXItPmR1bWJfZGVz dHJveShmaWxlX3ByaXYsIGRldiwgYXJncy0+aGFuZGxlKTsKPiArICAgICBpZiAoZGV2LT5kcml2 ZXItPmR1bWJfZGVzdHJveSkKPiArICAgICAgICByZXR1cm4gZGV2LT5kcml2ZXItPmR1bWJfZGVz dHJveShmaWxlX3ByaXYsIGRldiwgYXJncy0+aGFuZGxlKTsKPiArICAgIGVsc2UKPiArICAgICAg ICByZXR1cm4gZHJtX2dlbV9kdW1iX2Rlc3Ryb3koZmlsZV9wcml2LCBkZXYsIGFyZ3MtPmhhbmRs ZSk7Cj4gIH0KPiAKPiBUaGVyZSBhcmUgMzYgZHJpdmVycyB0aGF0IHVzZSBkcm1fZ2VtX2R1bWJf ZGVzdHJveSgpIGRpcmVjdGx5Lgo+IHZnZW0gdmlvbGF0ZXMgdGhlIGRvY3MgYW5kIGRvZXNuJ3Qg c2V0IC5kdW1iX2Rlc3Ryb3kuCgpJbnRlcmVzdGluZywgc3VwcmlzaW5nIGl0IGRvZXNuJ3QgbGVh ayBsaWtlIG1hZC4KIAo+ID4gSSBzdXNwZWN0IHRoYXQgaWYgd2UgaGFkIENNQSBzdWJjbGFzcyBm cm9tIGRybV9mYl9nZW0gKG9yIHdlIG1vdmUgdGhlCj4gPiBnZW0gb2JqZWN0cyB0byB0aGUgYmFz ZSBjbGFzcyksIHdlIGNvdWxkIHJlbW92ZSBhIGxvdCBvZiBpdHMgY29kZSB0aGF0Cj4gPiB5b3Un cmUgY29weWluZyBpbiBwYXRjaCAyLCBhcyB3ZWxsLgo+IAo+IFllcywgdGhhdCB3YXMgdGhlIGlu dGVudGlvbi4KCkkgZ3Vlc3Mgd2UnZCBuZWVkIHRvIHNlZSBtb3JlIG9mIHRoZSBncmFuZCBwbGFu IC4uLgotRGFuaWVsCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBD b3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK