From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Stone Subject: [RFC PATCH 17/37] DRM: Atomic: Use pointer for mode in CRTC state Date: Thu, 19 Mar 2015 04:33:16 +0000 Message-ID: <1426739616-10635-17-git-send-email-daniels@collabora.com> References: <1426739556-10429-1-git-send-email-daniels@collabora.com> <1426739616-10635-1-git-send-email-daniels@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [93.93.135.160]) by gabe.freedesktop.org (Postfix) with ESMTP id 8E7EF6E953 for ; Wed, 18 Mar 2015 21:33:52 -0700 (PDT) In-Reply-To: <1426739616-10635-1-git-send-email-daniels@collabora.com> 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 List-Id: dri-devel@lists.freedesktop.org SG9sZGluZyBhIHBvaW50ZXIgdG8gdGhlIG1vZGUsIHJhdGhlciB0aGFuIGFuIGVtYmVkLCBhbGxv d3MgdXMgdG8gZ2V0CnRvd2FyZHMgc2hhcmluZyByZWZjb3VudGVkIG1vZGVzLgoKWFhYOiBhdG9t aWNfZGVzdHJveV9zdGF0ZSBkb2VzIF9ub3RfIHNlZW0gdG8gYmUgb3B0aW9uYWwgLSBzbyB3ZSBz aG91bGQKICAgICByZW1vdmUgYW55IGZhbGxiYWNrIHBhdGhzIHdoaWNoIGNvbXBlbnNhdGUgZm9y IGl0cyBsYWNrIQogICAgIHRoZSBjcnRjX3N0YXRlLT5tb2RlIGhhbmRsaW5nIGlzIHBhcnRpY3Vs YXJseSB1Z2x5IGhlcmUgOlwKClNpZ25lZC1vZmYtYnk6IERhbmllbCBTdG9uZSA8ZGFuaWVsc0Bj b2xsYWJvcmEuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jICAg ICAgIHwgMzUgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQogZHJpdmVycy9ncHUvZHJt L2RybV9jcnRjLmMgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2RybV9j cnRjX2hlbHBlci5jICAgICAgICAgfCAzMiArKysrKysrKysrKysrKysrKysrKysrKystLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYyAgICAgICB8IDE4ICsrKysrKysrKysr KysrKy0KIGRyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfZW5jb2Rlci5jIHwgIDIgKy0K IGRyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfaGRtaWVuYy5jIHwgIDIgKy0KIGRyaXZl cnMvZ3B1L2RybS90ZWdyYS9kYy5jICAgICAgICAgICAgICAgIHwgIDggKysrKysrKwogZHJpdmVy cy9ncHUvZHJtL3RlZ3JhL2RzaS5jICAgICAgICAgICAgICAgfCAgNCArKy0tCiBkcml2ZXJzL2dw dS9kcm0vdGVncmEvaGRtaS5jICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0v dGVncmEvcmdiLmMgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vdGVncmEv c29yLmMgICAgICAgICAgICAgICB8ICAyICstCiBpbmNsdWRlL2RybS9kcm1fY3J0Yy5oICAgICAg ICAgICAgICAgICAgICB8ICAyICstCiAxMiBmaWxlcyBjaGFuZ2VkLCA4OCBpbnNlcnRpb25zKCsp LCAyMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Y19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCmluZGV4IDVi Y2I0YmEuLjk2MjQ0M2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hl bHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCkBAIC0yNjAs NyArMjYwLDcgQEAgbW9kZV9maXh1cChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJ CWlmICghY3J0Y19zdGF0ZSB8fCAhY3J0Y19zdGF0ZS0+bW9kZV9jaGFuZ2VkKQogCQkJY29udGlu dWU7CiAKLQkJZHJtX21vZGVfY29weSgmY3J0Y19zdGF0ZS0+YWRqdXN0ZWRfbW9kZSwgJmNydGNf c3RhdGUtPm1vZGUpOworCQlkcm1fbW9kZV9jb3B5KCZjcnRjX3N0YXRlLT5hZGp1c3RlZF9tb2Rl LCBjcnRjX3N0YXRlLT5tb2RlKTsKIAl9CiAKIAlmb3IgKGkgPSAwOyBpIDwgc3RhdGUtPm51bV9j b25uZWN0b3I7IGkrKykgewpAQCAtMjg5LDcgKzI4OSw3IEBAIG1vZGVfZml4dXAoc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCiAJCWlmIChlbmNvZGVyLT5icmlkZ2UgJiYgZW5jb2Rl ci0+YnJpZGdlLT5mdW5jcy0+bW9kZV9maXh1cCkgewogCQkJcmV0ID0gZW5jb2Rlci0+YnJpZGdl LT5mdW5jcy0+bW9kZV9maXh1cCgKLQkJCQkJZW5jb2Rlci0+YnJpZGdlLCAmY3J0Y19zdGF0ZS0+ bW9kZSwKKwkJCQkJZW5jb2Rlci0+YnJpZGdlLCBjcnRjX3N0YXRlLT5tb2RlLAogCQkJCQkmY3J0 Y19zdGF0ZS0+YWRqdXN0ZWRfbW9kZSk7CiAJCQlpZiAoIXJldCkgewogCQkJCURSTV9ERUJVR19B VE9NSUMoIkJyaWRnZSBmaXh1cCBmYWlsZWRcbiIpOwpAQCAtMzA2LDcgKzMwNiw3IEBAIG1vZGVf Zml4dXAoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCQkJCXJldHVybiByZXQ7CiAJ CQl9CiAJCX0gZWxzZSB7Ci0JCQlyZXQgPSBmdW5jcy0+bW9kZV9maXh1cChlbmNvZGVyLCAmY3J0 Y19zdGF0ZS0+bW9kZSwKKwkJCXJldCA9IGZ1bmNzLT5tb2RlX2ZpeHVwKGVuY29kZXIsIGNydGNf c3RhdGUtPm1vZGUsCiAJCQkJCQkmY3J0Y19zdGF0ZS0+YWRqdXN0ZWRfbW9kZSk7CiAJCQlpZiAo IXJldCkgewogCQkJCURSTV9ERUJVR19BVE9NSUMoIltFTkNPREVSOiVkOiVzXSBmaXh1cCBmYWls ZWRcbiIsCkBAIC0zMjcsNyArMzI3LDcgQEAgbW9kZV9maXh1cChzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3RhdGUpCiAJCQljb250aW51ZTsKIAogCQlmdW5jcyA9IGNydGMtPmhlbHBlcl9wcml2 YXRlOwotCQlyZXQgPSBmdW5jcy0+bW9kZV9maXh1cChjcnRjLCAmY3J0Y19zdGF0ZS0+bW9kZSwK KwkJcmV0ID0gZnVuY3MtPm1vZGVfZml4dXAoY3J0YywgY3J0Y19zdGF0ZS0+bW9kZSwKIAkJCQkJ JmNydGNfc3RhdGUtPmFkanVzdGVkX21vZGUpOwogCQlpZiAoIXJldCkgewogCQkJRFJNX0RFQlVH X0FUT01JQygiW0NSVEM6JWRdIGZpeHVwIGZhaWxlZFxuIiwKQEAgLTM4Myw3ICszODMsNyBAQCBk cm1fYXRvbWljX2hlbHBlcl9jaGVja19tb2Rlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJ CWlmICghY3J0YykKIAkJCWNvbnRpbnVlOwogCi0JCWlmICghZHJtX21vZGVfZXF1YWwoJmNydGMt PnN0YXRlLT5tb2RlLCAmY3J0Y19zdGF0ZS0+bW9kZSkpIHsKKwkJaWYgKCFkcm1fbW9kZV9lcXVh bChjcnRjLT5zdGF0ZS0+bW9kZSwgY3J0Y19zdGF0ZS0+bW9kZSkpIHsKIAkJCURSTV9ERUJVR19B VE9NSUMoIltDUlRDOiVkXSBtb2RlIGNoYW5nZWRcbiIsCiAJCQkJCSBjcnRjLT5iYXNlLmlkKTsK IAkJCWNydGNfc3RhdGUtPm1vZGVfY2hhbmdlZCA9IHRydWU7CkBAIC02OTksNyArNjk5LDcgQEAg c2V0X3JvdXRpbmdfbGlua3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKm9sZF9zdGF0ZSkKIAkJaWYgKCFjcnRjKQogCQkJY29udGludWU7CiAKLQkJY3J0 Yy0+bW9kZSA9IGNydGMtPnN0YXRlLT5tb2RlOworCQljcnRjLT5tb2RlID0gKmNydGMtPnN0YXRl LT5tb2RlOwogCQljcnRjLT5lbmFibGVkID0gY3J0Yy0+c3RhdGUtPmVuYWJsZTsKIAkJY3J0Yy0+ eCA9IGNydGMtPnByaW1hcnktPnN0YXRlLT5zcmNfeCA+PiAxNjsKIAkJY3J0Yy0+eSA9IGNydGMt PnByaW1hcnktPnN0YXRlLT5zcmNfeSA+PiAxNjsKQEAgLTc0Niw3ICs3NDYsNyBAQCBjcnRjX3Nl dF9tb2RlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpv bGRfc3RhdGUpCiAJCWVuY29kZXIgPSBjb25uZWN0b3ItPnN0YXRlLT5iZXN0X2VuY29kZXI7CiAJ CWZ1bmNzID0gZW5jb2Rlci0+aGVscGVyX3ByaXZhdGU7CiAJCW5ld19jcnRjX3N0YXRlID0gY29u bmVjdG9yLT5zdGF0ZS0+Y3J0Yy0+c3RhdGU7Ci0JCW1vZGUgPSAmbmV3X2NydGNfc3RhdGUtPm1v ZGU7CisJCW1vZGUgPSBuZXdfY3J0Y19zdGF0ZS0+bW9kZTsKIAkJYWRqdXN0ZWRfbW9kZSA9ICZu ZXdfY3J0Y19zdGF0ZS0+YWRqdXN0ZWRfbW9kZTsKIAogCQlpZiAoIW5ld19jcnRjX3N0YXRlLT5t b2RlX2NoYW5nZWQpCkBAIC0xNjQzLDcgKzE2NDMsNyBAQCByZXRyeToKIAogCWNydGNfc3RhdGUt PmVuYWJsZSA9IHRydWU7CiAJY3J0Y19zdGF0ZS0+YWN0aXZlID0gdHJ1ZTsKLQlkcm1fbW9kZV9j b3B5KCZjcnRjX3N0YXRlLT5tb2RlLCBzZXQtPm1vZGUpOworCWRybV9tb2RlX2NvcHkoY3J0Y19z dGF0ZS0+bW9kZSwgc2V0LT5tb2RlKTsKIAogCXJldCA9IGRybV9hdG9taWNfc2V0X2NydGNfZm9y X3BsYW5lKHByaW1hcnlfc3RhdGUsIGNydGMpOwogCWlmIChyZXQgIT0gMCkKQEAgLTIwNTgsMTEg KzIwNTgsMjIgQEAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZHBt cyk7CiAgKi8KIHZvaWQgZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpCiB7CisJaWYgKGNydGMtPnN0YXRlKQorCQlrZnJlZShjcnRjLT5zdGF0ZS0+bW9k ZSk7CisKIAlrZnJlZShjcnRjLT5zdGF0ZSk7CiAJY3J0Yy0+c3RhdGUgPSBremFsbG9jKHNpemVv ZigqY3J0Yy0+c3RhdGUpLCBHRlBfS0VSTkVMKTsKIAotCWlmIChjcnRjLT5zdGF0ZSkKKwlpZiAo Y3J0Yy0+c3RhdGUpIHsKIAkJY3J0Yy0+c3RhdGUtPmNydGMgPSBjcnRjOworCQljcnRjLT5zdGF0 ZS0+bW9kZSA9CisJCQlremFsbG9jKHNpemVvZigqY3J0Yy0+c3RhdGUtPm1vZGUpLCBHRlBfS0VS TkVMKTsKKwl9CisKKwlpZiAoY3J0Yy0+c3RhdGUgJiYgIWNydGMtPnN0YXRlLT5tb2RlKSB7CisJ CWtmcmVlKGNydGMtPnN0YXRlKTsKKwkJY3J0Yy0+c3RhdGUgPSBOVUxMOworCX0KIH0KIEVYUE9S VF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldCk7CiAKQEAgLTIwODgsNiArMjA5 OSwxMSBAQCBkcm1fYXRvbWljX2hlbHBlcl9jcnRjX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJt X2NydGMgKmNydGMpCiAJCXN0YXRlLT5hY3RpdmVfY2hhbmdlZCA9IGZhbHNlOwogCQlzdGF0ZS0+ cGxhbmVzX2NoYW5nZWQgPSBmYWxzZTsKIAkJc3RhdGUtPmV2ZW50ID0gTlVMTDsKKwkJc3RhdGUt Pm1vZGUgPSBkcm1fbW9kZV9kdXBsaWNhdGUoY3J0Yy0+ZGV2LCBjcnRjLT5zdGF0ZS0+bW9kZSk7 CisJCWlmICghc3RhdGUtPm1vZGUpIHsKKwkJCWtmcmVlKHN0YXRlKTsKKwkJCXN0YXRlID0gTlVM TDsKKwkJfQogCX0KIAogCXJldHVybiBzdGF0ZTsKQEAgLTIxMDUsNiArMjEyMSw3IEBAIEVYUE9S VF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kdXBsaWNhdGVfc3RhdGUpOwogdm9pZCBk cm1fYXRvbWljX2hlbHBlcl9jcnRjX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRj LAogCQkJCQkgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUpCiB7CisJa2ZyZWUoc3RhdGUt Pm1vZGUpOwogCWtmcmVlKHN0YXRlKTsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxw ZXJfY3J0Y19kZXN0cm95X3N0YXRlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f Y3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMKaW5kZXggNTc4NTMzNi4uNjAyMzg1 MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2RybV9jcnRjLmMKQEAgLTIwMDgsNyArMjAwOCw3IEBAIGludCBkcm1fbW9kZV9nZXRj cnRjKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCWNydGNfcmVzcC0+eCA9IGNydGMtPnByaW1h cnktPnN0YXRlLT5zcmNfeCA+PiAxNjsKIAkJY3J0Y19yZXNwLT55ID0gY3J0Yy0+cHJpbWFyeS0+ c3RhdGUtPnNyY195ID4+IDE2OwogCQlpZiAoY3J0Yy0+c3RhdGUtPmVuYWJsZSkgewotCQkJZHJt X2NydGNfY29udmVydF90b191bW9kZSgmY3J0Y19yZXNwLT5tb2RlLCAmY3J0Yy0+c3RhdGUtPm1v ZGUpOworCQkJZHJtX2NydGNfY29udmVydF90b191bW9kZSgmY3J0Y19yZXNwLT5tb2RlLCBjcnRj LT5zdGF0ZS0+bW9kZSk7CiAJCQljcnRjX3Jlc3AtPm1vZGVfdmFsaWQgPSAxOwogCiAJCX0gZWxz ZSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMKaW5kZXggYzYwNjNmZi4uOGE5YTA0NSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2hlbHBlci5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYwpAQCAtOTQzLDExICs5NDMsMzIgQEAgaW50IGRybV9o ZWxwZXJfY3J0Y19tb2RlX3NldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAKIAlpZiAoY3J0Yy0+ ZnVuY3MtPmF0b21pY19kdXBsaWNhdGVfc3RhdGUpCiAJCWNydGNfc3RhdGUgPSBjcnRjLT5mdW5j cy0+YXRvbWljX2R1cGxpY2F0ZV9zdGF0ZShjcnRjKTsKLQllbHNlIGlmIChjcnRjLT5zdGF0ZSkK KwllbHNlIGlmIChjcnRjLT5zdGF0ZSkgewogCQljcnRjX3N0YXRlID0ga21lbWR1cChjcnRjLT5z dGF0ZSwgc2l6ZW9mKCpjcnRjX3N0YXRlKSwKIAkJCQkgICAgIEdGUF9LRVJORUwpOwotCWVsc2UK KwkJLyogWFhYOiB0aGlzIGlzIHVucGxlYXNhbnQ6IHdlIHNob3VsZCBtYW5kYXRlIGR1cCBpbnN0 ZWFkICovCisJCWlmIChjcnRjX3N0YXRlKSB7CisJCQljcnRjX3N0YXRlLT5tb2RlID0KKwkJCQlk cm1fbW9kZV9kdXBsaWNhdGUoY3J0Yy0+ZGV2LAorCQkJCSAgICAgICAgICAgICAgICAgICBjcnRj LT5zdGF0ZS0+bW9kZSk7CisJCQlpZiAoIWNydGNfc3RhdGUtPm1vZGUpIHsKKwkJCQlrZnJlZShj cnRjX3N0YXRlKTsKKwkJCQljcnRjX3N0YXRlID0gTlVMTDsKKwkJCX0KKwkJfQorCX0KKwllbHNl IHsKIAkJY3J0Y19zdGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKCpjcnRjX3N0YXRlKSwgR0ZQX0tFUk5F TCk7CisJCWlmIChjcnRjX3N0YXRlKSB7CisJCQljcnRjX3N0YXRlLT5tb2RlID0ga3phbGxvYyhz aXplb2YoKmNydGNfc3RhdGUtPm1vZGUpLAorCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAg R0ZQX0tFUk5FTCk7CisJCQkvKiBYWFg6IGFzIGFib3ZlLCBidXQgbWFuZGF0ZSBhIG5ld19zdGF0 ZSAqLworCQkJaWYgKCFjcnRjX3N0YXRlLT5tb2RlKSB7CisJCQkJa2ZyZWUoY3J0Y19zdGF0ZSk7 CisJCQkJY3J0Y19zdGF0ZSA9IE5VTEw7CisJCQl9CisJCX0KKwl9CiAJaWYgKCFjcnRjX3N0YXRl KQogCQlyZXR1cm4gLUVOT01FTTsKIAljcnRjX3N0YXRlLT5jcnRjID0gY3J0YzsKQEAgLTk1NSwx MiArOTc2LDEzIEBAIGludCBkcm1faGVscGVyX2NydGNfbW9kZV9zZXQoc3RydWN0IGRybV9jcnRj ICpjcnRjLAogCWNydGNfc3RhdGUtPmVuYWJsZSA9IHRydWU7CiAJY3J0Y19zdGF0ZS0+cGxhbmVz X2NoYW5nZWQgPSB0cnVlOwogCWNydGNfc3RhdGUtPm1vZGVfY2hhbmdlZCA9IHRydWU7Ci0JZHJt X21vZGVfY29weSgmY3J0Y19zdGF0ZS0+bW9kZSwgbW9kZSk7CisJZHJtX21vZGVfY29weShjcnRj X3N0YXRlLT5tb2RlLCBtb2RlKTsKIAlkcm1fbW9kZV9jb3B5KCZjcnRjX3N0YXRlLT5hZGp1c3Rl ZF9tb2RlLCBhZGp1c3RlZF9tb2RlKTsKIAogCWlmIChjcnRjX2Z1bmNzLT5hdG9taWNfY2hlY2sp IHsKIAkJcmV0ID0gY3J0Y19mdW5jcy0+YXRvbWljX2NoZWNrKGNydGMsIGNydGNfc3RhdGUpOwog CQlpZiAocmV0KSB7CisJCQlrZnJlZShjcnRjX3N0YXRlLT5tb2RlKTsKIAkJCWtmcmVlKGNydGNf c3RhdGUpOwogCiAJCQlyZXR1cm4gcmV0OwpAQCAtOTc0LDggKzk5NiwxMCBAQCBpbnQgZHJtX2hl bHBlcl9jcnRjX21vZGVfc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlpZiAoY3J0Y19zdGF0 ZSkgewogCQlpZiAoY3J0Yy0+ZnVuY3MtPmF0b21pY19kZXN0cm95X3N0YXRlKQogCQkJY3J0Yy0+ ZnVuY3MtPmF0b21pY19kZXN0cm95X3N0YXRlKGNydGMsIGNydGNfc3RhdGUpOwotCQllbHNlCisJ CWVsc2UgeworCQkJa2ZyZWUoY3J0Y19zdGF0ZS0+bW9kZSk7CiAJCQlrZnJlZShjcnRjX3N0YXRl KTsKKwkJfQogCX0KIAogCXJldHVybiBkcm1faGVscGVyX2NydGNfbW9kZV9zZXRfYmFzZShjcnRj LCB4LCB5LCBvbGRfZmIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf YXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYwppbmRleCAzOTAz YjkwLi5jNDc5Mzg2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9t aWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYwpAQCAtMjIyLDkg KzIyMiwyNSBAQCBpbnRlbF9jcnRjX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCiAJCWNydGNfc3RhdGUgPSBrbWVtZHVwKGludGVsX2NydGMtPmNvbmZpZywKIAkJCQkgICAg IHNpemVvZigqaW50ZWxfY3J0Yy0+Y29uZmlnKSwgR0ZQX0tFUk5FTCk7CiAKLQlpZiAoY3J0Y19z dGF0ZSkKKwlpZiAoY3J0Y19zdGF0ZSkgewogCQljcnRjX3N0YXRlLT5iYXNlLmNydGMgPSBjcnRj OwogCisJCS8qIFhYWDogdGhpcyBpcyB0ZWRpb3VzICovCisJCWlmIChpbnRlbF9jcnRjLT5jb25m aWcpIHsKKwkJCWNydGNfc3RhdGUtPm1vZGUgPQorCQkJCWRybV9tb2RlX2R1cGxpY2F0ZShjcnRj LT5kZXYsCisJCQkJCQkgICBpbnRlbF9jcnRjLT5jb25maWctPm1vZGUpOworCQl9IGVsc2Ugewor CQkJY3J0Y19zdGF0ZS0+bW9kZSA9CisJCQkJa3phbGxvYyhzaXplb2YoKmNydGNfc3RhdGUtPm1v ZGUpLCBHRlBfS0VSTkVMKTsKKwkJfQorCisJCWlmICghY3J0Y19zdGF0ZS0+bW9kZSkgeworCQkJ a2ZyZWUoY3J0Y19zdGF0ZSk7CisJCQljcnRjX3N0YXRlID0gTlVMTDsKKwkJfQorCX0KKwogCXJl dHVybiAmY3J0Y19zdGF0ZS0+YmFzZTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3JjYXItZHUvcmNhcl9kdV9lbmNvZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2Fy X2R1X2VuY29kZXIuYwppbmRleCAwZGI2YTU0Li4xNGQ3NGI0IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2VuY29kZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v cmNhci1kdS9yY2FyX2R1X2VuY29kZXIuYwpAQCAtNjQsNyArNjQsNyBAQCBzdGF0aWMgaW50IHJj YXJfZHVfZW5jb2Rlcl9hdG9taWNfY2hlY2soc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAog ewogCXN0cnVjdCByY2FyX2R1X2VuY29kZXIgKnJlbmMgPSB0b19yY2FyX2VuY29kZXIoZW5jb2Rl cik7CiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPSAmY3J0Y19zdGF0 ZS0+YWRqdXN0ZWRfbW9kZTsKLQljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9 ICZjcnRjX3N0YXRlLT5tb2RlOworCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2Rl ID0gY3J0Y19zdGF0ZS0+bW9kZTsKIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqcGFu ZWxfbW9kZTsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gY29ubl9zdGF0ZS0+ Y29ubmVjdG9yOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5kZXY7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2hkbWllbmMuYyBiL2RyaXZl cnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfaGRtaWVuYy5jCmluZGV4IGMwMDA4NTAuLjFjOWI2 ZjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfaGRtaWVuYy5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfaGRtaWVuYy5jCkBAIC02OSw3 ICs2OSw3IEBAIHN0YXRpYyBpbnQgcmNhcl9kdV9oZG1pZW5jX2F0b21pY19jaGVjayhzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJc3RydWN0IHJjYXJfZHVfaGRtaWVuYyAqaGRtaWVuYyA9 IHRvX3JjYXJfaGRtaWVuYyhlbmNvZGVyKTsKIAlzdHJ1Y3QgZHJtX2VuY29kZXJfc2xhdmVfZnVu Y3MgKnNmdW5jcyA9IHRvX3NsYXZlX2Z1bmNzKGVuY29kZXIpOwogCXN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlICphZGp1c3RlZF9tb2RlID0gJmNydGNfc3RhdGUtPmFkanVzdGVkX21vZGU7Ci0JY29u c3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSAmY3J0Y19zdGF0ZS0+bW9kZTsKKwlj b25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9IGNydGNfc3RhdGUtPm1vZGU7CiAK IAkvKiBUaGUgaW50ZXJuYWwgTFZEUyBlbmNvZGVyIGhhcyBhIGNsb2NrIGZyZXF1ZW5jeSBvcGVy YXRpbmcgcmFuZ2Ugb2YKIAkgKiAzME1IeiB0byAxNTBNSHouIENsYW1wIHRoZSBjbG9jayBhY2Nv cmRpbmdseS4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jIGIvZHJpdmVy cy9ncHUvZHJtL3RlZ3JhL2RjLmMKaW5kZXggYjdmNzgxNS4uNDBmNmU3NCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2Rj LmMKQEAgLTEwMTUsNiArMTAxNSwxMyBAQCB0ZWdyYV9jcnRjX2F0b21pY19kdXBsaWNhdGVfc3Rh dGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCWlmICghY29weSkKIAkJcmV0dXJuIE5VTEw7CiAK KwkvKiBYWFg6IHRlZGl1bSAqLworCWNvcHktPmJhc2UubW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0 ZShjcnRjLT5kZXYsIHN0YXRlLT5iYXNlLm1vZGUpOworCWlmICghY29weS0+YmFzZS5tb2RlKSB7 CisJCWtmcmVlKGNvcHkpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKIAljb3B5LT5iYXNlLm1vZGVf Y2hhbmdlZCA9IGZhbHNlOwogCWNvcHktPmJhc2UuYWN0aXZlX2NoYW5nZWQgPSBmYWxzZTsKIAlj b3B5LT5iYXNlLnBsYW5lc19jaGFuZ2VkID0gZmFsc2U7CkBAIC0xMDI2LDYgKzEwMzMsNyBAQCB0 ZWdyYV9jcnRjX2F0b21pY19kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQog c3RhdGljIHZvaWQgdGVncmFfY3J0Y19hdG9taWNfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCiAJCQkJCSAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlKQogeworCWtm cmVlKHN0YXRlLT5tb2RlKTsKIAlrZnJlZShzdGF0ZSk7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS90ZWdyYS9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kc2kuYwppbmRl eCA0NzE0ZWI0Li5jZmQ0ZGE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZHNp LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RzaS5jCkBAIC04ODcsNyArODg3LDcgQEAg dGVncmFfZHNpX2VuY29kZXJfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rl ciwKIAl1bnNpZ25lZCBsb25nIHBsbGQ7CiAJaW50IGVycjsKIAotCXN0YXRlLT5wY2xrID0gY3J0 Y19zdGF0ZS0+bW9kZS5jbG9jayAqIDEwMDA7CisJc3RhdGUtPnBjbGsgPSBjcnRjX3N0YXRlLT5t b2RlLT5jbG9jayAqIDEwMDA7CiAKIAllcnIgPSB0ZWdyYV9kc2lfZ2V0X211bGRpdihkc2ktPmZv cm1hdCwgJnN0YXRlLT5tdWwsICZzdGF0ZS0+ZGl2KTsKIAlpZiAoZXJyIDwgMCkKQEAgLTg5OSw3 ICs4OTksNyBAQCB0ZWdyYV9kc2lfZW5jb2Rlcl9hdG9taWNfY2hlY2soc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyLAogCWlmIChlcnIgPCAwKQogCQlyZXR1cm4gZXJyOwogCi0Jc3RhdGUtPnZy ZWZyZXNoID0gZHJtX21vZGVfdnJlZnJlc2goJmNydGNfc3RhdGUtPm1vZGUpOworCXN0YXRlLT52 cmVmcmVzaCA9IGRybV9tb2RlX3ZyZWZyZXNoKGNydGNfc3RhdGUtPm1vZGUpOwogCiAJLyogY29t cHV0ZSBieXRlIGNsb2NrICovCiAJc3RhdGUtPmJjbGsgPSAoc3RhdGUtPnBjbGsgKiBzdGF0ZS0+ bXVsKSAvIChzdGF0ZS0+ZGl2ICogc3RhdGUtPmxhbmVzKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS90ZWdyYS9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvaGRtaS5jCmluZGV4 IDY4ZDMxNWUuLmQ4MGRlOTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9oZG1p LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2hkbWkuYwpAQCAtMTA2MCw3ICsxMDYwLDcg QEAgdGVncmFfaGRtaV9lbmNvZGVyX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVu Y29kZXIsCiB7CiAJc3RydWN0IHRlZ3JhX291dHB1dCAqb3V0cHV0ID0gZW5jb2Rlcl90b19vdXRw dXQoZW5jb2Rlcik7CiAJc3RydWN0IHRlZ3JhX2RjICpkYyA9IHRvX3RlZ3JhX2RjKGNvbm5fc3Rh dGUtPmNydGMpOwotCXVuc2lnbmVkIGxvbmcgcGNsayA9IGNydGNfc3RhdGUtPm1vZGUuY2xvY2sg KiAxMDAwOworCXVuc2lnbmVkIGxvbmcgcGNsayA9IGNydGNfc3RhdGUtPm1vZGUtPmNsb2NrICog MTAwMDsKIAlzdHJ1Y3QgdGVncmFfaGRtaSAqaGRtaSA9IHRvX2hkbWkob3V0cHV0KTsKIAlpbnQg ZXJyOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvcmdiLmMgYi9kcml2ZXJz L2dwdS9kcm0vdGVncmEvcmdiLmMKaW5kZXggNzQ1NzU5YS4uNWI0ZDg2YSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3JnYi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9y Z2IuYwpAQCAtMTk2LDcgKzE5Niw3IEBAIHRlZ3JhX3JnYl9lbmNvZGVyX2F0b21pY19jaGVjayhz dHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiB7CiAJc3RydWN0IHRlZ3JhX291dHB1dCAqb3V0 cHV0ID0gZW5jb2Rlcl90b19vdXRwdXQoZW5jb2Rlcik7CiAJc3RydWN0IHRlZ3JhX2RjICpkYyA9 IHRvX3RlZ3JhX2RjKGNvbm5fc3RhdGUtPmNydGMpOwotCXVuc2lnbmVkIGxvbmcgcGNsayA9IGNy dGNfc3RhdGUtPm1vZGUuY2xvY2sgKiAxMDAwOworCXVuc2lnbmVkIGxvbmcgcGNsayA9IGNydGNf c3RhdGUtPm1vZGUtPmNsb2NrICogMTAwMDsKIAlzdHJ1Y3QgdGVncmFfcmdiICpyZ2IgPSB0b19y Z2Iob3V0cHV0KTsKIAl1bnNpZ25lZCBpbnQgZGl2OwogCWludCBlcnI7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMK aW5kZXggZmU4NjIwNy4uZDBlYWE0OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3Jh L3Nvci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9zb3IuYwpAQCAtMTI4Miw3ICsxMjgy LDcgQEAgdGVncmFfc29yX2VuY29kZXJfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fZW5jb2RlciAq ZW5jb2RlciwKIHsKIAlzdHJ1Y3QgdGVncmFfb3V0cHV0ICpvdXRwdXQgPSBlbmNvZGVyX3RvX291 dHB1dChlbmNvZGVyKTsKIAlzdHJ1Y3QgdGVncmFfZGMgKmRjID0gdG9fdGVncmFfZGMoY29ubl9z dGF0ZS0+Y3J0Yyk7Ci0JdW5zaWduZWQgbG9uZyBwY2xrID0gY3J0Y19zdGF0ZS0+bW9kZS5jbG9j ayAqIDEwMDA7CisJdW5zaWduZWQgbG9uZyBwY2xrID0gY3J0Y19zdGF0ZS0+bW9kZS0+Y2xvY2sg KiAxMDAwOwogCXN0cnVjdCB0ZWdyYV9zb3IgKnNvciA9IHRvX3NvcihvdXRwdXQpOwogCWludCBl cnI7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jcnRjLmggYi9pbmNsdWRlL2RybS9k cm1fY3J0Yy5oCmluZGV4IDdiMTQxZDgzNy4uMmJjZTk2ZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9k cm0vZHJtX2NydGMuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCkBAIC0yOTQsNyArMjk0 LDcgQEAgc3RydWN0IGRybV9jcnRjX3N0YXRlIHsKIAkvKiBhZGp1c3RlZF9tb2RlOiBmb3IgdXNl IGJ5IGhlbHBlcnMgYW5kIGRyaXZlcnMgKi8KIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSBhZGp1 c3RlZF9tb2RlOwogCi0Jc3RydWN0IGRybV9kaXNwbGF5X21vZGUgbW9kZTsKKwlzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqbW9kZTsKIAogCXN0cnVjdCBkcm1fcGVuZGluZ192YmxhbmtfZXZlbnQg KmV2ZW50OwogCi0tIAoyLjMuMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWwK