From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 5/6] drm/i915: Support for pread/pwrite from/to non shmem backed objects Date: Thu, 8 Oct 2015 14:56:43 +0100 Message-ID: <5616761B.106@linux.intel.com> References: <1444285469-8187-1-git-send-email-ankitprasad.r.sharma@intel.com> <1444285469-8187-6-git-send-email-ankitprasad.r.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id F38436ECE0 for ; Thu, 8 Oct 2015 06:56:45 -0700 (PDT) In-Reply-To: <1444285469-8187-6-git-send-email-ankitprasad.r.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: ankitprasad.r.sharma@intel.com, intel-gfx@lists.freedesktop.org Cc: akash.goel@intel.com, shashidhar.hiremath@intel.com List-Id: intel-gfx@lists.freedesktop.org CkhpLAoKT24gMDgvMTAvMTUgMDc6MjQsIGFua2l0cHJhc2FkLnIuc2hhcm1hQGludGVsLmNvbSB3 cm90ZToKPiBGcm9tOiBBbmtpdHByYXNhZCBTaGFybWEgPGFua2l0cHJhc2FkLnIuc2hhcm1hQGlu dGVsLmNvbT4KPgo+IFRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IGZvciBleHRlbmRpbmcgdGhlIHBy ZWFkL3B3cml0ZSBmdW5jdGlvbmFsaXR5Cj4gZm9yIG9iamVjdHMgbm90IGJhY2tlZCBieSBzaG1l bS4gVGhlIGFjY2VzcyB3aWxsIGJlIG1hZGUgdGhyb3VnaAo+IGd0dCBpbnRlcmZhY2UuCj4gVGhp cyB3aWxsIGNvdmVyIHByaW1lIG9iamVjdHMgYXMgd2VsbCBhcyBzdG9sZW4gbWVtb3J5IGJhY2tl ZCBvYmplY3RzCj4gYnV0IGZvciB1c2VycHRyIG9iamVjdHMgaXQgaXMgc3RpbGwgZm9yYmlkZGVu LgoKV2hlcmUgaXMgdGhlIHBhcnQgd2hpY2ggZm9yYmlkcyBpdCBmb3IgdXNlcnB0ciBvYmplY3Rz PwoKPiB2MjogRHJvcCBsb2NrcyBhcm91bmQgc2xvd191c2VyX2FjY2VzcywgcHJlZmF1bHQgdGhl IHBhZ2VzIGJlZm9yZQo+IGFjY2VzcyAoQ2hyaXMpCj4KPiB2MzogUmViYXNlZCB0byB0aGUgbGF0 ZXN0IGRybS1pbnRlbC1uaWdodGx5IChBbmtpdCkKPgo+IHY0OiBNb3ZlZCBwYWdlIGJhc2UgJiBv ZmZzZXQgY2FsY3VsYXRpb25zIG91dHNpZGUgdGhlIGNvcHkgbG9vcCwKPiBjb3JyZWN0ZWQgZGF0 YSB0eXBlcyBmb3Igc2l6ZSBhbmQgb2Zmc2V0IHZhcmlhYmxlcywgY29ycmVjdGVkIGlmLWVsc2UK PiBicmFjZXMgZm9ybWF0IChUdnJ0a28va2VybmVsZG9jcykKPgo+IHY1OiBFbmFibGVkIHByZWFk L3B3cml0ZSBmb3IgYWxsIG5vbi1zaG1lbSBiYWNrZWQgb2JqZWN0cyBpbmNsdWRpbmcKPiB3aXRo b3V0IHRpbGluZyByZXN0cmljdGlvbnMgKEFua2l0KQo+Cj4gdjY6IFVzaW5nIHB3cml0ZV9mYXN0 IGZvciBub24tc2htZW0gYmFja2VkIG9iamVjdHMgYXMgd2VsbCAoQ2hyaXMpCj4KPiBUZXN0Y2Fz ZTogaWd0L2dlbV9zdG9sZW4KPgo+IFNpZ25lZC1vZmYtYnk6IEFua2l0cHJhc2FkIFNoYXJtYSA8 YW5raXRwcmFzYWQuci5zaGFybWFAaW50ZWwuY29tPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYyB8IDEyNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tCj4gICAxIGZpbGUgY2hhbmdlZCwgMTA0IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9u cygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gaW5kZXggOTFhMmU5Ny4uMmM5NGUyMiAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IEBAIC02MTQsNiArNjE0LDk5IEBAIHNobWVt X3ByZWFkX3Nsb3coc3RydWN0IHBhZ2UgKnBhZ2UsIGludCBzaG1lbV9wYWdlX29mZnNldCwgaW50 IHBhZ2VfbGVuZ3RoLAo+ICAgCXJldHVybiByZXQgPyAtIEVGQVVMVCA6IDA7Cj4gICB9Cj4KPiAr c3RhdGljIGlubGluZSB1aW50NjRfdAo+ICtzbG93X3VzZXJfYWNjZXNzKHN0cnVjdCBpb19tYXBw aW5nICptYXBwaW5nLAo+ICsJCSB1aW50NjRfdCBwYWdlX2Jhc2UsIGludCBwYWdlX29mZnNldCwK PiArCQkgY2hhciBfX3VzZXIgKnVzZXJfZGF0YSwKPiArCQkgaW50IGxlbmd0aCwgYm9vbCBwd3Jp dGUpCj4gK3sKPiArCXZvaWQgX19pb21lbSAqdmFkZHJfaW5hdG9taWM7Cj4gKwl2b2lkICp2YWRk cjsKPiArCXVpbnQ2NF90IHVud3JpdHRlbjsKPiArCj4gKwl2YWRkcl9pbmF0b21pYyA9IGlvX21h cHBpbmdfbWFwX3djKG1hcHBpbmcsIHBhZ2VfYmFzZSk7Cj4gKwkvKiBXZSBjYW4gdXNlIHRoZSBj cHUgbWVtIGNvcHkgZnVuY3Rpb24gYmVjYXVzZSB0aGlzIGlzIFg4Ni4gKi8KPiArCXZhZGRyID0g KHZvaWQgX19mb3JjZSAqKXZhZGRyX2luYXRvbWljICsgcGFnZV9vZmZzZXQ7Cj4gKwlpZiAocHdy aXRlKQo+ICsJCXVud3JpdHRlbiA9IF9fY29weV9mcm9tX3VzZXIodmFkZHIsIHVzZXJfZGF0YSwg bGVuZ3RoKTsKPiArCWVsc2UKPiArCQl1bndyaXR0ZW4gPSBfX2NvcHlfdG9fdXNlcih1c2VyX2Rh dGEsIHZhZGRyLCBsZW5ndGgpOwo+ICsKPiArCWlvX21hcHBpbmdfdW5tYXAodmFkZHJfaW5hdG9t aWMpOwo+ICsJcmV0dXJuIHVud3JpdHRlbjsKPiArfQo+ICsKPiArc3RhdGljIGludAo+ICtpOTE1 X2dlbV9ndHRfcHJlYWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiArCQkgICBzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2JqLCB1aW50NjRfdCBzaXplLAo+ICsJCSAgIHVpbnQ2NF90IGRh dGFfb2Zmc2V0LCB1aW50NjRfdCBkYXRhX3B0cikKPiArewo+ICsJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiArCWNoYXIgX191c2VyICp1c2Vy X2RhdGE7Cj4gKwl1aW50NjRfdCByZW1haW47Cj4gKwl1aW50NjRfdCBvZmZzZXQsIHBhZ2VfYmFz ZTsKPiArCWludCBwYWdlX29mZnNldCwgcGFnZV9sZW5ndGgsIHJldCA9IDA7Cj4gKwo+ICsJcmV0 ID0gaTkxNV9nZW1fb2JqX2dndHRfcGluKG9iaiwgMCwgUElOX01BUFBBQkxFKTsKPiArCWlmIChy ZXQpCj4gKwkJZ290byBvdXQ7Cj4gKwo+ICsJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3NldF90b19n dHRfZG9tYWluKG9iaiwgZmFsc2UpOwo+ICsJaWYgKHJldCkKPiArCQlnb3RvIG91dF91bnBpbjsK PiArCj4gKwlyZXQgPSBpOTE1X2dlbV9vYmplY3RfcHV0X2ZlbmNlKG9iaik7Cj4gKwlpZiAocmV0 KQo+ICsJCWdvdG8gb3V0X3VucGluOwo+ICsKPiArCXVzZXJfZGF0YSA9IHRvX3VzZXJfcHRyKGRh dGFfcHRyKTsKPiArCXJlbWFpbiA9IHNpemU7Cj4gKwlvZmZzZXQgPSBpOTE1X2dlbV9vYmpfZ2d0 dF9vZmZzZXQob2JqKSArIGRhdGFfb2Zmc2V0Owo+ICsKPiArCW11dGV4X3VubG9jaygmZGV2LT5z dHJ1Y3RfbXV0ZXgpOwo+ICsJaWYgKGxpa2VseSghaTkxNS5wcmVmYXVsdF9kaXNhYmxlKSkKPiAr CQlyZXQgPSBmYXVsdF9pbl9tdWx0aXBhZ2VzX3dyaXRlYWJsZSh1c2VyX2RhdGEsIHJlbWFpbik7 Cj4gKwo+ICsJLyoKPiArCSAqIHBhZ2Vfb2Zmc2V0ID0gb2Zmc2V0IHdpdGhpbiBwYWdlCj4gKwkg KiBwYWdlX2Jhc2UgPSBwYWdlIG9mZnNldCB3aXRoaW4gYXBlcnR1cmUKPiArCSAqLwo+ICsJcGFn ZV9vZmZzZXQgPSBvZmZzZXRfaW5fcGFnZShvZmZzZXQpOwo+ICsJcGFnZV9iYXNlID0gb2Zmc2V0 ICYgUEFHRV9NQVNLOwo+ICsKPiArCXdoaWxlIChyZW1haW4gPiAwKSB7Cj4gKwkJLyogcGFnZV9s ZW5ndGggPSBieXRlcyB0byBjb3B5IGZvciB0aGlzIHBhZ2UgKi8KPiArCQlwYWdlX2xlbmd0aCA9 IHJlbWFpbjsKPiArCQlpZiAoKHBhZ2Vfb2Zmc2V0ICsgcmVtYWluKSA+IFBBR0VfU0laRSkKPiAr CQkJcGFnZV9sZW5ndGggPSBQQUdFX1NJWkUgLSBwYWdlX29mZnNldDsKPiArCj4gKwkJLyogVGhp cyBpcyBhIHNsb3cgcmVhZC93cml0ZSBhcyBpdCB0cmllcyB0byByZWFkIGZyb20KPiArCQkgKiBh bmQgd3JpdGUgdG8gdXNlciBtZW1vcnkgd2hpY2ggbWF5IHJlc3VsdCBpbnRvIHBhZ2UKPiArCQkg KiBmYXVsdHMKPiArCQkgKi8KPiArCQlyZXQgPSBzbG93X3VzZXJfYWNjZXNzKGRldl9wcml2LT5n dHQubWFwcGFibGUsIHBhZ2VfYmFzZSwKPiArCQkJCSAgICAgICBwYWdlX29mZnNldCwgdXNlcl9k YXRhLAo+ICsJCQkJICAgICAgIHBhZ2VfbGVuZ3RoLCBmYWxzZSk7Cj4gKwo+ICsJCWlmIChyZXQp IHsKPiArCQkJcmV0ID0gLUVGQVVMVDsKPiArCQkJYnJlYWs7Cj4gKwkJfQo+ICsKPiArCQlyZW1h aW4gLT0gcGFnZV9sZW5ndGg7Cj4gKwkJdXNlcl9kYXRhICs9IHBhZ2VfbGVuZ3RoOwo+ICsJCXBh Z2VfYmFzZSArPSBwYWdlX2xlbmd0aDsKPiArCQlwYWdlX29mZnNldCA9IDA7Cj4gKwl9Cj4gKwo+ ICsJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ICsKPiArb3V0X3VucGluOgo+ICsJ aTkxNV9nZW1fb2JqZWN0X2dndHRfdW5waW4ob2JqKTsKPiArb3V0Ogo+ICsJcmV0dXJuIHJldDsK PiArfQo+ICsKPiAgIHN0YXRpYyBpbnQKPiAgIGk5MTVfZ2VtX3NobWVtX3ByZWFkKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCj4gICAJCSAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i aiwKPiBAQCAtNzM3LDE3ICs4MzAsMTQgQEAgaTkxNV9nZW1fcHJlYWRfaW9jdGwoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgIAkJZ290byBvdXQ7Cj4gICAJfQo+Cj4gLQkv KiBwcmltZSBvYmplY3RzIGhhdmUgbm8gYmFja2luZyBmaWxwIHRvIEdFTSBwcmVhZC9wd3JpdGUK PiAtCSAqIHBhZ2VzIGZyb20uCj4gLQkgKi8KPiAtCWlmICghb2JqLT5iYXNlLmZpbHApIHsKPiAt CQlyZXQgPSAtRUlOVkFMOwo+IC0JCWdvdG8gb3V0Owo+IC0JfQo+IC0KPiAgIAl0cmFjZV9pOTE1 X2dlbV9vYmplY3RfcHJlYWQob2JqLCBhcmdzLT5vZmZzZXQsIGFyZ3MtPnNpemUpOwo+Cj4gLQly ZXQgPSBpOTE1X2dlbV9zaG1lbV9wcmVhZChkZXYsIG9iaiwgYXJncywgZmlsZSk7Cj4gKwkvKiBw cmVhZCBmb3Igbm9uIHNobWVtIGJhY2tlZCBvYmplY3RzICovCj4gKwlpZiAoIW9iai0+YmFzZS5m aWxwICYmIG9iai0+dGlsaW5nX21vZGUgPT0gSTkxNV9USUxJTkdfTk9ORSkKPiArCQlyZXQgPSBp OTE1X2dlbV9ndHRfcHJlYWQoZGV2LCBvYmosIGFyZ3MtPnNpemUsCj4gKwkJCQkJIGFyZ3MtPm9m ZnNldCwgYXJncy0+ZGF0YV9wdHIpOwo+ICsJZWxzZQo+ICsJCXJldCA9IGk5MTVfZ2VtX3NobWVt X3ByZWFkKGRldiwgb2JqLCBhcmdzLCBmaWxlKTsKPgo+ICAgb3V0Ogo+ICAgCWRybV9nZW1fb2Jq ZWN0X3VucmVmZXJlbmNlKCZvYmotPmJhc2UpOwo+IEBAIC03OTUsNyArODg1LDcgQEAgaTkxNV9n ZW1fZ3R0X3B3cml0ZV9mYXN0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gICAJY2hhciBfX3Vz ZXIgKnVzZXJfZGF0YTsKPiAgIAlpbnQgcGFnZV9vZmZzZXQsIHBhZ2VfbGVuZ3RoLCByZXQ7Cj4K PiAtCXJldCA9IGk5MTVfZ2VtX29ial9nZ3R0X3BpbihvYmosIDAsIFBJTl9NQVBQQUJMRSB8IFBJ Tl9OT05CTE9DSyk7Cj4gKwlyZXQgPSBpOTE1X2dlbV9vYmpfZ2d0dF9waW4ob2JqLCAwLCBQSU5f TUFQUEFCTEUpOwoKV2h5IGlzIHRoaXMgbmVlZGVkPwoKPiAgIAlpZiAocmV0KQo+ICAgCQlnb3Rv IG91dDsKPgo+IEBAIC0xMDkwLDE0ICsxMTgwLDYgQEAgaTkxNV9nZW1fcHdyaXRlX2lvY3RsKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAJCWdvdG8gb3V0Owo+ICAgCX0K Pgo+IC0JLyogcHJpbWUgb2JqZWN0cyBoYXZlIG5vIGJhY2tpbmcgZmlscCB0byBHRU0gcHJlYWQv cHdyaXRlCj4gLQkgKiBwYWdlcyBmcm9tLgo+IC0JICovCj4gLQlpZiAoIW9iai0+YmFzZS5maWxw KSB7Cj4gLQkJcmV0ID0gLUVJTlZBTDsKPiAtCQlnb3RvIG91dDsKPiAtCX0KPiAtCj4gICAJdHJh Y2VfaTkxNV9nZW1fb2JqZWN0X3B3cml0ZShvYmosIGFyZ3MtPm9mZnNldCwgYXJncy0+c2l6ZSk7 Cj4KPiAgIAlyZXQgPSAtRUZBVUxUOwo+IEBAIC0xMTA4LDggKzExOTAsOSBAQCBpOTE1X2dlbV9w d3JpdGVfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgIAkgKiBw ZXJzcGVjdGl2ZSwgcmVxdWlyaW5nIG1hbnVhbCBkZXRpbGluZyBieSB0aGUgY2xpZW50Lgo+ICAg CSAqLwo+ICAgCWlmIChvYmotPnRpbGluZ19tb2RlID09IEk5MTVfVElMSU5HX05PTkUgJiYKPiAt CSAgICBvYmotPmJhc2Uud3JpdGVfZG9tYWluICE9IEk5MTVfR0VNX0RPTUFJTl9DUFUgJiYKPiAt CSAgICBjcHVfd3JpdGVfbmVlZHNfY2xmbHVzaChvYmopKSB7Cj4gKwkgICAgKCFvYmotPmJhc2Uu ZmlscCB8fAo+ICsJICAgIChvYmotPmJhc2Uud3JpdGVfZG9tYWluICE9IEk5MTVfR0VNX0RPTUFJ Tl9DUFUgJiYKPiArCSAgICBjcHVfd3JpdGVfbmVlZHNfY2xmbHVzaChvYmopKSkpIHsKPiAgIAkJ cmV0ID0gaTkxNV9nZW1fZ3R0X3B3cml0ZV9mYXN0KGRldiwgb2JqLCBhcmdzLCBmaWxlKTsKClNv IHRoZSBwd3JpdGUgcGF0aCB3aWxsIGZhaWwgaWYgYSBwYWdlIGZhdWx0IGhhcHBlbnMsIGFzIG9w cG9zZWQgdG8gdGhlIApwcmVhZCBwYXRoIHdoaWNoIG1ha2VzIGFuIGVmZm9ydCB0byBoYW5kbGUg aXQuIFdoYXQgaXMgdGhlIHJlYXNvbiBmb3IgCnRoaXMgYXN5bW1ldHJ5IGluIHRoZSBBUEk/IE9y IEkgYW0gbWlzc2luZyBzb21ldGhpbmc/CgpSZWdhcmRzLAoKVHZydGtvCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==