From mboxrd@z Thu Jan 1 00:00:00 1970 From: ankitprasad.r.sharma@intel.com Subject: [PATCH 3/5] drm/i915: Add support for stealing purgable stolen pages Date: Wed, 29 Apr 2015 15:01:57 +0530 Message-ID: <1430299919-9865-4-git-send-email-ankitprasad.r.sharma@intel.com> References: <1430299919-9865-1-git-send-email-ankitprasad.r.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 6DE7D7A006 for ; Wed, 29 Apr 2015 02:45:54 -0700 (PDT) In-Reply-To: <1430299919-9865-1-git-send-email-ankitprasad.r.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Chris Wilson , akash.goel@intel.com, shashidhar.hiremath@intel.com List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CgpJZiB3ZSBydW4g b3V0IG9mIHN0b2xlbiBtZW1vcnkgd2hlbiB0cnlpbmcgdG8gYWxsb2NhdGUgYW4gb2JqZWN0LCBz ZWUgaWYKd2UgY2FuIHJlYXAgZW5vdWdoIHB1cmdlYWJsZSBvYmplY3RzIHRvIGZyZWUgdXAgZW5v dWdoIGNvbnRpZ3VvdXMgZnJlZQpzcGFjZSBmb3IgdGhlIGFsbG9jYXRpb24uIFRoaXMgaXMgaW4g cHJpbmNpcGxlIHZlcnkgbXVjaCBsaWtlIGV2aWN0aW5nCm9iamVjdHMgdG8gZnJlZSB1cCBlbm91 Z2ggY29udGlndW91cyBzcGFjZSBpbiB0aGUgdm1hIHdoZW4gYmluZGluZwphIG5ldyBvYmplY3Qg LSBhbmQgeW91IHdpbGwgYmUgZm9yZ2l2ZW4gZm9yIHRoaW5raW5nIHRoYXQgdGhlIGNvZGUgbG9v a3MKdmVyeSBzaW1pbGFyLgoKQXQgdGhlIG1vbWVudCwgd2UgZG8gbm90IGFsbG93IHVzZXJzcGFj ZSB0byBhbGxvY2F0ZSBvYmplY3RzIGluIHN0b2xlbiwKc28gdGhlcmUgaXMgbmVpdGhlciB0aGUg bWVtb3J5IHByZXNzdXJlIHRvIHRyaWdnZXIgc3RvbGVuIGV2aWN0aW9uIG5vcgphbnkgcHVyZ2Vh YmxlIG9iamVjdHMgaW5zaWRlIHRoZSBzdG9sZW4gYXJlbmEuIEhvd2V2ZXIsIHRoaXMgd2lsbCBj aGFuZ2UKaW4gdGhlIG5lYXIgZnV0dXJlLCBhbmQgc28gYmV0dGVyIG1hbmFnZW1lbnQgYW5kIGRl ZnJhZ21lbnRhdGlvbiBvZgpzdG9sZW4gbWVtb3J5IHdpbGwgYmVjb21lIGEgcmVhbCBpc3N1ZS4K CnYyOiBSZW1lbWJlciB0byByZW1vdmUgdGhlIGRybV9tbV9ub2RlLgoKdGVzdGNhc2U6IGlndC9n ZW1fY3JlYXRlX3N0b2xlbgoKU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpQGNocmlz LXdpbHNvbi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4u YyB8IDEyMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIDEgZmlsZSBjaGFuZ2Vk LCAxMTAgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9zdG9sZW4uYwppbmRleCBmOGRhNzE2Li4wYTM4ZDcxIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9zdG9sZW4uYwpAQCAtNDMwLDE4ICs0MzAsMjkgQEAgY2xlYW51cDoKIAly ZXR1cm4gTlVMTDsKIH0KIAotc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgotaTkxNV9nZW1f b2JqZWN0X2NyZWF0ZV9zdG9sZW4oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdTMyIHNpemUpCitz dGF0aWMgYm9vbCBtYXJrX2ZyZWUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwgc3Ry dWN0IGxpc3RfaGVhZCAqdW53aW5kKQoreworCWlmIChvYmotPnN0b2xlbiA9PSBOVUxMKQorCQly ZXR1cm4gZmFsc2U7CisKKwlpZiAob2JqLT5tYWR2ICE9IEk5MTVfTUFEVl9ET05UTkVFRCkKKwkJ cmV0dXJuIGZhbHNlOworCisJaWYgKGk5MTVfZ2VtX29ial9pc19waW5uZWQob2JqKSkKKwkJcmV0 dXJuIGZhbHNlOworCisJbGlzdF9hZGQoJm9iai0+b2JqX2V4ZWNfbGluaywgdW53aW5kKTsKKwly ZXR1cm4gZHJtX21tX3NjYW5fYWRkX2Jsb2NrKG9iai0+c3RvbGVuKTsKK30KKworc3RhdGljIHN0 cnVjdCBkcm1fbW1fbm9kZSAqCitzdG9sZW5fYWxsb2Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LCB1MzIgc2l6ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBkZXYtPmRldl9wcml2YXRlOwotCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7 CiAJc3RydWN0IGRybV9tbV9ub2RlICpzdG9sZW47CisJc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKm9iajsKKwlzdHJ1Y3QgbGlzdF9oZWFkIHVud2luZCwgZXZpY3Q7CiAJaW50IHJldDsKIAot CWlmICghZHJtX21tX2luaXRpYWxpemVkKCZkZXZfcHJpdi0+bW0uc3RvbGVuKSkKLQkJcmV0dXJu IE5VTEw7Ci0KLQlEUk1fREVCVUdfS01TKCJjcmVhdGluZyBzdG9sZW4gb2JqZWN0OiBzaXplPSV4 XG4iLCBzaXplKTsKIAlpZiAoc2l6ZSA9PSAwKQogCQlyZXR1cm4gTlVMTDsKIApAQCAtNDUxLDEx ICs0NjIsOTkgQEAgaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgdTMyIHNpemUpCiAKIAlyZXQgPSBkcm1fbW1faW5zZXJ0X25vZGUoJmRldl9wcml2 LT5tbS5zdG9sZW4sIHN0b2xlbiwgc2l6ZSwKIAkJCQkgNDA5NiwgRFJNX01NX1NFQVJDSF9ERUZB VUxUKTsKLQlpZiAocmV0KSB7Ci0JCWtmcmVlKHN0b2xlbik7Ci0JCXJldHVybiBOVUxMOworCWlm IChyZXQgPT0gMCkKKwkJcmV0dXJuIHN0b2xlbjsKKworCS8qIE5vIG1vcmUgc3RvbGVuIG1lbW9y eSBhdmFpbGFibGUsIG9yIHRvbyBmcmFnbWVudGVkLgorCSAqIFRyeSBldmljdGluZyBwdXJnZWFi bGUgb2JqZWN0cyBhbmQgc2VhcmNoIGFnYWluLgorCSAqLworCisJZHJtX21tX2luaXRfc2Nhbigm ZGV2X3ByaXYtPm1tLnN0b2xlbiwgc2l6ZSwgNDA5NiwgMCk7CisJSU5JVF9MSVNUX0hFQUQoJnVu d2luZCk7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KG9iaiwgJmRldl9wcml2LT5tbS51bmJvdW5k X2xpc3QsIGdsb2JhbF9saXN0KQorCQlpZiAobWFya19mcmVlKG9iaiwgJnVud2luZCkpCisJCQln b3RvIGZvdW5kOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShvYmosICZkZXZfcHJpdi0+bW0uYm91 bmRfbGlzdCwgZ2xvYmFsX2xpc3QpCisJCWlmIChtYXJrX2ZyZWUob2JqLCAmdW53aW5kKSkKKwkJ CWdvdG8gZm91bmQ7CisKK2ZvdW5kOgorCUlOSVRfTElTVF9IRUFEKCZldmljdCk7CisJd2hpbGUg KCFsaXN0X2VtcHR5KCZ1bndpbmQpKSB7CisJCW9iaiA9IGxpc3RfZmlyc3RfZW50cnkoJnVud2lu ZCwKKwkJCQkgICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QsCisJCQkJICAgICAgIG9i al9leGVjX2xpbmspOworCQlsaXN0X2RlbF9pbml0KCZvYmotPm9ial9leGVjX2xpbmspOworCisJ CWlmIChkcm1fbW1fc2Nhbl9yZW1vdmVfYmxvY2sob2JqLT5zdG9sZW4pKSB7CisJCQlsaXN0X2Fk ZCgmb2JqLT5vYmpfZXhlY19saW5rLCAmZXZpY3QpOworCQkJZHJtX2dlbV9vYmplY3RfcmVmZXJl bmNlKCZvYmotPmJhc2UpOworCQl9CiAJfQogCisJcmV0ID0gMDsKKwl3aGlsZSAoIWxpc3RfZW1w dHkoJmV2aWN0KSkgeworCQlvYmogPSBsaXN0X2ZpcnN0X2VudHJ5KCZldmljdCwKKwkJCQkgICAg ICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QsCisJCQkJICAgICAgIG9ial9leGVjX2xpbmsp OworCQlsaXN0X2RlbF9pbml0KCZvYmotPm9ial9leGVjX2xpbmspOworCisJCWlmIChyZXQgPT0g MCkgeworCQkJc3RydWN0IGk5MTVfdm1hICp2bWEsICp2bWFfbmV4dDsKKworCQkJbGlzdF9mb3Jf ZWFjaF9lbnRyeV9zYWZlKHZtYSwgdm1hX25leHQsCisJCQkJCQkgJm9iai0+dm1hX2xpc3QsCisJ CQkJCQkgdm1hX2xpbmspCisJCQkJaWYgKGk5MTVfdm1hX3VuYmluZCh2bWEpKQorCQkJCQlicmVh azsKKworCQkJLyogU3RvbGVuIHBpbnMgaXRzIHBhZ2VzIHRvIHByZXZlbnQgdGhlCisJCQkgKiBu b3JtYWwgc2hyaW5rZXIgZnJvbSBwcm9jZXNzaW5nIHN0b2xlbgorCQkJICogb2JqZWN0cy4KKwkJ CSAqLworCQkJaTkxNV9nZW1fb2JqZWN0X3VucGluX3BhZ2VzKG9iaik7CisKKwkJCXJldCA9IGk5 MTVfZ2VtX29iamVjdF9wdXRfcGFnZXMob2JqKTsKKwkJCWlmIChyZXQgPT0gMCkgeworCQkJCWk5 MTVfZ2VtX29iamVjdF9yZWxlYXNlX3N0b2xlbihvYmopOworCQkJCW9iai0+bWFkdiA9IF9fSTkx NV9NQURWX1BVUkdFRDsKKwkJCX0gZWxzZQorCQkJCWk5MTVfZ2VtX29iamVjdF9waW5fcGFnZXMo b2JqKTsKKwkJfQorCisJCWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlKCZvYmotPmJhc2UpOwor CX0KKworCWlmIChyZXQgPT0gMCkKKwkJcmV0ID0gZHJtX21tX2luc2VydF9ub2RlKCZkZXZfcHJp di0+bW0uc3RvbGVuLCBzdG9sZW4sIHNpemUsCisJCQkJCSA0MDk2LCBEUk1fTU1fU0VBUkNIX0RF RkFVTFQpOworCWlmIChyZXQgPT0gMCkKKwkJcmV0dXJuIHN0b2xlbjsKKworCWtmcmVlKHN0b2xl bik7CisJcmV0dXJuIE5VTEw7Cit9CisKK3N0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICoKK2k5 MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHUzMiBz aXplKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3By aXZhdGU7CisJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKKwlzdHJ1Y3QgZHJtX21t X25vZGUgKnN0b2xlbjsKKworCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldi0+c3RydWN0X211dGV4 KTsKKworCWlmICghZHJtX21tX2luaXRpYWxpemVkKCZkZXZfcHJpdi0+bW0uc3RvbGVuKSkKKwkJ cmV0dXJuIE5VTEw7CisKKwlEUk1fREVCVUdfS01TKCJjcmVhdGluZyBzdG9sZW4gb2JqZWN0OiBz aXplPSV4XG4iLCBzaXplKTsKKworCXN0b2xlbiA9IHN0b2xlbl9hbGxvYyhkZXZfcHJpdiwgc2l6 ZSk7CisJaWYgKHN0b2xlbiA9PSBOVUxMKQorCQlyZXR1cm4gTlVMTDsKKwogCW9iaiA9IF9pOTE1 X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbihkZXYsIHN0b2xlbik7CiAJaWYgKG9iaikKIAkJcmV0 dXJuIG9iajsKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=