From mboxrd@z Thu Jan 1 00:00:00 1970 From: Damien Lespiau Subject: Re: [PATCH v3] intel: New libdrm interface to create unbound wc user mappings for objects Date: Wed, 3 Dec 2014 14:13:58 +0000 Message-ID: <20141203141358.GB2348@strange.ger.corp.intel.com> References: <1414237913-7809-1-git-send-email-akash.goel@intel.com> <1414501767-22479-1-git-send-email-akash.goel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id CEF7E6EA92 for ; Wed, 3 Dec 2014 10:26:21 -0800 (PST) Content-Disposition: inline In-Reply-To: <1414501767-22479-1-git-send-email-akash.goel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: akash.goel@intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBPY3QgMjgsIDIwMTQgYXQgMDY6Mzk6MjdQTSArMDUzMCwgYWthc2guZ29lbEBpbnRl bC5jb20gd3JvdGU6Cj4gQEAgLTExMjYsNiArMTEzNiw4IEBAIHN0YXRpYyB2b2lkIGRybV9pbnRl bF9nZW1fYm9fcHVyZ2Vfdm1hX2NhY2hlKGRybV9pbnRlbF9idWZtZ3JfZ2VtICpidWZtZ3JfZ2Vt KQo+ICAKPiAgCS8qIFdlIG1heSBuZWVkIHRvIGV2aWN0IGEgZmV3IGVudHJpZXMgaW4gb3JkZXIg dG8gY3JlYXRlIG5ldyBtbWFwcyAqLwo+ICAJbGltaXQgPSBidWZtZ3JfZ2VtLT52bWFfbWF4IC0g MipidWZtZ3JfZ2VtLT52bWFfb3BlbjsKPiArCWlmIChidWZtZ3JfZ2VtLT5oYXNfZXh0X21tYXAp Cj4gKwkJbGltaXQgLT0gYnVmbWdyX2dlbS0+dm1hX29wZW47Cj4gIAlpZiAobGltaXQgPCAwKQo+ ICAJCWxpbWl0ID0gMDsKPiAgCgpBcmVuJ3Qgd2UgYmVpbmcgb3Zlcmx5IGFnZ3Jlc3NpdmUgaW4g cHVyZ2luZyB0aGUgdm1hIGNhY2hlIHdpdGggdGhpcyBuZXcKY29kZT8gSSBndWVzcyBpdCBkZXBl bmRzIG9uIHRoZSB3b3JrbG9hZCBidXQgSSBkb24ndCB0aGluayB0aGUgV0MKbWFwcGluZyBpcyBs aWtlbHkgdG8gYmUgdXNlZCBpbiBhZGRpdGlvbiB0byB0aGUgb3RoZXIgdHdvIG9mdGVuIGVub3Vn aAp0byB3YXJyYW50IGEgbWF4IC0gMyAqIG9wZW47Cgo+ICtzdGF0aWMgaW50Cj4gK21hcF93Yyhk cm1faW50ZWxfYm8gKmJvKQo+ICt7Cj4gKwlkcm1faW50ZWxfYnVmbWdyX2dlbSAqYnVmbWdyX2dl bSA9IChkcm1faW50ZWxfYnVmbWdyX2dlbSAqKSBiby0+YnVmbWdyOwo+ICsJZHJtX2ludGVsX2Jv X2dlbSAqYm9fZ2VtID0gKGRybV9pbnRlbF9ib19nZW0gKikgYm87Cj4gKwlpbnQgcmV0Owo+ICsK PiArCWlmIChib19nZW0tPmlzX3VzZXJwdHIpCj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwo+ICsJ aWYgKCFidWZtZ3JfZ2VtLT5oYXNfZXh0X21tYXApCj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwo+ ICsJaWYgKGJvX2dlbS0+bWFwX2NvdW50KysgPT0gMCkKPiArCQlkcm1faW50ZWxfZ2VtX2JvX29w ZW5fdm1hKGJ1Zm1ncl9nZW0sIGJvX2dlbSk7Cj4gKwo+ICsJLyogR2V0IGEgbWFwcGluZyBvZiB0 aGUgYnVmZmVyIGlmIHdlIGhhdmVuJ3QgYmVmb3JlLiAqLwo+ICsJaWYgKGJvX2dlbS0+bWVtX3dj X3ZpcnR1YWwgPT0gTlVMTCkgewo+ICsJCXN0cnVjdCBkcm1faTkxNV9nZW1fbW1hcCBtbWFwX2Fy ZzsKPiArCj4gKwkJREJHKCJib19tYXBfd2M6IG1tYXAgJWQgKCVzKSwgbWFwX2NvdW50PSVkXG4i LAo+ICsJCSAgICBib19nZW0tPmdlbV9oYW5kbGUsIGJvX2dlbS0+bmFtZSwgYm9fZ2VtLT5tYXBf Y291bnQpOwo+ICsKPiArCQlWR19DTEVBUihtbWFwX2FyZyk7Cj4gKwkJbW1hcF9hcmcuaGFuZGxl ID0gYm9fZ2VtLT5nZW1faGFuZGxlOwo+ICsJCS8qIFRvIGluZGljYXRlIHRoZSB1bmNhY2hlZCB2 aXJ0dWFsIG1hcHBpbmcgdG8gS01EICovCj4gKwkJbW1hcF9hcmcuZmxhZ3MgPSBJOTE1X01NQVBf V0M7Cj4gKwkJbW1hcF9hcmcub2Zmc2V0ID0gMDsKPiArCQltbWFwX2FyZy5zaXplID0gYm8tPnNp emU7Cj4gKwkJcmV0ID0gZHJtSW9jdGwoYnVmbWdyX2dlbS0+ZmQsCj4gKwkJCSAgICAgICBEUk1f SU9DVExfSTkxNV9HRU1fTU1BUCwKPiArCQkJICAgICAgICZtbWFwX2FyZyk7Cj4gKwkJaWYgKHJl dCAhPSAwKSB7Cj4gKwkJCXJldCA9IC1lcnJubzsKPiArCQkJREJHKCIlczolZDogRXJyb3IgbWFw cGluZyBidWZmZXIgJWQgKCVzKTogJXMgLlxuIiwKPiArCQkJICAgIF9fRklMRV9fLCBfX0xJTkVf XywgYm9fZ2VtLT5nZW1faGFuZGxlLAo+ICsJCQkgICAgYm9fZ2VtLT5uYW1lLCBzdHJlcnJvcihl cnJubykpOwo+ICsJCQlpZiAoLS1ib19nZW0tPm1hcF9jb3VudCA9PSAwKQo+ICsJCQkJZHJtX2lu dGVsX2dlbV9ib19jbG9zZV92bWEoYnVmbWdyX2dlbSwgYm9fZ2VtKTsKPiArCQkJcHRocmVhZF9t dXRleF91bmxvY2soJmJ1Zm1ncl9nZW0tPmxvY2spOwoKClRoZXJlJ3MgYW4gdW5sb2NrKCkgaGVy ZSAoYW5kIG5vIGxvY2soKSEpLCBidXQgdGhlIGxvY2tpbmcgaXMgaGFubGVkIGJ5CnRoZSBoaWdo ZXIgbGV2ZWwgZnVuY3Rpb25zLgoKPiArCQkJcmV0dXJuIHJldDsKPiArCQl9Cj4gKwkJVkcoVkFM R1JJTkRfTUFMTE9DTElLRV9CTE9DSyhtbWFwX2FyZy5hZGRyX3B0ciwgbW1hcF9hcmcuc2l6ZSwg MCwgMSkpOwo+ICsJCWJvX2dlbS0+bWVtX3djX3ZpcnR1YWwgPSAodm9pZCAqKSh1aW50cHRyX3Qp IG1tYXBfYXJnLmFkZHJfcHRyOwo+ICsJfQo+ICsKPiArCWJvLT52aXJ0dWFsID0gYm9fZ2VtLT5t ZW1fd2NfdmlydHVhbDsKPiArCj4gKwlEQkcoImJvX21hcF93YzogJWQgKCVzKSAtPiAlcFxuIiwg Ym9fZ2VtLT5nZW1faGFuZGxlLCBib19nZW0tPm5hbWUsCj4gKwkgICAgYm9fZ2VtLT5tZW1fd2Nf dmlydHVhbCk7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qIFRvIGJlIHVzZWQgaW4g YSBzaW1pbGFyIHdheSB0byBtbWFwX2d0dCAqLwo+ICtkcm1fcHVibGljIGludAo+ICtkcm1faW50 ZWxfZ2VtX2JvX21hcF93Yyhkcm1faW50ZWxfYm8gKmJvKSB7Cj4gKwlkcm1faW50ZWxfYnVmbWdy X2dlbSAqYnVmbWdyX2dlbSA9IChkcm1faW50ZWxfYnVmbWdyX2dlbSAqKSBiby0+YnVmbWdyOwo+ ICsJZHJtX2ludGVsX2JvX2dlbSAqYm9fZ2VtID0gKGRybV9pbnRlbF9ib19nZW0gKikgYm87Cj4g KwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3NldF9kb21haW4gc2V0X2RvbWFpbjsKPiArCWludCByZXQ7 Cj4gKwo+ICsJcHRocmVhZF9tdXRleF9sb2NrKCZidWZtZ3JfZ2VtLT5sb2NrKTsKPiArCj4gKwly ZXQgPSBtYXBfd2MoYm8pOwo+ICsJaWYgKHJldCkgewo+ICsJCXB0aHJlYWRfbXV0ZXhfdW5sb2Nr KCZidWZtZ3JfZ2VtLT5sb2NrKTsKPiArCQlyZXR1cm4gcmV0Owo+ICsJfQo+ICsKPiArCS8qIE5v dyBtb3ZlIGl0IHRvIHRoZSBHVFQgZG9tYWluIHNvIHRoYXQgdGhlIEdQVSBhbmQgQ1BVCj4gKwkg KiBjYWNoZXMgYXJlIGZsdXNoZWQgYW5kIHRoZSBHUFUgaXNuJ3QgYWN0aXZlbHkgdXNpbmcgdGhl Cj4gKwkgKiBidWZmZXIuCj4gKwkgKgo+ICsJICogVGhlIGRvbWFpbiBjaGFuZ2UgaXMgZG9uZSBl dmVuIGZvciB0aGUgb2JqZWN0cyB3aGljaAo+ICsJICogYXJlIG5vdCBib3VuZGVkLiBGb3IgdGhl bSBmaXJzdCB0aGUgcGFnZXMgYXJlIGFjcXVpcmVkLAo+ICsJICogYmVmb3JlIHRoZSBkb21haW4g Y2hhbmdlLgo+ICsJICovCj4gKwlWR19DTEVBUihzZXRfZG9tYWluKTsKPiArCXNldF9kb21haW4u aGFuZGxlID0gYm9fZ2VtLT5nZW1faGFuZGxlOwo+ICsJc2V0X2RvbWFpbi5yZWFkX2RvbWFpbnMg PSBJOTE1X0dFTV9ET01BSU5fR1RUOwo+ICsJc2V0X2RvbWFpbi53cml0ZV9kb21haW4gPSBJOTE1 X0dFTV9ET01BSU5fR1RUOwo+ICsJcmV0ID0gZHJtSW9jdGwoYnVmbWdyX2dlbS0+ZmQsCj4gKwkJ ICAgICAgIERSTV9JT0NUTF9JOTE1X0dFTV9TRVRfRE9NQUlOLAo+ICsJCSAgICAgICAmc2V0X2Rv bWFpbik7Cj4gKwlpZiAocmV0ICE9IDApIHsKPiArCQlEQkcoIiVzOiVkOiBFcnJvciBzZXR0aW5n IGRvbWFpbiAlZDogJXNcbiIsCj4gKwkJICAgIF9fRklMRV9fLCBfX0xJTkVfXywgYm9fZ2VtLT5n ZW1faGFuZGxlLAo+ICsJCSAgICBzdHJlcnJvcihlcnJubykpOwo+ICsJfQoKV2h5IG1vdmUgdGhl IGJ1ZmZlciB0byB0aGUgR1RUIGRvbWFpbiBhbmQgbm90IHRoZSBDUFUgZG9tYWluIGhlcmU/Cgo+ ICsJZHJtX2ludGVsX2dlbV9ib19tYXJrX21tYXBzX2luY29oZXJlbnQoYm8pOwo+ICsJVkcoVkFM R1JJTkRfTUFLRV9NRU1fREVGSU5FRChib19nZW0tPm1lbV93Y192aXJ0dWFsLCBiby0+c2l6ZSkp Owo+ICsJcHRocmVhZF9tdXRleF91bmxvY2soJmJ1Zm1ncl9nZW0tPmxvY2spOwo+ICsKPiArCXJl dHVybiAwOwo+ICt9Cj4gKwo+ICtkcm1fcHVibGljIGludAo+ICtkcm1faW50ZWxfZ2VtX2JvX21h cF93Y191bnN5bmNocm9uaXplZChkcm1faW50ZWxfYm8gKmJvKSB7Cj4gKwlkcm1faW50ZWxfYnVm bWdyX2dlbSAqYnVmbWdyX2dlbSA9IChkcm1faW50ZWxfYnVmbWdyX2dlbSAqKSBiby0+YnVmbWdy Owo+ICsjaWZkZWYgSEFWRV9WQUxHUklORAo+ICsJZHJtX2ludGVsX2JvX2dlbSAqYm9fZ2VtID0g KGRybV9pbnRlbF9ib19nZW0gKikgYm87Cj4gKyNlbmRpZgo+ICsJaW50IHJldDsKPiArCj4gKwlw dGhyZWFkX211dGV4X2xvY2soJmJ1Zm1ncl9nZW0tPmxvY2spOwo+ICsKPiArCXJldCA9IG1hcF93 Yyhibyk7Cj4gKwlpZiAocmV0ID09IDApIHsKPiArCQlkcm1faW50ZWxfZ2VtX2JvX21hcmtfbW1h cHNfaW5jb2hlcmVudChibyk7Cj4gKwkJVkcoVkFMR1JJTkRfTUFLRV9NRU1fREVGSU5FRChib19n ZW0tPm1lbV93Y192aXJ0dWFsLCBiby0+c2l6ZSkpOwo+ICsJfQo+ICsKPiArCXB0aHJlYWRfbXV0 ZXhfdW5sb2NrKCZidWZtZ3JfZ2VtLT5sb2NrKTsKPiArCj4gKwlyZXR1cm4gcmV0Owo+ICt9Cj4g Kwo+ICBzdGF0aWMgaW50IGRybV9pbnRlbF9nZW1fYm9fbWFwKGRybV9pbnRlbF9ibyAqYm8sIGlu dCB3cml0ZV9lbmFibGUpCj4gIHsKPiAgCWRybV9pbnRlbF9idWZtZ3JfZ2VtICpidWZtZ3JfZ2Vt ID0gKGRybV9pbnRlbF9idWZtZ3JfZ2VtICopIGJvLT5idWZtZ3I7Cj4gQEAgLTEyOTMsNiArMTQz Miw3IEBAIHN0YXRpYyBpbnQgZHJtX2ludGVsX2dlbV9ib19tYXAoZHJtX2ludGVsX2JvICpibywg aW50IHdyaXRlX2VuYWJsZSkKPiAgCj4gIAkJVkdfQ0xFQVIobW1hcF9hcmcpOwo+ICAJCW1tYXBf YXJnLmhhbmRsZSA9IGJvX2dlbS0+Z2VtX2hhbmRsZTsKPiArCQltbWFwX2FyZy5mbGFncyA9IDA7 Cj4gIAkJbW1hcF9hcmcub2Zmc2V0ID0gMDsKPiAgCQltbWFwX2FyZy5zaXplID0gYm8tPnNpemU7 Cj4gIAkJcmV0ID0gZHJtSW9jdGwoYnVmbWdyX2dlbS0+ZmQsCj4gQEAgLTE1NTMsNiArMTY5Mywx MiBAQCBzdGF0aWMgaW50IGRybV9pbnRlbF9nZW1fYm9fdW5tYXAoZHJtX2ludGVsX2JvICpibykK PiAgfQo+ICAKPiAgZHJtX3B1YmxpYyBpbnQKPiArZHJtX2ludGVsX2dlbV9ib191bm1hcF93Yyhk cm1faW50ZWxfYm8gKmJvKQo+ICt7Cj4gKwlyZXR1cm4gZHJtX2ludGVsX2dlbV9ib191bm1hcChi byk7Cj4gK30KPiArCj4gK2RybV9wdWJsaWMgaW50Cj4gIGRybV9pbnRlbF9nZW1fYm9fdW5tYXBf Z3R0KGRybV9pbnRlbF9ibyAqYm8pCj4gIHsKPiAgCXJldHVybiBkcm1faW50ZWxfZ2VtX2JvX3Vu bWFwKGJvKTsKPiBAQCAtMzUzOCw2ICszNjg0LDEwIEBAIGRybV9pbnRlbF9idWZtZ3JfZ2VtX2lu aXQoaW50IGZkLCBpbnQgYmF0Y2hfc2l6ZSkKPiAgCXJldCA9IGRybUlvY3RsKGJ1Zm1ncl9nZW0t PmZkLCBEUk1fSU9DVExfSTkxNV9HRVRQQVJBTSwgJmdwKTsKPiAgCWJ1Zm1ncl9nZW0tPmhhc192 ZWJveCA9IChyZXQgPT0gMCkgJiAoKmdwLnZhbHVlID4gMCk7Cj4gIAo+ICsJZ3AucGFyYW0gPSBJ OTE1X1BBUkFNX01NQVBfVkVSU0lPTjsKPiArCXJldCA9IGRybUlvY3RsKGJ1Zm1ncl9nZW0tPmZk LCBEUk1fSU9DVExfSTkxNV9HRVRQQVJBTSwgJmdwKTsKPiArCWJ1Zm1ncl9nZW0tPmhhc19leHRf bW1hcCA9IChyZXQgPT0gMCkgJiAoKmdwLnZhbHVlID4gMCk7CgpJdCBsb29rcyBsaWtlIHRoaXMg d29ya3MsIGJ1dCBjYW4gd2UgaGF2ZSAmJiBpbnN0ZWFkPwoKLS0gCkRhbWllbgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=