From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 06/21] drm/i915: introduce page_size members Date: Fri, 22 Sep 2017 18:32:37 +0100 Message-ID: <20170922173252.10137-7-matthew.auld@intel.com> References: <20170922173252.10137-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 08D686EA37 for ; Fri, 22 Sep 2017 17:33:17 +0000 (UTC) In-Reply-To: <20170922173252.10137-1-matthew.auld@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 SW4gcHJlcGFyYXRpb24gZm9yIHN1cHBvcnRpbmcgaHVnZSBndHQgcGFnZXMgZm9yIHRoZSBwcGd0 dCwgd2UgaW50cm9kdWNlCnBhZ2Ugc2l6ZSBtZW1iZXJzIGZvciBnZW0gb2JqZWN0cy4gIFdlIGZp bGwgaW4gdGhlIHBhZ2Ugc2l6ZXMgYnkKc2Nhbm5pbmcgdGhlIHNnIHRhYmxlLgoKdjI6IHBhc3Mg dGhlIHNnX21hc2sgdG8gc2V0X3BhZ2VzCgp2MzogY2FsY3VsYXRlIHRoZSBzZ19tYXNrIGlubGlu ZSB3aXRoIHBvcHVsYXRpbmcgdGhlIHNnX3RhYmxlIHdoZXJlCnBvc3NpYmxlLCBhbmQgcGFzcyB0 byBzZXRfcGFnZXMgYWxvbmcgd2l0aCB0aGUgcGFnZXMuCgp2NDogYnVuY2ggb2YgaW1wcm92ZW1l bnRzIGZyb20gSm9vbmFzCgpTaWduZWQtb2ZmLWJ5OiBNYXR0aGV3IEF1bGQgPG1hdHRoZXcuYXVs ZEBpbnRlbC5jb20+CkNjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5p bnRlbC5jb20+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6 IERhbmllbCBWZXR0ZXIgPGRhbmllbEBmZndsbC5jaD4KUmV2aWV3ZWQtYnk6IEpvb25hcyBMYWh0 aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgICAgICAgfCAgNSArKy0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICAgICAgICAgICB8IDQxICsrKysrKysrKysrKysr KysrKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZG1hYnVmLmMgICAgICAg ICAgIHwgIDkgKysrKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9pbnRlcm5hbC5j ICAgICAgICAgfCAgNSArKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX29iamVjdC5o ICAgICAgICAgICB8IDE3ICsrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X3N0b2xlbi5jICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV91c2VycHRyLmMgICAgICAgICAgfCAgOSArKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3Nl bGZ0ZXN0cy9odWdlX2dlbV9vYmplY3QuYyB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9z ZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMgICAgfCAgNSArKy0KIDkgZmlsZXMgY2hhbmdlZCwgODMg aW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5k ZXggODY5ZTQ2MzA2YzQ5Li5hM2JkNTEwYzQzNGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApA QCAtMzA4NCw2ICszMDg0LDggQEAgaW50ZWxfaW5mbyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiAjZGVmaW5lIFVTRVNfUFBHVFQoZGV2X3ByaXYpCQkoaTkxNV9tb2Rw YXJhbXMuZW5hYmxlX3BwZ3R0KQogI2RlZmluZSBVU0VTX0ZVTExfUFBHVFQoZGV2X3ByaXYpCShp OTE1X21vZHBhcmFtcy5lbmFibGVfcHBndHQgPj0gMikKICNkZWZpbmUgVVNFU19GVUxMXzQ4QklU X1BQR1RUKGRldl9wcml2KQkoaTkxNV9tb2RwYXJhbXMuZW5hYmxlX3BwZ3R0ID09IDMpCisjZGVm aW5lIEhBU19QQUdFX1NJWkVTKGRldl9wcml2LCBzaXplcykgXAorCSgoc2l6ZXMpICYmICgoKHNp emVzKSAmIH4oZGV2X3ByaXYpLT5pbmZvLnBhZ2Vfc2l6ZXMpKSA9PSAwKQogCiAjZGVmaW5lIEhB U19PVkVSTEFZKGRldl9wcml2KQkJICgoZGV2X3ByaXYpLT5pbmZvLmhhc19vdmVybGF5KQogI2Rl ZmluZSBPVkVSTEFZX05FRURTX1BIWVNJQ0FMKGRldl9wcml2KSBcCkBAIC0zNDk4LDcgKzM1MDAs OCBAQCBpOTE1X2dlbV9vYmplY3RfZ2V0X2RtYV9hZGRyZXNzKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmosCiAJCQkJdW5zaWduZWQgbG9uZyBuKTsKIAogdm9pZCBfX2k5MTVfZ2VtX29i amVjdF9zZXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKLQkJCQkgc3Ry dWN0IHNnX3RhYmxlICpwYWdlcyk7CisJCQkJIHN0cnVjdCBzZ190YWJsZSAqcGFnZXMsCisJCQkJ IHVuc2lnbmVkIGludCBzZ19tYXNrKTsKIGludCBfX2k5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXMo c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaik7CiAKIHN0YXRpYyBpbmxpbmUgaW50IF9f bXVzdF9jaGVjawpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggOWM0NmYxZjkxZjdkLi5hZTdi NjgzNDM3ZjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMjI4LDcgKzIyOCw3IEBAIHN0 YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlc19waHlzKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmopCiAKIAlvYmotPnBoeXNfaGFuZGxlID0gcGh5czsKIAotCV9faTkxNV9n ZW1fb2JqZWN0X3NldF9wYWdlcyhvYmosIHN0KTsKKwlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFn ZXMob2JqLCBzdCwgc2ctPmxlbmd0aCk7CiAKIAlyZXR1cm4gMDsKIApAQCAtMjI2Niw2ICsyMjY2 LDggQEAgdm9pZCBfX2k5MTVfZ2VtX29iamVjdF9wdXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaiwKIAlpZiAoIUlTX0VSUihwYWdlcykpCiAJCW9iai0+b3BzLT5wdXRfcGFn ZXMob2JqLCBwYWdlcyk7CiAKKwlvYmotPm1tLnBhZ2Vfc2l6ZXMucGh5cyA9IG9iai0+bW0ucGFn ZV9zaXplcy5zZyA9IDA7CisKIHVubG9jazoKIAltdXRleF91bmxvY2soJm9iai0+bW0ubG9jayk7 CiB9CkBAIC0yMzA4LDYgKzIzMTAsNyBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX29iamVjdF9nZXRf cGFnZXNfZ3R0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJc3RydWN0IHBhZ2Ug KnBhZ2U7CiAJdW5zaWduZWQgbG9uZyBsYXN0X3BmbiA9IDA7CS8qIHN1cHByZXNzIGdjYyB3YXJu aW5nICovCiAJdW5zaWduZWQgaW50IG1heF9zZWdtZW50ID0gaTkxNV9zZ19zZWdtZW50X3NpemUo KTsKKwl1bnNpZ25lZCBpbnQgc2dfbWFzazsKIAlnZnBfdCBub3JlY2xhaW07CiAJaW50IHJldDsK IApAQCAtMjMzOSw2ICsyMzQyLDcgQEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfZ2V0X3Bh Z2VzX2d0dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCiAJc2cgPSBzdC0+c2ds OwogCXN0LT5uZW50cyA9IDA7CisJc2dfbWFzayA9IDA7CiAJZm9yIChpID0gMDsgaSA8IHBhZ2Vf Y291bnQ7IGkrKykgewogCQljb25zdCB1bnNpZ25lZCBpbnQgc2hyaW5rW10gPSB7CiAJCQlJOTE1 X1NIUklOS19CT1VORCB8IEk5MTVfU0hSSU5LX1VOQk9VTkQgfCBJOTE1X1NIUklOS19QVVJHRUFC TEUsCkBAIC0yMzkxLDggKzIzOTUsMTAgQEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfZ2V0 X3BhZ2VzX2d0dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCQlpZiAoIWkgfHwK IAkJICAgIHNnLT5sZW5ndGggPj0gbWF4X3NlZ21lbnQgfHwKIAkJICAgIHBhZ2VfdG9fcGZuKHBh Z2UpICE9IGxhc3RfcGZuICsgMSkgewotCQkJaWYgKGkpCisJCQlpZiAoaSkgeworCQkJCXNnX21h c2sgfD0gc2ctPmxlbmd0aDsKIAkJCQlzZyA9IHNnX25leHQoc2cpOworCQkJfQogCQkJc3QtPm5l bnRzKys7CiAJCQlzZ19zZXRfcGFnZShzZywgcGFnZSwgUEFHRV9TSVpFLCAwKTsKIAkJfSBlbHNl IHsKQEAgLTI0MDMsOCArMjQwOSwxMCBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX29iamVjdF9nZXRf cGFnZXNfZ3R0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJCS8qIENoZWNrIHRo YXQgdGhlIGk5NjVnL2dtIHdvcmthcm91bmQgd29ya3MuICovCiAJCVdBUk5fT04oKGdmcCAmIF9f R0ZQX0RNQTMyKSAmJiAobGFzdF9wZm4gPj0gMHgwMDEwMDAwMFVMKSk7CiAJfQotCWlmIChzZykg LyogbG9vcCB0ZXJtaW5hdGVkIGVhcmx5OyBzaG9ydCBzZyB0YWJsZSAqLworCWlmIChzZykgeyAv KiBsb29wIHRlcm1pbmF0ZWQgZWFybHk7IHNob3J0IHNnIHRhYmxlICovCisJCXNnX21hc2sgfD0g c2ctPmxlbmd0aDsKIAkJc2dfbWFya19lbmQoc2cpOworCX0KIAogCS8qIFRyaW0gdW51c2VkIHNn IGVudHJpZXMgdG8gYXZvaWQgd2FzdGluZyBtZW1vcnkuICovCiAJaTkxNV9zZ190cmltKHN0KTsK QEAgLTI0MzMsNyArMjQ0MSw3IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdl c19ndHQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAlpZiAoaTkxNV9nZW1fb2Jq ZWN0X25lZWRzX2JpdDE3X3N3aXp6bGUob2JqKSkKIAkJaTkxNV9nZW1fb2JqZWN0X2RvX2JpdF8x N19zd2l6emxlKG9iaiwgc3QpOwogCi0JX19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKG9iaiwg c3QpOworCV9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmosIHN0LCBzZ19tYXNrKTsKIAog CXJldHVybiAwOwogCkBAIC0yNDYwLDggKzI0NjgsMTMgQEAgc3RhdGljIGludCBpOTE1X2dlbV9v YmplY3RfZ2V0X3BhZ2VzX2d0dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogfQog CiB2b2lkIF9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqLAotCQkJCSBzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzKQorCQkJCSBzdHJ1Y3Qgc2df dGFibGUgKnBhZ2VzLAorCQkJCSB1bnNpZ25lZCBpbnQgc2dfbWFzaykKIHsKKwlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUob2JqLT5iYXNlLmRldik7CisJdW5zaWduZWQg bG9uZyBzdXBwb3J0ZWRfcGFnZV9zaXplcyA9IElOVEVMX0lORk8oaTkxNSktPnBhZ2Vfc2l6ZXM7 CisJaW50IGk7CisKIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZvYmotPm1tLmxvY2spOwogCiAJb2Jq LT5tbS5nZXRfcGFnZS5zZ19wb3MgPSBwYWdlcy0+c2dsOwpAQCAtMjQ3NSw2ICsyNDg4LDI0IEBA IHZvaWQgX19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmosCiAJCV9faTkxNV9nZW1fb2JqZWN0X3Bpbl9wYWdlcyhvYmopOwogCQlvYmotPm1t LnF1aXJrZWQgPSB0cnVlOwogCX0KKworCUdFTV9CVUdfT04oIXNnX21hc2spOworCW9iai0+bW0u cGFnZV9zaXplcy5waHlzID0gc2dfbWFzazsKKworCS8qIENhbGN1bGF0ZSB0aGUgc3VwcG9ydGVk IHBhZ2Utc2l6ZXMgd2hpY2ggZml0IGludG8gdGhlIGdpdmVuIHNnX21hc2suCisJICogVGhpcyB3 aWxsIGdpdmUgdXMgdGhlIHBhZ2Utc2l6ZXMgd2hpY2ggd2UgbWF5IGJlIGFibGUgdG8gdXNlCisJ ICogb3Bwb3J0dW5pc3RpY2FsbHkgd2hlbiBsYXRlciBpbnNlcnRpbmcgaW50byB0aGUgR1RULiBG b3IgZXhhbXBsZSBpZgorCSAqIHBoeXM9MkcsIHRoZW4gaW4gdGhlb3J5IHdlIHNob3VsZCBiZSBh YmxlIHRvIHVzZSAxRywgMk0sIDY0SyBvciA0SworCSAqIHBhZ2VzLCBhbHRob3VnaCBpbiBwcmFj dGljZSB0aGlzIHdpbGwgZGVwZW5kIG9uIGEgbnVtYmVyIG9mIG90aGVyCisJICogZmFjdG9ycy4K KwkgKi8KKwlvYmotPm1tLnBhZ2Vfc2l6ZXMuc2cgPSAwOworCWZvcl9lYWNoX3NldF9iaXQoaSwg JnN1cHBvcnRlZF9wYWdlX3NpemVzLCBCSVRTX1BFUl9MT05HKSB7CisJCWlmIChvYmotPm1tLnBh Z2Vfc2l6ZXMucGh5cyAmIH4wdSA8PCBpKQorCQkJb2JqLT5tbS5wYWdlX3NpemVzLnNnIHw9IEJJ VChpKTsKKwl9CisKKwlHRU1fQlVHX09OKCFIQVNfUEFHRV9TSVpFUyhpOTE1LCBvYmotPm1tLnBh Z2Vfc2l6ZXMuc2cpKTsKIH0KIAogc3RhdGljIGludCBfX19faTkxNV9nZW1fb2JqZWN0X2dldF9w YWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZG1hYnVmLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9kbWFidWYuYwppbmRleCA0YzRkYzg1MTU5ZmIuLjJmODBiMDdkN2Y2MSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZG1hYnVmLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZG1hYnVmLmMKQEAgLTI1OSwxMyArMjU5LDIwIEBAIHN0 cnVjdCBkbWFfYnVmICppOTE1X2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKIHN0YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlc19kbWFidWYoc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIHsKIAlzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzOworCXN0 cnVjdCBzY2F0dGVybGlzdCAqc2c7CisJdW5zaWduZWQgaW50IHNnX21hc2s7CisJaW50IG47CiAK IAlwYWdlcyA9IGRtYV9idWZfbWFwX2F0dGFjaG1lbnQob2JqLT5iYXNlLmltcG9ydF9hdHRhY2gs CiAJCQkJICAgICAgIERNQV9CSURJUkVDVElPTkFMKTsKIAlpZiAoSVNfRVJSKHBhZ2VzKSkKIAkJ cmV0dXJuIFBUUl9FUlIocGFnZXMpOwogCi0JX19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKG9i aiwgcGFnZXMpOworCXNnX21hc2sgPSAwOworCWZvcl9lYWNoX3NnKHBhZ2VzLT5zZ2wsIHNnLCBw YWdlcy0+bmVudHMsIG4pCisJCXNnX21hc2sgfD0gc2ctPmxlbmd0aDsKKworCV9faTkxNV9nZW1f b2JqZWN0X3NldF9wYWdlcyhvYmosIHBhZ2VzLCBzZ19tYXNrKTsKIAogCXJldHVybiAwOwogfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1faW50ZXJuYWwuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2ludGVybmFsLmMKaW5kZXggZjU5NzY0ZGE0MjU0 Li5iZGMyM2M0Yzg3ODMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2ludGVybmFsLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1faW50ZXJuYWwu YwpAQCAtNDksNiArNDksNyBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNf aW50ZXJuYWwoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUob2JqLT5iYXNlLmRldik7CiAJc3RydWN0IHNnX3Rh YmxlICpzdDsKIAlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnOworCXVuc2lnbmVkIGludCBzZ19tYXNr OwogCXVuc2lnbmVkIGludCBucGFnZXM7CiAJaW50IG1heF9vcmRlcjsKIAlnZnBfdCBnZnA7CkBA IC04Nyw2ICs4OCw3IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlc19pbnRl cm5hbChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCiAJc2cgPSBzdC0+c2dsOwog CXN0LT5uZW50cyA9IDA7CisJc2dfbWFzayA9IDA7CiAKIAlkbyB7CiAJCWludCBvcmRlciA9IG1p bihmbHMobnBhZ2VzKSAtIDEsIG1heF9vcmRlcik7CkBAIC0xMDQsNiArMTA2LDcgQEAgc3RhdGlj IGludCBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzX2ludGVybmFsKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmopCiAJCX0gd2hpbGUgKDEpOwogCiAJCXNnX3NldF9wYWdlKHNnLCBwYWdl LCBQQUdFX1NJWkUgPDwgb3JkZXIsIDApOworCQlzZ19tYXNrIHw9IFBBR0VfU0laRSA8PCBvcmRl cjsKIAkJc3QtPm5lbnRzKys7CiAKIAkJbnBhZ2VzIC09IDEgPDwgb3JkZXI7CkBAIC0xMzIsNyAr MTM1LDcgQEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzX2ludGVybmFsKHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJICovCiAJb2JqLT5tbS5tYWR2ID0gSTkx NV9NQURWX0RPTlRORUVEOwogCi0JX19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKG9iaiwgc3Qp OworCV9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmosIHN0LCBzZ19tYXNrKTsKIAogCXJl dHVybiAwOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9vYmpl Y3QuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX29iamVjdC5oCmluZGV4IDAzNmU4 NDdiMjdmMC4uMTEwNjcyOTUyYTFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9vYmplY3QuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9vYmpl Y3QuaApAQCAtMTY5LDYgKzE2OSwyMyBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCB7CiAJ CXN0cnVjdCBzZ190YWJsZSAqcGFnZXM7CiAJCXZvaWQgKm1hcHBpbmc7CiAKKwkJc3RydWN0IGk5 MTVfcGFnZV9zaXplcyB7CisJCQkvKioKKwkJCSAqIFRoZSBzZyBtYXNrIG9mIHRoZSBwYWdlcyBz Z190YWJsZS4gaS5lIHRoZSBtYXNrIG9mCisJCQkgKiBvZiB0aGUgbGVuZ3RocyBmb3IgZWFjaCBz ZyBlbnRyeS4KKwkJCSAqLworCQkJdW5zaWduZWQgaW50IHBoeXM7CisKKwkJCS8qKgorCQkJICog VGhlIGd0dCBwYWdlIHNpemVzIHdlIGFyZSBhbGxvd2VkIHRvIHVzZSBnaXZlbiB0aGUKKwkJCSAq IHNnIG1hc2sgYW5kIHRoZSBzdXBwb3J0ZWQgcGFnZSBzaXplcy4gVGhpcyB3aWxsCisJCQkgKiBl eHByZXNzIHRoZSBzbWFsbGVzdCB1bml0IHdlIGNhbiB1c2UgZm9yIHRoZSB3aG9sZQorCQkJICog b2JqZWN0LCBhcyB3ZWxsIGFzIHRoZSBsYXJnZXIgc2l6ZXMgd2UgbWF5IGJlIGFibGUKKwkJCSAq IHRvIHVzZSBvcHBvcnR1bmlzdGljYWxseS4KKwkJCSAqLworCQkJdW5zaWduZWQgaW50IHNnOwor CQl9IHBhZ2Vfc2l6ZXM7CisKIAkJc3RydWN0IGk5MTVfZ2VtX29iamVjdF9wYWdlX2l0ZXIgewog CQkJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZ19wb3M7CiAJCQl1bnNpZ25lZCBpbnQgc2dfaWR4OyAv KiBpbiBwYWdlcywgYnV0IDMyYml0IGVlayEgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f c3RvbGVuLmMKaW5kZXggNTM3ZWNiMjI0ZGIwLi41NGZkNGNmYTlkMDcgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jCkBAIC01NDgsNyArNTQ4LDcgQEAgc3RhdGljIGludCBp OTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzX3N0b2xlbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqKQogCWlmIChJU19FUlIocGFnZXMpKQogCQlyZXR1cm4gUFRSX0VSUihwYWdlcyk7CiAK LQlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMob2JqLCBwYWdlcyk7CisJX19pOTE1X2dlbV9v YmplY3Rfc2V0X3BhZ2VzKG9iaiwgcGFnZXMsIG9iai0+c3RvbGVuLT5zaXplKTsKIAogCXJldHVy biAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0 ci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jCmluZGV4IDcwYWQ3 NDg5ODI3ZC4uYWQ1YWJjYTFmNzk0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV91c2VycHRyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNl cnB0ci5jCkBAIC00MDUsNiArNDA1LDkgQEAgX19pOTE1X2dlbV91c2VycHRyX2FsbG9jX3BhZ2Vz KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiB7CiAJdW5zaWduZWQgaW50IG1heF9z ZWdtZW50ID0gaTkxNV9zZ19zZWdtZW50X3NpemUoKTsKIAlzdHJ1Y3Qgc2dfdGFibGUgKnN0Owor CXN0cnVjdCBzY2F0dGVybGlzdCAqc2c7CisJdW5zaWduZWQgaW50IHNnX21hc2s7CisJaW50IG47 CiAJaW50IHJldDsKIAogCXN0ID0ga21hbGxvYyhzaXplb2YoKnN0KSwgR0ZQX0tFUk5FTCk7CkBA IC00MzQsNyArNDM3LDExIEBAIF9faTkxNV9nZW1fdXNlcnB0cl9hbGxvY19wYWdlcyhzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQlyZXR1cm4gRVJSX1BUUihyZXQpOwogCX0KIAot CV9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmosIHN0KTsKKwlzZ19tYXNrID0gMDsKKwlm b3JfZWFjaF9zZyhzdC0+c2dsLCBzZywgbnVtX3BhZ2VzLCBuKQorCQlzZ19tYXNrIHw9IHNnLT5s ZW5ndGg7CisKKwlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMob2JqLCBzdCwgc2dfbWFzayk7 CiAKIAlyZXR1cm4gc3Q7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxm dGVzdHMvaHVnZV9nZW1fb2JqZWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMv aHVnZV9nZW1fb2JqZWN0LmMKaW5kZXggNDFjMTVmM2FhNDY3Li5hMjYzMmRmMzkxNzMgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9odWdlX2dlbV9vYmplY3QuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaHVnZV9nZW1fb2JqZWN0LmMKQEAg LTgwLDcgKzgwLDcgQEAgc3RhdGljIGludCBodWdlX2dldF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqKQogCWlmIChpOTE1X2dlbV9ndHRfcHJlcGFyZV9wYWdlcyhvYmosIHBh Z2VzKSkKIAkJZ290byBlcnI7CiAKLQlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMob2JqLCBw YWdlcyk7CisJX19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKG9iaiwgcGFnZXMsIFBBR0VfU0la RSk7CiAKIAlyZXR1cm4gMDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2Vs ZnRlc3RzL2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5 MTVfZ2VtX2d0dC5jCmluZGV4IGFhMWRiMzc1ZDU5YS4uODgzYmMxOWUzYWFmIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2d0dC5jCkBAIC00NSw2ICs0NSw3 IEBAIHN0YXRpYyBpbnQgZmFrZV9nZXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iaikKICNkZWZpbmUgUEZOX0JJQVMgMHgxMDAwCiAJc3RydWN0IHNnX3RhYmxlICpwYWdlczsK IAlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnOworCXVuc2lnbmVkIGludCBzZ19tYXNrOwogCXR5cGVv ZihvYmotPmJhc2Uuc2l6ZSkgcmVtOwogCiAJcGFnZXMgPSBrbWFsbG9jKHNpemVvZigqcGFnZXMp LCBHRlApOwpAQCAtNTcsNiArNTgsNyBAQCBzdGF0aWMgaW50IGZha2VfZ2V0X3BhZ2VzKHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJCXJldHVybiAtRU5PTUVNOwogCX0KIAorCXNn X21hc2sgPSAwOwogCXJlbSA9IG9iai0+YmFzZS5zaXplOwogCWZvciAoc2cgPSBwYWdlcy0+c2ds OyBzZzsgc2cgPSBzZ19uZXh0KHNnKSkgewogCQl1bnNpZ25lZCBsb25nIGxlbiA9IG1pbl90KHR5 cGVvZihyZW0pLCByZW0sIEJJVCgzMSkpOwpAQCAtNjUsNiArNjcsNyBAQCBzdGF0aWMgaW50IGZh a2VfZ2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJCXNnX3NldF9w YWdlKHNnLCBwZm5fdG9fcGFnZShQRk5fQklBUyksIGxlbiwgMCk7CiAJCXNnX2RtYV9hZGRyZXNz KHNnKSA9IHBhZ2VfdG9fcGh5cyhzZ19wYWdlKHNnKSk7CiAJCXNnX2RtYV9sZW4oc2cpID0gbGVu OworCQlzZ19tYXNrIHw9IGxlbjsKIAogCQlyZW0gLT0gbGVuOwogCX0KQEAgLTcyLDcgKzc1LDcg QEAgc3RhdGljIGludCBmYWtlX2dldF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq b2JqKQogCiAJb2JqLT5tbS5tYWR2ID0gSTkxNV9NQURWX0RPTlRORUVEOwogCi0JX19pOTE1X2dl bV9vYmplY3Rfc2V0X3BhZ2VzKG9iaiwgcGFnZXMpOworCV9faTkxNV9nZW1fb2JqZWN0X3NldF9w YWdlcyhvYmosIHBhZ2VzLCBzZ19tYXNrKTsKIAogCXJldHVybiAwOwogI3VuZGVmIEdGUAotLSAK Mi4xMy41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK