From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH v5 14/35] drm/i915: Keep the reserved space mechanism happy Date: Thu, 18 Feb 2016 14:27:02 +0000 Message-ID: <1455805644-6450-15-git-send-email-John.C.Harrison@Intel.com> References: <1455805644-6450-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 9D9596EBFE for ; Thu, 18 Feb 2016 14:27:45 +0000 (UTC) In-Reply-To: <1455805644-6450-1-git-send-email-John.C.Harrison@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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KClJpbmcgc3Bh Y2UgaXMgcmVzZXJ2ZWQgd2hlbiBjb25zdHJ1Y3RpbmcgYSByZXF1ZXN0IHRvIGVuc3VyZSB0aGF0 IHRoZQpzdWJzZXF1ZW50ICdhZGRfcmVxdWVzdCgpJyBjYWxsIGNhbm5vdCBmYWlsIGR1ZSB0byB3 YWl0aW5nIGZvciBzcGFjZQpvbiBhIGJ1c3kgb3IgYnJva2VuIEdQVS4gSG93ZXZlciwgdGhlIHNj aGVkdWxlciBqdW1wcyBpbiB0byB0aGUgbWlkZGxlCm9mIHRoZSBleGVjYnVmZmVyIHByb2Nlc3Mg YmV0d2VlbiByZXF1ZXN0IGNyZWF0aW9uIGFuZCByZXF1ZXN0CnN1Ym1pc3Npb24uIFRodXMgaXQg bmVlZHMgdG8gY2FuY2VsIHRoZSByZXNlcnZlZCBzcGFjZSB3aGVuIHRoZQpyZXF1ZXN0IGlzIHNp bXBseSBhZGRlZCB0byB0aGUgc2NoZWR1bGVyJ3MgcXVldWUgYW5kIG5vdCB5ZXQKc3VibWl0dGVk LiBTaW1pbGFybHksIGl0IG5lZWRzIHRvIHJlLXJlc2VydmUgdGhlIHNwYWNlIHdoZW4gaXQgZmlu YWxseQpkb2VzIHdhbnQgdG8gc2VuZCB0aGUgYmF0Y2ggYnVmZmVyIHRvIHRoZSBoYXJkd2FyZS4K CnYzOiBVcGRhdGVkIHRvIHVzZSBsb2NhbGx5IGNhY2hlZCByZXF1ZXN0IHBvaW50ZXIuCgp2NTog VXBkYXRlZCBkdWUgdG8gY2hhbmdlcyB0byBlYXJsaWVyIHBhdGNoZXMgaW4gc2VyaWVzIC0gZm9y IHJ1bnRpbWUKUE0gY2FsbHMgYW5kIHNwbGl0dGluZyBieXBhc3MgbW9kZSBpbnRvIGEgc2VwYXJh dGUgZnVuY3Rpb24uCgpGb3I6IFZJWi0xNTg3ClNpZ25lZC1vZmYtYnk6IEpvaG4gSGFycmlzb24g PEpvaG4uQy5IYXJyaXNvbkBJbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZXhlY2J1ZmZlci5jIHwgMjAgKysrKysrKysrKysrKystLS0tLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMgICAgICB8ICA0ICsrKysKIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5jICAgICAgICAgICB8IDEzICsrKysrKysrKysrLS0KIDMgZmlsZXMg Y2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKaW5kZXggMDljNWNlOS4uMTFiZWE4ZCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwpAQCAtMTI5NSwxOCAr MTI5NSwyMiBAQCBpbnQgaTkxNV9nZW1fcmluZ2J1ZmZlcl9zdWJtaXNzaW9uX2ZpbmFsKHN0cnVj dCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMpCiAJLyogVGhlIG11dGV4IG11c3QgYmUg YWNxdWlyZWQgYmVmb3JlIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiAqLwogCVdBUk5fT04oIW11dGV4 X2lzX2xvY2tlZCgmcGFyYW1zLT5kZXYtPnN0cnVjdF9tdXRleCkpOwogCisJcmV0ID0gaW50ZWxf cmluZ19yZXNlcnZlX3NwYWNlKHJlcSk7CisJaWYgKHJldCkKKwkJZ290byBlcnJvcjsKKwogCS8q CiAJICogVW5jb25kaXRpb25hbGx5IGludmFsaWRhdGUgZ3B1IGNhY2hlcyBhbmQgZW5zdXJlIHRo YXQgd2UgZG8gZmx1c2gKIAkgKiBhbnkgcmVzaWR1YWwgd3JpdGVzIGZyb20gdGhlIHByZXZpb3Vz IGJhdGNoLgogCSAqLwogCXJldCA9IGludGVsX3JpbmdfaW52YWxpZGF0ZV9hbGxfY2FjaGVzKHJl cSk7CiAJaWYgKHJldCkKLQkJcmV0dXJuIHJldDsKKwkJZ290byBlcnJvcjsKIAogCS8qIFN3aXRj aCB0byB0aGUgY29ycmVjdCBjb250ZXh0IGZvciB0aGUgYmF0Y2ggKi8KIAlyZXQgPSBpOTE1X3N3 aXRjaF9jb250ZXh0KHJlcSk7CiAJaWYgKHJldCkKLQkJcmV0dXJuIHJldDsKKwkJZ290byBlcnJv cjsKIAogCVdBUk4ocGFyYW1zLT5jdHgtPnBwZ3R0ICYmIHBhcmFtcy0+Y3R4LT5wcGd0dC0+cGRf ZGlydHlfcmluZ3MgJiAoMTw8cmluZy0+aWQpLAogCSAgICAgIiVzIGRpZG4ndCBjbGVhciByZWxv YWRcbiIsIHJpbmctPm5hbWUpOwpAQCAtMTMxNSw3ICsxMzE5LDcgQEAgaW50IGk5MTVfZ2VtX3Jp bmdidWZmZXJfc3VibWlzc2lvbl9maW5hbChzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyAq cGFyYW1zKQogCSAgICBwYXJhbXMtPmluc3RwX21vZGUgIT0gZGV2X3ByaXYtPnJlbGF0aXZlX2Nv bnN0YW50c19tb2RlKSB7CiAJCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmVxLCA0KTsKIAkJaWYg KHJldCkKLQkJCXJldHVybiByZXQ7CisJCQlnb3RvIGVycm9yOwogCiAJCWludGVsX3JpbmdfZW1p dChyaW5nLCBNSV9OT09QKTsKIAkJaW50ZWxfcmluZ19lbWl0KHJpbmcsIE1JX0xPQURfUkVHSVNU RVJfSU1NKDEpKTsKQEAgLTEzMjksNyArMTMzMyw3IEBAIGludCBpOTE1X2dlbV9yaW5nYnVmZmVy X3N1Ym1pc3Npb25fZmluYWwoc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFtcykK IAlpZiAocGFyYW1zLT5hcmdzX2ZsYWdzICYgSTkxNV9FWEVDX0dFTjdfU09MX1JFU0VUKSB7CiAJ CXJldCA9IGk5MTVfcmVzZXRfZ2VuN19zb2xfb2Zmc2V0cyhwYXJhbXMtPmRldiwgcmVxKTsKIAkJ aWYgKHJldCkKLQkJCXJldHVybiByZXQ7CisJCQlnb3RvIGVycm9yOwogCX0KIAogCWV4ZWNfbGVu ICAgPSBwYXJhbXMtPmFyZ3NfYmF0Y2hfbGVuOwpAQCAtMTM0MywxMyArMTM0NywxNyBAQCBpbnQg aTkxNV9nZW1fcmluZ2J1ZmZlcl9zdWJtaXNzaW9uX2ZpbmFsKHN0cnVjdCBpOTE1X2V4ZWNidWZm ZXJfcGFyYW1zICpwYXJhbXMpCiAJCQkJCWV4ZWNfc3RhcnQsIGV4ZWNfbGVuLAogCQkJCQlwYXJh bXMtPmRpc3BhdGNoX2ZsYWdzKTsKIAlpZiAocmV0KQotCQlyZXR1cm4gcmV0OworCQlnb3RvIGVy cm9yOwogCiAJdHJhY2VfaTkxNV9nZW1fcmluZ19kaXNwYXRjaChyZXEsIHBhcmFtcy0+ZGlzcGF0 Y2hfZmxhZ3MpOwogCiAJaTkxNV9nZW1fZXhlY2J1ZmZlcl9yZXRpcmVfY29tbWFuZHMocGFyYW1z KTsKIAotCXJldHVybiAwOworZXJyb3I6CisJaWYgKHJldCkKKwkJaW50ZWxfcmluZ19yZXNlcnZl ZF9zcGFjZV9jYW5jZWwocmVxLT5yaW5nYnVmKTsKKworCXJldHVybiByZXQ7CiB9CiAKIC8qKgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMKaW5kZXggMzk4Njg5MC4uYTNmZmQwNCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5jCkBAIC00ODMsNiArNDgzLDggQEAg c3RhdGljIGludCBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9leGVjYnVmZmVyX2J5cGFzcyhzdHJ1Y3Qg aTkxNV9zY2hlZHVsZXJfcXVldWVfZW4KIAlzdHJ1Y3QgaTkxNV9zY2hlZHVsZXIgKnNjaGVkdWxl ciA9IGRldl9wcml2LT5zY2hlZHVsZXI7CiAJaW50IHJldDsKIAorCWludGVsX3JpbmdfcmVzZXJ2 ZWRfc3BhY2VfY2FuY2VsKHFlLT5wYXJhbXMucmVxdWVzdC0+cmluZ2J1Zik7CisKIAlzY2hlZHVs ZXItPmZsYWdzW3FlLT5wYXJhbXMucmluZy0+aWRdIHw9IGk5MTVfc2Zfc3VibWl0dGluZzsKIAly ZXQgPSBkZXZfcHJpdi0+Z3QuZXhlY2J1Zl9maW5hbCgmcWUtPnBhcmFtcyk7CiAJc2NoZWR1bGVy LT5mbGFnc1txZS0+cGFyYW1zLnJpbmctPmlkXSAmPSB+aTkxNV9zZl9zdWJtaXR0aW5nOwpAQCAt NTM5LDYgKzU0MSw4IEBAIGludCBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9leGVjYnVmZmVyKHN0cnVj dCBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9lbnRyeSAqcWUpCiAJbm9kZS0+c3RhbXAgID0gamlmZmll czsKIAlpOTE1X2dlbV9yZXF1ZXN0X3JlZmVyZW5jZShub2RlLT5wYXJhbXMucmVxdWVzdCk7CiAK KwlpbnRlbF9yaW5nX3Jlc2VydmVkX3NwYWNlX2NhbmNlbChub2RlLT5wYXJhbXMucmVxdWVzdC0+ cmluZ2J1Zik7CisKIAlXQVJOX09OKG5vZGUtPnBhcmFtcy5yZXF1ZXN0LT5zY2hlZHVsZXJfcWUp OwogCW5vZGUtPnBhcmFtcy5yZXF1ZXN0LT5zY2hlZHVsZXJfcWUgPSBub2RlOwogCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2xyYy5jCmluZGV4IGZmNDU2NWYuLmY0YmFiODIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xyYy5jCkBAIC05NzgsMTMgKzk3OCwxNyBAQCBpbnQgaW50ZWxfZXhlY2xpc3RzX3N1Ym1p c3Npb25fZmluYWwoc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFtcykKIAkvKiBU aGUgbXV0ZXggbXVzdCBiZSBhY3F1aXJlZCBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uICov CiAJV0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZwYXJhbXMtPmRldi0+c3RydWN0X211dGV4KSk7 CiAKKwlyZXQgPSBpbnRlbF9sb2dpY2FsX3JpbmdfcmVzZXJ2ZV9zcGFjZShyZXEpOworCWlmIChy ZXQpCisJCWdvdG8gZXJyOworCiAJLyoKIAkgKiBVbmNvbmRpdGlvbmFsbHkgaW52YWxpZGF0ZSBn cHUgY2FjaGVzIGFuZCBlbnN1cmUgdGhhdCB3ZSBkbyBmbHVzaAogCSAqIGFueSByZXNpZHVhbCB3 cml0ZXMgZnJvbSB0aGUgcHJldmlvdXMgYmF0Y2guCiAJICovCiAJcmV0ID0gbG9naWNhbF9yaW5n X2ludmFsaWRhdGVfYWxsX2NhY2hlcyhyZXEpOwogCWlmIChyZXQpCi0JCXJldHVybiByZXQ7CisJ CWdvdG8gZXJyOwogCiAJaWYgKHJpbmcgPT0gJmRldl9wcml2LT5yaW5nW1JDU10gJiYKIAkgICAg cGFyYW1zLT5pbnN0cF9tb2RlICE9IGRldl9wcml2LT5yZWxhdGl2ZV9jb25zdGFudHNfbW9kZSkg ewpAQCAtMTAwNiwxMyArMTAxMCwxOCBAQCBpbnQgaW50ZWxfZXhlY2xpc3RzX3N1Ym1pc3Npb25f ZmluYWwoc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFtcykKIAogCXJldCA9IHJp bmctPmVtaXRfYmJfc3RhcnQocmVxLCBleGVjX3N0YXJ0LCBwYXJhbXMtPmRpc3BhdGNoX2ZsYWdz KTsKIAlpZiAocmV0KQotCQlyZXR1cm4gcmV0OworCQlnb3RvIGVycjsKIAogCXRyYWNlX2k5MTVf Z2VtX3JpbmdfZGlzcGF0Y2gocmVxLCBwYXJhbXMtPmRpc3BhdGNoX2ZsYWdzKTsKIAogCWk5MTVf Z2VtX2V4ZWNidWZmZXJfcmV0aXJlX2NvbW1hbmRzKHBhcmFtcyk7CiAKIAlyZXR1cm4gMDsKKwor ZXJyOgorCWludGVsX3JpbmdfcmVzZXJ2ZWRfc3BhY2VfY2FuY2VsKHBhcmFtcy0+cmVxdWVzdC0+ cmluZ2J1Zik7CisKKwlyZXR1cm4gcmV0OwogfQogCiB2b2lkIGludGVsX2V4ZWNsaXN0c19yZXRp cmVfcmVxdWVzdHMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKLS0gCjEuOS4xCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK