From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 38/46] drm/i915: Verify page layout for rotated VMA Date: Thu, 2 Feb 2017 13:01:59 +0000 Message-ID: <148fbd9b-9f27-aeef-320b-da38c6ee0219@linux.intel.com> References: <20170202090905.29028-1-chris@chris-wilson.co.uk> <20170202090905.29028-39-chris@chris-wilson.co.uk> 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 ESMTPS id 01D3F6E053 for ; Thu, 2 Feb 2017 13:02:02 +0000 (UTC) In-Reply-To: <20170202090905.29028-39-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDAyLzAyLzIwMTcgMDk6MDgsIENocmlzIFdpbHNvbiB3cm90ZToKPiBFeGVyY2lzZSBjcmVh dGluZyByb3RhdGVkIFZNQSBhbmQgY2hlY2tpbmcgdGhlIHBhZ2Ugb3JkZXIgd2l0aGluLgo+Cj4g djI6IEJlIG1vcmUgY3JlYXRpdmUgaW4gcm90YXRlZCBwYXJhbXMKCnYzOiAuLi4KCj4gU2lnbmVk LW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3ZtYS5jIHwgMTc5ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwo+ICAxIGZpbGUgY2hhbmdlZCwgMTc5IGluc2VydGlvbnMo KykKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV92 bWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3ZtYS5jCj4gaW5kZXgg MDk1ZDgzNDhmNWYwLi40YTczN2E2NzAxOTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvc2VsZnRlc3RzL2k5MTVfdm1hLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9z ZWxmdGVzdHMvaTkxNV92bWEuYwo+IEBAIC0zNTIsMTEgKzM1MiwxOTAgQEAgc3RhdGljIGludCBp Z3Rfdm1hX3BpbjEodm9pZCAqYXJnKQo+ICAJcmV0dXJuIGVycjsKPiAgfQo+Cj4gK3N0YXRpYyB1 bnNpZ25lZCBsb25nIHJvdGF0ZWRfaW5kZXgoY29uc3Qgc3RydWN0IGludGVsX3JvdGF0aW9uX2lu Zm8gKnIsCj4gKwkJCQkgICB1bnNpZ25lZCBpbnQgbiwKPiArCQkJCSAgIHVuc2lnbmVkIGludCB4 LAo+ICsJCQkJICAgdW5zaWduZWQgaW50IHkpCj4gK3sKPiArCXJldHVybiAoci0+cGxhbmVbbl0u c3RyaWRlICogKHItPnBsYW5lW25dLmhlaWdodCAtIHkgLSAxKSArCj4gKwkJci0+cGxhbmVbbl0u b2Zmc2V0ICsgeCk7Cj4gK30KPiArCj4gK3N0YXRpYyBzdHJ1Y3Qgc2NhdHRlcmxpc3QgKgo+ICth c3NlcnRfcm90YXRlZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICsJICAgICAg IGNvbnN0IHN0cnVjdCBpbnRlbF9yb3RhdGlvbl9pbmZvICpyLCB1bnNpZ25lZCBpbnQgbiwKPiAr CSAgICAgICBzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnKQo+ICt7Cj4gKwl1bnNpZ25lZCBpbnQgeCwg eTsKPiArCj4gKwlmb3IgKHggPSAwOyB4IDwgci0+cGxhbmVbbl0ud2lkdGg7IHgrKykgewo+ICsJ CWZvciAoeSA9IDA7IHkgPCByLT5wbGFuZVtuXS5oZWlnaHQ7IHkrKykgewo+ICsJCQl1bnNpZ25l ZCBsb25nIHNyY19pZHg7Cj4gKwkJCWRtYV9hZGRyX3Qgc3JjOwo+ICsKPiArCQkJaWYgKCFzZykg ewo+ICsJCQkJcHJfZXJyKCJJbnZhbGlkIHNnIHRhYmxlOiB0b28gc2hvcnQgYXQgcGxhbmUgJWQs ICglZCwgJWQpIVxuIiwKPiArCQkJCSAgICAgICBuLCB4LCB5KTsKPiArCQkJCXJldHVybiBFUlJf UFRSKC1FSU5WQUwpOwo+ICsJCQl9Cj4gKwo+ICsJCQlzcmNfaWR4ID0gcm90YXRlZF9pbmRleChy LCBuLCB4LCB5KTsKPiArCQkJc3JjID0gaTkxNV9nZW1fb2JqZWN0X2dldF9kbWFfYWRkcmVzcyhv YmosIHNyY19pZHgpOwo+ICsKPiArCQkJaWYgKHNnX2RtYV9sZW4oc2cpICE9IFBBR0VfU0laRSkg ewo+ICsJCQkJcHJfZXJyKCJJbnZhbGlkIHNnLmxlbmd0aCwgZm91bmQgJWQsIGV4cGVjdGVkICVs dSBmb3Igcm90YXRlZCBwYWdlICglZCwgJWQpIFtzcmMgaW5kZXggJWx1XVxuIiwKPiArCQkJCSAg ICAgICBzZ19kbWFfbGVuKHNnKSwgUEFHRV9TSVpFLAo+ICsJCQkJICAgICAgIHgsIHksIHNyY19p ZHgpOwo+ICsJCQkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7Cj4gKwkJCX0KPiArCj4gKwkJCWlm IChzZ19kbWFfYWRkcmVzcyhzZykgIT0gc3JjKSB7Cj4gKwkJCQlwcl9lcnIoIkludmFsaWQgYWRk cmVzcyBmb3Igcm90YXRlZCBwYWdlICglZCwgJWQpIFtzcmMgaW5kZXggJWx1XVxuIiwKPiArCQkJ CSAgICAgICB4LCB5LCBzcmNfaWR4KTsKPiArCQkJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwo+ ICsJCQl9Cj4gKwo+ICsJCQlzZyA9IHNnX25leHQoc2cpOwo+ICsJCX0KPiArCX0KPiArCj4gKwly ZXR1cm4gc2c7Cj4gK30KPiArCj4gK3N0YXRpYyB1bnNpZ25lZCBpbnQgcm90YXRlZF9zaXplKGNv bnN0IHN0cnVjdCBpbnRlbF9yb3RhdGlvbl9wbGFuZV9pbmZvICphLAo+ICsJCQkJIGNvbnN0IHN0 cnVjdCBpbnRlbF9yb3RhdGlvbl9wbGFuZV9pbmZvICpiKQo+ICt7Cj4gKwlyZXR1cm4gYS0+d2lk dGggKiBhLT5oZWlnaHQgKyBiLT53aWR0aCAqIGItPmhlaWdodDsKPiArfQo+ICsKPiArc3RhdGlj IGludCBpZ3Rfdm1hX3JvdGF0ZSh2b2lkICphcmcpCj4gK3sKPiArCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1ID0gYXJnOwo+ICsJc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0gPSAm aTkxNS0+Z2d0dC5iYXNlOwo+ICsJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKPiAr CWNvbnN0IHN0cnVjdCBpbnRlbF9yb3RhdGlvbl9wbGFuZV9pbmZvIHBsYW5lc1tdID0gewo+ICsJ CXsgLndpZHRoID0gMSwgLmhlaWdodCA9IDEsIC5zdHJpZGUgPSAxIH0sCj4gKwkJeyAud2lkdGgg PSAyLCAuaGVpZ2h0ID0gMiwgLnN0cmlkZSA9IDIgfSwKPiArCQl7IC53aWR0aCA9IDQsIC5oZWln aHQgPSA0LCAuc3RyaWRlID0gNCB9LAo+ICsJCXsgLndpZHRoID0gOCwgLmhlaWdodCA9IDgsIC5z dHJpZGUgPSA4IH0sCj4gKwo+ICsJCXsgLndpZHRoID0gMywgLmhlaWdodCA9IDUsIC5zdHJpZGUg PSAzIH0sCj4gKwkJeyAud2lkdGggPSAzLCAuaGVpZ2h0ID0gNSwgLnN0cmlkZSA9IDQgfSwKPiAr CQl7IC53aWR0aCA9IDMsIC5oZWlnaHQgPSA1LCAuc3RyaWRlID0gNSB9LAo+ICsKPiArCQl7IC53 aWR0aCA9IDUsIC5oZWlnaHQgPSAzLCAuc3RyaWRlID0gNSB9LAo+ICsJCXsgLndpZHRoID0gNSwg LmhlaWdodCA9IDMsIC5zdHJpZGUgPSA3IH0sCj4gKwkJeyAud2lkdGggPSA1LCAuaGVpZ2h0ID0g MywgLnN0cmlkZSA9IDkgfSwKPiArCj4gKwkJeyAud2lkdGggPSA0LCAuaGVpZ2h0ID0gNiwgLnN0 cmlkZSA9IDYgfSwKPiArCQl7IC53aWR0aCA9IDYsIC5oZWlnaHQgPSA0LCAuc3RyaWRlID0gNiB9 LAo+ICsJCXsgfQo+ICsJfSwgKmEsICpiOwo+ICsJY29uc3QgdW5zaWduZWQgaW50IG1heF9wYWdl cyA9IDY0Owo+ICsJaW50IGVyciA9IC1FTk9NRU07Cj4gKwo+ICsJLyogQ3JlYXRlIFZNQSBmb3Ig bWFueSBkaWZmZXJlbnQgY29tYmluYXRpb25zIG9mIHBsYW5lcyBhbmQgY2hlY2sKPiArCSAqIHRo YXQgdGhlIHBhZ2UgbGF5b3V0IHdpdGhpbiB0aGUgcm90YXRlZCBWTUEgbWF0Y2ggb3VyIGV4cGVj dGF0aW9ucy4KPiArCSAqLwo+ICsKPiArCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfaW50 ZXJuYWwoaTkxNSwgbWF4X3BhZ2VzICogUEFHRV9TSVpFKTsKPiArCWlmIChJU19FUlIob2JqKSkK PiArCQlnb3RvIG91dDsKPiArCj4gKwlmb3IgKGEgPSBwbGFuZXM7IGEtPndpZHRoOyBhKyspIHsK PiArCQlmb3IgKGIgPSBwbGFuZXMgKyBBUlJBWV9TSVpFKHBsYW5lcyk7IGItLSAhPSBwbGFuZXM7 ICkgewo+ICsJCQlzdHJ1Y3QgaTkxNV9nZ3R0X3ZpZXcgdmlldzsKPiArCQkJdW5zaWduZWQgaW50 IG4sIG1heF9vZmZzZXQ7Cj4gKwo+ICsJCQltYXhfb2Zmc2V0ID0gbWF4KGEtPnN0cmlkZSAqIGEt PmhlaWdodCwKPiArCQkJCQkgYi0+c3RyaWRlICogYi0+aGVpZ2h0KTsKPiArCQkJR0VNX0JVR19P TihtYXhfb2Zmc2V0ID4gbWF4X3BhZ2VzKTsKPiArCQkJbWF4X29mZnNldCA9IG1heF9wYWdlcyAt IG1heF9vZmZzZXQ7Cj4gKwo+ICsJCQl2aWV3LnR5cGUgPSBJOTE1X0dHVFRfVklFV19ST1RBVEVE Owo+ICsJCQl2aWV3LnJvdGF0ZWQucGxhbmVbMF0gPSAqYTsKPiArCQkJdmlldy5yb3RhdGVkLnBs YW5lWzFdID0gKmI7Cj4gKwo+ICsJCQlmb3JfZWFjaF9wcmltZV9udW1iZXJfZnJvbSh2aWV3LnJv dGF0ZWQucGxhbmVbMF0ub2Zmc2V0LCAwLCBtYXhfb2Zmc2V0KSB7Cj4gKwkJCQlmb3JfZWFjaF9w cmltZV9udW1iZXJfZnJvbSh2aWV3LnJvdGF0ZWQucGxhbmVbMV0ub2Zmc2V0LCAwLCBtYXhfb2Zm c2V0KSB7Cj4gKwkJCQkJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZzsKPiArCQkJCQlzdHJ1Y3QgaTkx NV92bWEgKnZtYTsKPiArCj4gKwkJCQkJdm1hID0gY2hlY2tlZF92bWFfaW5zdGFuY2Uob2JqLCB2 bSwgJnZpZXcpOwo+ICsJCQkJCWlmIChJU19FUlIodm1hKSkgewo+ICsJCQkJCQllcnIgPSBQVFJf RVJSKHZtYSk7Cj4gKwkJCQkJCWdvdG8gb3V0X29iamVjdDsKPiArCQkJCQl9Cj4gKwo+ICsJCQkJ CWVyciA9IGk5MTVfdm1hX3Bpbih2bWEsIDAsIDAsIFBJTl9HTE9CQUwpOwo+ICsJCQkJCWlmIChl cnIpIHsKPiArCQkJCQkJcHJfZXJyKCJGYWlsZWQgdG8gcGluIFZNQSwgZXJyPSVkXG4iLCBlcnIp Owo+ICsJCQkJCQlnb3RvIG91dF9vYmplY3Q7Cj4gKwkJCQkJfQo+ICsKPiArCQkJCQlpZiAodm1h LT5zaXplICE9IHJvdGF0ZWRfc2l6ZShhLCBiKSAqIFBBR0VfU0laRSkgewo+ICsJCQkJCQlwcl9l cnIoIlZNQSBpcyB3cm9uZyBzaXplLCBleHBlY3RlZCAlbHUsIGZvdW5kICVsbHVcbiIsCj4gKwkJ CQkJCSAgICAgICBQQUdFX1NJWkUgKiByb3RhdGVkX3NpemUoYSwgYiksIHZtYS0+c2l6ZSk7Cj4g KwkJCQkJCWVyciA9IC1FSU5WQUw7Cj4gKwkJCQkJCWdvdG8gb3V0X29iamVjdDsKPiArCQkJCQl9 Cj4gKwo+ICsJCQkJCWlmICh2bWEtPnBhZ2VzLT5uZW50cyAhPSByb3RhdGVkX3NpemUoYSwgYikp IHsKPiArCQkJCQkJcHJfZXJyKCJzZyB0YWJsZSBpcyB3cm9uZyBzaXplbywgZXhwZWN0ZWQgJXUs IGZvdW5kICV1IG5lbnRzXG4iLAoKdHlwbyBpbiBzaXplLgoKPiArCQkJCQkJICAgICAgIHJvdGF0 ZWRfc2l6ZShhLCBiKSwgdm1hLT5wYWdlcy0+bmVudHMpOwo+ICsJCQkJCQllcnIgPSAtRUlOVkFM Owo+ICsJCQkJCQlnb3RvIG91dF9vYmplY3Q7Cj4gKwkJCQkJfQo+ICsKPiArCQkJCQlpZiAodm1h LT5ub2RlLnNpemUgPCB2bWEtPnNpemUpIHsKPiArCQkJCQkJcHJfZXJyKCJWTUEgYmluZGluZyB0 b28gc21hbGwsIGV4cGVjdGVkICVsbHUsIGZvdW5kICVsbHVcbiIsCj4gKwkJCQkJCSAgICAgICB2 bWEtPnNpemUsIHZtYS0+bm9kZS5zaXplKTsKPiArCQkJCQkJZXJyID0gLUVJTlZBTDsKPiArCQkJ CQkJZ290byBvdXRfb2JqZWN0Owo+ICsJCQkJCX0KPiArCj4gKwkJCQkJaWYgKHZtYS0+cGFnZXMg PT0gb2JqLT5tbS5wYWdlcykgewo+ICsJCQkJCQlwcl9lcnIoIlZNQSB1c2luZyB1bnJvdGF0ZWQg b2JqZWN0IHBhZ2VzIVxuIik7Cj4gKwkJCQkJCWVyciA9IC1FSU5WQUw7Cj4gKwkJCQkJCWdvdG8g b3V0X29iamVjdDsKPiArCQkJCQl9Cj4gKwo+ICsJCQkJCXNnID0gdm1hLT5wYWdlcy0+c2dsOwo+ ICsJCQkJCWZvciAobiA9IDA7IG4gPCBBUlJBWV9TSVpFKHZpZXcucm90YXRlZC5wbGFuZSk7IG4r Kykgewo+ICsJCQkJCQlzZyA9IGFzc2VydF9yb3RhdGVkKG9iaiwgJnZpZXcucm90YXRlZCwgbiwg c2cpOwo+ICsJCQkJCQlpZiAoSVNfRVJSKHNnKSkgewo+ICsJCQkJCQkJcHJfZXJyKCJJbmNvbnNp c3RlbnQgVk1BIHBhZ2VzIGZvciBwbGFuZSAlZDogWyglZCwgJWQsICVkLCAlZCksICglZCwgJWQs ICVkLCAlZCldXG4iLCBuLAo+ICsJCQkJCQkJICAgICAgIHZpZXcucm90YXRlZC5wbGFuZVswXS53 aWR0aCwKPiArCQkJCQkJCSAgICAgICB2aWV3LnJvdGF0ZWQucGxhbmVbMF0uaGVpZ2h0LAo+ICsJ CQkJCQkJICAgICAgIHZpZXcucm90YXRlZC5wbGFuZVswXS5zdHJpZGUsCj4gKwkJCQkJCQkgICAg ICAgdmlldy5yb3RhdGVkLnBsYW5lWzBdLm9mZnNldCwKPiArCQkJCQkJCSAgICAgICB2aWV3LnJv dGF0ZWQucGxhbmVbMV0ud2lkdGgsCj4gKwkJCQkJCQkgICAgICAgdmlldy5yb3RhdGVkLnBsYW5l WzFdLmhlaWdodCwKPiArCQkJCQkJCSAgICAgICB2aWV3LnJvdGF0ZWQucGxhbmVbMV0uc3RyaWRl LAo+ICsJCQkJCQkJICAgICAgIHZpZXcucm90YXRlZC5wbGFuZVsxXS5vZmZzZXQpOwo+ICsJCQkJ CQkJZXJyID0gLUVJTlZBTDsKPiArCQkJCQkJCWdvdG8gb3V0X29iamVjdDsKPiArCQkJCQkJfQo+ ICsJCQkJCX0KPiArCj4gKwkJCQkJaTkxNV92bWFfdW5waW4odm1hKTsKPiArCQkJCX0KPiArCQkJ fQo+ICsJCX0KPiArCX0KPiArCj4gK291dF9vYmplY3Q6Cj4gKwlpOTE1X2dlbV9vYmplY3RfcHV0 KG9iaik7Cj4gK291dDoKPiArCXJldHVybiBlcnI7Cj4gK30KPiArCj4gIGludCBpOTE1X3ZtYV9t b2NrX3NlbGZ0ZXN0cyh2b2lkKQo+ICB7Cj4gIAlzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfc3Vi dGVzdCB0ZXN0c1tdID0gewo+ICAJCVNVQlRFU1QoaWd0X3ZtYV9jcmVhdGUpLAo+ICAJCVNVQlRF U1QoaWd0X3ZtYV9waW4xKSwKPiArCQlTVUJURVNUKGlndF92bWFfcm90YXRlKSwKPiAgCX07Cj4g IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNTsKPiAgCWludCBlcnI7Cj4KCldpdGggdGhl IGNoYW5nZWxvZywKClJldmlld2VkLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5A aW50ZWwuY29tPgoKUmVnYXJkcywKClR2cnRrbwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK