From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: Re: [PATCH] drm/i915: Add soft-pinning API for execbuffer Date: Wed, 29 Apr 2015 15:01:49 +0100 Message-ID: <20150429140149.GR599@nuc-i3427.alporthouse.com> References: <1425635047-25214-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [87.106.93.118]) by gabe.freedesktop.org (Postfix) with ESMTP id C095B6E6D7 for ; Wed, 29 Apr 2015 07:01:55 -0700 (PDT) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Daniel, Thomas" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBBcHIgMjksIDIwMTUgYXQgMDE6Mjg6MTlQTSArMDAwMCwgRGFuaWVsLCBUaG9tYXMg d3JvdGU6Cj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID4gRnJvbTogSW50ZWwtZ2Z4 IFttYWlsdG86aW50ZWwtZ2Z4LWJvdW5jZXNAbGlzdHMuZnJlZWRlc2t0b3Aub3JnXSBPbiBCZWhh bGYgT2YKPiA+IENocmlzIFdpbHNvbgo+ID4gU2VudDogRnJpZGF5LCBNYXJjaCA2LCAyMDE1IDk6 NDQgQU0KPiA+IFRvOiBpbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBTdWJqZWN0 OiBbSW50ZWwtZ2Z4XSBbUEFUQ0hdIGRybS9pOTE1OiBBZGQgc29mdC1waW5uaW5nIEFQSSBmb3Ig ZXhlY2J1ZmZlcgo+ID4gCj4gPiBVc2Vyc3BhY2UgY2FuIHBhc3MgaW4gYW4gb2Zmc2V0IHRoYXQg aXQgcHJlc3VtZXMgdGhlIG9iamVjdCBpcyBsb2NhdGVkCj4gPiBhdC4gVGhlIGtlcm5lbCB3aWxs IHRoZW4gZG8gaXRzIHV0bW9zdCB0byBmaXQgdGhlIG9iamVjdCBpbnRvIHRoYXQKPiA+IGxvY2F0 aW9uLiBUaGUgYXNzdW1wdGlvbiBpcyB0aGF0IHVzZXJzcGFjZSBpcyBoYW5kbGluZyBpdHMgb3du IG9iamVjdAo+ID4gbG9jYXRpb25zIChmb3IgZXhhbXBsZSBhbG9uZyB3aXRoIGZ1bGwtcHBndHQp IGFuZCB0aGF0IHRoZSBrZXJuZWwgd2lsbAo+ID4gcmFyZWx5IGhhdmUgdG8gbWFrZSBzcGFjZSBm b3IgdGhlIHVzZXIncyByZXF1ZXN0cy4JCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IENocmlzIFdp bHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgIHwgIDUgKysrCj4gPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgICAgIHwgNTMgKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXZpY3QuYyAgICAg IHwgNTIKPiA+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIHwgIDkgKysrKy0KPiA+ICBpbmNsdWRlL3Vh cGkvZHJtL2k5MTVfZHJtLmggICAgICAgICAgICAgICAgfCAgMyArLQo+ID4gIDUgZmlsZXMgY2hh bmdlZCwgMTA2IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQo+ID4gCj4gCj4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+ID4gYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gPiBpbmRleCA5ZDBkZjRkODU2OTMuLmIyNjZiMzE2OTBl NCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiA+IEBAIC0zNTkyLDIyICszNTky LDQzIEBAIGk5MTVfZ2VtX29iamVjdF9iaW5kX3RvX3ZtKHN0cnVjdAo+ID4gZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqLAo+ID4gIAlpZiAoSVNfRVJSKHZtYSkpCj4gPiAgCQlnb3RvIGVycl91bnBp bjsKPiA+IAo+ID4gKwlpZiAoZmxhZ3MgJiBQSU5fT0ZGU0VUX0ZJWEVEKSB7Cj4gPiArCQl1aW50 NjRfdCBvZmZzZXQgPSBmbGFncyAmIFBJTl9PRkZTRVRfTUFTSzsKPiA+ICsJCWlmIChvZmZzZXQg JiAoYWxpZ25tZW50IC0gMSkpIHsKPiA+ICsJCQl2bWEgPSBFUlJfUFRSKC1FSU5WQUwpOwo+ID4g KwkJCWdvdG8gZXJyX2ZyZWVfdm1hOwo+ID4gKwkJfQo+ID4gKwkJdm1hLT5ub2RlLnN0YXJ0ID0g b2Zmc2V0Owo+ID4gKwkJdm1hLT5ub2RlLnNpemUgPSBzaXplOwo+ID4gKwkJdm1hLT5ub2RlLmNv bG9yID0gb2JqLT5jYWNoZV9sZXZlbDsKPiA+ICsJCXJldCA9IGRybV9tbV9yZXNlcnZlX25vZGUo JnZtLT5tbSwgJnZtYS0+bm9kZSk7Cj4gPiArCQlpZiAocmV0KSB7Cj4gPiArCQkJcmV0ID0gaTkx NV9nZW1fZXZpY3RfcmFuZ2UoZGV2LCB2bSwgc3RhcnQsIGVuZCk7Cj4gRGlkIHlvdSBtZWFuIGk5 MTVfZ2VtX2V2aWN0X3JhbmdlKGRldiwgdm0sIG9mZnNldCwgb2Zmc2V0K3NpemUpID8KCldob29w cy4gSSBndWVzcyBpOTE1X2dlbV9ldmljdF92bWEoKSB3b3VsZCBiZSBhIGJldHRlciBpbnRlcmZh Y2UuCgo+ID4gK2ludAo+ID4gK2k5MTVfZ2VtX2V2aWN0X3JhbmdlKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UKPiA+ICp2bSwKPiA+ICsJCSAgICAgdW5z aWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCj4gPiArewo+ID4gKwlzdHJ1Y3Qg ZHJtX21tX25vZGUgKm5vZGU7Cj4gPiArCXN0cnVjdCBsaXN0X2hlYWQgZXZpY3Rpb25fbGlzdDsK PiA+ICsJaW50IHJldCA9IDA7Cj4gPiArCj4gPiArCUlOSVRfTElTVF9IRUFEKCZldmljdGlvbl9s aXN0KTsKPiA+ICsJZHJtX21tX2Zvcl9lYWNoX25vZGUobm9kZSwgJnZtLT5tbSkgewo+ID4gKwkJ c3RydWN0IGk5MTVfdm1hICp2bWE7Cj4gPiArCj4gPiArCQlpZiAobm9kZS0+c3RhcnQgKyBub2Rl LT5zaXplIDw9IHN0YXJ0KQo+ID4gKwkJCWNvbnRpbnVlOwo+ID4gKwkJaWYgKG5vZGUtPnN0YXJ0 ID49IGVuZCkKPiA+ICsJCQlicmVhazsKPiA+ICsKPiA+ICsJCXZtYSA9IGNvbnRhaW5lcl9vZihu b2RlLCB0eXBlb2YoKnZtYSksIG5vZGUpOwo+ID4gKwkJaWYgKHZtYS0+cGluX2NvdW50KSB7Cj4g PiArCQkJcmV0ID0gLUVCVVNZOwo+ID4gKwkJCWJyZWFrOwo+ID4gKwkJfQo+ID4gKwo+ID4gKwkJ aWYgKFdBUk5fT04oIWxpc3RfZW1wdHkoJnZtYS0+ZXhlY19saXN0KSkpIHsgCj4gU28gaWYgYW4g ZXhlY2J1ZmZlciB1c2VzIGJvdGggRVhFQ19PQkpFQ1RfUElOTkVEIGFuZCBvcmRpbmFyeSBidWZm ZXJzIGluIGl0cyBleGVjX2xpc3QgdGhlbiB0aGUgb3JkaW5hcnkgYnVmZmVycyBjYW5ub3QgYmUg cmVsb2NhdGVkIGlmIHRoZXkgYXJlIGluIHRoZSByYW5nZSBvZiB0aGUgcGlubmVkIGJ1ZmZlci4g IFdhcyB0aGlzIHlvdXIgaW50ZW50aW9uPwoKVGhlIGRlc2lyZWQgYmVoYXZpb3VyIHNob3VsZCBi ZSB0byByZXN0YXJ0IHRoZSByZXNlcnZhdGlvbiBwcm9jZXNzIHdpdGgKYmluZCB0aGUgZml4ZWQg b2JqZWN0cyBmaXJzdCwgdGhlbiBiaW5kIHRoZSByZXN0LgoKVGhlIHJlc2VydmF0aW9uIGxvZ2lj IGlzIGRlc2lnbiBhcm91bmQgbm90IG1vdmluZyBvYmplY3RzLCB3aXRoIHRoZQpleHBlY3RhdGlv biB0aGF0IHdlIGNhbiByZXVzZSB0aGUgbGF5b3V0IGZyb20gdGhlIGxhc3QgYmF0Y2ggYW5kCm9w dGltaXNlZCBmb3IgdGhhdC4gV2Ugc2hvdWxkIHJldHVybiBFTk9TUEMgaGVyZSB3aGljaCBjYXVz ZXMgdGhlCnJlc2VydmF0aW9uIGxvZ2ljIHRvIHVucGluIGV2ZXJ5dGhpbmcsIGV2aWN0IGFuZCB0 cnkgYWdhaW4uIEl0IHdpbGwgYmUKZWFzeSBlbm91Z2ggdG8gcGxhY2UgdGhlIGZpeGVkIG9iamVj dHMgYXQgdGhlIGhlYWQgb2YgdGhlIHNlY29uZCBwYXNzLgoKSSBjaG9vc2UgRUlOVkFMIGluaXRp YWxseSB0aGlua2luZyBpdCBzaG91bGQgY2F0Y2ggdGhlIGNvbmRpdGlvbiBvZiB0d28Kb3Zlcmxh cHBpbmcgZml4ZWQgb2JqZWN0cyB3aXRob3V0IGNvbnNpZGVyIGV2aWN0aW5nIG9yZGluYXJ5IGJv IChJIHdhcwpjYXVnaHQgdGhpbmtpbmcgb2YgdXNlcnNwYWNlIGRvaW5nIGFuIGFsbCBvciBub3Ro aW5nIGFwcHJvYWNoKS4KCj4gCj4gPiArCQkJcmV0ID0gLUVJTlZBTDsKPiA+ICsJCQlicmVhazsK PiA+ICsJCX0KPiA+ICsKPiA+ICsJCWRybV9nZW1fb2JqZWN0X3JlZmVyZW5jZSgmdm1hLT5vYmot PmJhc2UpOwo+ID4gKwkJbGlzdF9hZGQoJnZtYS0+ZXhlY19saXN0LCAmZXZpY3Rpb25fbGlzdCk7 Cj4gSSBndWVzcyB3ZSBuZWVkIGFub3RoZXIgbGlzdF9oZWFkIGlmIHdlIHdhbnQgdG8gc3VwcG9y dCBib3RoIHR5cGVzIG9mIG9iamVjdCBpbiB0aGUgc2FtZSBleGVjYnVmZmVyIGNhbGwgYW5kIGFs bG93IHJlbG9jYXRpb24uCgpBY3R1YWxseSwgaGVyZSBzaW5jZSB3ZSBhcmUgd2Fsa2luZyB0aGUg ZHJtX21tIHJhdGhlciB0aGFuIHVzaW5nIHRoZQpzY2FubmVyLCB3ZSBjYW4gc3dpdGNoIG92ZXIg dG8gbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKCkgYW5kIGRvIHRoZQp1bmJpbmRpbmcgaW5saW5l LgoKUmVkdWNlcyB0bwppbnQKaTkxNV9nZW1fZXZpY3RfZm9yX3ZtYShzdHJ1Y3QgaTkxNV92bWEg KnRhcmdldCkKewogICAgICAgIHN0cnVjdCBkcm1fbW1fbm9kZSAqbm9kZSwgKm5leHQ7CiAgICAg ICAgaW50IHJldDsKCiAgICAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKG5vZGUsIG5leHQs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ0YXJnZXQtPnZtLT5tbS5oZWFkX25v ZGUubm9kZV9saXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlX2xpc3Qp IHsKICAgICAgICAgICAgICAgIHN0cnVjdCBpOTE1X3ZtYSAqdm1hOwoKICAgICAgICAgICAgICAg IGlmIChub2RlLT5zdGFydCArIG5vZGUtPnNpemUgPD0gdGFyZ2V0LT5ub2RlLnN0YXJ0KQogICAg ICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgIGlmIChub2RlLT5z dGFydCA+PSB0YXJnZXQtPm5vZGUuc3RhcnQgKyB0YXJnZXQtPm5vZGUuc2l6ZSkKICAgICAgICAg ICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgdm1hID0gY29udGFpbmVyX29m KG5vZGUsIHR5cGVvZigqdm1hKSwgbm9kZSk7CiAgICAgICAgICAgICAgICBpZiAodm1hLT5leGVj X2VudHJ5ICYmCiAgICAgICAgICAgICAgICAgICAgdm1hLT5leGVjX2VudHJ5LT5mbGFncyAmIEVY RUNfT0JKRUNUX1BJTk5FRCkKICAgICAgICAgICAgICAgICAgICAgICAgLyogT3ZlcmxhcHBpbmcg Zml4ZWQgb2JqZWN0cyBpbiB0aGUgc2FtZSBiYXRjaCAqLwogICAgICAgICAgICAgICAgICAgICAg ICByZXR1cm4gLUVJTlZBTDsKCiAgICAgICAgICAgICAgICBpZiAodm1hLT5waW5fY291bnQpCiAg ICAgICAgICAgICAgICAgICAgICAgIC8qIFdlIG1heSBuZWVkIHRvIGV2aWN0IGFuIGJ1ZmZlciBp biB0aGUgc2FtZSBiYXRjaCAqLwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdm1hLT5l eGVjX2VudHJ5ID8gLUVOT1NQQyA6IC1FQlVTWTsKCiAgICAgICAgICAgICAgICByZXQgPSBpOTE1 X3ZtYV91bmJpbmQodm1hKTsKICAgICAgICAgICAgICAgIGlmIChyZXQpCiAgICAgICAgICAgICAg ICAgICAgICAgIHJldHVybiByZXQ7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gMDsKfQoKLUNo cmlzCgotLSAKQ2hyaXMgV2lsc29uLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRy ZQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=