From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Subject: [PATCH v4 4/4] drm/i915: Add transcoder parameter to PSR registers macros Date: Wed, 17 Apr 2019 15:37:42 -0700 Message-ID: <20190417223742.28246-4-jose.souza@intel.com> References: <20190417223742.28246-1-jose.souza@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id D2EF76E0A9 for ; Wed, 17 Apr 2019 22:37:45 +0000 (UTC) In-Reply-To: <20190417223742.28246-1-jose.souza@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 Cc: Dhinakaran Pandiyan List-Id: intel-gfx@lists.freedesktop.org TGV0cyBtYWtlIFBTUiByZWdpc3RlciBtYWNyb3MgZXhwbGljaXQgYWJvdXQgd2hhdCB0cmFuc2Nv ZGVyIGlzIHVzZWQKdG8gY2FsY3VsYXRlIHRoZSByZWdpc3RlciBvZmZzZXQuCgpDYzogRGhpbmFr YXJhbiBQYW5kaXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+CkNjOiBSb2RyaWdv IFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEpvc8OpIFJvYmVy dG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jIHwgMTggKysrKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZWcuaCAgICAgfCAyNCArKysrKysrLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcHNyLmMgICAgfCA1MSArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogMyBmaWxl cyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspLCA0MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jCmluZGV4IDU4MjNmZmIxNzgyMS4uMmEwZjU4NzFlOWE4IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwpAQCAtMjQ3MCw3ICsyNDcwLDcgQEAgcHNyX3Nv dXJjZV9zdGF0dXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBzdHJ1Y3Qgc2Vx X2ZpbGUgKm0pCiAJCQkiQlVGX09OIiwKIAkJCSJUR19PTiIKIAkJfTsKLQkJdmFsID0gSTkxNV9S RUFEKEVEUF9QU1IyX1NUQVRVUyk7CisJCXZhbCA9IEk5MTVfUkVBRChFRFBfUFNSMl9TVEFUVVMo ZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKSk7CiAJCXN0YXR1c192YWwgPSAodmFsICYgRURQX1BT UjJfU1RBVFVTX1NUQVRFX01BU0spID4+CiAJCQkgICAgICBFRFBfUFNSMl9TVEFUVVNfU1RBVEVf U0hJRlQ7CiAJCWlmIChzdGF0dXNfdmFsIDwgQVJSQVlfU0laRShsaXZlX3N0YXR1cykpCkBAIC0y NDg2LDcgKzI0ODYsNyBAQCBwc3Jfc291cmNlX3N0YXR1cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsIHN0cnVjdCBzZXFfZmlsZSAqbSkKIAkJCSJTUkRPRkZBQ0siLAogCQkJIlNS REVOVF9PTiIsCiAJCX07Ci0JCXZhbCA9IEk5MTVfUkVBRChFRFBfUFNSX1NUQVRVUyk7CisJCXZh bCA9IEk5MTVfUkVBRChFRFBfUFNSX1NUQVRVUyhkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpKTsK IAkJc3RhdHVzX3ZhbCA9ICh2YWwgJiBFRFBfUFNSX1NUQVRVU19TVEFURV9NQVNLKSA+PgogCQkJ ICAgICAgRURQX1BTUl9TVEFUVVNfU1RBVEVfU0hJRlQ7CiAJCWlmIChzdGF0dXNfdmFsIDwgQVJS QVlfU0laRShsaXZlX3N0YXR1cykpCkBAIC0yNTI5LDEwICsyNTI5LDEwIEBAIHN0YXRpYyBpbnQg aTkxNV9lZHBfcHNyX3N0YXR1cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCiAJCWdv dG8gdW5sb2NrOwogCiAJaWYgKHBzci0+cHNyMl9lbmFibGVkKSB7Ci0JCXZhbCA9IEk5MTVfUkVB RChFRFBfUFNSMl9DVEwpOworCQl2YWwgPSBJOTE1X1JFQUQoRURQX1BTUjJfQ1RMKGRldl9wcml2 LT5wc3IudHJhbnNjb2RlcikpOwogCQllbmFibGVkID0gdmFsICYgRURQX1BTUjJfRU5BQkxFOwog CX0gZWxzZSB7Ci0JCXZhbCA9IEk5MTVfUkVBRChFRFBfUFNSX0NUTCk7CisJCXZhbCA9IEk5MTVf UkVBRChFRFBfUFNSX0NUTChkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpKTsKIAkJZW5hYmxlZCA9 IHZhbCAmIEVEUF9QU1JfRU5BQkxFOwogCX0KIAlzZXFfcHJpbnRmKG0sICJTb3VyY2UgUFNSIGN0 bDogJXMgWzB4JTA4eF1cbiIsCkBAIC0yNTQ1LDcgKzI1NDUsOCBAQCBzdGF0aWMgaW50IGk5MTVf ZWRwX3Bzcl9zdGF0dXMoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQogCSAqIFNLTCsg UGVyZiBjb3VudGVyIGlzIHJlc2V0IHRvIDAgZXZlcnl0aW1lIERDIHN0YXRlIGlzIGVudGVyZWQK IAkgKi8KIAlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikgfHwgSVNfQlJPQURXRUxMKGRldl9wcml2 KSkgewotCQl2YWwgPSBJOTE1X1JFQUQoRURQX1BTUl9QRVJGX0NOVCkgJiBFRFBfUFNSX1BFUkZf Q05UX01BU0s7CisJCXZhbCA9IEk5MTVfUkVBRChFRFBfUFNSX1BFUkZfQ05UKGRldl9wcml2LT5w c3IudHJhbnNjb2RlcikpOworCQl2YWwgJj0gRURQX1BTUl9QRVJGX0NOVF9NQVNLOwogCQlzZXFf cHJpbnRmKG0sICJQZXJmb3JtYW5jZSBjb3VudGVyOiAldVxuIiwgdmFsKTsKIAl9CiAKQEAgLTI1 NjMsOCArMjU2NCwxMSBAQCBzdGF0aWMgaW50IGk5MTVfZWRwX3Bzcl9zdGF0dXMoc3RydWN0IHNl cV9maWxlICptLCB2b2lkICpkYXRhKQogCQkgKiBSZWFkaW5nIGFsbCAzIHJlZ2lzdGVycyBiZWZv cmUgaGFuZCB0byBtaW5pbWl6ZSBjcm9zc2luZyBhCiAJCSAqIGZyYW1lIGJvdW5kYXJ5IGJldHdl ZW4gcmVnaXN0ZXIgcmVhZHMKIAkJICovCi0JCWZvciAoZnJhbWUgPSAwOyBmcmFtZSA8IFBTUjJf U1VfU1RBVFVTX0ZSQU1FUzsgZnJhbWUgKz0gMykKLQkJCXN1X2ZyYW1lc192YWxbZnJhbWUgLyAz XSA9IEk5MTVfUkVBRChQU1IyX1NVX1NUQVRVUyhmcmFtZSkpOworCQlmb3IgKGZyYW1lID0gMDsg ZnJhbWUgPCBQU1IyX1NVX1NUQVRVU19GUkFNRVM7IGZyYW1lICs9IDMpIHsKKwkJCXZhbCA9IEk5 MTVfUkVBRChQU1IyX1NVX1NUQVRVUyhkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIsCisJCQkJCQkg ICAgICAgZnJhbWUpKTsKKwkJCXN1X2ZyYW1lc192YWxbZnJhbWUgLyAzXSA9IHZhbDsKKwkJfQog CiAJCXNlcV9wdXRzKG0sICJGcmFtZTpcdFBTUjIgU1UgYmxvY2tzOlxuIik7CiAKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3JlZy5oCmluZGV4IDk4NzAwNjk0NjgwMi4uZTUyOTE0OTg3ZWUyIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVnLmgKQEAgLTI1OSw4ICsyNTksOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaTkx NV9tbWlvX3JlZ192YWxpZChpOTE1X3JlZ190IHJlZykKIAkJCQkJICAgICAgRElTUExBWV9NTUlP X0JBU0UoZGV2X3ByaXYpKQogCiAvKiBQU1IgcmVnaXN0ZXJzIG9uIEhTVyBpcyBub3QgcmVsYXRp dmUgdG8gZURQIHRyYW5zY29kZXIgKi8KLSNkZWZpbmUgX1RSQU5TMl9QU1IocmVnKQkoX1RSQU5T MihkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIsIChyZWcpKSAtIGRldl9wcml2LT5wc3IubW1pb19i YXNlX2FkanVzdCkKLSNkZWZpbmUgX01NSU9fVFJBTlMyX1BTUihyZWcpCV9NTUlPKF9UUkFOUzJf UFNSKHJlZykpCisjZGVmaW5lIF9UUkFOUzJfUFNSKHRyYW5zLCByZWcpCQkoX1RSQU5TMih0cmFu cywgKHJlZykpIC0gZGV2X3ByaXYtPnBzci5tbWlvX2Jhc2VfYWRqdXN0KQorI2RlZmluZSBfTU1J T19UUkFOUzJfUFNSKHRyYW5zLCByZWcpCV9NTUlPKF9UUkFOUzJfUFNSKHRyYW5zLCByZWcpKQog CiAjZGVmaW5lIF9fTUFTS0VEX0ZJRUxEKG1hc2ssIHZhbHVlKSAoKG1hc2spIDw8IDE2IHwgKHZh bHVlKSkKICNkZWZpbmUgX01BU0tFRF9GSUVMRChtYXNrLCB2YWx1ZSkgKHsJCQkJCSAgIFwKQEAg LTQyMjEsNyArNDIyMSw3IEBAIGVudW0gewogCiAjZGVmaW5lIF9TUkRfQ1RMX0EJCQkJMHg2MDgw MAogI2RlZmluZSBfU1JEX0NUTF9FRFAJCQkJMHg2RjgwMAotI2RlZmluZSBFRFBfUFNSX0NUTAkJ CQlfTU1JT19UUkFOUzJfUFNSKF9TUkRfQ1RMX0EpCisjZGVmaW5lIEVEUF9QU1JfQ1RMKHRyYW5z KQkJCV9NTUlPX1RSQU5TMl9QU1IodHJhbnMsIF9TUkRfQ1RMX0EpCiAjZGVmaW5lICAgRURQX1BT Ul9FTkFCTEUJCQkoMSA8PCAzMSkKICNkZWZpbmUgICBCRFdfUFNSX1NJTkdMRV9GUkFNRQkJCSgx IDw8IDMwKQogI2RlZmluZSAgIEVEUF9QU1JfUkVTVE9SRV9QU1JfQUNUSVZFX0NUWF9NQVNLCSgx IDw8IDI5KSAvKiBTVyBjYW4ndCBtb2RpZnkgKi8KQEAgLTQyNjAsNyArNDI2MCw3IEBAIGVudW0g ewogCiAjZGVmaW5lIF9TUkRfQVVYX0NUTF9BCQkJCTB4NjA4MTAKICNkZWZpbmUgX1NSRF9BVVhf Q1RMX0VEUAkJCTB4NkY4MTAKLSNkZWZpbmUgRURQX1BTUl9BVVhfQ1RMCQkJCV9NTUlPX1RSQU5T Ml9QU1IoX1NSRF9BVVhfQ1RMX0EpCisjZGVmaW5lIEVEUF9QU1JfQVVYX0NUTCh0cmFucykJCQlf TU1JT19UUkFOUzJfUFNSKHRyYW5zLCBfU1JEX0FVWF9DVExfQSkKICNkZWZpbmUgICBFRFBfUFNS X0FVWF9DVExfVElNRV9PVVRfTUFTSwkJKDMgPDwgMjYpCiAjZGVmaW5lICAgRURQX1BTUl9BVVhf Q1RMX01FU1NBR0VfU0laRV9NQVNLCSgweDFmIDw8IDIwKQogI2RlZmluZSAgIEVEUF9QU1JfQVVY X0NUTF9QUkVDSEFSR0VfMlVTX01BU0sJKDB4ZiA8PCAxNikKQEAgLTQyNjksMTEgKzQyNjksMTEg QEAgZW51bSB7CiAKICNkZWZpbmUgX1NSRF9BVVhfREFUQV9BCQkJCTB4NjA4MTQKICNkZWZpbmUg X1NSRF9BVVhfREFUQV9FRFAJCQkweDZGODE0Ci0jZGVmaW5lIEVEUF9QU1JfQVVYX0RBVEEoaSkJ CQlfTU1JTyhfVFJBTlMyX1BTUihfU1JEX0FVWF9EQVRBX0EpICsgKGkpICsgNCkgLyogNSByZWdp c3RlcnMgKi8KKyNkZWZpbmUgRURQX1BTUl9BVVhfREFUQSh0cmFucywgaSkJCV9NTUlPKF9UUkFO UzJfUFNSKHRyYW5zLCBfU1JEX0FVWF9EQVRBX0EpICsgKGkpICsgNCkgLyogNSByZWdpc3RlcnMg Ki8KIAogI2RlZmluZSBfU1JEX1NUQVRVU19BCQkJCTB4NjA4NDAKICNkZWZpbmUgX1NSRF9TVEFU VVNfRURQCQkJCTB4NkY4NDAKLSNkZWZpbmUgRURQX1BTUl9TVEFUVVMJCQkJX01NSU9fVFJBTlMy X1BTUihfU1JEX1NUQVRVU19BKQorI2RlZmluZSBFRFBfUFNSX1NUQVRVUyh0cmFucykJCQlfTU1J T19UUkFOUzJfUFNSKHRyYW5zLCBfU1JEX1NUQVRVU19BKQogI2RlZmluZSAgIEVEUF9QU1JfU1RB VFVTX1NUQVRFX01BU0sJCSg3IDw8IDI5KQogI2RlZmluZSAgIEVEUF9QU1JfU1RBVFVTX1NUQVRF X1NISUZUCQkyOQogI2RlZmluZSAgIEVEUF9QU1JfU1RBVFVTX1NUQVRFX0lETEUJCSgwIDw8IDI5 KQpAQCAtNDMwMCwxMyArNDMwMCwxMyBAQCBlbnVtIHsKIAogI2RlZmluZSBfU1JEX1BFUkZfQ05U X0EJCQkweDYwODQ0CiAjZGVmaW5lIF9TUkRfUEVSRl9DTlRfRURQCQkweDZGODQ0Ci0jZGVmaW5l IEVEUF9QU1JfUEVSRl9DTlQJCV9NTUlPX1RSQU5TMl9QU1IoX1NSRF9QRVJGX0NOVF9BKQorI2Rl ZmluZSBFRFBfUFNSX1BFUkZfQ05UKHRyYW5zKQkJX01NSU9fVFJBTlMyX1BTUih0cmFucywgX1NS RF9QRVJGX0NOVF9BKQogI2RlZmluZSAgIEVEUF9QU1JfUEVSRl9DTlRfTUFTSwkJMHhmZmZmZmYK IAogLyogUFNSX01BU0sgb24gU0tMKyAqLwogI2RlZmluZSBfU1JEX0RFQlVHX0EJCQkJMHg2MDg2 MAogI2RlZmluZSBfU1JEX0RFQlVHX0VEUAkJCQkweDZGODYwCi0jZGVmaW5lIEVEUF9QU1JfREVC VUcJCQkJX01NSU9fVFJBTlMyX1BTUihfU1JEX0RFQlVHX0EpCisjZGVmaW5lIEVEUF9QU1JfREVC VUcodHJhbnMpCQkJX01NSU9fVFJBTlMyX1BTUih0cmFucywgX1NSRF9ERUJVR19BKQogI2RlZmlu ZSAgIEVEUF9QU1JfREVCVUdfTUFTS19NQVhfU0xFRVAgICAgICAgICAoMSA8PCAyOCkKICNkZWZp bmUgICBFRFBfUFNSX0RFQlVHX01BU0tfTFBTUCAgICAgICAgICAgICAgKDEgPDwgMjcpCiAjZGVm aW5lICAgRURQX1BTUl9ERUJVR19NQVNLX01FTVVQICAgICAgICAgICAgICgxIDw8IDI2KQpAQCAt NDMxNiw3ICs0MzE2LDcgQEAgZW51bSB7CiAKICNkZWZpbmUgX1BTUjJfQ1RMX0EJCQkweDYwOTAw CiAjZGVmaW5lIF9QU1IyX0NUTF9FRFAJCQkweDZGOTAwCi0jZGVmaW5lIEVEUF9QU1IyX0NUTAkJ CV9NTUlPX1RSQU5TMihkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIsIF9QU1IyX0NUTF9BKQorI2Rl ZmluZSBFRFBfUFNSMl9DVEwodHJhbnMpCQlfTU1JT19UUkFOUzIodHJhbnMsIF9QU1IyX0NUTF9B KQogI2RlZmluZSAgIEVEUF9QU1IyX0VOQUJMRQkJKDEgPDwgMzEpCiAjZGVmaW5lICAgRURQX1NV X1RSQUNLX0VOQUJMRQkJKDEgPDwgMzApCiAjZGVmaW5lICAgRURQX1lfQ09PUkRJTkFURV9WQUxJ RAkoMSA8PCAyNikgLyogR0xLIGFuZCBDTkwrICovCkBAIC00MzU5LDE0ICs0MzU5LDE0IEBAIGVu dW0gewogCiAjZGVmaW5lIF9QU1IyX1NUQVRVU19BCQkJMHg2MDk0MAogI2RlZmluZSBfUFNSMl9T VEFUVVNfRURQCQkweDZGOTQwCi0jZGVmaW5lIEVEUF9QU1IyX1NUQVRVUwkJCV9NTUlPX1RSQU5T MihkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIsIF9QU1IyX1NUQVRVU19BKQorI2RlZmluZSBFRFBf UFNSMl9TVEFUVVModHJhbnMpCQlfTU1JT19UUkFOUzIodHJhbnMsIF9QU1IyX1NUQVRVU19BKQog I2RlZmluZSBFRFBfUFNSMl9TVEFUVVNfU1RBVEVfTUFTSyAgICAgKDB4ZiA8PCAyOCkKICNkZWZp bmUgRURQX1BTUjJfU1RBVFVTX1NUQVRFX1NISUZUICAgIDI4CiAKICNkZWZpbmUgX1BTUjJfU1Vf U1RBVFVTX0EJCTB4NjA5MTQKICNkZWZpbmUgX1BTUjJfU1VfU1RBVFVTX0VEUAkJMHg2RjkxNAot I2RlZmluZSBfUFNSMl9TVV9TVEFUVVMoaW5kZXgpCQlfTU1JTyhfVFJBTlMyKGRldl9wcml2LT5w c3IudHJhbnNjb2RlciwgX1BTUjJfU1VfU1RBVFVTX0EpICsgKGluZGV4KSAqIDQpCi0jZGVmaW5l IFBTUjJfU1VfU1RBVFVTKGZyYW1lKQkJKF9QU1IyX1NVX1NUQVRVUygoZnJhbWUpIC8gMykpCisj ZGVmaW5lIF9QU1IyX1NVX1NUQVRVUyh0cmFucywgaW5kZXgpCV9NTUlPKF9UUkFOUzIodHJhbnMs IF9QU1IyX1NVX1NUQVRVU19BKSArIChpbmRleCkgKiA0KQorI2RlZmluZSBQU1IyX1NVX1NUQVRV Uyh0cmFucywgZnJhbWUpCQkoX1BTUjJfU1VfU1RBVFVTKHRyYW5zLCAoZnJhbWUpIC8gMykpCiAj ZGVmaW5lIFBTUjJfU1VfU1RBVFVTX1NISUZUKGZyYW1lKQkoKChmcmFtZSkgJSAzKSAqIDEwKQog I2RlZmluZSBQU1IyX1NVX1NUQVRVU19NQVNLKGZyYW1lKQkoMHgzZmYgPDwgUFNSMl9TVV9TVEFU VVNfU0hJRlQoZnJhbWUpKQogI2RlZmluZSBQU1IyX1NVX1NUQVRVU19GUkFNRVMJCTgKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcHNyLmMKaW5kZXggZGEzNTFjOGY4NmQ3Li4xMDgxNjFkOTUwZDMgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3Bzci5jCkBAIC0zOTksNyArMzk5LDcgQEAgc3RhdGljIHZvaWQgaHN3 X3Bzcl9zZXR1cF9hdXgoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAogCUJVSUxEX0JVR19P TihzaXplb2YoYXV4X21zZykgPiAyMCk7CiAJZm9yIChpID0gMDsgaSA8IHNpemVvZihhdXhfbXNn KTsgaSArPSA0KQotCQlJOTE1X1dSSVRFKEVEUF9QU1JfQVVYX0RBVEEoaSA+PiAyKSwKKwkJSTkx NV9XUklURShFRFBfUFNSX0FVWF9EQVRBKGRldl9wcml2LT5wc3IudHJhbnNjb2RlciwgaSA+PiAy KSwKIAkJCSAgIGludGVsX2RwX3BhY2tfYXV4KCZhdXhfbXNnW2ldLCBzaXplb2YoYXV4X21zZykg LSBpKSk7CiAKIAlhdXhfY2xvY2tfZGl2aWRlciA9IGludGVsX2RwLT5nZXRfYXV4X2Nsb2NrX2Rp dmlkZXIoaW50ZWxfZHAsIDApOwpAQCAtNDEwLDcgKzQxMCw3IEBAIHN0YXRpYyB2b2lkIGhzd19w c3Jfc2V0dXBfYXV4KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAKIAkvKiBTZWxlY3Qgb25s eSB2YWxpZCBiaXRzIGZvciBTUkRfQVVYX0NUTCAqLwogCWF1eF9jdGwgJj0gcHNyX2F1eF9tYXNr OwotCUk5MTVfV1JJVEUoRURQX1BTUl9BVVhfQ1RMLCBhdXhfY3RsKTsKKwlJOTE1X1dSSVRFKEVE UF9QU1JfQVVYX0NUTChkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpLCBhdXhfY3RsKTsKIH0KIAog c3RhdGljIHZvaWQgaW50ZWxfcHNyX2VuYWJsZV9zaW5rKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHApCkBAIC01MDAsOCArNTAwLDkgQEAgc3RhdGljIHZvaWQgaHN3X2FjdGl2YXRlX3BzcjEoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCkKIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA4KQog CQl2YWwgfD0gRURQX1BTUl9DUkNfRU5BQkxFOwogCi0JdmFsIHw9IEk5MTVfUkVBRChFRFBfUFNS X0NUTCkgJiBFRFBfUFNSX1JFU1RPUkVfUFNSX0FDVElWRV9DVFhfTUFTSzsKLQlJOTE1X1dSSVRF KEVEUF9QU1JfQ1RMLCB2YWwpOworCXZhbCB8PSAoSTkxNV9SRUFEKEVEUF9QU1JfQ1RMKGRldl9w cml2LT5wc3IudHJhbnNjb2RlcikpICYKKwkJRURQX1BTUl9SRVNUT1JFX1BTUl9BQ1RJVkVfQ1RY X01BU0spOworCUk5MTVfV1JJVEUoRURQX1BTUl9DVEwoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVy KSwgdmFsKTsKIH0KIAogc3RhdGljIHZvaWQgaHN3X2FjdGl2YXRlX3BzcjIoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCkKQEAgLTUzNyw5ICs1MzgsOSBAQCBzdGF0aWMgdm9pZCBoc3dfYWN0aXZh dGVfcHNyMihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCSAqIFBTUjIgSFcgaXMgaW5jb3Jy ZWN0bHkgdXNpbmcgRURQX1BTUl9UUDFfVFAzX1NFTCBhbmQgQlNwZWMgaXMKIAkgKiByZWNvbW1l bmRpbmcga2VlcCB0aGlzIGJpdCB1bnNldCB3aGlsZSBQU1IyIGlzIGVuYWJsZWQuCiAJICovCi0J STkxNV9XUklURShFRFBfUFNSX0NUTCwgMCk7CisJSTkxNV9XUklURShFRFBfUFNSX0NUTChkZXZf cHJpdi0+cHNyLnRyYW5zY29kZXIpLCAwKTsKIAotCUk5MTVfV1JJVEUoRURQX1BTUjJfQ1RMLCB2 YWwpOworCUk5MTVfV1JJVEUoRURQX1BTUjJfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNjb2Rlciks IHZhbCk7CiB9CiAKIHN0YXRpYyBib29sIGludGVsX3BzcjJfY29uZmlnX3ZhbGlkKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHAsCkBAIC02NTgsOCArNjU5LDggQEAgc3RhdGljIHZvaWQgaW50ZWxf cHNyX2FjdGl2YXRlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gZHBfdG9faTkxNShpbnRlbF9kcCk7CiAKIAlpZiAoSU5URUxf R0VOKGRldl9wcml2KSA+PSA5KQotCQlXQVJOX09OKEk5MTVfUkVBRChFRFBfUFNSMl9DVEwpICYg RURQX1BTUjJfRU5BQkxFKTsKLQlXQVJOX09OKEk5MTVfUkVBRChFRFBfUFNSX0NUTCkgJiBFRFBf UFNSX0VOQUJMRSk7CisJCVdBUk5fT04oSTkxNV9SRUFEKEVEUF9QU1IyX0NUTChkZXZfcHJpdi0+ cHNyLnRyYW5zY29kZXIpKSAmIEVEUF9QU1IyX0VOQUJMRSk7CisJV0FSTl9PTihJOTE1X1JFQUQo RURQX1BTUl9DVEwoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKSkgJiBFRFBfUFNSX0VOQUJMRSk7 CiAJV0FSTl9PTihkZXZfcHJpdi0+cHNyLmFjdGl2ZSk7CiAJbG9ja2RlcF9hc3NlcnRfaGVsZCgm ZGV2X3ByaXYtPnBzci5sb2NrKTsKIApAQCAtNzI5LDcgKzczMCw3IEBAIHN0YXRpYyB2b2lkIGlu dGVsX3Bzcl9lbmFibGVfc291cmNlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJaWYgKElO VEVMX0dFTihkZXZfcHJpdikgPCAxMSkKIAkJbWFzayB8PSBFRFBfUFNSX0RFQlVHX01BU0tfRElT UF9SRUdfV1JJVEU7CiAKLQlJOTE1X1dSSVRFKEVEUF9QU1JfREVCVUcsIG1hc2spOworCUk5MTVf V1JJVEUoRURQX1BTUl9ERUJVRyhkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpLCBtYXNrKTsKIH0K IAogc3RhdGljIHZvaWQgaW50ZWxfcHNyX2VuYWJsZV9sb2NrZWQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LApAQCAtNzk5LDIwICs4MDAsMjcgQEAgc3RhdGljIHZvaWQgaW50ZWxf cHNyX2V4aXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCXUzMiB2YWw7CiAK IAlpZiAoIWRldl9wcml2LT5wc3IuYWN0aXZlKSB7Ci0JCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYp ID49IDkpCi0JCQlXQVJOX09OKEk5MTVfUkVBRChFRFBfUFNSMl9DVEwpICYgRURQX1BTUjJfRU5B QkxFKTsKLQkJV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUl9DVEwpICYgRURQX1BTUl9FTkFCTEUp OworCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7CisJCQl2YWwgPSBJOTE1X1JFQUQo RURQX1BTUjJfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNjb2RlcikpOworCQkJV0FSTl9PTih2YWwg JiBFRFBfUFNSMl9FTkFCTEUpOworCQl9CisKKwkJdmFsID0gSTkxNV9SRUFEKEVEUF9QU1JfQ1RM KGRldl9wcml2LT5wc3IudHJhbnNjb2RlcikpOworCQlXQVJOX09OKHZhbCAmIEVEUF9QU1JfRU5B QkxFKTsKKwogCQlyZXR1cm47CiAJfQogCiAJaWYgKGRldl9wcml2LT5wc3IucHNyMl9lbmFibGVk KSB7Ci0JCXZhbCA9IEk5MTVfUkVBRChFRFBfUFNSMl9DVEwpOworCQl2YWwgPSBJOTE1X1JFQUQo RURQX1BTUjJfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNjb2RlcikpOwogCQlXQVJOX09OKCEodmFs ICYgRURQX1BTUjJfRU5BQkxFKSk7Ci0JCUk5MTVfV1JJVEUoRURQX1BTUjJfQ1RMLCB2YWwgJiB+ RURQX1BTUjJfRU5BQkxFKTsKKwkJdmFsICY9IH5FRFBfUFNSMl9FTkFCTEU7CisJCUk5MTVfV1JJ VEUoRURQX1BTUjJfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNjb2RlciksIHZhbCk7CiAJfSBlbHNl IHsKLQkJdmFsID0gSTkxNV9SRUFEKEVEUF9QU1JfQ1RMKTsKKwkJdmFsID0gSTkxNV9SRUFEKEVE UF9QU1JfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNjb2RlcikpOwogCQlXQVJOX09OKCEodmFsICYg RURQX1BTUl9FTkFCTEUpKTsKLQkJSTkxNV9XUklURShFRFBfUFNSX0NUTCwgdmFsICYgfkVEUF9Q U1JfRU5BQkxFKTsKKwkJdmFsICY9IH5FRFBfUFNSX0VOQUJMRTsKKwkJSTkxNV9XUklURShFRFBf UFNSX0NUTChkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpLCB2YWwpOwogCX0KIAlkZXZfcHJpdi0+ cHNyLmFjdGl2ZSA9IGZhbHNlOwogfQpAQCAtODM0LDEwICs4NDIsMTAgQEAgc3RhdGljIHZvaWQg aW50ZWxfcHNyX2Rpc2FibGVfbG9ja2VkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJaW50 ZWxfcHNyX2V4aXQoZGV2X3ByaXYpOwogCiAJaWYgKGRldl9wcml2LT5wc3IucHNyMl9lbmFibGVk KSB7Ci0JCXBzcl9zdGF0dXMgPSBFRFBfUFNSMl9TVEFUVVM7CisJCXBzcl9zdGF0dXMgPSBFRFBf UFNSMl9TVEFUVVMoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKTsKIAkJcHNyX3N0YXR1c19tYXNr ID0gRURQX1BTUjJfU1RBVFVTX1NUQVRFX01BU0s7CiAJfSBlbHNlIHsKLQkJcHNyX3N0YXR1cyA9 IEVEUF9QU1JfU1RBVFVTOworCQlwc3Jfc3RhdHVzID0gRURQX1BTUl9TVEFUVVMoZGV2X3ByaXYt PnBzci50cmFuc2NvZGVyKTsKIAkJcHNyX3N0YXR1c19tYXNrID0gRURQX1BTUl9TVEFUVVNfU1RB VEVfTUFTSzsKIAl9CiAKQEAgLTk2NCw3ICs5NzIsOCBAQCBpbnQgaW50ZWxfcHNyX3dhaXRfZm9y X2lkbGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlLAogCSAq IGRlZmVuc2l2ZSBlbm91Z2ggdG8gY292ZXIgZXZlcnl0aGluZy4KIAkgKi8KIAotCXJldHVybiBf X2ludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLCBFRFBfUFNSX1NUQVRV UywKKwlyZXR1cm4gX19pbnRlbF93YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVuY29yZSwK KwkJCQkJIEVEUF9QU1JfU1RBVFVTKGRldl9wcml2LT5wc3IudHJhbnNjb2RlciksCiAJCQkJCSBF RFBfUFNSX1NUQVRVU19TVEFURV9NQVNLLAogCQkJCQkgRURQX1BTUl9TVEFUVVNfU1RBVEVfSURM RSwgMiwgNTAsCiAJCQkJCSBvdXRfdmFsdWUpOwpAQCAtOTgwLDEwICs5ODksMTAgQEAgc3RhdGlj IGJvb2wgX19wc3Jfd2FpdF9mb3JfaWRsZV9sb2NrZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQogCQlyZXR1cm4gZmFsc2U7CiAKIAlpZiAoZGV2X3ByaXYtPnBzci5wc3IyX2Vu YWJsZWQpIHsKLQkJcmVnID0gRURQX1BTUjJfU1RBVFVTOworCQlyZWcgPSBFRFBfUFNSMl9TVEFU VVMoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKTsKIAkJbWFzayA9IEVEUF9QU1IyX1NUQVRVU19T VEFURV9NQVNLOwogCX0gZWxzZSB7Ci0JCXJlZyA9IEVEUF9QU1JfU1RBVFVTOworCQlyZWcgPSBF RFBfUFNSX1NUQVRVUyhkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpOwogCQltYXNrID0gRURQX1BT Ul9TVEFUVVNfU1RBVEVfTUFTSzsKIAl9CiAKLS0gCjIuMjEuMAoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4