From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Anholt Subject: [PATCH 2/2 v2] drm/vc4: Fix support for interlaced modes on HDMI. Date: Thu, 29 Sep 2016 15:22:26 -0700 Message-ID: <20160929222226.15445-1-eric@anholt.net> References: <87vaxfe7s3.fsf@eliezer.anholt.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from anholt.net (anholt.net [50.246.234.109]) by gabe.freedesktop.org (Postfix) with ESMTP id E781D6E939 for ; Thu, 29 Sep 2016 22:22:48 +0000 (UTC) In-Reply-To: <87vaxfe7s3.fsf@eliezer.anholt.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org V2UgcmVhbGx5IGRvIG5lZWQgdG8gYmUgdXNpbmcgdGhlIGhhbHZlZCBWIGZpZWxkcy4gIEkgaGFk IGJlZW4KY29uZnVzZWQgYnkgdGhlIGNvZGUgSSB3YXMgdXNpbmcgYXMgYSByZWZlcmVuY2UgYmVj YXVzZSBpdCBzdG9yZWQKaGFsdmVkIHZzeW5jIGZpZWxkcyBidXQgbm90IGhhbHZlZCB2ZGlzcGxh eSwgc28gaXQgbG9va2VkIGxpa2UgSSBvbmx5Cm5lZWRlZCB0byBkaXZpZGUgdmRpc3BsYXkgYnkg Mi4KClRoaXMgcmV2ZXJ0cyBwYXJ0IG9mIE1hcmlvJ3MgdGltZXN0YW1waW5nIGZpeGVzIHRoYXQg cHJldmVudGVkCkNSVENfSEFMVkVfViBmcm9tIGFwcGx5aW5nLCBhbmQgaW5zdGVhZCBhZGp1c3Rz IHRoZSB0aW1lc3RhbXBpbmcgY29kZQp0byBub3QgdXNlIHRoZSBjcnRjIGZpZWxkIGluIHRoYXQg Y2FzZS4KCkZpeGVzIGxvY2tpbmcgb2YgMTkyMHgxMDgweDYwaSBvbiBteSBEZWxsIDI0MDhXRlAu ICBUaGVyZSBhcmUgYmxhY2sKYmFycyBvbiB0aGUgdG9wIGFuZCBib3R0b20sIGJ1dCBJIHN1c3Bl Y3QgdGhhdCBtaWdodCBiZSBhbgp1bmRlci9vdmVyc2NhbiBmbGFncyBwcm9ibGVtIGFzIG9wcG9z ZWQgdG8gdmlkZW8gdGltaW5ncy4KClNpZ25lZC1vZmYtYnk6IEVyaWMgQW5ob2x0IDxlcmljQGFu aG9sdC5uZXQ+Ci0tLQoKQWZ0ZXIgbm90aW5nIHRoYXQgd2Ugb25seSB1c2VkIHRoZSBvbmUgaGFs dmVkIGZpZWxkIGxhc3QgbmlnaHQgYW5kCnNwZW5kaW5nIHNvbWUgbW9yZSBvZiB0b2RheSBkZWJ1 Z2dpbmcgaW50ZXJsYWNlZCBtb2RlcywgSSB3ZW50IGFuZApsb29rZWQgYW5kIGFwcGFyZW50bHkg dGhlIFBWIGFuZCBIRE1JICpkbyogd2FudCBDUlRDX0lOVEVSTEFDRV9IQUxWRV9WCmJlaGF2aW9y LiAgVGhpcyBkb2Vzbid0IGZpeCB0aGUgcHJvYmxlbXMgSSBoYWQsIGJ1dCBpdCBzaG91bGQgY29y cmVjdApvdXIgdGltaW5ncywgYW5kIGFsc28gc2ltcGxpZmllcyB0aGluZ3MgYW5kIG1ha2VzIHVz IGxvb2sgbW9yZSBsaWtlCm90aGVyIGRyaXZlcnMuCgogZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRf Y3J0Yy5jIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiBk cml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9oZG1pLmMgfCA0NSArKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcmVncy5oIHwgIDMgKysr CiAzIGZpbGVzIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDU2IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2Ry bS92YzQvdmM0X2NydGMuYwppbmRleCAyNjgyZjA3ZDhmMWUuLjgzY2FmZWEwM2VmZiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS92YzQvdmM0X2NydGMuYwpAQCAtMjI5LDcgKzIyOSw3IEBAIGludCB2YzRfY3J0Y19nZXRfc2Nh bm91dHBvcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgY3J0Y19pZCwKIAkg KiBhbmQgbmVlZCB0byBtYWtlIHRoaW5ncyB1cCBpbiBhIGFwcHJveGltYXRpdmUgYnV0IGNvbnNp c3RlbnQgd2F5LgogCSAqLwogCXJldCB8PSBEUk1fU0NBTk9VVFBPU19JTl9WQkxBTks7Ci0JdmJs YW5rX2xpbmVzID0gbW9kZS0+Y3J0Y192dG90YWwgLSBtb2RlLT5jcnRjX3ZkaXNwbGF5OworCXZi bGFua19saW5lcyA9IG1vZGUtPnZ0b3RhbCAtIG1vZGUtPnZkaXNwbGF5OwogCiAJaWYgKGZsYWdz ICYgRFJNX0NBTExFRF9GUk9NX1ZCTElSUSkgewogCQkvKgpAQCAtMzc4LDcgKzM3OCw2IEBAIHN0 YXRpYyB2b2lkIHZjNF9jcnRjX21vZGVfc2V0X25vZmIoc3RydWN0IGRybV9jcnRjICpjcnRjKQog CXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUgPSBjcnRjLT5zdGF0ZTsKIAlzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqbW9kZSA9ICZzdGF0ZS0+YWRqdXN0ZWRfbW9kZTsKIAlib29sIGludGVy bGFjZSA9IG1vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR19JTlRFUkxBQ0U7Ci0JdTMyIHZhY3Rp dmUgPSAobW9kZS0+dmRpc3BsYXkgPj4gKGludGVybGFjZSA/IDEgOiAwKSk7CiAJdTMyIGZvcm1h dCA9IFBWX0NPTlRST0xfRk9STUFUXzI0OwogCWJvb2wgZGVidWdfZHVtcF9yZWdzID0gZmFsc2U7 CiAJaW50IGNsb2NrX3NlbGVjdCA9IHZjNF9nZXRfY2xvY2tfc2VsZWN0KGNydGMpOwpAQCAtNDA0 LDMyICs0MDMsNDYgQEAgc3RhdGljIHZvaWQgdmM0X2NydGNfbW9kZV9zZXRfbm9mYihzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMpCiAJCSAgIFZDNF9TRVRfRklFTEQobW9kZS0+aGRpc3BsYXksIFBWX0hP UlpCX0hBQ1RJVkUpKTsKIAogCUNSVENfV1JJVEUoUFZfVkVSVEEsCi0JCSAgIFZDNF9TRVRfRklF TEQobW9kZS0+dnRvdGFsIC0gbW9kZS0+dnN5bmNfZW5kLAorCQkgICBWQzRfU0VUX0ZJRUxEKG1v ZGUtPmNydGNfdnRvdGFsIC0gbW9kZS0+Y3J0Y192c3luY19lbmQsCiAJCQkJIFBWX1ZFUlRBX1ZC UCkgfAotCQkgICBWQzRfU0VUX0ZJRUxEKG1vZGUtPnZzeW5jX2VuZCAtIG1vZGUtPnZzeW5jX3N0 YXJ0LAorCQkgICBWQzRfU0VUX0ZJRUxEKG1vZGUtPmNydGNfdnN5bmNfZW5kIC0gbW9kZS0+Y3J0 Y192c3luY19zdGFydCwKIAkJCQkgUFZfVkVSVEFfVlNZTkMpKTsKIAlDUlRDX1dSSVRFKFBWX1ZF UlRCLAotCQkgICBWQzRfU0VUX0ZJRUxEKG1vZGUtPnZzeW5jX3N0YXJ0IC0gbW9kZS0+dmRpc3Bs YXksCisJCSAgIFZDNF9TRVRfRklFTEQobW9kZS0+Y3J0Y192c3luY19zdGFydCAtIG1vZGUtPmNy dGNfdmRpc3BsYXksCiAJCQkJIFBWX1ZFUlRCX1ZGUCkgfAotCQkgICBWQzRfU0VUX0ZJRUxEKHZh Y3RpdmUsIFBWX1ZFUlRCX1ZBQ1RJVkUpKTsKKwkJICAgVkM0X1NFVF9GSUVMRChtb2RlLT5jcnRj X3ZkaXNwbGF5LCBQVl9WRVJUQl9WQUNUSVZFKSk7CiAKIAlpZiAoaW50ZXJsYWNlKSB7CiAJCUNS VENfV1JJVEUoUFZfVkVSVEFfRVZFTiwKLQkJCSAgIFZDNF9TRVRfRklFTEQobW9kZS0+dnRvdGFs IC0gbW9kZS0+dnN5bmNfZW5kIC0gMSwKKwkJCSAgIFZDNF9TRVRfRklFTEQobW9kZS0+Y3J0Y192 dG90YWwgLQorCQkJCQkgbW9kZS0+Y3J0Y192c3luY19lbmQgLSAxLAogCQkJCQkgUFZfVkVSVEFf VkJQKSB8Ci0JCQkgICBWQzRfU0VUX0ZJRUxEKG1vZGUtPnZzeW5jX2VuZCAtIG1vZGUtPnZzeW5j X3N0YXJ0LAorCQkJICAgVkM0X1NFVF9GSUVMRChtb2RlLT5jcnRjX3ZzeW5jX2VuZCAtCisJCQkJ CSBtb2RlLT5jcnRjX3ZzeW5jX3N0YXJ0LAogCQkJCQkgUFZfVkVSVEFfVlNZTkMpKTsKIAkJQ1JU Q19XUklURShQVl9WRVJUQl9FVkVOLAotCQkJICAgVkM0X1NFVF9GSUVMRChtb2RlLT52c3luY19z dGFydCAtIG1vZGUtPnZkaXNwbGF5LAorCQkJICAgVkM0X1NFVF9GSUVMRChtb2RlLT5jcnRjX3Zz eW5jX3N0YXJ0IC0KKwkJCQkJIG1vZGUtPmNydGNfdmRpc3BsYXksCiAJCQkJCSBQVl9WRVJUQl9W RlApIHwKLQkJCSAgIFZDNF9TRVRfRklFTEQodmFjdGl2ZSwgUFZfVkVSVEJfVkFDVElWRSkpOwor CQkJICAgVkM0X1NFVF9GSUVMRChtb2RlLT5jcnRjX3ZkaXNwbGF5LCBQVl9WRVJUQl9WQUNUSVZF KSk7CisKKwkJLyogV2Ugc2V0IHVwIGZpcnN0IGZpZWxkIGV2ZW4gbW9kZSBmb3IgSERNSS4gIFZF QydzCisJCSAqIE5UU0MgbW9kZSB3b3VsZCB3YW50IGZpcnN0IGZpZWxkIG9kZCBpbnN0ZWFkLCBv bmNlCisJCSAqIHdlIHN1cHBvcnQgaXQgKHRvIGRvIHNvLCBzZXQgT0REX0ZJUlNUIGFuZCBwdXQg dGhlCisJCSAqIGRlbGF5IGluIFZTWU5DRF9FVkVOIGluc3RlYWQpLgorCQkgKi8KKwkJQ1JUQ19X UklURShQVl9WX0NPTlRST0wsCisJCQkgICBQVl9WQ09OVFJPTF9DT05USU5VT1VTIHwKKwkJCSAg IFBWX1ZDT05UUk9MX0lOVEVSTEFDRSB8CisJCQkgICBWQzRfU0VUX0ZJRUxEKG1vZGUtPmh0b3Rh bCAvIDIsCisJCQkJCSBQVl9WQ09OVFJPTF9PRERfREVMQVkpKTsKKwkJQ1JUQ19XUklURShQVl9W U1lOQ0RfRVZFTiwgMCk7CisJfSBlbHNlIHsKKwkJQ1JUQ19XUklURShQVl9WX0NPTlRST0wsIFBW X1ZDT05UUk9MX0NPTlRJTlVPVVMpOwogCX0KIAogCUNSVENfV1JJVEUoUFZfSEFDVF9BQ1QsIG1v ZGUtPmhkaXNwbGF5KTsKIAotCUNSVENfV1JJVEUoUFZfVl9DT05UUk9MLAotCQkgICBQVl9WQ09O VFJPTF9DT05USU5VT1VTIHwKLQkJICAgKGludGVybGFjZSA/IFBWX1ZDT05UUk9MX0lOVEVSTEFD RSA6IDApKTsKIAogCUNSVENfV1JJVEUoUFZfQ09OVFJPTCwKIAkJICAgVkM0X1NFVF9GSUVMRChm b3JtYXQsIFBWX0NPTlRST0xfRk9STUFUKSB8CkBAIC01NDQsMTYgKzU1Nyw2IEBAIHN0YXRpYyBi b29sIHZjNF9jcnRjX21vZGVfZml4dXAoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQlyZXR1cm4g ZmFsc2U7CiAJfQogCi0JLyoKLQkgKiBJbnRlcmxhY2VkIHZpZGVvIG1vZGVzIGdvdCBDUlRDX0lO VEVSTEFDRV9IQUxWRV9WIGFwcGxpZWQgd2hlbgotCSAqIGNvbWluZyBmcm9tIHVzZXIgc3BhY2Uu IFdlIGRvbid0IHdhbnQgdGhpcywgYXMgaXQgc2NyZXdzIHVwCi0JICogdmJsYW5rIHRpbWVzdGFt cGluZywgc28gZml4IGl0IHVwLgotCSAqLwotCWRybV9tb2RlX3NldF9jcnRjaW5mbyhhZGp1c3Rl ZF9tb2RlLCAwKTsKLQotCURSTV9ERUJVR19LTVMoIltDUlRDOiVkXSBhZGp1c3RlZF9tb2RlIDpc biIsIGNydGMtPmJhc2UuaWQpOwotCWRybV9tb2RlX2RlYnVnX3ByaW50bW9kZWxpbmUoYWRqdXN0 ZWRfbW9kZSk7Ci0KIAlyZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3ZjNC92YzRfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfaGRtaS5jCmluZGV4 IGZlMWM0ZTM1ZTY4MS4uZDk0MTA4Y2E5NjFkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v dmM0L3ZjNF9oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfaGRtaS5jCkBAIC0y MTEsMzUgKzIxMSwxMCBAQCBzdGF0aWMgaW50IHZjNF9oZG1pX2Nvbm5lY3Rvcl9nZXRfbW9kZXMo c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlyZXR1cm4gcmV0OwogfQogCi0vKgot ICogZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVfY29ubmVjdG9yX21vZGVzKCkgYXBwbGllcyBkcm1f bW9kZV9zZXRfY3J0Y2luZm8gdG8KLSAqIGFsbCBtb2RlcyB3aXRoIGZsYWcgQ1JUQ19JTlRFUkxB Q0VfSEFMVkVfVi4gV2UgZG9uJ3Qgd2FudCB0aGlzLCBhcyBpdAotICogc2NyZXdzIHVwIHZibGFu ayB0aW1lc3RhbXBpbmcgZm9yIGludGVybGFjZWQgbW9kZXMsIHNvIGZpeCBpdCB1cC4KLSAqLwot c3RhdGljIGludCB2YzRfaGRtaV9jb25uZWN0b3JfcHJvYmVfbW9kZXMoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvciwKLQkJCQkJICB1aW50MzJfdCBtYXhYLCB1aW50MzJfdCBtYXhZKQot ewotCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlOwotCWludCBjb3VudDsKLQotCWNvdW50 ID0gZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVfY29ubmVjdG9yX21vZGVzKGNvbm5lY3RvciwgbWF4 WCwgbWF4WSk7Ci0JaWYgKGNvdW50ID09IDApCi0JCXJldHVybiAwOwotCi0JRFJNX0RFQlVHX0tN UygiW0NPTk5FQ1RPUjolZDolc10gcHJvYmVkIGFkYXB0ZWQgbW9kZXMgOlxuIiwKLQkJICAgICAg Y29ubmVjdG9yLT5iYXNlLmlkLCBjb25uZWN0b3ItPm5hbWUpOwotCWxpc3RfZm9yX2VhY2hfZW50 cnkobW9kZSwgJmNvbm5lY3Rvci0+bW9kZXMsIGhlYWQpIHsKLQkJZHJtX21vZGVfc2V0X2NydGNp bmZvKG1vZGUsIDApOwotCQlkcm1fbW9kZV9kZWJ1Z19wcmludG1vZGVsaW5lKG1vZGUpOwotCX0K LQotCXJldHVybiBjb3VudDsKLX0KLQogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9y X2Z1bmNzIHZjNF9oZG1pX2Nvbm5lY3Rvcl9mdW5jcyA9IHsKIAkuZHBtcyA9IGRybV9hdG9taWNf aGVscGVyX2Nvbm5lY3Rvcl9kcG1zLAogCS5kZXRlY3QgPSB2YzRfaGRtaV9jb25uZWN0b3JfZGV0 ZWN0LAotCS5maWxsX21vZGVzID0gdmM0X2hkbWlfY29ubmVjdG9yX3Byb2JlX21vZGVzLAorCS5m aWxsX21vZGVzID0gZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVfY29ubmVjdG9yX21vZGVzLAogCS5k ZXN0cm95ID0gdmM0X2hkbWlfY29ubmVjdG9yX2Rlc3Ryb3ksCiAJLnJlc2V0ID0gZHJtX2F0b21p Y19oZWxwZXJfY29ubmVjdG9yX3Jlc2V0LAogCS5hdG9taWNfZHVwbGljYXRlX3N0YXRlID0gZHJt X2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2R1cGxpY2F0ZV9zdGF0ZSwKQEAgLTMwNywxNiArMjgy LDIwIEBAIHN0YXRpYyB2b2lkIHZjNF9oZG1pX2VuY29kZXJfbW9kZV9zZXQoc3RydWN0IGRybV9l bmNvZGVyICplbmNvZGVyLAogCWJvb2wgZGVidWdfZHVtcF9yZWdzID0gZmFsc2U7CiAJYm9vbCBo c3luY19wb3MgPSBtb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfUEhTWU5DOwogCWJvb2wgdnN5 bmNfcG9zID0gbW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX1BWU1lOQzsKLQl1MzIgdmFjdGl2 ZSA9IChtb2RlLT52ZGlzcGxheSA+PgotCQkgICAgICAgKChtb2RlLT5mbGFncyAmIERSTV9NT0RF X0ZMQUdfSU5URVJMQUNFKSA/IDEgOiAwKSk7Ci0JdTMyIHZlcnRhID0gKFZDNF9TRVRfRklFTEQo bW9kZS0+dnN5bmNfZW5kIC0gbW9kZS0+dnN5bmNfc3RhcnQsCisJYm9vbCBpbnRlcmxhY2VkID0g bW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0lOVEVSTEFDRTsKKwl1MzIgdmVydGEgPSAoVkM0 X1NFVF9GSUVMRChtb2RlLT5jcnRjX3ZzeW5jX2VuZCAtIG1vZGUtPmNydGNfdnN5bmNfc3RhcnQs CiAJCQkJICAgVkM0X0hETUlfVkVSVEFfVlNQKSB8Ci0JCSAgICAgVkM0X1NFVF9GSUVMRChtb2Rl LT52c3luY19zdGFydCAtIG1vZGUtPnZkaXNwbGF5LAorCQkgICAgIFZDNF9TRVRfRklFTEQobW9k ZS0+Y3J0Y192c3luY19zdGFydCAtIG1vZGUtPmNydGNfdmRpc3BsYXksCiAJCQkJICAgVkM0X0hE TUlfVkVSVEFfVkZQKSB8Ci0JCSAgICAgVkM0X1NFVF9GSUVMRCh2YWN0aXZlLCBWQzRfSERNSV9W RVJUQV9WQUwpKTsKKwkJICAgICBWQzRfU0VUX0ZJRUxEKG1vZGUtPmNydGNfdmRpc3BsYXksIFZD NF9IRE1JX1ZFUlRBX1ZBTCkpOwogCXUzMiB2ZXJ0YiA9IChWQzRfU0VUX0ZJRUxEKDAsIFZDNF9I RE1JX1ZFUlRCX1ZTUE8pIHwKLQkJICAgICBWQzRfU0VUX0ZJRUxEKG1vZGUtPnZ0b3RhbCAtIG1v ZGUtPnZzeW5jX2VuZCwKKwkJICAgICBWQzRfU0VUX0ZJRUxEKG1vZGUtPmNydGNfdnRvdGFsIC0g bW9kZS0+Y3J0Y192c3luY19lbmQsCiAJCQkJICAgVkM0X0hETUlfVkVSVEJfVkJQKSk7CisJdTMy IHZlcnRiX2V2ZW4gPSAoVkM0X1NFVF9GSUVMRCgwLCBWQzRfSERNSV9WRVJUQl9WU1BPKSB8CisJ CQkgIFZDNF9TRVRfRklFTEQobW9kZS0+Y3J0Y192dG90YWwgLQorCQkJCQltb2RlLT5jcnRjX3Zz eW5jX2VuZCAtCisJCQkJCWludGVybGFjZWQsCisJCQkJCVZDNF9IRE1JX1ZFUlRCX1ZCUCkpOwog CXUzMiBjc2NfY3RsOwogCiAJaWYgKGRlYnVnX2R1bXBfcmVncykgewpAQCAtMzQ5LDcgKzMyOCw3 IEBAIHN0YXRpYyB2b2lkIHZjNF9oZG1pX2VuY29kZXJfbW9kZV9zZXQoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyLAogCUhETUlfV1JJVEUoVkM0X0hETUlfVkVSVEEwLCB2ZXJ0YSk7CiAJSERN SV9XUklURShWQzRfSERNSV9WRVJUQTEsIHZlcnRhKTsKIAotCUhETUlfV1JJVEUoVkM0X0hETUlf VkVSVEIwLCB2ZXJ0Yik7CisJSERNSV9XUklURShWQzRfSERNSV9WRVJUQjAsIHZlcnRiX2V2ZW4p OwogCUhETUlfV1JJVEUoVkM0X0hETUlfVkVSVEIxLCB2ZXJ0Yik7CiAKIAlIRF9XUklURShWQzRf SERfVklEX0NUTCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3JlZ3MuaCBi L2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3JlZ3MuaAppbmRleCA5ZWNkNmZmM2Q0OTMuLmM1YTQy M2VhZDg2ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcmVncy5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3JlZ3MuaApAQCAtMTgzLDYgKzE4Myw5IEBACiAjIGRl ZmluZSBQVl9DT05UUk9MX0VOCQkJCUJJVCgwKQogCiAjZGVmaW5lIFBWX1ZfQ09OVFJPTAkJCQkw eDA0CisjIGRlZmluZSBQVl9WQ09OVFJPTF9PRERfREVMQVlfTUFTSwkJVkM0X01BU0soMjIsIDYp CisjIGRlZmluZSBQVl9WQ09OVFJPTF9PRERfREVMQVlfU0hJRlQJCTYKKyMgZGVmaW5lIFBWX1ZD T05UUk9MX09ERF9GSVJTVAkJCUJJVCg1KQogIyBkZWZpbmUgUFZfVkNPTlRST0xfSU5URVJMQUNF CQkJQklUKDQpCiAjIGRlZmluZSBQVl9WQ09OVFJPTF9DT05USU5VT1VTCQkJQklUKDEpCiAjIGRl ZmluZSBQVl9WQ09OVFJPTF9WSURFTgkJCUJJVCgwKQotLSAKMi45LjMKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=