From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joonas Lahtinen Subject: Re: [PATCH v2 1/2] drm/i915: refactor i915_gem_object_pin_map() Date: Thu, 21 Apr 2016 11:09:32 +0300 Message-ID: <1461226172.4381.30.camel@linux.intel.com> References: <20160419195015.GC14602@nuc-i3427.alporthouse.com> <1461159055-11991-1-git-send-email-david.s.gordon@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 4A20C6EC0C for ; Thu, 21 Apr 2016 08:08:17 +0000 (UTC) In-Reply-To: <1461159055-11991-1-git-send-email-david.s.gordon@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Dave Gordon , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24ga2UsIDIwMTYtMDQtMjAgYXQgMTQ6MzAgKzAxMDAsIERhdmUgR29yZG9uIHdyb3RlOgo+IFRo ZSByZWNlbnRseS1hZGRlZCBpOTE1X2dlbV9vYmplY3RfcGluX21hcCgpIGNhbiBiZSBmdXJ0aGVy IG9wdGltaXNlZAo+IGZvciAic21hbGwiIG9iamVjdHMuIFRvIGZhY2lsaXRhdGUgdGhpcywgYW5k IHNpbXBsaWZ5IHRoZSBlcnJvciBwYXRocwo+IGJlZm9yZSBhZGRpbmcgdGhlIG5ldyBjb2RlLCB0 aGlzIHBhdGNoIHB1bGxzIG91dCB0aGUgIm1hcHBpbmciIHBhcnQgb2YKPiB0aGUgb3BlcmF0aW9u IChpbnZvbHZpbmcgbG9jYWwgYWxsb2NhdGlvbnMgd2hpY2ggbXVzdCBiZSB1bmRvbmUgYmVmb3Jl Cj4gcmV0dXJuKSBpbnRvIGl0cyBvd24gc3ViZnVuY3Rpb24uCj4gCj4gVGhlIG5leHQgcGF0Y2gg d2lsbCB0aGVuIGluc2VydCB0aGUgbmV3IG9wdGltaXNhdGlvbiBpbnRvIHRoZSBtaWRkbGUgb2YK PiB0aGUgbm93LXNlcGFyYXRlZCBzdWJmdW5jdGlvbi4KPiAKPiBUaGlzIHJlb3JnYW5pc2F0aW9u IHdpbGwgcHJvYmFibHkgbm90IGFmZmVjdCB0aGUgZ2VuZXJhdGVkIGNvZGUsIGFzIHRoZQo+IGNv bXBpbGVyIHdpbGwgbW9zdCBsaWtlbHkgaW5saW5lIGl0IGFueXdheSwgYnV0IGl0IG1ha2VzIHRo ZSBsb2dpY2FsCj4gc3RydWN0dXJlIGEgYml0IGNsZWFyZXIgYW5kIGVhc2llciB0byBtb2RpZnku Cj4gCj4gdjI6Cj4gwqDCoMKgwqBSZXN0cnVjdHVyZSBsb29wLW92ZXItcGFnZXMgJiBlcnJvciBj aGVjayAoQ2hyaXMgV2lsc29uKQo+IAo+IFNpZ25lZC1vZmYtYnk6IERhdmUgR29yZG9uIDxkYXZp ZC5zLmdvcmRvbkBpbnRlbC5jb20+Cj4gQ2M6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxp bkBpbnRlbC5jb20+Cj4gQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVr Pgo+IC0tLQo+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyB8IDU4ICsrKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCj4gwqAxIGZpbGUgY2hhbmdlZCwgMzcg aW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j Cj4gaW5kZXggNmNlMmMzMS4uNTM0NGI2ZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+ IEBAIC0yMzk2LDYgKzIzOTYsNDIgQEAgc3RhdGljIHZvaWQgaTkxNV9nZW1fb2JqZWN0X2ZyZWVf bW1hcF9vZmZzZXQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPiDCoAlyZXR1cm4g MDsKPiDCoH0KPiDCoAo+ICsvKiBUaGUgJ21hcHBpbmcnIHBhcnQgb2YgaTkxNV9nZW1fb2JqZWN0 X3Bpbl9tYXAoKSBiZWxvdyAqLwo+ICtzdGF0aWMgdm9pZCAqaTkxNV9nZW1fb2JqZWN0X21hcChj b25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+ICt7Cj4gKwl1bnNpZ25lZCBs b25nIG5fcGFnZXMgPSBvYmotPmJhc2Uuc2l6ZSA+PiBQQUdFX1NISUZUOwo+ICsJc3RydWN0IHNj YXR0ZXJsaXN0ICpzZyA9IG9iai0+cGFnZXMtPnNnbDsKPiArCXN0cnVjdCBzZ19wYWdlX2l0ZXIg c2dfaXRlcjsKPiArCXN0cnVjdCBwYWdlICoqcGFnZXM7Cj4gKwl1bnNpZ25lZCBsb25nIGkgPSAw Owo+ICsJdm9pZCAqYWRkciA9IE5VTEw7Cj4gKwo+ICsJLyogQSBzaW5nbGUgcGFnZSBjYW4gYWx3 YXlzIGJlIGttYXBwZWQgKi8KPiArCWlmIChuX3BhZ2VzID09IDEpCj4gKwkJcmV0dXJuIGttYXAo c2dfcGFnZShzZykpOwo+ICsKPiArCXBhZ2VzID0gZHJtX21hbGxvY19nZnAobl9wYWdlcywgc2l6 ZW9mKCpwYWdlcyksIEdGUF9URU1QT1JBUlkpOwo+ICsJaWYgKHBhZ2VzID09IE5VTEwpIHsKPiAr CQlEUk1fREVCVUdfRFJJVkVSKCJGYWlsZWQgdG8gZ2V0IHNwYWNlIGZvciBwYWdlc1xuIik7Cj4g KwkJcmV0dXJuIE5VTEw7Cj4gKwl9Cj4gKwo+ICsJZm9yX2VhY2hfc2dfcGFnZShzZywgJnNnX2l0 ZXIsIG5fcGFnZXMsIDApCj4gKwkJcGFnZXNbaSsrXSA9IHNnX3BhZ2VfaXRlcl9wYWdlKCZzZ19p dGVyKTsKPiArCj4gKwkvKiBDaGVjayB0aGF0IHdlIGhhdmUgdGhlIGV4cGVjdGVkIG51bWJlciBv ZiBwYWdlcyAqLwo+ICsJaWYgKCFXQVJOX09OKGkgIT0gbl9wYWdlcykpCj4gKwkJYWRkciA9IHZt YXAocGFnZXMsIG5fcGFnZXMsIDAsIFBBR0VfS0VSTkVMKTsKPiArCj4gKwlpZiAoYWRkciA9PSBO VUxMKQo+ICsJCURSTV9ERUJVR19EUklWRVIoIkZhaWxlZCB0byB2bWFwIHBhZ2VzXG4iKTsKPiAr CglUaGlzIGtpbmQgb2YgY29uc3RydWN0IGlzIHVzZWQgZWxzZXdoZXJlLCB0b28uCgoJaWYgKFdB Uk5fT04oaSAhPSBuX3BhZ2VzKSkgewoJCURSTV9ERUJVR19EUklWRVIoIkZhaWxlZCB0byB2bWFw IHBhZ2VzXG4iKTsKCQlnb3RvIG91dDsKCX0KCglhZGRyID0gdm1hcChwYWdlcywgbl9wYWdlcywg MCwgUEFHRV9LRVJORUwpOwoKb3V0Ogo+ICsJZHJtX2ZyZWVfbGFyZ2UocGFnZXMpOwo+ICsKPiAr CXJldHVybiBhZGRyOwo+ICt9Cj4gKwo+ICsvKiBnZXQsIHBpbiwgYW5kIG1hcCB0aGUgcGFnZXMg b2YgdGhlIG9iamVjdCBpbnRvIGtlcm5lbCBzcGFjZSAqLwo+IMKgdm9pZCAqaTkxNV9nZW1fb2Jq ZWN0X3Bpbl9tYXAoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPiDCoHsKPiDCoAlp bnQgcmV0Owo+IEBAIC0yNDA5LDI3ICsyNDQ1LDcgQEAgdm9pZCAqaTkxNV9nZW1fb2JqZWN0X3Bp bl9tYXAoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPiDCoAlpOTE1X2dlbV9vYmpl Y3RfcGluX3BhZ2VzKG9iaik7Cj4gwqAKPiDCoAlpZiAob2JqLT5tYXBwaW5nID09IE5VTEwpIHsK PiAtCQlzdHJ1Y3QgcGFnZSAqKnBhZ2VzOwo+IC0KPiAtCQlwYWdlcyA9IE5VTEw7Cj4gLQkJaWYg KG9iai0+YmFzZS5zaXplID09IFBBR0VfU0laRSkKPiAtCQkJb2JqLT5tYXBwaW5nID0ga21hcChz Z19wYWdlKG9iai0+cGFnZXMtPnNnbCkpOwo+IC0JCWVsc2UKPiAtCQkJcGFnZXMgPSBkcm1fbWFs bG9jX2dmcChvYmotPmJhc2Uuc2l6ZSA+PiBQQUdFX1NISUZULAo+IC0JCQkJCcKgwqDCoMKgwqDC oMKgc2l6ZW9mKCpwYWdlcyksCj4gLQkJCQkJwqDCoMKgwqDCoMKgwqBHRlBfVEVNUE9SQVJZKTsK PiAtCQlpZiAocGFnZXMgIT0gTlVMTCkgewo+IC0JCQlzdHJ1Y3Qgc2dfcGFnZV9pdGVyIHNnX2l0 ZXI7Cj4gLQkJCWludCBuOwo+IC0KPiAtCQkJbiA9IDA7Cj4gLQkJCWZvcl9lYWNoX3NnX3BhZ2Uo b2JqLT5wYWdlcy0+c2dsLCAmc2dfaXRlciwKPiAtCQkJCQnCoG9iai0+cGFnZXMtPm5lbnRzLCAw KQo+IC0JCQkJcGFnZXNbbisrXSA9IHNnX3BhZ2VfaXRlcl9wYWdlKCZzZ19pdGVyKTsKPiAtCj4g LQkJCW9iai0+bWFwcGluZyA9IHZtYXAocGFnZXMsIG4sIDAsIFBBR0VfS0VSTkVMKTsKPiAtCQkJ ZHJtX2ZyZWVfbGFyZ2UocGFnZXMpOwo+IC0JCX0KPiArCQlvYmotPm1hcHBpbmcgPSBpOTE1X2dl bV9vYmplY3RfbWFwKG9iaik7Cj4gwqAJCWlmIChvYmotPm1hcHBpbmcgPT0gTlVMTCkgewo+IMKg CQkJaTkxNV9nZW1fb2JqZWN0X3VucGluX3BhZ2VzKG9iaik7Cj4gwqAJCQlyZXR1cm4gRVJSX1BU UigtRU5PTUVNKTsKLS0gCkpvb25hcyBMYWh0aW5lbgpPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENl bnRlcgpJbnRlbCBDb3Jwb3JhdGlvbgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK