From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v2 5/8] drm/i915/gen11: Program the scalers correctly for planar formats, v3. Date: Thu, 18 Oct 2018 13:51:31 +0200 Message-ID: <20181018115134.9061-6-maarten.lankhorst@linux.intel.com> References: <20181018115134.9061-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2D9926E07E for ; Thu, 18 Oct 2018 11:51:42 +0000 (UTC) In-Reply-To: <20181018115134.9061-1-maarten.lankhorst@linux.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 VGhlIGZpcnN0IDMgcGxhbmVzIChwcmltYXJ5LCBzcHJpdGUgMCBhbmQgMSkgaGF2ZSBhIGRlZGlj YXRlZCBjaHJvbWEKdXBzYW1wbGVyIHRvIHVwc2NhbGUgWVVWNDIwIHRvIFlVVjQ0NCBhbmQgdGhl IHNjYWxlciBzaG91bGQgb25seSBiZQp1c2VkIGZvciB1cHNjYWxpbmcuIEJlY2F1c2Ugb2YgdGhp cyB3ZSBzaG91bGRuJ3QgcHJvZ3JhbSB0aGUgc2NhbGVycwppbiBwbGFuYXIgbW9kZSBpZiBOVjEy IGFuZCB0aGUgY2hyb21hIHVwc2FtcGxlciBhcmUgdXNlZC4gSW5zdGVhZApwcm9ncmFtIHRoZSBz Y2FsZXJzIGxpa2Ugb24gbm9ybWFsIHBsYW5lcy4KClNwcml0ZSAyIGFuZCAzIGhhdmUgbm8gZGVk aWNhdGVkIHNjYWxlciwgYW5kIG5lZWQgdG8gcHJvZ3JhbSB0aGUKc2VsZWN0ZWQgWSBwbGFuZSBp biB0aGUgc2NhbGVyIG1vZGUuCgpDaGFuZ2VzIHNpbmNlIHYxOgotIE1ha2UgdGhlIGNvbW1lbnQg bGVzcyBjb25mdXNpbmcuCkNoYW5nZXMgc2luY2UgdjI6Ci0gRml4IGNoZWNrcGF0Y2ggd2Fybmlu ZyAoTWF0dCkKLSBnZW4xMC0gLT4gUHJlLWdlbjExIChWaWxsZSkKLSBQU19TQ0FMRVJfTU9ERV9Q QUNLRUQgLT4gUFNfU0NBTEVSX01PREVfTk9STUFMLiAoTWF0dCkKLSBBZGQgY29tbWVudCBhYm91 dCBzY2FsZXIgbW9kZSBpbiBpbnRlbF9hdG9taWNfc2V0dXBfc2NhbGVyKCkuIChNYXR0KQotIFJl bmFtZSBuZWVkX3NjYWxpbmcgdG8gbmVlZF9zY2FsZXIuIChNYXR0KQotIE1vdmUgdGhlIGNydGMg bmVlZF9zY2FsaW5nIGNoZWNrIHRvIHNrbF91cGRhdGVfc2NhbGVyX2NydGMoKS4KClNpZ25lZC1v ZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgIHwgIDQgKystCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYyAgfCAxNiArKysrKysrKystLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDM3ICsrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICA4ICsr KysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgIHwgIDMgKystCiA1IGZp bGVzIGNoYW5nZWQsIDQ0IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3JlZy5oCmluZGV4IDgxZjFjNjAxOTg3ZC4uOGE4MWU3YzJmZTI1IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVnLmgKQEAgLTY4MTksNyArNjgxOSw3IEBAIGVudW0gewogI2RlZmluZSBTS0xf UFNfU0NBTEVSX01PREVfSFEgICgxIDw8IDI4KQogI2RlZmluZSBTS0xfUFNfU0NBTEVSX01PREVf TlYxMiAoMiA8PCAyOCkKICNkZWZpbmUgUFNfU0NBTEVSX01PREVfUExBTkFSICgxIDw8IDI5KQot I2RlZmluZSBQU19TQ0FMRVJfTU9ERV9QQUNLRUQgKDAgPDwgMjkpCisjZGVmaW5lIFBTX1NDQUxF Ul9NT0RFX05PUk1BTCAoMCA8PCAyOSkKICNkZWZpbmUgUFNfUExBTkVfU0VMX01BU0sgICg3IDw8 IDI1KQogI2RlZmluZSBQU19QTEFORV9TRUwocGxhbmUpICgoKHBsYW5lKSArIDEpIDw8IDI1KQog I2RlZmluZSBQU19GSUxURVJfTUFTSyAgICAgICAgICgzIDw8IDIzKQpAQCAtNjgzNiw2ICs2ODM2 LDggQEAgZW51bSB7CiAjZGVmaW5lIFBTX1ZBREFQVF9NT0RFX0xFQVNUX0FEQVBUICgwIDw8IDUp CiAjZGVmaW5lIFBTX1ZBREFQVF9NT0RFX01PRF9BREFQVCAgICgxIDw8IDUpCiAjZGVmaW5lIFBT X1ZBREFQVF9NT0RFX01PU1RfQURBUFQgICgzIDw8IDUpCisjZGVmaW5lIFBTX1BMQU5FX1lfU0VM X01BU0sgICg3IDw8IDUpCisjZGVmaW5lIFBTX1BMQU5FX1lfU0VMKHBsYW5lKSAoKChwbGFuZSkg KyAxKSA8PCA1KQogCiAjZGVmaW5lIF9QU19QV1JfR0FURV8xQSAgICAgMHg2ODE2MAogI2RlZmlu ZSBfUFNfUFdSX0dBVEVfMkEgICAgIDB4NjgyNjAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWlj LmMKaW5kZXggMjBiZmM4OWM2NTJjLi43MjM4YWI2MTU1NDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2F0b21pYy5jCkBAIC0yMzMsMTMgKzIzMywyMyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9hdG9t aWNfc2V0dXBfc2NhbGVyKHN0cnVjdCBpbnRlbF9jcnRjX3NjYWxlcl9zdGF0ZSAqc2NhbGVyX3N0 YQogCSAgICBwbGFuZV9zdGF0ZS0+YmFzZS5mYi0+Zm9ybWF0LT5pc195dXYgJiYKIAkgICAgcGxh bmVfc3RhdGUtPmJhc2UuZmItPmZvcm1hdC0+bnVtX3BsYW5lcyA+IDEpIHsKIAkJaWYgKElOVEVM X0dFTihkZXZfcHJpdikgPT0gOSAmJgotCQkgICAgIUlTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQor CQkgICAgIUlTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKSB7CiAJCQltb2RlID0gU0tMX1BTX1NDQUxF Ul9NT0RFX05WMTI7Ci0JCWVsc2UKKwkJfSBlbHNlIGlmIChpY2xfaXNfaGRyX3BsYW5lKHRvX2lu dGVsX3BsYW5lKHBsYW5lX3N0YXRlLT5iYXNlLnBsYW5lKSkpIHsKKwkJCS8qCisJCQkgKiBPbiBn ZW4xMSsncyBIRFIgcGxhbmVzIHdlIG9ubHkgdXNlIHRoZSBzY2FsZXIgZm9yCisJCQkgKiBzY2Fs aW5nLiBUaGV5IGhhdmUgYSBkZWRpY2F0ZWQgY2hyb21hIHVwc2FtcGxlciwgc28KKwkJCSAqIHdl IGRvbid0IG5lZWQgdGhlIHNjYWxlciB0byB1cHNhbXBsZSB0aGUgVVYgcGxhbmUuCisJCQkgKi8K KwkJCW1vZGUgPSBQU19TQ0FMRVJfTU9ERV9OT1JNQUw7CisJCX0gZWxzZSB7CiAJCQltb2RlID0g UFNfU0NBTEVSX01PREVfUExBTkFSOwogCisJCQlpZiAocGxhbmVfc3RhdGUtPmxpbmtlZF9wbGFu ZSkKKwkJCQltb2RlIHw9IFBTX1BMQU5FX1lfU0VMKHBsYW5lX3N0YXRlLT5saW5rZWRfcGxhbmUt PmlkKTsKKwkJfQogCX0gZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+IDkgfHwgSVNfR0VN SU5JTEFLRShkZXZfcHJpdikpIHsKLQkJbW9kZSA9IFBTX1NDQUxFUl9NT0RFX1BBQ0tFRDsKKwkJ bW9kZSA9IFBTX1NDQUxFUl9NT0RFX05PUk1BTDsKIAl9IGVsc2UgaWYgKG51bV9zY2FsZXJzX25l ZWQgPT0gMSAmJiBpbnRlbF9jcnRjLT5udW1fc2NhbGVycyA+IDEpIHsKIAkJLyoKIAkJICogd2hl biBvbmx5IDEgc2NhbGVyIGlzIGluIHVzZSBvbiBhIHBpcGUgd2l0aCAyIHNjYWxlcnMKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCBjYmIzZmIxZDVhZDQuLjU5OTcwOTcxNzdl OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtNDgzNiw4ICs0ODM2LDcg QEAgc3RhdGljIGludAogc2tsX3VwZGF0ZV9zY2FsZXIoc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUsIGJvb2wgZm9yY2VfZGV0YWNoLAogCQkgIHVuc2lnbmVkIGludCBzY2FsZXJf dXNlciwgaW50ICpzY2FsZXJfaWQsCiAJCSAgaW50IHNyY193LCBpbnQgc3JjX2gsIGludCBkc3Rf dywgaW50IGRzdF9oLAotCQkgIGJvb2wgcGxhbmVfc2NhbGVyX2NoZWNrLAotCQkgIHVpbnQzMl90 IHBpeGVsX2Zvcm1hdCkKKwkJICBjb25zdCBzdHJ1Y3QgZHJtX2Zvcm1hdF9pbmZvICpmb3JtYXQs IGJvb2wgbmVlZF9zY2FsZXIpCiB7CiAJc3RydWN0IGludGVsX2NydGNfc2NhbGVyX3N0YXRlICpz Y2FsZXJfc3RhdGUgPQogCQkmY3J0Y19zdGF0ZS0+c2NhbGVyX3N0YXRlOwpAQCAtNDg0NiwyMiAr NDg0NSwxNCBAQCBza2xfdXBkYXRlX3NjYWxlcihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSwgYm9vbCBmb3JjZV9kZXRhY2gsCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShpbnRlbF9jcnRjLT5iYXNlLmRldik7CiAJY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQogCQkmY3J0Y19zdGF0ZS0+YmFzZS5hZGp1 c3RlZF9tb2RlOwotCWludCBuZWVkX3NjYWxpbmc7CiAKIAkvKgogCSAqIFNyYyBjb29yZGluYXRl cyBhcmUgYWxyZWFkeSByb3RhdGVkIGJ5IDI3MCBkZWdyZWVzIGZvcgogCSAqIHRoZSA5MC8yNzAg ZGVncmVlIHBsYW5lIHJvdGF0aW9uIGNhc2VzICh0byBtYXRjaCB0aGUKIAkgKiBHVFQgbWFwcGlu ZyksIGhlbmNlIG5vIG5lZWQgdG8gYWNjb3VudCBmb3Igcm90YXRpb24gaGVyZS4KIAkgKi8KLQlu ZWVkX3NjYWxpbmcgPSBzcmNfdyAhPSBkc3RfdyB8fCBzcmNfaCAhPSBkc3RfaDsKLQotCWlmIChw bGFuZV9zY2FsZXJfY2hlY2spCi0JCWlmIChwaXhlbF9mb3JtYXQgPT0gRFJNX0ZPUk1BVF9OVjEy KQotCQkJbmVlZF9zY2FsaW5nID0gdHJ1ZTsKLQotCWlmIChjcnRjX3N0YXRlLT5vdXRwdXRfZm9y bWF0ID09IElOVEVMX09VVFBVVF9GT1JNQVRfWUNCQ1I0MjAgJiYKLQkgICAgc2NhbGVyX3VzZXIg PT0gU0tMX0NSVENfSU5ERVgpCi0JCW5lZWRfc2NhbGluZyA9IHRydWU7CisJaWYgKHNyY193ICE9 IGRzdF93IHx8IHNyY19oICE9IGRzdF9oKQorCQluZWVkX3NjYWxlciA9IHRydWU7CiAKIAkvKgog CSAqIFNjYWxpbmcvZml0dGluZyBub3Qgc3VwcG9ydGVkIGluIElGLUlEIG1vZGUgaW4gR0VOOSsK QEAgLTQ4NzAsNyArNDg2MSw3IEBAIHNrbF91cGRhdGVfc2NhbGVyKHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlLCBib29sIGZvcmNlX2RldGFjaCwKIAkgKiBmb3IgTlYxMi4KIAkg Ki8KIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5ICYmIGNydGNfc3RhdGUtPmJhc2UuZW5h YmxlICYmCi0JICAgIG5lZWRfc2NhbGluZyAmJiBhZGp1c3RlZF9tb2RlLT5mbGFncyAmIERSTV9N T0RFX0ZMQUdfSU5URVJMQUNFKSB7CisJICAgIG5lZWRfc2NhbGVyICYmIGFkanVzdGVkX21vZGUt PmZsYWdzICYgRFJNX01PREVfRkxBR19JTlRFUkxBQ0UpIHsKIAkJRFJNX0RFQlVHX0tNUygiUGlw ZS9QbGFuZSBzY2FsaW5nIG5vdCBzdXBwb3J0ZWQgd2l0aCBJRi1JRCBtb2RlXG4iKTsKIAkJcmV0 dXJuIC1FSU5WQUw7CiAJfQpAQCAtNDg4NSw3ICs0ODc2LDcgQEAgc2tsX3VwZGF0ZV9zY2FsZXIo c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsIGJvb2wgZm9yY2VfZGV0YWNoLAog CSAqIHVwZGF0ZSB0byBmcmVlIHRoZSBzY2FsZXIgaXMgZG9uZSBpbiBwbGFuZS9wYW5lbC1maXQg cHJvZ3JhbW1pbmcuCiAJICogRm9yIHRoaXMgcHVycG9zZSBjcnRjL3BsYW5lX3N0YXRlLT5zY2Fs ZXJfaWQgaXNuJ3QgcmVzZXQgaGVyZS4KIAkgKi8KLQlpZiAoZm9yY2VfZGV0YWNoIHx8ICFuZWVk X3NjYWxpbmcpIHsKKwlpZiAoZm9yY2VfZGV0YWNoIHx8ICFuZWVkX3NjYWxlcikgewogCQlpZiAo KnNjYWxlcl9pZCA+PSAwKSB7CiAJCQlzY2FsZXJfc3RhdGUtPnNjYWxlcl91c2VycyAmPSB+KDEg PDwgc2NhbGVyX3VzZXIpOwogCQkJc2NhbGVyX3N0YXRlLT5zY2FsZXJzWypzY2FsZXJfaWRdLmlu X3VzZSA9IDA7CkBAIC00ODk5LDcgKzQ4OTAsNyBAQCBza2xfdXBkYXRlX3NjYWxlcihzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwgYm9vbCBmb3JjZV9kZXRhY2gsCiAJCXJldHVy biAwOwogCX0KIAotCWlmIChwbGFuZV9zY2FsZXJfY2hlY2sgJiYgcGl4ZWxfZm9ybWF0ID09IERS TV9GT1JNQVRfTlYxMiAmJgorCWlmIChmb3JtYXQgJiYgZm9ybWF0LT5mb3JtYXQgPT0gRFJNX0ZP Uk1BVF9OVjEyICYmCiAJICAgIChzcmNfaCA8IFNLTF9NSU5fWVVWXzQyMF9TUkNfSCB8fCBzcmNf dyA8IFNLTF9NSU5fWVVWXzQyMF9TUkNfVykpIHsKIAkJRFJNX0RFQlVHX0tNUygiTlYxMjogc3Jj IGRpbWVuc2lvbnMgbm90IG1ldFxuIik7CiAJCXJldHVybiAtRUlOVkFMOwpAQCAtNDk0MiwxMiAr NDkzMywxNiBAQCBza2xfdXBkYXRlX3NjYWxlcihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSwgYm9vbCBmb3JjZV9kZXRhY2gsCiBpbnQgc2tsX3VwZGF0ZV9zY2FsZXJfY3J0Yyhz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqc3RhdGUpCiB7CiAJY29uc3Qgc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKmFkanVzdGVkX21vZGUgPSAmc3RhdGUtPmJhc2UuYWRqdXN0ZWRfbW9kZTsKKwli b29sIG5lZWRfc2NhbGVyID0gZmFsc2U7CisKKwlpZiAoc3RhdGUtPm91dHB1dF9mb3JtYXQgPT0g SU5URUxfT1VUUFVUX0ZPUk1BVF9ZQ0JDUjQyMCkKKwkJbmVlZF9zY2FsZXIgPSB0cnVlOwogCiAJ cmV0dXJuIHNrbF91cGRhdGVfc2NhbGVyKHN0YXRlLCAhc3RhdGUtPmJhc2UuYWN0aXZlLCBTS0xf Q1JUQ19JTkRFWCwKIAkJCQkgJnN0YXRlLT5zY2FsZXJfc3RhdGUuc2NhbGVyX2lkLAogCQkJCSBz dGF0ZS0+cGlwZV9zcmNfdywgc3RhdGUtPnBpcGVfc3JjX2gsCiAJCQkJIGFkanVzdGVkX21vZGUt PmNydGNfaGRpc3BsYXksCi0JCQkJIGFkanVzdGVkX21vZGUtPmNydGNfdmRpc3BsYXksIGZhbHNl LCAwKTsKKwkJCQkgYWRqdXN0ZWRfbW9kZS0+Y3J0Y192ZGlzcGxheSwgTlVMTCwgbmVlZF9zY2Fs ZXIpOwogfQogCiAvKioKQEAgLTQ5NjIsMTMgKzQ5NTcsMTcgQEAgaW50IHNrbF91cGRhdGVfc2Nh bGVyX2NydGMoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnN0YXRlKQogc3RhdGljIGludCBza2xf dXBkYXRlX3NjYWxlcl9wbGFuZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwK IAkJCQkgICBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQogewotCiAJc3Ry dWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFuZSA9CiAJCXRvX2ludGVsX3BsYW5lKHBsYW5lX3N0 YXRlLT5iYXNlLnBsYW5lKTsKIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHBsYW5lX3N0 YXRlLT5iYXNlLmZiOwogCWludCByZXQ7Ci0KIAlib29sIGZvcmNlX2RldGFjaCA9ICFmYiB8fCAh cGxhbmVfc3RhdGUtPmJhc2UudmlzaWJsZTsKKwlib29sIG5lZWRfc2NhbGVyID0gZmFsc2U7CisK KwkvKiBQcmUtZ2VuMTEgYW5kIFNEUiBwbGFuZXMgYWx3YXlzIG5lZWQgYSBzY2FsZXIgZm9yIHBs YW5hciBmb3JtYXRzLiAqLworCWlmICghaWNsX2lzX2hkcl9wbGFuZShpbnRlbF9wbGFuZSkgJiYK KwkgICAgZmIgJiYgZmItPmZvcm1hdC0+Zm9ybWF0ID09IERSTV9GT1JNQVRfTlYxMikKKwkJbmVl ZF9zY2FsZXIgPSB0cnVlOwogCiAJcmV0ID0gc2tsX3VwZGF0ZV9zY2FsZXIoY3J0Y19zdGF0ZSwg Zm9yY2VfZGV0YWNoLAogCQkJCWRybV9wbGFuZV9pbmRleCgmaW50ZWxfcGxhbmUtPmJhc2UpLApA QCAtNDk3Nyw3ICs0OTc2LDcgQEAgc3RhdGljIGludCBza2xfdXBkYXRlX3NjYWxlcl9wbGFuZShz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQlkcm1fcmVjdF9oZWlnaHQo JnBsYW5lX3N0YXRlLT5iYXNlLnNyYykgPj4gMTYsCiAJCQkJZHJtX3JlY3Rfd2lkdGgoJnBsYW5l X3N0YXRlLT5iYXNlLmRzdCksCiAJCQkJZHJtX3JlY3RfaGVpZ2h0KCZwbGFuZV9zdGF0ZS0+YmFz ZS5kc3QpLAotCQkJCWZiID8gdHJ1ZSA6IGZhbHNlLCBmYiA/IGZiLT5mb3JtYXQtPmZvcm1hdCA6 IDApOworCQkJCWZiID8gZmItPmZvcm1hdCA6IE5VTEwsIG5lZWRfc2NhbGVyKTsKIAogCWlmIChy ZXQgfHwgcGxhbmVfc3RhdGUtPnNjYWxlcl9pZCA8IDApCiAJCXJldHVybiByZXQ7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oCmluZGV4IDI3MmRlOTA2YTAwMS4uZjFkMTk2YmNkYjY2IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtMjIxMSw2ICsyMjExLDE0IEBAIHN0YXRpYyBpbmxpbmUg Ym9vbCBpY2xfaXNfbnYxMl95X3BsYW5lKGVudW0gcGxhbmVfaWQgaWQpCiAJcmV0dXJuIGZhbHNl OwogfQogCitzdGF0aWMgaW5saW5lIGJvb2wgaWNsX2lzX2hkcl9wbGFuZShzdHJ1Y3QgaW50ZWxf cGxhbmUgKnBsYW5lKQoreworCWlmIChJTlRFTF9HRU4odG9faTkxNShwbGFuZS0+YmFzZS5kZXYp KSA8IDExKQorCQlyZXR1cm4gZmFsc2U7CisKKwlyZXR1cm4gcGxhbmUtPmlkIDwgUExBTkVfU1BS SVRFMjsKK30KKwogLyogaW50ZWxfdHYuYyAqLwogdm9pZCBpbnRlbF90dl9pbml0KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRl LmMKaW5kZXggN2NkNTllZWU1Y2FkLi5hMmE0MzI4MTA3YjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3Nwcml0ZS5jCkBAIC0zMzIsNyArMzMyLDggQEAgc2tsX3Byb2dyYW1fc2NhbGVyKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAljcnRjX2gtLTsKIAogCS8qIFRPRE86IGhh bmRsZSBzdWItcGl4ZWwgY29vcmRpbmF0ZXMgKi8KLQlpZiAocGxhbmVfc3RhdGUtPmJhc2UuZmIt PmZvcm1hdC0+Zm9ybWF0ID09IERSTV9GT1JNQVRfTlYxMikgeworCWlmIChwbGFuZV9zdGF0ZS0+ YmFzZS5mYi0+Zm9ybWF0LT5mb3JtYXQgPT0gRFJNX0ZPUk1BVF9OVjEyICYmCisJICAgICFpY2xf aXNfaGRyX3BsYW5lKHBsYW5lKSkgewogCQl5X2hwaGFzZSA9IHNrbF9zY2FsZXJfY2FsY19waGFz ZSgxLCBmYWxzZSk7CiAJCXlfdnBoYXNlID0gc2tsX3NjYWxlcl9jYWxjX3BoYXNlKDEsIGZhbHNl KTsKIAotLSAKMi4xOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK