From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Subject: [PATCH v3 5/5] drm/i915: Add transcoder parameter to PSR registers macros Date: Mon, 15 Apr 2019 14:54:55 -0700 Message-ID: <20190415215455.9176-5-jose.souza@intel.com> References: <20190415215455.9176-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 982FA8912C for ; Mon, 15 Apr 2019 21:54:57 +0000 (UTC) In-Reply-To: <20190415215455.9176-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 aTkxNV9yZWcuaCAgICAgfCAyNiArKysrKysrLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcHNyLmMgICAgfCA1NSArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogMyBmaWxl cyBjaGFuZ2VkLCA1NiBpbnNlcnRpb25zKCspLCA0MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jCmluZGV4IDc3YjMyNTJiZGIyZS4uNGYxZjQ2MGYzMGZjIDEwMDY0 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 NS9pOTE1X3JlZy5oCmluZGV4IDA5NGJkMTlhYmIzNS4uZTI2YWZiZmI2ZmFlIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVnLmgKQEAgLTQyMTYsMTIgKzQyMTYsMTIgQEAgZW51bSB7CiAjZGVmaW5lIEhT V19FRFBfUFNSX0JBU0UJMHg2NDAwMAogCiAvKiBQU1IgcmVnaXN0ZXJzIG9uIEhTVyBpcyBub3Qg cmVsYXRpdmUgdG8gZURQIHRyYW5zY29kZXIgKi8KLSNkZWZpbmUgX1RSQU5TMl9QU1IocmVnKQko X1RSQU5TMihkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIsIChyZWcpKSAtIGRldl9wcml2LT5wc3Iu bW1pb19iYXNlX2FkanVzdCkKLSNkZWZpbmUgX01NSU9fVFJBTlMyX1BTUihyZWcpCV9NTUlPKF9U UkFOUzJfUFNSKHJlZykpCisjZGVmaW5lIF9UUkFOUzJfUFNSKHRyYW5zLCByZWcpCQkoX1RSQU5T Mih0cmFucywgKHJlZykpIC0gZGV2X3ByaXYtPnBzci5tbWlvX2Jhc2VfYWRqdXN0KQorI2RlZmlu ZSBfTU1JT19UUkFOUzJfUFNSKHRyYW5zLCByZWcpCV9NTUlPKF9UUkFOUzJfUFNSKHRyYW5zLCBy ZWcpKQogCiAjZGVmaW5lIF9TUkRfQ1RMX0EJCQkJMHg2MDgwMAogI2RlZmluZSBfU1JEX0NUTF9F RFAJCQkJMHg2RjgwMAotI2RlZmluZSBFRFBfUFNSX0NUTAkJCQlfTU1JT19UUkFOUzJfUFNSKF9T UkRfQ1RMX0EpCisjZGVmaW5lIEVEUF9QU1JfQ1RMKHRyYW5zKQkJCV9NTUlPX1RSQU5TMl9QU1Io dHJhbnMsIF9TUkRfQ1RMX0EpCiAjZGVmaW5lICAgRURQX1BTUl9FTkFCTEUJCQkoMSA8PCAzMSkK ICNkZWZpbmUgICBCRFdfUFNSX1NJTkdMRV9GUkFNRQkJCSgxIDw8IDMwKQogI2RlZmluZSAgIEVE UF9QU1JfUkVTVE9SRV9QU1JfQUNUSVZFX0NUWF9NQVNLCSgxIDw8IDI5KSAvKiBTVyBjYW4ndCBt b2RpZnkgKi8KQEAgLTQyNTYsNyArNDI1Niw3IEBAIGVudW0gewogCiAjZGVmaW5lIF9TUkRfQVVY X0NUTF9BCQkJCTB4NjA4MTAKICNkZWZpbmUgX1NSRF9BVVhfQ1RMX0VEUAkJCTB4NkY4MTAKLSNk ZWZpbmUgRURQX1BTUl9BVVhfQ1RMCQkJCV9NTUlPX1RSQU5TMl9QU1IoX1NSRF9BVVhfQ1RMX0Ep CisjZGVmaW5lIEVEUF9QU1JfQVVYX0NUTCh0cmFucykJCQlfTU1JT19UUkFOUzJfUFNSKHRyYW5z LCBfU1JEX0FVWF9DVExfQSkKICNkZWZpbmUgICBFRFBfUFNSX0FVWF9DVExfVElNRV9PVVRfTUFT SwkJKDMgPDwgMjYpCiAjZGVmaW5lICAgRURQX1BTUl9BVVhfQ1RMX01FU1NBR0VfU0laRV9NQVNL CSgweDFmIDw8IDIwKQogI2RlZmluZSAgIEVEUF9QU1JfQVVYX0NUTF9QUkVDSEFSR0VfMlVTX01B U0sJKDB4ZiA8PCAxNikKQEAgLTQyNjUsMTEgKzQyNjUsMTEgQEAgZW51bSB7CiAKICNkZWZpbmUg X1NSRF9BVVhfREFUQV9BCQkJCTB4NjA4MTQKICNkZWZpbmUgX1NSRF9BVVhfREFUQV9FRFAJCQkw eDZGODE0Ci0jZGVmaW5lIEVEUF9QU1JfQVVYX0RBVEEoaSkJCQlfTU1JTyhfVFJBTlMyX1BTUihf U1JEX0FVWF9EQVRBX0EpICsgKGkpICsgNCkgLyogNSByZWdpc3RlcnMgKi8KKyNkZWZpbmUgRURQ X1BTUl9BVVhfREFUQSh0cmFucywgaSkJCV9NTUlPKF9UUkFOUzJfUFNSKHRyYW5zLCBfU1JEX0FV WF9EQVRBX0EpICsgKGkpICsgNCkgLyogNSByZWdpc3RlcnMgKi8KIAogI2RlZmluZSBfU1JEX1NU QVRVU19BCQkJCTB4NjA4NDAKICNkZWZpbmUgX1NSRF9TVEFUVVNfRURQCQkJCTB4NkY4NDAKLSNk ZWZpbmUgRURQX1BTUl9TVEFUVVMJCQkJX01NSU9fVFJBTlMyX1BTUihfU1JEX1NUQVRVU19BKQor I2RlZmluZSBFRFBfUFNSX1NUQVRVUyh0cmFucykJCQlfTU1JT19UUkFOUzJfUFNSKHRyYW5zLCBf U1JEX1NUQVRVU19BKQogI2RlZmluZSAgIEVEUF9QU1JfU1RBVFVTX1NUQVRFX01BU0sJCSg3IDw8 IDI5KQogI2RlZmluZSAgIEVEUF9QU1JfU1RBVFVTX1NUQVRFX1NISUZUCQkyOQogI2RlZmluZSAg IEVEUF9QU1JfU1RBVFVTX1NUQVRFX0lETEUJCSgwIDw8IDI5KQpAQCAtNDI5NiwxMyArNDI5Niwx MyBAQCBlbnVtIHsKIAogI2RlZmluZSBfU1JEX1BFUkZfQ05UX0EJCQkweDYwODQ0CiAjZGVmaW5l IF9TUkRfUEVSRl9DTlRfRURQCQkweDZGODQ0Ci0jZGVmaW5lIEVEUF9QU1JfUEVSRl9DTlQJCV9N TUlPX1RSQU5TMl9QU1IoX1NSRF9QRVJGX0NOVF9BKQorI2RlZmluZSBFRFBfUFNSX1BFUkZfQ05U KHRyYW5zKQkJX01NSU9fVFJBTlMyX1BTUih0cmFucywgX1NSRF9QRVJGX0NOVF9BKQogI2RlZmlu ZSAgIEVEUF9QU1JfUEVSRl9DTlRfTUFTSwkJMHhmZmZmZmYKIAogLyogUFNSX01BU0sgb24gU0tM KyAqLwogI2RlZmluZSBfU1JEX0RFQlVHX0EJCQkJMHg2MDg2MAogI2RlZmluZSBfU1JEX0RFQlVH X0VEUAkJCQkweDZGODYwCi0jZGVmaW5lIEVEUF9QU1JfREVCVUcJCQkJX01NSU9fVFJBTlMyX1BT UihfU1JEX0RFQlVHX0EpCisjZGVmaW5lIEVEUF9QU1JfREVCVUcodHJhbnMpCQkJX01NSU9fVFJB TlMyX1BTUih0cmFucywgX1NSRF9ERUJVR19BKQogI2RlZmluZSAgIEVEUF9QU1JfREVCVUdfTUFT S19NQVhfU0xFRVAgICAgICAgICAoMSA8PCAyOCkKICNkZWZpbmUgICBFRFBfUFNSX0RFQlVHX01B U0tfTFBTUCAgICAgICAgICAgICAgKDEgPDwgMjcpCiAjZGVmaW5lICAgRURQX1BTUl9ERUJVR19N QVNLX01FTVVQICAgICAgICAgICAgICgxIDw8IDI2KQpAQCAtNDMxMiw3ICs0MzEyLDcgQEAgZW51 bSB7CiAKICNkZWZpbmUgX1BTUjJfQ1RMX0EJCQkweDYwOTAwCiAjZGVmaW5lIF9QU1IyX0NUTF9F RFAJCQkweDZGOTAwCi0jZGVmaW5lIEVEUF9QU1IyX0NUTAkJCV9NTUlPX1RSQU5TMl9QU1IoX1BT UjJfQ1RMX0EpCisjZGVmaW5lIEVEUF9QU1IyX0NUTCh0cmFucykJCV9NTUlPX1RSQU5TMl9QU1Io dHJhbnMsIF9QU1IyX0NUTF9BKQogI2RlZmluZSAgIEVEUF9QU1IyX0VOQUJMRQkJKDEgPDwgMzEp CiAjZGVmaW5lICAgRURQX1NVX1RSQUNLX0VOQUJMRQkJKDEgPDwgMzApCiAjZGVmaW5lICAgRURQ X1lfQ09PUkRJTkFURV9WQUxJRAkoMSA8PCAyNikgLyogR0xLIGFuZCBDTkwrICovCkBAIC00MzMy LDcgKzQzMzIsNyBAQCBlbnVtIHsKIAogI2RlZmluZSBfUFNSX0VWRU5UX0EJCQkJMHg2MDg0OAog I2RlZmluZSBfUFNSX0VWRU5UX0VEUAkJCQkweDZGODQ4Ci0jZGVmaW5lIFBTUl9FVkVOVAkJCQlf TU1JT19UUkFOUzJfUFNSKF9QU1JfRVZFTlRfQSkKKyNkZWZpbmUgUFNSX0VWRU5UKHRyYW5zKQkJ CV9NTUlPX1RSQU5TMl9QU1IodHJhbnMsIF9QU1JfRVZFTlRfQSkKICNkZWZpbmUgIFBTUl9FVkVO VF9QU1IyX1dEX1RJTUVSX0VYUElSRQkJKDEgPDwgMTcpCiAjZGVmaW5lICBQU1JfRVZFTlRfUFNS Ml9ESVNBQkxFRAkJKDEgPDwgMTYpCiAjZGVmaW5lICBQU1JfRVZFTlRfU1VfRElSVFlfRklGT19V TkRFUlJVTgkoMSA8PCAxNSkKQEAgLTQzNTIsMTQgKzQzNTIsMTQgQEAgZW51bSB7CiAKICNkZWZp bmUgX1BTUjJfU1RBVFVTX0EJCQkweDYwOTQwCiAjZGVmaW5lIF9QU1IyX1NUQVRVU19FRFAJCTB4 NkY5NDAKLSNkZWZpbmUgRURQX1BTUjJfU1RBVFVTCQkJX01NSU9fVFJBTlMyX1BTUihfUFNSMl9T VEFUVVNfQSkKKyNkZWZpbmUgRURQX1BTUjJfU1RBVFVTKHRyYW5zKQkJX01NSU9fVFJBTlMyX1BT Uih0cmFucywgX1BTUjJfU1RBVFVTX0EpCiAjZGVmaW5lIEVEUF9QU1IyX1NUQVRVU19TVEFURV9N QVNLICAgICAoMHhmIDw8IDI4KQogI2RlZmluZSBFRFBfUFNSMl9TVEFUVVNfU1RBVEVfU0hJRlQg ICAgMjgKIAogI2RlZmluZSBfUFNSMl9TVV9TVEFUVVNfQQkJMHg2MDkxNAogI2RlZmluZSBfUFNS Ml9TVV9TVEFUVVNfRURQCQkweDZGOTE0Ci0jZGVmaW5lIF9QU1IyX1NVX1NUQVRVUyhpbmRleCkJ CV9NTUlPKF9UUkFOUzJfUFNSKF9QU1IyX1NVX1NUQVRVU19BKSArIChpbmRleCkgKiA0KQotI2Rl ZmluZSBQU1IyX1NVX1NUQVRVUyhmcmFtZSkJCShfUFNSMl9TVV9TVEFUVVMoKGZyYW1lKSAvIDMp KQorI2RlZmluZSBfUFNSMl9TVV9TVEFUVVModHJhbnMsIGluZGV4KQlfTU1JTyhfVFJBTlMyX1BT Uih0cmFucywgX1BTUjJfU1VfU1RBVFVTX0EpICsgKGluZGV4KSAqIDQpCisjZGVmaW5lIFBTUjJf U1VfU1RBVFVTKHRyYW5zLCBmcmFtZSkJCShfUFNSMl9TVV9TVEFUVVModHJhbnMsIChmcmFtZSkg LyAzKSkKICNkZWZpbmUgUFNSMl9TVV9TVEFUVVNfU0hJRlQoZnJhbWUpCSgoKGZyYW1lKSAlIDMp ICogMTApCiAjZGVmaW5lIFBTUjJfU1VfU1RBVFVTX01BU0soZnJhbWUpCSgweDNmZiA8PCBQU1Iy X1NVX1NUQVRVU19TSElGVChmcmFtZSkpCiAjZGVmaW5lIFBTUjJfU1VfU1RBVFVTX0ZSQU1FUwkJ OApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwppbmRleCA0ZTNkNzRkMWIyMjcuLmJiZDdjY2FlOTBl NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKQEAgLTE3MSwxMCArMTcxLDEwIEBAIHZvaWQg aW50ZWxfcHNyX2lycV9oYW5kbGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwg dTMyIHBzcl9paXIpCiAJCQkgICAgICB0cmFuc2NvZGVyX25hbWUoVFJBTlNDT0RFUl9FRFApKTsK IAogCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7Ci0JCQl1MzIgdmFsID0gSTkxNV9S RUFEKFBTUl9FVkVOVCk7CisJCQl1MzIgdmFsID0gSTkxNV9SRUFEKFBTUl9FVkVOVChkZXZfcHJp di0+cHNyLnRyYW5zY29kZXIpKTsKIAkJCWJvb2wgcHNyMl9lbmFibGVkID0gZGV2X3ByaXYtPnBz ci5wc3IyX2VuYWJsZWQ7CiAKLQkJCUk5MTVfV1JJVEUoUFNSX0VWRU5ULCB2YWwpOworCQkJSTkx NV9XUklURShQU1JfRVZFTlQoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKSwgdmFsKTsKIAkJCXBz cl9ldmVudF9wcmludCh2YWwsIHBzcjJfZW5hYmxlZCk7CiAJCX0KIAl9CkBAIC0zNTAsNyArMzUw LDcgQEAgc3RhdGljIHZvaWQgaHN3X3Bzcl9zZXR1cF9hdXgoc3RydWN0IGludGVsX2RwICppbnRl bF9kcCkKIAogCUJVSUxEX0JVR19PTihzaXplb2YoYXV4X21zZykgPiAyMCk7CiAJZm9yIChpID0g MDsgaSA8IHNpemVvZihhdXhfbXNnKTsgaSArPSA0KQotCQlJOTE1X1dSSVRFKEVEUF9QU1JfQVVY X0RBVEEoaSA+PiAyKSwKKwkJSTkxNV9XUklURShFRFBfUFNSX0FVWF9EQVRBKGRldl9wcml2LT5w c3IudHJhbnNjb2RlciwgaSA+PiAyKSwKIAkJCSAgIGludGVsX2RwX3BhY2tfYXV4KCZhdXhfbXNn W2ldLCBzaXplb2YoYXV4X21zZykgLSBpKSk7CiAKIAlhdXhfY2xvY2tfZGl2aWRlciA9IGludGVs X2RwLT5nZXRfYXV4X2Nsb2NrX2RpdmlkZXIoaW50ZWxfZHAsIDApOwpAQCAtMzYxLDcgKzM2MSw3 IEBAIHN0YXRpYyB2b2lkIGhzd19wc3Jfc2V0dXBfYXV4KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHApCiAKIAkvKiBTZWxlY3Qgb25seSB2YWxpZCBiaXRzIGZvciBTUkRfQVVYX0NUTCAqLwogCWF1 eF9jdGwgJj0gcHNyX2F1eF9tYXNrOwotCUk5MTVfV1JJVEUoRURQX1BTUl9BVVhfQ1RMLCBhdXhf Y3RsKTsKKwlJOTE1X1dSSVRFKEVEUF9QU1JfQVVYX0NUTChkZXZfcHJpdi0+cHNyLnRyYW5zY29k ZXIpLCBhdXhfY3RsKTsKIH0KIAogc3RhdGljIHZvaWQgaW50ZWxfcHNyX2VuYWJsZV9zaW5rKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCkBAIC00NTEsOCArNDUxLDkgQEAgc3RhdGljIHZvaWQg aHN3X2FjdGl2YXRlX3BzcjEoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAlpZiAoSU5URUxf R0VOKGRldl9wcml2KSA+PSA4KQogCQl2YWwgfD0gRURQX1BTUl9DUkNfRU5BQkxFOwogCi0JdmFs IHw9IEk5MTVfUkVBRChFRFBfUFNSX0NUTCkgJiBFRFBfUFNSX1JFU1RPUkVfUFNSX0FDVElWRV9D VFhfTUFTSzsKLQlJOTE1X1dSSVRFKEVEUF9QU1JfQ1RMLCB2YWwpOworCXZhbCB8PSAoSTkxNV9S RUFEKEVEUF9QU1JfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNjb2RlcikpICYKKwkJRURQX1BTUl9S RVNUT1JFX1BTUl9BQ1RJVkVfQ1RYX01BU0spOworCUk5MTVfV1JJVEUoRURQX1BTUl9DVEwoZGV2 X3ByaXYtPnBzci50cmFuc2NvZGVyKSwgdmFsKTsKIH0KIAogc3RhdGljIHZvaWQgaHN3X2FjdGl2 YXRlX3BzcjIoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKQEAgLTQ4OCw5ICs0ODksOSBAQCBz dGF0aWMgdm9pZCBoc3dfYWN0aXZhdGVfcHNyMihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQog CSAqIFBTUjIgSFcgaXMgaW5jb3JyZWN0bHkgdXNpbmcgRURQX1BTUl9UUDFfVFAzX1NFTCBhbmQg QlNwZWMgaXMKIAkgKiByZWNvbW1lbmRpbmcga2VlcCB0aGlzIGJpdCB1bnNldCB3aGlsZSBQU1Iy IGlzIGVuYWJsZWQuCiAJICovCi0JSTkxNV9XUklURShFRFBfUFNSX0NUTCwgMCk7CisJSTkxNV9X UklURShFRFBfUFNSX0NUTChkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpLCAwKTsKIAotCUk5MTVf V1JJVEUoRURQX1BTUjJfQ1RMLCB2YWwpOworCUk5MTVfV1JJVEUoRURQX1BTUjJfQ1RMKGRldl9w cml2LT5wc3IudHJhbnNjb2RlciksIHZhbCk7CiB9CiAKIHN0YXRpYyBib29sIGludGVsX3BzcjJf Y29uZmlnX3ZhbGlkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCkBAIC02MDksOCArNjEwLDgg QEAgc3RhdGljIHZvaWQgaW50ZWxfcHNyX2FjdGl2YXRlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHApCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZHBfdG9faTkxNShpbnRl bF9kcCk7CiAKIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KQotCQlXQVJOX09OKEk5MTVf UkVBRChFRFBfUFNSMl9DVEwpICYgRURQX1BTUjJfRU5BQkxFKTsKLQlXQVJOX09OKEk5MTVfUkVB RChFRFBfUFNSX0NUTCkgJiBFRFBfUFNSX0VOQUJMRSk7CisJCVdBUk5fT04oSTkxNV9SRUFEKEVE UF9QU1IyX0NUTChkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpKSAmIEVEUF9QU1IyX0VOQUJMRSk7 CisJV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUl9DVEwoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVy KSkgJiBFRFBfUFNSX0VOQUJMRSk7CiAJV0FSTl9PTihkZXZfcHJpdi0+cHNyLmFjdGl2ZSk7CiAJ bG9ja2RlcF9hc3NlcnRfaGVsZCgmZGV2X3ByaXYtPnBzci5sb2NrKTsKIApAQCAtNjU4LDcgKzY1 OSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3Bzcl9lbmFibGVfc291cmNlKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHAsCiAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPCAxMSkKIAkJbWFzayB8PSBF RFBfUFNSX0RFQlVHX01BU0tfRElTUF9SRUdfV1JJVEU7CiAKLQlJOTE1X1dSSVRFKEVEUF9QU1Jf REVCVUcsIG1hc2spOworCUk5MTVfV1JJVEUoRURQX1BTUl9ERUJVRyhkZXZfcHJpdi0+cHNyLnRy YW5zY29kZXIpLCBtYXNrKTsKIH0KIAogc3RhdGljIHZvaWQgaW50ZWxfcHNyX2VuYWJsZV9sb2Nr ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LApAQCAtNzI4LDIwICs3MjksMjcg QEAgc3RhdGljIHZvaWQgaW50ZWxfcHNyX2V4aXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQogCXUzMiB2YWw7CiAKIAlpZiAoIWRldl9wcml2LT5wc3IuYWN0aXZlKSB7Ci0JCWlm IChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpCi0JCQlXQVJOX09OKEk5MTVfUkVBRChFRFBfUFNS Ml9DVEwpICYgRURQX1BTUjJfRU5BQkxFKTsKLQkJV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUl9D VEwpICYgRURQX1BTUl9FTkFCTEUpOworCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7 CisJCQl2YWwgPSBJOTE1X1JFQUQoRURQX1BTUjJfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNjb2Rl cikpOworCQkJV0FSTl9PTih2YWwgJiBFRFBfUFNSMl9FTkFCTEUpOworCQl9CisKKwkJdmFsID0g STkxNV9SRUFEKEVEUF9QU1JfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNjb2RlcikpOworCQlXQVJO X09OKHZhbCAmIEVEUF9QU1JfRU5BQkxFKTsKKwogCQlyZXR1cm47CiAJfQogCiAJaWYgKGRldl9w cml2LT5wc3IucHNyMl9lbmFibGVkKSB7Ci0JCXZhbCA9IEk5MTVfUkVBRChFRFBfUFNSMl9DVEwp OworCQl2YWwgPSBJOTE1X1JFQUQoRURQX1BTUjJfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNjb2Rl cikpOwogCQlXQVJOX09OKCEodmFsICYgRURQX1BTUjJfRU5BQkxFKSk7Ci0JCUk5MTVfV1JJVEUo RURQX1BTUjJfQ1RMLCB2YWwgJiB+RURQX1BTUjJfRU5BQkxFKTsKKwkJdmFsICY9IH5FRFBfUFNS Ml9FTkFCTEU7CisJCUk5MTVfV1JJVEUoRURQX1BTUjJfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNj b2RlciksIHZhbCk7CiAJfSBlbHNlIHsKLQkJdmFsID0gSTkxNV9SRUFEKEVEUF9QU1JfQ1RMKTsK KwkJdmFsID0gSTkxNV9SRUFEKEVEUF9QU1JfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNjb2Rlcikp OwogCQlXQVJOX09OKCEodmFsICYgRURQX1BTUl9FTkFCTEUpKTsKLQkJSTkxNV9XUklURShFRFBf UFNSX0NUTCwgdmFsICYgfkVEUF9QU1JfRU5BQkxFKTsKKwkJdmFsICY9IH5FRFBfUFNSX0VOQUJM RTsKKwkJSTkxNV9XUklURShFRFBfUFNSX0NUTChkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpLCB2 YWwpOwogCX0KIAlkZXZfcHJpdi0+cHNyLmFjdGl2ZSA9IGZhbHNlOwogfQpAQCAtNzYzLDEwICs3 NzEsMTAgQEAgc3RhdGljIHZvaWQgaW50ZWxfcHNyX2Rpc2FibGVfbG9ja2VkKHN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHApCiAJaW50ZWxfcHNyX2V4aXQoZGV2X3ByaXYpOwogCiAJaWYgKGRldl9w cml2LT5wc3IucHNyMl9lbmFibGVkKSB7Ci0JCXBzcl9zdGF0dXMgPSBFRFBfUFNSMl9TVEFUVVM7 CisJCXBzcl9zdGF0dXMgPSBFRFBfUFNSMl9TVEFUVVMoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVy KTsKIAkJcHNyX3N0YXR1c19tYXNrID0gRURQX1BTUjJfU1RBVFVTX1NUQVRFX01BU0s7CiAJfSBl bHNlIHsKLQkJcHNyX3N0YXR1cyA9IEVEUF9QU1JfU1RBVFVTOworCQlwc3Jfc3RhdHVzID0gRURQ X1BTUl9TVEFUVVMoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKTsKIAkJcHNyX3N0YXR1c19tYXNr ID0gRURQX1BTUl9TVEFUVVNfU1RBVEVfTUFTSzsKIAl9CiAKQEAgLTg5Myw3ICs5MDEsOCBAQCBp bnQgaW50ZWxfcHNyX3dhaXRfZm9yX2lkbGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg Km5ld19jcnRjX3N0YXRlLAogCSAqIGRlZmVuc2l2ZSBlbm91Z2ggdG8gY292ZXIgZXZlcnl0aGlu Zy4KIAkgKi8KIAotCXJldHVybiBfX2ludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+ dW5jb3JlLCBFRFBfUFNSX1NUQVRVUywKKwlyZXR1cm4gX19pbnRlbF93YWl0X2Zvcl9yZWdpc3Rl cigmZGV2X3ByaXYtPnVuY29yZSwKKwkJCQkJIEVEUF9QU1JfU1RBVFVTKGRldl9wcml2LT5wc3Iu dHJhbnNjb2RlciksCiAJCQkJCSBFRFBfUFNSX1NUQVRVU19TVEFURV9NQVNLLAogCQkJCQkgRURQ X1BTUl9TVEFUVVNfU1RBVEVfSURMRSwgMiwgNTAsCiAJCQkJCSBvdXRfdmFsdWUpOwpAQCAtOTA5 LDEwICs5MTgsMTAgQEAgc3RhdGljIGJvb2wgX19wc3Jfd2FpdF9mb3JfaWRsZV9sb2NrZWQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQlyZXR1cm4gZmFsc2U7CiAKIAlpZiAo ZGV2X3ByaXYtPnBzci5wc3IyX2VuYWJsZWQpIHsKLQkJcmVnID0gRURQX1BTUjJfU1RBVFVTOwor CQlyZWcgPSBFRFBfUFNSMl9TVEFUVVMoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKTsKIAkJbWFz ayA9IEVEUF9QU1IyX1NUQVRVU19TVEFURV9NQVNLOwogCX0gZWxzZSB7Ci0JCXJlZyA9IEVEUF9Q U1JfU1RBVFVTOworCQlyZWcgPSBFRFBfUFNSX1NUQVRVUyhkZXZfcHJpdi0+cHNyLnRyYW5zY29k ZXIpOwogCQltYXNrID0gRURQX1BTUl9TVEFUVVNfU1RBVEVfTUFTSzsKIAl9CiAKLS0gCjIuMjEu MAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4