From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michel Thierry Subject: Re: [PATCH 4/4] drm/i915/gtt: Per ppgtt scratch page Date: Wed, 1 Jul 2015 15:05:44 +0100 Message-ID: <5593F3B8.6070102@intel.com> References: <1435677400-7630-1-git-send-email-mika.kuoppala@intel.com> <1435677400-7630-4-git-send-email-mika.kuoppala@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" 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 DBBCB6E3FD for ; Wed, 1 Jul 2015 07:05:46 -0700 (PDT) In-Reply-To: <1435677400-7630-4-git-send-email-mika.kuoppala@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Mika Kuoppala , intel-gfx@lists.freedesktop.org, Daniel Vetter Cc: miku@iki.fi List-Id: intel-gfx@lists.freedesktop.org T24gNi8zMC8yMDE1IDQ6MTYgUE0sIE1pa2EgS3VvcHBhbGEgd3JvdGU6Cj4gUHJldmlvdXNseSB3 ZSBoYXZlIHBvaW50ZWQgdGhlIHBhZ2Ugd2hlcmUgdGhlIGluZGl2aWR1YWwgcHBndHQKPiBzY3Jh dGNoIHN0cnVjdHVyZXMgcmVmZXIgdG8sIHRvIGJlIHRoZSBpbnN0YW5jZSB3aGljaCBHR1RUIHNl dHVwIGhhdmUKPiBhbGxvY2F0ZWQuIFNvIGl0IGhhcyBiZWVuIHNoYXJlZC4KPgo+IFRvIGFjaGl2 ZSBmdWxsIGlzb2xhdGlvbiBiZXR3ZWVuIHBwZ3R0cyBhbHNvIGluIHRoaXMgcmVnYXJkLAogICAg ICBeXl5eXmFjaGlldmUKCj4gYWxsb2NhdGUgcGVyIHBwZ3R0IHNjcmF0Y2ggcGFnZS4KPgpNYXli ZSBhbHNvIHNheSB0aGF0IGl0IG1vdmVkIHNjcmF0Y2ggcGFnZS9wdC9wZCBvcGVyYXRpb25zIHRv Z2V0aGVyIAooZ2VueF9pbml0L2ZyZWVfc2NyYXRjaCBmdW5jdGlvbnMpLgoKRGFuaWVsLCBzaW5j ZSB5b3UgcmVxdWVzdGVkIHRoaXMsIHNob3VsZCBpdCBnZXQgeW91cnMgci1iPwpJdCBsb29rcyBv ayB0byBtZS4KCi1NaWNoZWwKCj4gQ2M6IE1pY2hlbCBUaGllcnJ5IDxtaWNoZWwudGhpZXJyeUBp bnRlbC5jb20+Cj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4g U2lnbmVkLW9mZi1ieTogTWlrYSBLdW9wcGFsYSA8bWlrYS5rdW9wcGFsYUBpbnRlbC5jb20+Cj4g LS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyB8IDk0ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KPiAgIDEgZmlsZSBjaGFuZ2VkLCA3NCBpbnNl cnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0 dC5jCj4gaW5kZXggNDAyZDZkMy4uYjFhOGZjNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2d0dC5jCj4gQEAgLTY4Miw2ICs2ODIsNDIgQEAgc3RhdGljIHZvaWQgZ2VuOF9mcmVlX3Bh Z2VfdGFibGVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gICAJfQo+ICAgfQo+Cj4gK3N0YXRp YyBpbnQgZ2VuOF9pbml0X3NjcmF0Y2goc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0pCj4g K3sKPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSB2bS0+ZGV2Owo+ICsKPiArCXZtLT5zY3Jh dGNoX3BhZ2UgPSBhbGxvY19zY3JhdGNoX3BhZ2UoZGV2KTsKPiArCWlmIChJU19FUlIodm0tPnNj cmF0Y2hfcGFnZSkpCj4gKwkJcmV0dXJuIFBUUl9FUlIodm0tPnNjcmF0Y2hfcGFnZSk7Cj4gKwo+ ICsJdm0tPnNjcmF0Y2hfcHQgPSBhbGxvY19wdChkZXYpOwo+ICsJaWYgKElTX0VSUih2bS0+c2Ny YXRjaF9wdCkpIHsKPiArCQlmcmVlX3NjcmF0Y2hfcGFnZShkZXYsIHZtLT5zY3JhdGNoX3BhZ2Up Owo+ICsJCXJldHVybiBQVFJfRVJSKHZtLT5zY3JhdGNoX3B0KTsKPiArCX0KPiArCj4gKwl2bS0+ c2NyYXRjaF9wZCA9IGFsbG9jX3BkKGRldik7Cj4gKwlpZiAoSVNfRVJSKHZtLT5zY3JhdGNoX3Bk KSkgewo+ICsJCWZyZWVfcHQoZGV2LCB2bS0+c2NyYXRjaF9wdCk7Cj4gKwkJZnJlZV9zY3JhdGNo X3BhZ2UoZGV2LCB2bS0+c2NyYXRjaF9wYWdlKTsKPiArCQlyZXR1cm4gUFRSX0VSUih2bS0+c2Ny YXRjaF9wZCk7Cj4gKwl9Cj4gKwo+ICsJZ2VuOF9pbml0aWFsaXplX3B0KHZtLCB2bS0+c2NyYXRj aF9wdCk7Cj4gKwlnZW44X2luaXRpYWxpemVfcGQodm0sIHZtLT5zY3JhdGNoX3BkKTsKPiArCj4g KwlyZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgZ2VuOF9mcmVlX3NjcmF0Y2goc3Ry dWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0pCj4gK3sKPiArCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSB2bS0+ZGV2Owo+ICsKPiArCWZyZWVfcGQoZGV2LCB2bS0+c2NyYXRjaF9wZCk7Cj4gKwlm cmVlX3B0KGRldiwgdm0tPnNjcmF0Y2hfcHQpOwo+ICsJZnJlZV9zY3JhdGNoX3BhZ2UoZGV2LCB2 bS0+c2NyYXRjaF9wYWdlKTsKPiArfQo+ICsKPiAgIHN0YXRpYyB2b2lkIGdlbjhfcHBndHRfY2xl YW51cChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSkKPiAgIHsKPiAgIAlzdHJ1Y3QgaTkx NV9od19wcGd0dCAqcHBndHQgPQo+IEBAIC02OTcsOCArNzMzLDcgQEAgc3RhdGljIHZvaWQgZ2Vu OF9wcGd0dF9jbGVhbnVwKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtKQo+ICAgCQlmcmVl X3BkKHBwZ3R0LT5iYXNlLmRldiwgcHBndHQtPnBkcC5wYWdlX2RpcmVjdG9yeVtpXSk7Cj4gICAJ fQo+Cj4gLQlmcmVlX3BkKHZtLT5kZXYsIHZtLT5zY3JhdGNoX3BkKTsKPiAtCWZyZWVfcHQodm0t PmRldiwgdm0tPnNjcmF0Y2hfcHQpOwo+ICsJZ2VuOF9mcmVlX3NjcmF0Y2godm0pOwo+ICAgfQo+ Cj4gICAvKioKPiBAQCAtOTg1LDE2ICsxMDIwLDExIEBAIGVycl9vdXQ6Cj4gICAgKi8KPiAgIHN0 YXRpYyBpbnQgZ2VuOF9wcGd0dF9pbml0KHN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCkKPiAg IHsKPiAtCXBwZ3R0LT5iYXNlLnNjcmF0Y2hfcHQgPSBhbGxvY19wdChwcGd0dC0+YmFzZS5kZXYp Owo+IC0JaWYgKElTX0VSUihwcGd0dC0+YmFzZS5zY3JhdGNoX3B0KSkKPiAtCQlyZXR1cm4gUFRS X0VSUihwcGd0dC0+YmFzZS5zY3JhdGNoX3B0KTsKPiAtCj4gLQlwcGd0dC0+YmFzZS5zY3JhdGNo X3BkID0gYWxsb2NfcGQocHBndHQtPmJhc2UuZGV2KTsKPiAtCWlmIChJU19FUlIocHBndHQtPmJh c2Uuc2NyYXRjaF9wZCkpCj4gLQkJcmV0dXJuIFBUUl9FUlIocHBndHQtPmJhc2Uuc2NyYXRjaF9w ZCk7Cj4gKwlpbnQgcmV0Owo+Cj4gLQlnZW44X2luaXRpYWxpemVfcHQoJnBwZ3R0LT5iYXNlLCBw cGd0dC0+YmFzZS5zY3JhdGNoX3B0KTsKPiAtCWdlbjhfaW5pdGlhbGl6ZV9wZCgmcHBndHQtPmJh c2UsIHBwZ3R0LT5iYXNlLnNjcmF0Y2hfcGQpOwo+ICsJcmV0ID0gZ2VuOF9pbml0X3NjcmF0Y2go JnBwZ3R0LT5iYXNlKTsKPiArCWlmIChyZXQpCj4gKwkJcmV0dXJuIHJldDsKPgo+ICAgCXBwZ3R0 LT5iYXNlLnN0YXJ0ID0gMDsKPiAgIAlwcGd0dC0+YmFzZS50b3RhbCA9IDFVTEwgPDwgMzI7Cj4g QEAgLTE0MTAsNiArMTQ0MCwzMyBAQCB1bndpbmRfb3V0Ogo+ICAgCXJldHVybiByZXQ7Cj4gICB9 Cj4KPiArc3RhdGljIGludCBnZW42X2luaXRfc2NyYXRjaChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3Nw YWNlICp2bSkKPiArewo+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHZtLT5kZXY7Cj4gKwo+ ICsJdm0tPnNjcmF0Y2hfcGFnZSA9IGFsbG9jX3NjcmF0Y2hfcGFnZShkZXYpOwo+ICsJaWYgKElT X0VSUih2bS0+c2NyYXRjaF9wYWdlKSkKPiArCQlyZXR1cm4gUFRSX0VSUih2bS0+c2NyYXRjaF9w YWdlKTsKPiArCj4gKwl2bS0+c2NyYXRjaF9wdCA9IGFsbG9jX3B0KGRldik7Cj4gKwlpZiAoSVNf RVJSKHZtLT5zY3JhdGNoX3B0KSkgewo+ICsJCWZyZWVfc2NyYXRjaF9wYWdlKGRldiwgdm0tPnNj cmF0Y2hfcGFnZSk7Cj4gKwkJcmV0dXJuIFBUUl9FUlIodm0tPnNjcmF0Y2hfcHQpOwo+ICsJfQo+ ICsKPiArCWdlbjZfaW5pdGlhbGl6ZV9wdCh2bSwgdm0tPnNjcmF0Y2hfcHQpOwo+ICsKPiArCXJl dHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBnZW42X2ZyZWVfc2NyYXRjaChzdHJ1Y3Qg aTkxNV9hZGRyZXNzX3NwYWNlICp2bSkKPiArewo+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9 IHZtLT5kZXY7Cj4gKwo+ICsJZnJlZV9wdChkZXYsIHZtLT5zY3JhdGNoX3B0KTsKPiArCWZyZWVf c2NyYXRjaF9wYWdlKGRldiwgdm0tPnNjcmF0Y2hfcGFnZSk7Cj4gK30KPiArCj4gICBzdGF0aWMg dm9pZCBnZW42X3BwZ3R0X2NsZWFudXAoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0pCj4g ICB7Cj4gICAJc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0ID0KPiBAQCAtMTQyNCwxMSArMTQ4 MSwxMiBAQCBzdGF0aWMgdm9pZCBnZW42X3BwZ3R0X2NsZWFudXAoc3RydWN0IGk5MTVfYWRkcmVz c19zcGFjZSAqdm0pCj4gICAJCQlmcmVlX3B0KHBwZ3R0LT5iYXNlLmRldiwgcHQpOwo+ICAgCX0K Pgo+IC0JZnJlZV9wdCh2bS0+ZGV2LCB2bS0+c2NyYXRjaF9wdCk7Cj4gKwlnZW42X2ZyZWVfc2Ny YXRjaCh2bSk7Cj4gICB9Cj4KPiAgIHN0YXRpYyBpbnQgZ2VuNl9wcGd0dF9hbGxvY2F0ZV9wYWdl X2RpcmVjdG9yaWVzKHN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCkKPiAgIHsKPiArCXN0cnVj dCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtID0gJnBwZ3R0LT5iYXNlOwo+ICAgCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBwcGd0dC0+YmFzZS5kZXY7Cj4gICAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgIAlib29sIHJldHJpZWQgPSBmYWxz ZTsKPiBAQCAtMTQzOSwxMSArMTQ5NywxMCBAQCBzdGF0aWMgaW50IGdlbjZfcHBndHRfYWxsb2Nh dGVfcGFnZV9kaXJlY3RvcmllcyhzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQpCj4gICAJICog c2l6ZS4gV2UgYWxsb2NhdGUgYXQgdGhlIHRvcCBvZiB0aGUgR1RUIHRvIGF2b2lkIGZyYWdtZW50 YXRpb24uCj4gICAJICovCj4gICAJQlVHX09OKCFkcm1fbW1faW5pdGlhbGl6ZWQoJmRldl9wcml2 LT5ndHQuYmFzZS5tbSkpOwo+IC0JcHBndHQtPmJhc2Uuc2NyYXRjaF9wdCA9IGFsbG9jX3B0KHBw Z3R0LT5iYXNlLmRldik7Cj4gLQlpZiAoSVNfRVJSKHBwZ3R0LT5iYXNlLnNjcmF0Y2hfcHQpKQo+ IC0JCXJldHVybiBQVFJfRVJSKHBwZ3R0LT5iYXNlLnNjcmF0Y2hfcHQpOwo+Cj4gLQlnZW42X2lu aXRpYWxpemVfcHQoJnBwZ3R0LT5iYXNlLCBwcGd0dC0+YmFzZS5zY3JhdGNoX3B0KTsKPiArCXJl dCA9IGdlbjZfaW5pdF9zY3JhdGNoKHZtKTsKPiArCWlmIChyZXQpCj4gKwkJcmV0dXJuIHJldDsK Pgo+ICAgYWxsb2M6Cj4gICAJcmV0ID0gZHJtX21tX2luc2VydF9ub2RlX2luX3JhbmdlX2dlbmVy aWMoJmRldl9wcml2LT5ndHQuYmFzZS5tbSwKPiBAQCAtMTQ3NCw3ICsxNTMxLDcgQEAgYWxsb2M6 Cj4gICAJcmV0dXJuIDA7Cj4KPiAgIGVycl9vdXQ6Cj4gLQlmcmVlX3B0KHBwZ3R0LT5iYXNlLmRl diwgcHBndHQtPmJhc2Uuc2NyYXRjaF9wdCk7Cj4gKwlnZW42X2ZyZWVfc2NyYXRjaCh2bSk7Cj4g ICAJcmV0dXJuIHJldDsKPiAgIH0KPgo+IEBAIC0xNTQ4LDEwICsxNjA1LDcgQEAgc3RhdGljIGlu dCBnZW42X3BwZ3R0X2luaXQoc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0KQo+Cj4gICBzdGF0 aWMgaW50IF9faHdfcHBndHRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgaTkx NV9od19wcGd0dCAqcHBndHQpCj4gICB7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+IC0KPiAgIAlwcGd0dC0+YmFzZS5kZXYgPSBkZXY7 Cj4gLQlwcGd0dC0+YmFzZS5zY3JhdGNoX3BhZ2UgPSBkZXZfcHJpdi0+Z3R0LmJhc2Uuc2NyYXRj aF9wYWdlOwo+Cj4gICAJaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuIDwgOCkKPiAgIAkJcmV0dXJu IGdlbjZfcHBndHRfaW5pdChwcGd0dCk7Cj4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK