From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 1/2] drm/rect: Add midpoint to scale calculation functions Date: Tue, 24 Apr 2018 13:36:32 +0200 Message-ID: <20180424113633.16140-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: Vidya Srinivas List-Id: dri-devel@lists.freedesktop.org V2hlbiBjYWxjdWxhdGluZyBsaW1pdHMgd2Ugd2FudCB0byBiZSBhcyBwZXNzaW1pc3RpYyBhcyBw b3NzaWJsZSwKc28gd2UgaGF2ZSB0byBleHBsaWNpdGx5IHNheSB3aGV0aGVyIHdlIHdhbnQgdG8g cm91bmQgdXAgb3IgZG93bgp0byBhY2N1cmF0ZWx5IGNhbGN1bGF0ZSB3aGV0aGVyIHdlIGFyZSBi ZWxvdyBtaW5fc2NhbGUgb3IgYWJvdmUKbWF4X3NjYWxlLgoKU2lnbmVkLW9mZi1ieTogTWFhcnRl biBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyB8ICA0ICstLQogZHJpdmVycy9ncHUvZHJt L2RybV9yZWN0LmMgICAgICAgICAgfCAzOSArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgfCAgOCArKystLS0KIGluY2x1ZGUv ZHJtL2RybV9yZWN0LmggICAgICAgICAgICAgIHwgIDggKysrLS0tCiA0IGZpbGVzIGNoYW5nZWQs IDM5IGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNf aGVscGVyLmMKaW5kZXggOWNiMjIwOWY2ZmM4Li43NjQzMjAyYmZjZjcgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX2hlbHBlci5jCkBAIC03NTQsOCArNzU0LDggQEAgaW50IGRybV9hdG9taWNfaGVs cGVyX2NoZWNrX3BsYW5lX3N0YXRlKHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRl LAogCWRybV9yZWN0X3JvdGF0ZShzcmMsIGZiLT53aWR0aCA8PCAxNiwgZmItPmhlaWdodCA8PCAx Niwgcm90YXRpb24pOwogCiAJLyogQ2hlY2sgc2NhbGluZyAqLwotCWhzY2FsZSA9IGRybV9yZWN0 X2NhbGNfaHNjYWxlKHNyYywgZHN0LCBtaW5fc2NhbGUsIG1heF9zY2FsZSk7Ci0JdnNjYWxlID0g ZHJtX3JlY3RfY2FsY192c2NhbGUoc3JjLCBkc3QsIG1pbl9zY2FsZSwgbWF4X3NjYWxlKTsKKwlo c2NhbGUgPSBkcm1fcmVjdF9jYWxjX2hzY2FsZShzcmMsIGRzdCwgbWluX3NjYWxlLCAxPDwxNiwg bWF4X3NjYWxlKTsKKwl2c2NhbGUgPSBkcm1fcmVjdF9jYWxjX3ZzY2FsZShzcmMsIGRzdCwgbWlu X3NjYWxlLCAxPDwxNiwgbWF4X3NjYWxlKTsKIAlpZiAoaHNjYWxlIDwgMCB8fCB2c2NhbGUgPCAw KSB7CiAJCURSTV9ERUJVR19LTVMoIkludmFsaWQgc2NhbGluZyBvZiBwbGFuZVxuIik7CiAJCWRy bV9yZWN0X2RlYnVnX3ByaW50KCJzcmM6ICIsICZwbGFuZV9zdGF0ZS0+c3JjLCB0cnVlKTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcmVjdC5jIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9yZWN0LmMKaW5kZXggOTgxN2MxNDQ1YmE5Li4yMDkzNDc0YzI2OGMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fcmVjdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcmVjdC5j CkBAIC05Niw3ICs5Niw3IEBAIGJvb2wgZHJtX3JlY3RfY2xpcF9zY2FsZWQoc3RydWN0IGRybV9y ZWN0ICpzcmMsIHN0cnVjdCBkcm1fcmVjdCAqZHN0LAogfQogRVhQT1JUX1NZTUJPTChkcm1fcmVj dF9jbGlwX3NjYWxlZCk7CiAKLXN0YXRpYyBpbnQgZHJtX2NhbGNfc2NhbGUoaW50IHNyYywgaW50 IGRzdCkKK3N0YXRpYyBpbnQgZHJtX2NhbGNfc2NhbGUoaW50IHNyYywgaW50IGRzdCwgaW50IHNj YWxlX2NlbnRlcikKIHsKIAlpbnQgc2NhbGUgPSAwOwogCkBAIC0xMDYsNyArMTA2LDEwIEBAIHN0 YXRpYyBpbnQgZHJtX2NhbGNfc2NhbGUoaW50IHNyYywgaW50IGRzdCkKIAlpZiAoZHN0ID09IDAp CiAJCXJldHVybiAwOwogCi0Jc2NhbGUgPSBzcmMgLyBkc3Q7CisJaWYgKERJVl9ST1VORF9VUChk c3QsIHNjYWxlX2NlbnRlcikgPiBzcmMpCisJCXJldHVybiBESVZfUk9VTkRfVVAoc3JjLCBkc3Qp OworCWVsc2UKKwkJc2NhbGUgPSBzcmMgLyBkc3Q7CiAKIAlyZXR1cm4gc2NhbGU7CiB9CkBAIC0x MTYsMjEgKzExOSwyNSBAQCBzdGF0aWMgaW50IGRybV9jYWxjX3NjYWxlKGludCBzcmMsIGludCBk c3QpCiAgKiBAc3JjOiBzb3VyY2Ugd2luZG93IHJlY3RhbmdsZQogICogQGRzdDogZGVzdGluYXRp b24gd2luZG93IHJlY3RhbmdsZQogICogQG1pbl9oc2NhbGU6IG1pbmltdW0gYWxsb3dlZCBob3Jp em9udGFsIHNjYWxpbmcgZmFjdG9yCisgKiBAbWlkX2hzY2FsZTogbWlkIHBvaW50LCBiZWxvdyB0 aGlzIHBvaW50IHJvdW5kIGRvd24gc2NhbGluZywgYWJvdmUgcm91bmQgdXAuCiAgKiBAbWF4X2hz Y2FsZTogbWF4aW11bSBhbGxvd2VkIGhvcml6b250YWwgc2NhbGluZyBmYWN0b3IKICAqCiAgKiBD YWxjdWxhdGUgdGhlIGhvcml6b250YWwgc2NhbGluZyBmYWN0b3IgYXMKICAqIChAc3JjIHdpZHRo KSAvIChAZHN0IHdpZHRoKS4KICAqCisgKiBJZiB0aGUgc2NhbGUgaXMgYmVsb3cgQG1pZF9oc2Nh bGUgd2Ugcm91bmQgZG93biwgaWYgYWJvdmUgdXAuIFRoaXMgd2lsbAorICogY2FsY3VsYXRlIHRo ZSBoc2NhbGUgd2l0aCB0aGUgbW9zdCBwZXNzaW1pc3RpYyBsaW1pdCBjYWxjdWxhdGlvbi4KKyAq CiAgKiBSRVRVUk5TOgogICogVGhlIGhvcml6b250YWwgc2NhbGluZyBmYWN0b3IsIG9yIGVycm5v IG9mIG91dCBvZiBsaW1pdHMuCiAgKi8KIGludCBkcm1fcmVjdF9jYWxjX2hzY2FsZShjb25zdCBz dHJ1Y3QgZHJtX3JlY3QgKnNyYywKIAkJCSBjb25zdCBzdHJ1Y3QgZHJtX3JlY3QgKmRzdCwKLQkJ CSBpbnQgbWluX2hzY2FsZSwgaW50IG1heF9oc2NhbGUpCisJCQkgaW50IG1pbl9oc2NhbGUsIGlu dCBtaWRfaHNjYWxlLCBpbnQgbWF4X2hzY2FsZSkKIHsKIAlpbnQgc3JjX3cgPSBkcm1fcmVjdF93 aWR0aChzcmMpOwogCWludCBkc3RfdyA9IGRybV9yZWN0X3dpZHRoKGRzdCk7Ci0JaW50IGhzY2Fs ZSA9IGRybV9jYWxjX3NjYWxlKHNyY193LCBkc3Rfdyk7CisJaW50IGhzY2FsZSA9IGRybV9jYWxj X3NjYWxlKHNyY193LCBkc3RfdywgbWlkX2hzY2FsZSk7CiAKIAlpZiAoaHNjYWxlIDwgMCB8fCBk c3RfdyA9PSAwKQogCQlyZXR1cm4gaHNjYWxlOwpAQCAtMTQ3LDIxICsxNTQsMjUgQEAgRVhQT1JU X1NZTUJPTChkcm1fcmVjdF9jYWxjX2hzY2FsZSk7CiAgKiBAc3JjOiBzb3VyY2Ugd2luZG93IHJl Y3RhbmdsZQogICogQGRzdDogZGVzdGluYXRpb24gd2luZG93IHJlY3RhbmdsZQogICogQG1pbl92 c2NhbGU6IG1pbmltdW0gYWxsb3dlZCB2ZXJ0aWNhbCBzY2FsaW5nIGZhY3RvcgorICogQG1pZF92 c2NhbGU6IG1pZCBwb2ludCwgYmVsb3cgdGhpcyBwb2ludCByb3VuZCBkb3duIHNjYWxpbmcsIGFi b3ZlIHJvdW5kIHVwLgogICogQG1heF92c2NhbGU6IG1heGltdW0gYWxsb3dlZCB2ZXJ0aWNhbCBz Y2FsaW5nIGZhY3RvcgogICoKICAqIENhbGN1bGF0ZSB0aGUgdmVydGljYWwgc2NhbGluZyBmYWN0 b3IgYXMKICAqIChAc3JjIGhlaWdodCkgLyAoQGRzdCBoZWlnaHQpLgogICoKKyAqIElmIHRoZSBz Y2FsZSBpcyBiZWxvdyBAbWlkX3ZzY2FsZSB3ZSByb3VuZCBkb3duLCBpZiBhYm92ZSB1cC4gVGhp cyB3aWxsCisgKiBjYWxjdWxhdGUgdGhlIHZzY2FsZSB3aXRoIHRoZSBtb3N0IHBlc3NpbWlzdGlj IGxpbWl0IGNhbGN1bGF0aW9uLgorICoKICAqIFJFVFVSTlM6CiAgKiBUaGUgdmVydGljYWwgc2Nh bGluZyBmYWN0b3IsIG9yIGVycm5vIG9mIG91dCBvZiBsaW1pdHMuCiAgKi8KIGludCBkcm1fcmVj dF9jYWxjX3ZzY2FsZShjb25zdCBzdHJ1Y3QgZHJtX3JlY3QgKnNyYywKIAkJCSBjb25zdCBzdHJ1 Y3QgZHJtX3JlY3QgKmRzdCwKLQkJCSBpbnQgbWluX3ZzY2FsZSwgaW50IG1heF92c2NhbGUpCisJ CQkgaW50IG1pbl92c2NhbGUsIGludCBtaWRfdnNjYWxlLCBpbnQgbWF4X3ZzY2FsZSkKIHsKIAlp bnQgc3JjX2ggPSBkcm1fcmVjdF9oZWlnaHQoc3JjKTsKIAlpbnQgZHN0X2ggPSBkcm1fcmVjdF9o ZWlnaHQoZHN0KTsKLQlpbnQgdnNjYWxlID0gZHJtX2NhbGNfc2NhbGUoc3JjX2gsIGRzdF9oKTsK KwlpbnQgdnNjYWxlID0gZHJtX2NhbGNfc2NhbGUoc3JjX2gsIGRzdF9oLCBtaWRfdnNjYWxlKTsK IAogCWlmICh2c2NhbGUgPCAwIHx8IGRzdF9oID09IDApCiAJCXJldHVybiB2c2NhbGU7CkBAIC0x NzgsNiArMTg5LDcgQEAgRVhQT1JUX1NZTUJPTChkcm1fcmVjdF9jYWxjX3ZzY2FsZSk7CiAgKiBA c3JjOiBzb3VyY2Ugd2luZG93IHJlY3RhbmdsZQogICogQGRzdDogZGVzdGluYXRpb24gd2luZG93 IHJlY3RhbmdsZQogICogQG1pbl9oc2NhbGU6IG1pbmltdW0gYWxsb3dlZCBob3Jpem9udGFsIHNj YWxpbmcgZmFjdG9yCisgKiBAbWlkX2hzY2FsZTogbWlkIHBvaW50LCBiZWxvdyB0aGlzIHBvaW50 IHJvdW5kIGRvd24gc2NhbGluZywgYWJvdmUgcm91bmQgdXAuCiAgKiBAbWF4X2hzY2FsZTogbWF4 aW11bSBhbGxvd2VkIGhvcml6b250YWwgc2NhbGluZyBmYWN0b3IKICAqCiAgKiBDYWxjdWxhdGUg dGhlIGhvcml6b250YWwgc2NhbGluZyBmYWN0b3IgYXMKQEAgLTE4OSwxNiArMjAxLDE5IEBAIEVY UE9SVF9TWU1CT0woZHJtX3JlY3RfY2FsY192c2NhbGUpOwogICogSWYgdGhlIGNhbGN1bGF0ZWQg c2NhbGluZyBmYWN0b3IgaXMgYWJvdmUgQG1heF92c2NhbGUsCiAgKiBkZWNyZWFzZSB0aGUgaGVp Z2h0IG9mIHJlY3RhbmdsZSBAc3JjIHRvIGNvbXBlbnNhdGUuCiAgKgorICogSWYgdGhlIHNjYWxl IGlzIGJlbG93IEBtaWRfaHNjYWxlIHdlIHJvdW5kIGRvd24sIGlmIGFib3ZlIHVwLiBUaGlzIHdp bGwKKyAqIGNhbGN1bGF0ZSB0aGUgaHNjYWxlIHdpdGggdGhlIG1vc3QgcGVzc2ltaXN0aWMgbGlt aXQgY2FsY3VsYXRpb24uCisgKgogICogUkVUVVJOUzoKICAqIFRoZSBob3Jpem9udGFsIHNjYWxp bmcgZmFjdG9yLgogICovCiBpbnQgZHJtX3JlY3RfY2FsY19oc2NhbGVfcmVsYXhlZChzdHJ1Y3Qg ZHJtX3JlY3QgKnNyYywKIAkJCQkgc3RydWN0IGRybV9yZWN0ICpkc3QsCi0JCQkJIGludCBtaW5f aHNjYWxlLCBpbnQgbWF4X2hzY2FsZSkKKwkJCQkgaW50IG1pbl9oc2NhbGUsIGludCBtaWRfaHNj YWxlLCBpbnQgbWF4X2hzY2FsZSkKIHsKIAlpbnQgc3JjX3cgPSBkcm1fcmVjdF93aWR0aChzcmMp OwogCWludCBkc3RfdyA9IGRybV9yZWN0X3dpZHRoKGRzdCk7Ci0JaW50IGhzY2FsZSA9IGRybV9j YWxjX3NjYWxlKHNyY193LCBkc3Rfdyk7CisJaW50IGhzY2FsZSA9IGRybV9jYWxjX3NjYWxlKHNy Y193LCBkc3RfdywgbWlkX2hzY2FsZSk7CiAKIAlpZiAoaHNjYWxlIDwgMCB8fCBkc3RfdyA9PSAw KQogCQlyZXR1cm4gaHNjYWxlOwpAQCAtMjI4LDYgKzI0Myw3IEBAIEVYUE9SVF9TWU1CT0woZHJt X3JlY3RfY2FsY19oc2NhbGVfcmVsYXhlZCk7CiAgKiBAc3JjOiBzb3VyY2Ugd2luZG93IHJlY3Rh bmdsZQogICogQGRzdDogZGVzdGluYXRpb24gd2luZG93IHJlY3RhbmdsZQogICogQG1pbl92c2Nh bGU6IG1pbmltdW0gYWxsb3dlZCB2ZXJ0aWNhbCBzY2FsaW5nIGZhY3RvcgorICogQG1pZF92c2Nh bGU6IG1pZCBwb2ludCwgYmVsb3cgdGhpcyBwb2ludCByb3VuZCBkb3duIHNjYWxpbmcsIGFib3Zl IHJvdW5kIHVwLgogICogQG1heF92c2NhbGU6IG1heGltdW0gYWxsb3dlZCB2ZXJ0aWNhbCBzY2Fs aW5nIGZhY3RvcgogICoKICAqIENhbGN1bGF0ZSB0aGUgdmVydGljYWwgc2NhbGluZyBmYWN0b3Ig YXMKQEAgLTIzOSwxNiArMjU1LDE5IEBAIEVYUE9SVF9TWU1CT0woZHJtX3JlY3RfY2FsY19oc2Nh bGVfcmVsYXhlZCk7CiAgKiBJZiB0aGUgY2FsY3VsYXRlZCBzY2FsaW5nIGZhY3RvciBpcyBhYm92 ZSBAbWF4X3ZzY2FsZSwKICAqIGRlY3JlYXNlIHRoZSBoZWlnaHQgb2YgcmVjdGFuZ2xlIEBzcmMg dG8gY29tcGVuc2F0ZS4KICAqCisgKiBJZiB0aGUgc2NhbGUgaXMgYmVsb3cgQG1pZF92c2NhbGUg d2Ugcm91bmQgZG93biwgaWYgYWJvdmUgdXAuIFRoaXMgd2lsbAorICogY2FsY3VsYXRlIHRoZSB2 c2NhbGUgd2l0aCB0aGUgbW9zdCBwZXNzaW1pc3RpYyBsaW1pdCBjYWxjdWxhdGlvbi4KKyAqCiAg KiBSRVRVUk5TOgogICogVGhlIHZlcnRpY2FsIHNjYWxpbmcgZmFjdG9yLgogICovCiBpbnQgZHJt X3JlY3RfY2FsY192c2NhbGVfcmVsYXhlZChzdHJ1Y3QgZHJtX3JlY3QgKnNyYywKIAkJCQkgc3Ry dWN0IGRybV9yZWN0ICpkc3QsCi0JCQkJIGludCBtaW5fdnNjYWxlLCBpbnQgbWF4X3ZzY2FsZSkK KwkJCQkgaW50IG1pbl92c2NhbGUsIGludCBtaWRfdnNjYWxlLCBpbnQgbWF4X3ZzY2FsZSkKIHsK IAlpbnQgc3JjX2ggPSBkcm1fcmVjdF9oZWlnaHQoc3JjKTsKIAlpbnQgZHN0X2ggPSBkcm1fcmVj dF9oZWlnaHQoZHN0KTsKLQlpbnQgdnNjYWxlID0gZHJtX2NhbGNfc2NhbGUoc3JjX2gsIGRzdF9o KTsKKwlpbnQgdnNjYWxlID0gZHJtX2NhbGNfc2NhbGUoc3JjX2gsIG1pZF92c2NhbGUsIGRzdF9o KTsKIAogCWlmICh2c2NhbGUgPCAwIHx8IGRzdF9oID09IDApCiAJCXJldHVybiB2c2NhbGU7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCmluZGV4IGFhMWRmYWE2OTJiOS4uZjhmN2M2NmZj M2FjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwpAQCAtOTk4LDEwICs5OTgsMTAg QEAgaW50ZWxfY2hlY2tfc3ByaXRlX3BsYW5lKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAJ ZHJtX3JlY3Rfcm90YXRlKHNyYywgZmItPndpZHRoIDw8IDE2LCBmYi0+aGVpZ2h0IDw8IDE2LAog CQkJc3RhdGUtPmJhc2Uucm90YXRpb24pOwogCi0JaHNjYWxlID0gZHJtX3JlY3RfY2FsY19oc2Nh bGVfcmVsYXhlZChzcmMsIGRzdCwgbWluX3NjYWxlLCBtYXhfc2NhbGUpOworCWhzY2FsZSA9IGRy bV9yZWN0X2NhbGNfaHNjYWxlX3JlbGF4ZWQoc3JjLCBkc3QsIG1pbl9zY2FsZSwgMSA8PCAxNiwg bWF4X3NjYWxlKTsKIAlCVUdfT04oaHNjYWxlIDwgMCk7CiAKLQl2c2NhbGUgPSBkcm1fcmVjdF9j YWxjX3ZzY2FsZV9yZWxheGVkKHNyYywgZHN0LCBtaW5fc2NhbGUsIG1heF9zY2FsZSk7CisJdnNj YWxlID0gZHJtX3JlY3RfY2FsY192c2NhbGVfcmVsYXhlZChzcmMsIGRzdCwgbWluX3NjYWxlLCAx IDw8IDE2LCBtYXhfc2NhbGUpOwogCUJVR19PTih2c2NhbGUgPCAwKTsKIAogCWlmIChjcnRjX3N0 YXRlLT5iYXNlLmVuYWJsZSkKQEAgLTEwMTcsNyArMTAxNyw3IEBAIGludGVsX2NoZWNrX3Nwcml0 ZV9wbGFuZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAogCiAJaWYgKHN0YXRlLT5iYXNlLnZp c2libGUpIHsKIAkJLyogY2hlY2sgYWdhaW4gaW4gY2FzZSBjbGlwcGluZyBjbGFtcGVkIHRoZSBy ZXN1bHRzICovCi0JCWhzY2FsZSA9IGRybV9yZWN0X2NhbGNfaHNjYWxlKHNyYywgZHN0LCBtaW5f c2NhbGUsIG1heF9zY2FsZSk7CisJCWhzY2FsZSA9IGRybV9yZWN0X2NhbGNfaHNjYWxlKHNyYywg ZHN0LCBtaW5fc2NhbGUsIDEgPDwgMTYsIG1heF9zY2FsZSk7CiAJCWlmIChoc2NhbGUgPCAwKSB7 CiAJCQlEUk1fREVCVUdfS01TKCJIb3Jpem9udGFsIHNjYWxpbmcgZmFjdG9yIG91dCBvZiBsaW1p dHNcbiIpOwogCQkJZHJtX3JlY3RfZGVidWdfcHJpbnQoInNyYzogIiwgc3JjLCB0cnVlKTsKQEAg LTEwMjYsNyArMTAyNiw3IEBAIGludGVsX2NoZWNrX3Nwcml0ZV9wbGFuZShzdHJ1Y3QgaW50ZWxf cGxhbmUgKnBsYW5lLAogCQkJcmV0dXJuIGhzY2FsZTsKIAkJfQogCi0JCXZzY2FsZSA9IGRybV9y ZWN0X2NhbGNfdnNjYWxlKHNyYywgZHN0LCBtaW5fc2NhbGUsIG1heF9zY2FsZSk7CisJCXZzY2Fs ZSA9IGRybV9yZWN0X2NhbGNfdnNjYWxlKHNyYywgZHN0LCBtaW5fc2NhbGUsIDEgPDwgMTYsIG1h eF9zY2FsZSk7CiAJCWlmICh2c2NhbGUgPCAwKSB7CiAJCQlEUk1fREVCVUdfS01TKCJWZXJ0aWNh bCBzY2FsaW5nIGZhY3RvciBvdXQgb2YgbGltaXRzXG4iKTsKIAkJCWRybV9yZWN0X2RlYnVnX3By aW50KCJzcmM6ICIsIHNyYywgdHJ1ZSk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fcmVj dC5oIGIvaW5jbHVkZS9kcm0vZHJtX3JlY3QuaAppbmRleCA0NGJjMTIyYjllZTAuLmRiYjg2MzFh OTI4OCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX3JlY3QuaAorKysgYi9pbmNsdWRlL2Ry bS9kcm1fcmVjdC5oCkBAIC0xNzksMTYgKzE3OSwxNiBAQCBib29sIGRybV9yZWN0X2NsaXBfc2Nh bGVkKHN0cnVjdCBkcm1fcmVjdCAqc3JjLCBzdHJ1Y3QgZHJtX3JlY3QgKmRzdCwKIAkJCSAgaW50 IGhzY2FsZSwgaW50IHZzY2FsZSk7CiBpbnQgZHJtX3JlY3RfY2FsY19oc2NhbGUoY29uc3Qgc3Ry dWN0IGRybV9yZWN0ICpzcmMsCiAJCQkgY29uc3Qgc3RydWN0IGRybV9yZWN0ICpkc3QsCi0JCQkg aW50IG1pbl9oc2NhbGUsIGludCBtYXhfaHNjYWxlKTsKKwkJCSBpbnQgbWluX2hzY2FsZSwgaW50 IG1pZF9oc2NhbGUsIGludCBtYXhfaHNjYWxlKTsKIGludCBkcm1fcmVjdF9jYWxjX3ZzY2FsZShj b25zdCBzdHJ1Y3QgZHJtX3JlY3QgKnNyYywKIAkJCSBjb25zdCBzdHJ1Y3QgZHJtX3JlY3QgKmRz dCwKLQkJCSBpbnQgbWluX3ZzY2FsZSwgaW50IG1heF92c2NhbGUpOworCQkJIGludCBtaW5fdnNj YWxlLCBpbnQgbWlkX3ZzY2FsZSwgaW50IG1heF92c2NhbGUpOwogaW50IGRybV9yZWN0X2NhbGNf aHNjYWxlX3JlbGF4ZWQoc3RydWN0IGRybV9yZWN0ICpzcmMsCiAJCQkJIHN0cnVjdCBkcm1fcmVj dCAqZHN0LAotCQkJCSBpbnQgbWluX2hzY2FsZSwgaW50IG1heF9oc2NhbGUpOworCQkJCSBpbnQg bWluX2hzY2FsZSwgaW50IG1pZF9oc2NhbGUsIGludCBtYXhfaHNjYWxlKTsKIGludCBkcm1fcmVj dF9jYWxjX3ZzY2FsZV9yZWxheGVkKHN0cnVjdCBkcm1fcmVjdCAqc3JjLAogCQkJCSBzdHJ1Y3Qg ZHJtX3JlY3QgKmRzdCwKLQkJCQkgaW50IG1pbl92c2NhbGUsIGludCBtYXhfdnNjYWxlKTsKKwkJ CQkgaW50IG1pbl92c2NhbGUsIGludCBtaWRfdnNjYWxlLCBpbnQgbWF4X3ZzY2FsZSk7CiB2b2lk IGRybV9yZWN0X2RlYnVnX3ByaW50KGNvbnN0IGNoYXIgKnByZWZpeCwKIAkJCSAgY29uc3Qgc3Ry dWN0IGRybV9yZWN0ICpyLCBib29sIGZpeGVkX3BvaW50KTsKIHZvaWQgZHJtX3JlY3Rfcm90YXRl KHN0cnVjdCBkcm1fcmVjdCAqciwKLS0gCjIuMTcuMAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg==