From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH v2 2/5] drm/i915: Do not make assumptions on GGTT VMA sizes Date: Thu, 30 Apr 2015 13:03:42 +0100 Message-ID: <55421A1E.7040807@linux.intel.com> References: <1430392771.1189.7.camel@jlahtine-mobl1> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 192986E7F6 for ; Thu, 30 Apr 2015 05:03:58 -0700 (PDT) In-Reply-To: <1430392771.1189.7.camel@jlahtine-mobl1> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Joonas Lahtinen , intel-gfx List-Id: intel-gfx@lists.freedesktop.org Ck9uIDA0LzMwLzIwMTUgMTI6MTkgUE0sIEpvb25hcyBMYWh0aW5lbiB3cm90ZToKPgo+IEdHVFQg Vk1BIHNpemVzIG1pZ2h0IGJlIHNtYWxsZXIgdGhhbiB0aGUgd2hvbGUgb2JqZWN0IHNpemUgZHVl IHRvCj4gZGlmZmVyZW50IEdHVFQgdmlld3MuCj4KPiB2MjoKPiAtIFNlcGFyYXRlIEdHVFQgdmll dyBjb25zdHJhaW50IGNhbGN1bGF0aW9ucyBmcm9tIG5vcm1hbCB2aWV3Cj4gICAgY29uc3RyYWlu dCBjYWxjdWxhdGlvbnMgKENocmlzIFdpbHNvbikKPiB2MzoKPiAtIERvIG5vdCBib3RoZXIgd2l0 aCBkZWJ1ZyB3b3JkaW5nLiAoVHZydGtvIFVyc3VsaW4pCj4KPiBDYzogQ2hyaXMgV2lsc29uIDxj aHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJz dWxpbkBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMu bGFodGluZW5AbGludXguaW50ZWwuY29tPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW0uYyAgICAgfCAxMDMgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t Cj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyB8ICAyMyArKysrKysrKwo+ ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggfCAgIDQgKysKPiAgIDMgZmls ZXMgY2hhbmdlZCwgOTIgaW5zZXJ0aW9ucygrKSwgMzggZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMKPiBpbmRleCBlOGY2ZjRjLi45NzE3YzlkIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jCj4gQEAgLTM0OTcsNyArMzQ5Nyw4IEBAIHN0YXRpYyBib29sIGk5MTVfZ2Vt X3ZhbGlkX2d0dF9zcGFjZShzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKPiAgIH0KPgo+ICAgLyoqCj4g LSAqIEZpbmRzIGZyZWUgc3BhY2UgaW4gdGhlIEdUVCBhcGVydHVyZSBhbmQgYmluZHMgdGhlIG9i amVjdCB0aGVyZS4KPiArICogRmluZHMgZnJlZSBzcGFjZSBpbiB0aGUgR1RUIGFwZXJ0dXJlIGFu ZCBiaW5kcyB0aGUgb2JqZWN0IG9yIGEgdmlldyBvZiBpdAo+ICsgKiB0aGVyZS4KPiAgICAqLwo+ ICAgc3RhdGljIHN0cnVjdCBpOTE1X3ZtYSAqCj4gICBpOTE1X2dlbV9vYmplY3RfYmluZF90b192 bShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+IEBAIC0zNTE2LDM2ICszNTE3LDYw IEBAIGk5MTVfZ2VtX29iamVjdF9iaW5kX3RvX3ZtKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmosCj4gICAJc3RydWN0IGk5MTVfdm1hICp2bWE7Cj4gICAJaW50IHJldDsKPgo+IC0JaWYo V0FSTl9PTihpOTE1X2lzX2dndHQodm0pICE9ICEhZ2d0dF92aWV3KSkKPiAtCQlyZXR1cm4gRVJS X1BUUigtRUlOVkFMKTsKPiArCWlmIChpOTE1X2lzX2dndHQodm0pKSB7Cj4gKwkJdTMyIHZpZXdf c2l6ZTsKPiArCj4gKwkJaWYgKFdBUk5fT04oIWdndHRfdmlldykpCj4gKwkJCXJldHVybiBFUlJf UFRSKC1FSU5WQUwpOwo+Cj4gLQlmZW5jZV9zaXplID0gaTkxNV9nZW1fZ2V0X2d0dF9zaXplKGRl diwKPiAtCQkJCQkgICBvYmotPmJhc2Uuc2l6ZSwKPiAtCQkJCQkgICBvYmotPnRpbGluZ19tb2Rl KTsKPiAtCWZlbmNlX2FsaWdubWVudCA9IGk5MTVfZ2VtX2dldF9ndHRfYWxpZ25tZW50KGRldiwK PiAtCQkJCQkJICAgICBvYmotPmJhc2Uuc2l6ZSwKPiAtCQkJCQkJICAgICBvYmotPnRpbGluZ19t b2RlLCB0cnVlKTsKPiAtCXVuZmVuY2VkX2FsaWdubWVudCA9Cj4gLQkJaTkxNV9nZW1fZ2V0X2d0 dF9hbGlnbm1lbnQoZGV2LAo+IC0JCQkJCSAgIG9iai0+YmFzZS5zaXplLAo+IC0JCQkJCSAgIG9i ai0+dGlsaW5nX21vZGUsIGZhbHNlKTsKPiArCQl2aWV3X3NpemUgPSBpOTE1X2dndHRfdmlld19z aXplKG9iaiwgZ2d0dF92aWV3KTsKPiArCj4gKwkJZmVuY2Vfc2l6ZSA9IGk5MTVfZ2VtX2dldF9n dHRfc2l6ZShkZXYsCj4gKwkJCQkJCSAgIHZpZXdfc2l6ZSwKPiArCQkJCQkJICAgb2JqLT50aWxp bmdfbW9kZSk7Cj4gKwkJZmVuY2VfYWxpZ25tZW50ID0gaTkxNV9nZW1fZ2V0X2d0dF9hbGlnbm1l bnQoZGV2LAo+ICsJCQkJCQkJICAgICB2aWV3X3NpemUsCj4gKwkJCQkJCQkgICAgIG9iai0+dGls aW5nX21vZGUsCj4gKwkJCQkJCQkgICAgIHRydWUpOwo+ICsJCXVuZmVuY2VkX2FsaWdubWVudCA9 IGk5MTVfZ2VtX2dldF9ndHRfYWxpZ25tZW50KGRldiwKPiArCQkJCQkJCQl2aWV3X3NpemUsCj4g KwkJCQkJCQkJb2JqLT50aWxpbmdfbW9kZSwKPiArCQkJCQkJCQlmYWxzZSk7Cj4gKwkJc2l6ZSA9 IGZsYWdzICYgUElOX01BUFBBQkxFID8gZmVuY2Vfc2l6ZSA6IHZpZXdfc2l6ZTsKPiArCX0gZWxz ZSB7Cj4gKwkJZmVuY2Vfc2l6ZSA9IGk5MTVfZ2VtX2dldF9ndHRfc2l6ZShkZXYsCj4gKwkJCQkJ CSAgIG9iai0+YmFzZS5zaXplLAo+ICsJCQkJCQkgICBvYmotPnRpbGluZ19tb2RlKTsKPiArCQlm ZW5jZV9hbGlnbm1lbnQgPSBpOTE1X2dlbV9nZXRfZ3R0X2FsaWdubWVudChkZXYsCj4gKwkJCQkJ CQkgICAgIG9iai0+YmFzZS5zaXplLAo+ICsJCQkJCQkJICAgICBvYmotPnRpbGluZ19tb2RlLAo+ ICsJCQkJCQkJICAgICB0cnVlKTsKPiArCQl1bmZlbmNlZF9hbGlnbm1lbnQgPQo+ICsJCQlpOTE1 X2dlbV9nZXRfZ3R0X2FsaWdubWVudChkZXYsCj4gKwkJCQkJCSAgIG9iai0+YmFzZS5zaXplLAo+ ICsJCQkJCQkgICBvYmotPnRpbGluZ19tb2RlLAo+ICsJCQkJCQkgICBmYWxzZSk7Cj4gKwkJc2l6 ZSA9IGZsYWdzICYgUElOX01BUFBBQkxFID8gZmVuY2Vfc2l6ZSA6IG9iai0+YmFzZS5zaXplOwo+ ICsJfQoKSSBkbyBub3QgbGlrZSB0aGlzIGFsbW9zdCBpZGVudGljYWwgYnJhbmNoZXMgLSBzbyBJ IGRlZmVyIHRvIENocmlzIHRvIApva2F5IHRoYXQgdGhpcyBpcyB3aGF0IGhlIHdhbnRlZC4KCj4g ICAJaWYgKGFsaWdubWVudCA9PSAwKQo+ICAgCQlhbGlnbm1lbnQgPSBmbGFncyAmIFBJTl9NQVBQ QUJMRSA/IGZlbmNlX2FsaWdubWVudCA6Cj4gICAJCQkJCQl1bmZlbmNlZF9hbGlnbm1lbnQ7Cj4g ICAJaWYgKGZsYWdzICYgUElOX01BUFBBQkxFICYmIGFsaWdubWVudCAmIChmZW5jZV9hbGlnbm1l bnQgLSAxKSkgewo+IC0JCURSTV9ERUJVRygiSW52YWxpZCBvYmplY3QgYWxpZ25tZW50IHJlcXVl c3RlZCAldVxuIiwgYWxpZ25tZW50KTsKPiArCQlEUk1fREVCVUcoIkludmFsaWQgb2JqZWN0ICh2 aWV3IHR5cGU9JXUpIGFsaWdubWVudCByZXF1ZXN0ZWQgJXVcbiIsCj4gKwkJCSAgZ2d0dF92aWV3 ID8gZ2d0dF92aWV3LT50eXBlIDogMCwKPiArCQkJICBhbGlnbm1lbnQpOwo+ICAgCQlyZXR1cm4g RVJSX1BUUigtRUlOVkFMKTsKPiAgIAl9Cj4KPiAtCXNpemUgPSBmbGFncyAmIFBJTl9NQVBQQUJM RSA/IGZlbmNlX3NpemUgOiBvYmotPmJhc2Uuc2l6ZTsKPiAtCj4gLQkvKiBJZiB0aGUgb2JqZWN0 IGlzIGJpZ2dlciB0aGFuIHRoZSBlbnRpcmUgYXBlcnR1cmUsIHJlamVjdCBpdCBlYXJseQo+IC0J ICogYmVmb3JlIGV2aWN0aW5nIGV2ZXJ5dGhpbmcgaW4gYSB2YWluIGF0dGVtcHQgdG8gZmluZCBz cGFjZS4KPiArCS8qIElmIGJpbmRpbmcgdGhlIG9iamVjdC9HR1RUIHZpZXcgcmVxdWlyZXMgbW9y ZSBzcGFjZSB0aGFuIHRoZSBlbnRpcmUKPiArCSAqIGFwZXJ0dXJlIGhhcywgcmVqZWN0IGl0IGVh cmx5IGJlZm9yZSBldmljdGluZyBldmVyeXRoaW5nIGluIGEgdmFpbgo+ICsJICogYXR0ZW1wdCB0 byBmaW5kIHNwYWNlLgo+ICAgCSAqLwo+IC0JaWYgKG9iai0+YmFzZS5zaXplID4gZW5kKSB7Cj4g LQkJRFJNX0RFQlVHKCJBdHRlbXB0aW5nIHRvIGJpbmQgYW4gb2JqZWN0IGxhcmdlciB0aGFuIHRo ZSBhcGVydHVyZTogb2JqZWN0PSV6ZCA+ICVzIGFwZXJ0dXJlPSVsdVxuIiwKPiAtCQkJICBvYmot PmJhc2Uuc2l6ZSwKPiArCWlmIChzaXplID4gZW5kKSB7Cj4gKwkJRFJNX0RFQlVHKCJBdHRlbXB0 aW5nIHRvIGJpbmQgYW4gb2JqZWN0ICh2aWV3IHR5cGU9JXUpIGxhcmdlciB0aGFuIHRoZSBhcGVy dHVyZTogc2l6ZT0ldSA+ICVzIGFwZXJ0dXJlPSVsdVxuIiwKPiArCQkJICBnZ3R0X3ZpZXcgPyBn Z3R0X3ZpZXctPnR5cGUgOiAwLAo+ICsJCQkgIHNpemUsCj4gICAJCQkgIGZsYWdzICYgUElOX01B UFBBQkxFID8gIm1hcHBhYmxlIiA6ICJ0b3RhbCIsCj4gICAJCQkgIGVuZCk7Cj4gICAJCXJldHVy biBFUlJfUFRSKC1FMkJJRyk7Cj4gQEAgLTQyMDcsMjggKzQyMzIsMzAgQEAgaTkxNV9nZW1fb2Jq ZWN0X2RvX3BpbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICAgCQkJcmV0dXJu IHJldDsKPiAgIAl9Cj4KPiAtCWlmICgoYm91bmQgXiB2bWEtPmJvdW5kKSAmIEdMT0JBTF9CSU5E KSB7Cj4gLQkJYm9vbCBtYXBwYWJsZSwgZmVuY2VhYmxlOwo+IC0JCXUzMiBmZW5jZV9zaXplLCBm ZW5jZV9hbGlnbm1lbnQ7Cj4gKwlpZiAoIWdndHRfdmlldyB8fCBnZ3R0X3ZpZXctPnR5cGUgPT0g STkxNV9HR1RUX1ZJRVdfTk9STUFMKSB7Cj4gKwkJaWYgKChib3VuZCBeIHZtYS0+Ym91bmQpICYg R0xPQkFMX0JJTkQpIHsKCkkgc3RpbGwgZG9uJ3QgZ2V0IHRoaXMuICFnZ3R0X3ZpZXcgbWVhbnMg R0xPQkFMX0JJTkQgY2Fubm90IGJlIHNldCwgd2hhdCAKYW0gSSBtaXNzaW5nPyBJdCB3b3VsZG4n dCB3b3JrIGlmIHRoZSBjb25kaXRpb24gd2FzIGp1c3QgdGhlIHR5cGUgY2hlY2s/Cgo+ICsJCQli b29sIG1hcHBhYmxlLCBmZW5jZWFibGU7Cj4gKwkJCXUzMiBmZW5jZV9zaXplLCBmZW5jZV9hbGln bm1lbnQ7Cj4KPiAtCQlmZW5jZV9zaXplID0gaTkxNV9nZW1fZ2V0X2d0dF9zaXplKG9iai0+YmFz ZS5kZXYsCj4gLQkJCQkJCSAgIG9iai0+YmFzZS5zaXplLAo+IC0JCQkJCQkgICBvYmotPnRpbGlu Z19tb2RlKTsKPiAtCQlmZW5jZV9hbGlnbm1lbnQgPSBpOTE1X2dlbV9nZXRfZ3R0X2FsaWdubWVu dChvYmotPmJhc2UuZGV2LAo+IC0JCQkJCQkJICAgICBvYmotPmJhc2Uuc2l6ZSwKPiAtCQkJCQkJ CSAgICAgb2JqLT50aWxpbmdfbW9kZSwKPiAtCQkJCQkJCSAgICAgdHJ1ZSk7Cj4gKwkJCWZlbmNl X3NpemUgPSBpOTE1X2dlbV9nZXRfZ3R0X3NpemUob2JqLT5iYXNlLmRldiwKPiArCQkJCQkJCSAg IG9iai0+YmFzZS5zaXplLAo+ICsJCQkJCQkJICAgb2JqLT50aWxpbmdfbW9kZSk7Cj4gKwkJCWZl bmNlX2FsaWdubWVudCA9IGk5MTVfZ2VtX2dldF9ndHRfYWxpZ25tZW50KG9iai0+YmFzZS5kZXYs Cj4gKwkJCQkJCQkJICAgICBvYmotPmJhc2Uuc2l6ZSwKPiArCQkJCQkJCQkgICAgIG9iai0+dGls aW5nX21vZGUsCj4gKwkJCQkJCQkJICAgICB0cnVlKTsKPgo+IC0JCWZlbmNlYWJsZSA9ICh2bWEt Pm5vZGUuc2l6ZSA9PSBmZW5jZV9zaXplICYmCj4gLQkJCSAgICAgKHZtYS0+bm9kZS5zdGFydCAm IChmZW5jZV9hbGlnbm1lbnQgLSAxKSkgPT0gMCk7Cj4gKwkJCWZlbmNlYWJsZSA9ICh2bWEtPm5v ZGUuc2l6ZSA9PSBmZW5jZV9zaXplICYmCj4gKwkJCQkgICAgICh2bWEtPm5vZGUuc3RhcnQgJiAo ZmVuY2VfYWxpZ25tZW50IC0gMSkpID09IDApOwo+Cj4gLQkJbWFwcGFibGUgPSAodm1hLT5ub2Rl LnN0YXJ0ICsgZmVuY2Vfc2l6ZSA8PQo+IC0JCQkgICAgZGV2X3ByaXYtPmd0dC5tYXBwYWJsZV9l bmQpOwo+ICsJCQltYXBwYWJsZSA9ICh2bWEtPm5vZGUuc3RhcnQgKyBmZW5jZV9zaXplIDw9Cj4g KwkJCQkgICAgZGV2X3ByaXYtPmd0dC5tYXBwYWJsZV9lbmQpOwo+Cj4gLQkJb2JqLT5tYXBfYW5k X2ZlbmNlYWJsZSA9IG1hcHBhYmxlICYmIGZlbmNlYWJsZTsKPiAtCX0KPiArCQkJb2JqLT5tYXBf YW5kX2ZlbmNlYWJsZSA9IG1hcHBhYmxlICYmIGZlbmNlYWJsZTsKPiArCQl9Cj4KPiAtCVdBUk5f T04oZmxhZ3MgJiBQSU5fTUFQUEFCTEUgJiYgIW9iai0+bWFwX2FuZF9mZW5jZWFibGUpOwo+ICsJ CVdBUk5fT04oZmxhZ3MgJiBQSU5fTUFQUEFCTEUgJiYgIW9iai0+bWFwX2FuZF9mZW5jZWFibGUp Owo+ICsJfQo+Cj4gICAJdm1hLT5waW5fY291bnQrKzsKPiAgIAlyZXR1cm4gMDsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+IGluZGV4IGZjNTYyYzYuLjY0MDU4NGYgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+IEBAIC0yODQ3LDMgKzI4NDcsMjYgQEAgaW50 IGk5MTVfdm1hX2JpbmQoc3RydWN0IGk5MTVfdm1hICp2bWEsIGVudW0gaTkxNV9jYWNoZV9sZXZl bCBjYWNoZV9sZXZlbCwKPgo+ICAgCXJldHVybiAwOwo+ICAgfQo+ICsKPiArLyoqCj4gKyAqIGk5 MTVfZ2d0dF92aWV3X3NpemUgLSBHZXQgdGhlIHNpemUgb2YgYSBHR1RUIHZpZXcuCj4gKyAqIEBv Ymo6IE9iamVjdCB0aGUgdmlldyBpcyBvZi4KPiArICogQHZpZXc6IFRoZSB2aWV3IGluIHF1ZXN0 aW9uLgo+ICsgKgo+ICsgKiBAcmV0dXJuIFRoZSBzaXplIG9mIHRoZSBHR1RUIHZpZXcgaW4gYnl0 ZXMuCj4gKyAqLwo+ICtzaXplX3QKPiAraTkxNV9nZ3R0X3ZpZXdfc2l6ZShzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqLAo+ICsJCSAgICBjb25zdCBzdHJ1Y3QgaTkxNV9nZ3R0X3ZpZXcg KnZpZXcpCj4gK3sKPiArCUJVR19PTighdmlldyk7CgpJdCBpcyBhIG1hcmdpbmFsIHBvaW50LCBi dXQgSSB3b25kZXIgaXMgc2l6ZSB6ZXJvIGNvdWxkIGJlIGNvbnNpZGVyZWQgYXMgCmEgZmFpbHVy ZSB2YWx1ZSBhbmQgYWN0ZWQgdXBvbiBmcm9tIHRoZSBjYWxsZXIgbW9yZSBncmFjZWZ1bHkuCgpB bmQgaW4gZ2VuZXJhbCBJIHdvbmRlciBpZiBzb21ldGhpbmcgbGlrZSBJOTE1X0JVR19PTiB3aGlj aCB3b3VsZCAKcmUtcm91dGUgZm9wcyB0byBmYWlsLWFsbCBhbmQgZ3JhYiBzdHJ1Y3RfbXV0ZXgs IG9yIHNvbWV0aGluZywgd291bGQgCm1heWJlIGJlIGFuIG9wdGlvbi4KClJlZ2FyZHMsCgpUdnJ0 a28KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK