From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH] drm/i915: switch crtc->shared_dpll from a pointer to an enum Date: Fri, 7 Jun 2013 23:10:03 +0200 Message-ID: <1370639403-1167-1-git-send-email-daniel.vetter@ffwll.ch> References: <20130607164859.GS5004@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ee0-f42.google.com (mail-ee0-f42.google.com [74.125.83.42]) by gabe.freedesktop.org (Postfix) with ESMTP id 2D8C6E68CC for ; Fri, 7 Jun 2013 14:10:11 -0700 (PDT) Received: by mail-ee0-f42.google.com with SMTP id c4so1864468eek.15 for ; Fri, 07 Jun 2013 14:10:10 -0700 (PDT) In-Reply-To: <20130607164859.GS5004@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: Intel Graphics Development Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org RGVhbGluZyB3aXRoIGRpc2NyZXRlIGVudW0gdmFsdWVzIGlzIHNpbXBsZXIgZm9yIGh3IHN0YXRl IHJlYWRvdXQgYW5kCnBpcGUgY29uZmlnIGNvbXB1dGF0aW9ucyB0aGFuIHBvaW50ZXJzIC0gaGF2 aW5nIG5lYXQgbmFtZXMgaW5zdGVhZCBvZgpjaGFzaW5nIHBvaW50ZXJzIHNob3VsZCBsb29rIGJl dHRlciBpbiB0aGUgY29kZS4KClRoaXMgaXNuJ3QgYSB0aGF0IGdvb2QgcmVhc29uIGZvciBwY2gg cGxscywgYnV0IG9uIGhhc3dlbGwgd2UgYWN0dWFsbHkKaGF2ZSAzIGRpZmZlcmVudCB0eXBlcyBv ZiBwbGxzOiBXUlBMTCwgU1BMTCBhbmQgdGhlIERQIGNsb2Nrcy4gSGF2aW5nCmV4cGxpY2l0IG5h bWVzIHNob3VsZCBoZWxwIHRoZXJlLgoKU2luY2UgdGhpcyBhbHNvIGFkZHMgdGhlIGludGVsX2Ny dGNfdG9fc2hhcmVkX2RwbGwgaGVscGVyIHRvIGZ1cnRoZXIKYWJzdHJhY3QgYXdheSB0aGUgY3J0 YyAtPiBkcGxsIHJlbGF0aW9uc2hpcCB0aGlzIHdpbGwgYWxzbyBoZWxwIHRvCm1ha2UgdGhlIG5l eHQgcGF0Y2ggc2ltcGxlciwgd2hpY2ggbW92ZXMgdGhlIHNoYXJlZCBkcGxsIGludG8gdGhlIHBp cGUKY29uZmlndXJhdGlvbi4KCkFsc28gbm90ZSB0aGF0IGZvciB1bmlmb3JtaXR5IHdlIGhhdmUg dHdvIHNwZWNpYWwgZHBsbCBpZHM6IE5PTkUgZm9yCnBpcGVzIHdoaWNoIG5lZWQgYSBzaGFyZWQg cGxsIGJ1dCBkb24ndCBoYXZlIG9uZSAoeWV0KSBhbmQgcHJpdmF0ZSBmb3IKd2hlbiB0aGVyZSdz IGEgbm9uLXNoYXJlZCBwbGwgKGUuZy4gcGVyLXBpcGUgb3IgcGVyLXBvcnQgcGxsKS4KCkkndmUg dGhvdWdodCB3aGV0aGVyIHdlIHNob3VsZCBhbHNvIGFkZCBhIDJuZCBlbnVtIGZvciB0aGUgdHlw ZSBvZiB0aGUKcGxsIHdlIHdhbnQgKGZvciByZWFsbHkgZ2VuZXJpYyBwbGwgc2VsZWN0aW9uIGNv ZGUpIGJ1dCB0aHJvd24gdGhhdAppZGVhIG91dCBhZ2FpbiAtIGxpa2VseSB0aGVyZSdzIHRvbyBt dWNoIHBsYXRmb3JtIGNyYXppbmVzcyBnb2luZyBvbgp0byBiZSBhYmxlIHRvIHNoYXJlIHRoZSBw bGwgc2VsZWN0aW9uIGxvZ2ljIG11Y2guCgpTaW5jZSB0aGlzIHRvdWNoZWQgYWxsIHRoZSBzaGFy ZWRfcGxsIGZ1bmN0aW9ucyBhIGJpdCBJJ3ZlIGFsc28gZG9uZQphbiBzL2ludGVsX2NydGMvY3J0 Yy8gcmVwbGFjZW1lbnQgb24gYSBmZXcgb2YgdGhlbS4KCnYyOiBLaWxsIERQTExfSURfTk9ORS4g SXQncyBwcm9iYWJseSBiZXR0ZXIgdG8gY2FsbCBpdCBEUExMX0lEX0lOVkFMSUQgYW5kIHVzZQpp dCB0byBjaGVjayB0aGF0IHRoZSBjb21wdXRlIGNvbmZpZyBzdGFnZSBhc3NpZ25zIGEgZHBsbCB0 byBldmVyeSBwaXBlLgpCdXQgc2luY2UgdGhhdCBjb2RlIGlzbid0IHJlYWR5IHlldCB1bnRpbCB3 ZSBtb3ZlIHRoZSBkcGxsIHNlbGVjdGlvbiBvdXQKb2YgdGhlIC0+bW9kZV9zZXQgY2FsbGJhY2ss IHRoZXJlJ3Mgbm8gdXNlIGZvciBpdC4KCkNjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmph bGFAbGludXguaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwu dmV0dGVyQGZmd2xsLmNoPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAg ICB8ICA3ICsrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgOTAgKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaCAgICAgfCAgMiArLQogMyBmaWxlcyBjaGFuZ2VkLCA1OCBpbnNlcnRpb25zKCsp LCA0MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA4MTJhNWJlLi43 NmUwMjg3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTE0MCw2ICsxNDAsMTMgQEAgc3Ry dWN0IGludGVsX3NoYXJlZF9kcGxsIHsKIAlpbnQgZnAwX3JlZzsKIAlpbnQgZnAxX3JlZzsKIH07 CisKK2VudW0gaW50ZWxfZHBsbF9pZCB7CisJRFBMTF9JRF9QUklWQVRFID0gLTEsIC8qIG5vbi1z aGFyZWQgZHBsbCBpbiB1c2UgKi8KKwkvKiByZWFsIHNoYXJlZCBkcGxsIGlkcyBtdXN0IGJlID49 IDAgKi8KKwlEUExMX0lEX1BDSF9QTExfQSwKKwlEUExMX0lEX1BDSF9QTExfQiwKK307CiAjZGVm aW5lIEk5MTVfTlVNX1BMTFMgMgogCiAvKiBVc2VkIGJ5IGRwIGFuZCBmZGkgbGlua3MgKi8KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCAxY2MyOWU3Li4zOTI2YTgwIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC04OTEsNiArODkxLDE3IEBAIHN0YXRp YyB2b2lkIGFzc2VydF9wbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogI2Rl ZmluZSBhc3NlcnRfcGxsX2VuYWJsZWQoZCwgcCkgYXNzZXJ0X3BsbChkLCBwLCB0cnVlKQogI2Rl ZmluZSBhc3NlcnRfcGxsX2Rpc2FibGVkKGQsIHApIGFzc2VydF9wbGwoZCwgcCwgZmFsc2UpCiAK K3N0YXRpYyBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKgoraW50ZWxfY3J0Y190b19zaGFyZWRf ZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSBjcnRjLT5iYXNlLmRldi0+ZGV2X3ByaXZhdGU7CisKKwlpZiAoY3J0Yy0+ c2hhcmVkX2RwbGwgPCAwKQorCQlyZXR1cm4gTlVMTDsKKworCXJldHVybiAmZGV2X3ByaXYtPnNo YXJlZF9kcGxsc1tjcnRjLT5zaGFyZWRfZHBsbF07Cit9CisKIC8qIEZvciBJTEsrICovCiBzdGF0 aWMgdm9pZCBhc3NlcnRfc2hhcmVkX2RwbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAogCQkJICAgICAgIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsLApAQCAtMTM4Niwx NiArMTM5NywxNSBAQCB2b2lkIHZsdl93YWl0X3BvcnRfcmVhZHkoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LCBpbnQgcG9ydCkKICAqIFRoZSBQQ0ggUExMIG5lZWRzIHRvIGJlIGVu YWJsZWQgYmVmb3JlIHRoZSBQQ0ggdHJhbnNjb2Rlciwgc2luY2UgaXQKICAqIGRyaXZlcyB0aGUg dHJhbnNjb2RlciBjbG9jay4KICAqLwotc3RhdGljIHZvaWQgaXJvbmxha2VfZW5hYmxlX3NoYXJl ZF9kcGxsKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjKQorc3RhdGljIHZvaWQgaXJvbmxh a2VfZW5hYmxlX3NoYXJlZF9kcGxsKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogewotCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGludGVsX2NydGMtPmJhc2UuZGV2LT5kZXZf cHJpdmF0ZTsKLQlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKnBsbDsKKwlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBjcnRjLT5iYXNlLmRldi0+ZGV2X3ByaXZhdGU7CisJc3Ry dWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGwgPSBpbnRlbF9jcnRjX3RvX3NoYXJlZF9kcGxsKGNy dGMpOwogCWludCByZWc7CiAJdTMyIHZhbDsKIAogCS8qIFBDSCBQTExzIG9ubHkgYXZhaWxhYmxl IG9uIElMSywgU05CIGFuZCBJVkIgKi8KIAlCVUdfT04oZGV2X3ByaXYtPmluZm8tPmdlbiA8IDUp OwotCXBsbCA9IGludGVsX2NydGMtPnNoYXJlZF9kcGxsOwogCWlmIChwbGwgPT0gTlVMTCkKIAkJ cmV0dXJuOwogCkBAIC0xNDA0LDcgKzE0MTQsNyBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9lbmFi bGVfc2hhcmVkX2RwbGwoc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMpCiAKIAlEUk1fREVC VUdfS01TKCJlbmFibGUgUENIIFBMTCAleCAoYWN0aXZlICVkLCBvbj8gJWQpZm9yIGNydGMgJWRc biIsCiAJCSAgICAgIHBsbC0+cGxsX3JlZywgcGxsLT5hY3RpdmUsIHBsbC0+b24sCi0JCSAgICAg IGludGVsX2NydGMtPmJhc2UuYmFzZS5pZCk7CisJCSAgICAgIGNydGMtPmJhc2UuYmFzZS5pZCk7 CiAKIAkvKiBQQ0ggcmVmY2xvY2sgbXVzdCBiZSBlbmFibGVkIGZpcnN0ICovCiAJYXNzZXJ0X3Bj aF9yZWZjbGtfZW5hYmxlZChkZXZfcHJpdik7CkBAIC0xNDI3LDEwICsxNDM3LDEwIEBAIHN0YXRp YyB2b2lkIGlyb25sYWtlX2VuYWJsZV9zaGFyZWRfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YykKIAlwbGwtPm9uID0gdHJ1ZTsKIH0KIAotc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJs ZV9zaGFyZWRfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YykKK3N0YXRpYyB2b2lk IGludGVsX2Rpc2FibGVfc2hhcmVkX2RwbGwoc3RydWN0IGludGVsX2NydGMgKmNydGMpCiB7Ci0J c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gaW50ZWxfY3J0Yy0+YmFzZS5kZXYt PmRldl9wcml2YXRlOwotCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsID0gaW50ZWxfY3J0 Yy0+c2hhcmVkX2RwbGw7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gY3J0 Yy0+YmFzZS5kZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxs ID0gaW50ZWxfY3J0Y190b19zaGFyZWRfZHBsbChjcnRjKTsKIAlpbnQgcmVnOwogCXUzMiB2YWw7 CiAKQEAgLTE0NDQsNyArMTQ1NCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2Rpc2FibGVfc2hhcmVk X2RwbGwoc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMpCiAKIAlEUk1fREVCVUdfS01TKCJk aXNhYmxlIFBDSCBQTEwgJXggKGFjdGl2ZSAlZCwgb24/ICVkKSBmb3IgY3J0YyAlZFxuIiwKIAkJ ICAgICAgcGxsLT5wbGxfcmVnLCBwbGwtPmFjdGl2ZSwgcGxsLT5vbiwKLQkJICAgICAgaW50ZWxf Y3J0Yy0+YmFzZS5iYXNlLmlkKTsKKwkJICAgICAgY3J0Yy0+YmFzZS5iYXNlLmlkKTsKIAogCWlm IChXQVJOX09OKHBsbC0+YWN0aXZlID09IDApKSB7CiAJCWFzc2VydF9zaGFyZWRfZHBsbF9kaXNh YmxlZChkZXZfcHJpdiwgcGxsLCBOVUxMKTsKQEAgLTE0NTksNyArMTQ2OSw3IEBAIHN0YXRpYyB2 b2lkIGludGVsX2Rpc2FibGVfc2hhcmVkX2RwbGwoc3RydWN0IGludGVsX2NydGMgKmludGVsX2Ny dGMpCiAJRFJNX0RFQlVHX0tNUygiZGlzYWJsaW5nIFBDSCBQTEwgJXhcbiIsIHBsbC0+cGxsX3Jl Zyk7CiAKIAkvKiBNYWtlIHN1cmUgdHJhbnNjb2RlciBpc24ndCBzdGlsbCBkZXBlbmRpbmcgb24g dXMgKi8KLQlhc3NlcnRfcGNoX3RyYW5zY29kZXJfZGlzYWJsZWQoZGV2X3ByaXYsIGludGVsX2Ny dGMtPnBpcGUpOworCWFzc2VydF9wY2hfdHJhbnNjb2Rlcl9kaXNhYmxlZChkZXZfcHJpdiwgY3J0 Yy0+cGlwZSk7CiAKIAlyZWcgPSBwbGwtPnBsbF9yZWc7CiAJdmFsID0gSTkxNV9SRUFEKHJlZyk7 CkBAIC0xNDc2LDYgKzE0ODYsNyBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9lbmFibGVfcGNoX3Ry YW5zY29kZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogewogCXN0cnVjdCBk cm1fZGV2aWNlICpkZXYgPSBkZXZfcHJpdi0+ZGV2OwogCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9 IGRldl9wcml2LT5waXBlX3RvX2NydGNfbWFwcGluZ1twaXBlXTsKKwlzdHJ1Y3QgaW50ZWxfY3J0 YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CiAJdWludDMyX3QgcmVnLCB2YWws IHBpcGVjb25mX3ZhbDsKIAogCS8qIFBDSCBvbmx5IGF2YWlsYWJsZSBvbiBJTEsrICovCkBAIC0x NDgzLDggKzE0OTQsOCBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9lbmFibGVfcGNoX3RyYW5zY29k ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCiAJLyogTWFrZSBzdXJlIFBD SCBEUExMIGlzIGVuYWJsZWQgKi8KIAlhc3NlcnRfc2hhcmVkX2RwbGxfZW5hYmxlZChkZXZfcHJp diwKLQkJCQkgICB0b19pbnRlbF9jcnRjKGNydGMpLT5zaGFyZWRfZHBsbCwKLQkJCQkgICB0b19p bnRlbF9jcnRjKGNydGMpKTsKKwkJCQkgICBpbnRlbF9jcnRjX3RvX3NoYXJlZF9kcGxsKGludGVs X2NydGMpLAorCQkJCSAgIGludGVsX2NydGMpOwogCiAJLyogRkRJIG11c3QgYmUgZmVlZGluZyB1 cyBiaXRzIGZvciBQQ0ggcG9ydHMgKi8KIAlhc3NlcnRfZmRpX3R4X2VuYWJsZWQoZGV2X3ByaXYs IHBpcGUpOwpAQCAtMjk3MSw3ICsyOTgyLDcgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfcGNoX2Vu YWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJCQlzZWwgPSBUUkFOU0NfRFBMTEJfU0VMOwog CQkJYnJlYWs7CiAJCX0KLQkJaWYgKGludGVsX2NydGMtPnNoYXJlZF9kcGxsLT5wbGxfcmVnID09 IF9QQ0hfRFBMTF9CKQorCQlpZiAoaW50ZWxfY3J0Yy0+c2hhcmVkX2RwbGwgPT0gRFBMTF9JRF9Q Q0hfUExMX0IpCiAJCQl0ZW1wIHw9IHNlbDsKIAkJZWxzZQogCQkJdGVtcCAmPSB+c2VsOwpAQCAt MzA0MCw5ICszMDUxLDkgQEAgc3RhdGljIHZvaWQgbHB0X3BjaF9lbmFibGUoc3RydWN0IGRybV9j cnRjICpjcnRjKQogCWxwdF9lbmFibGVfcGNoX3RyYW5zY29kZXIoZGV2X3ByaXYsIGNwdV90cmFu c2NvZGVyKTsKIH0KIAotc3RhdGljIHZvaWQgaW50ZWxfcHV0X3NoYXJlZF9kcGxsKHN0cnVjdCBp bnRlbF9jcnRjICppbnRlbF9jcnRjKQorc3RhdGljIHZvaWQgaW50ZWxfcHV0X3NoYXJlZF9kcGxs KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogewotCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAq cGxsID0gaW50ZWxfY3J0Yy0+c2hhcmVkX2RwbGw7CisJc3RydWN0IGludGVsX3NoYXJlZF9kcGxs ICpwbGwgPSBpbnRlbF9jcnRjX3RvX3NoYXJlZF9kcGxsKGNydGMpOwogCiAJaWYgKHBsbCA9PSBO VUxMKQogCQlyZXR1cm47CkBAIC0zMDU3LDI5ICszMDY4LDI4IEBAIHN0YXRpYyB2b2lkIGludGVs X3B1dF9zaGFyZWRfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YykKIAkJV0FSTl9P TihwbGwtPmFjdGl2ZSk7CiAJfQogCi0JaW50ZWxfY3J0Yy0+c2hhcmVkX2RwbGwgPSBOVUxMOwor CWNydGMtPnNoYXJlZF9kcGxsID0gRFBMTF9JRF9QUklWQVRFOwogfQogCi1zdGF0aWMgc3RydWN0 IGludGVsX3NoYXJlZF9kcGxsICppbnRlbF9nZXRfc2hhcmVkX2RwbGwoc3RydWN0IGludGVsX2Ny dGMgKmludGVsX2NydGMsIHUzMiBkcGxsLCB1MzIgZnApCitzdGF0aWMgc3RydWN0IGludGVsX3No YXJlZF9kcGxsICppbnRlbF9nZXRfc2hhcmVkX2RwbGwoc3RydWN0IGludGVsX2NydGMgKmNydGMs IHUzMiBkcGxsLCB1MzIgZnApCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gaW50ZWxfY3J0Yy0+YmFzZS5kZXYtPmRldl9wcml2YXRlOwotCXN0cnVjdCBpbnRlbF9zaGFy ZWRfZHBsbCAqcGxsOwotCWludCBpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGNydGMtPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2Rw bGwgKnBsbCA9IGludGVsX2NydGNfdG9fc2hhcmVkX2RwbGwoY3J0Yyk7CisJZW51bSBpbnRlbF9k cGxsX2lkIGk7CiAKLQlwbGwgPSBpbnRlbF9jcnRjLT5zaGFyZWRfZHBsbDsKIAlpZiAocGxsKSB7 CiAJCURSTV9ERUJVR19LTVMoIkNSVEM6JWQgZHJvcHBpbmcgZXhpc3RpbmcgUENIIFBMTCAleFxu IiwKLQkJCSAgICAgIGludGVsX2NydGMtPmJhc2UuYmFzZS5pZCwgcGxsLT5wbGxfcmVnKTsKLQkJ aW50ZWxfcHV0X3NoYXJlZF9kcGxsKGludGVsX2NydGMpOworCQkJICAgICAgY3J0Yy0+YmFzZS5i YXNlLmlkLCBwbGwtPnBsbF9yZWcpOworCQlpbnRlbF9wdXRfc2hhcmVkX2RwbGwoY3J0Yyk7CiAJ fQogCiAJaWYgKEhBU19QQ0hfSUJYKGRldl9wcml2LT5kZXYpKSB7CiAJCS8qIElyb25sYWtlIFBD SCBoYXMgYSBmaXhlZCBQTEwtPlBDSCBwaXBlIG1hcHBpbmcuICovCi0JCWkgPSBpbnRlbF9jcnRj LT5waXBlOworCQlpID0gY3J0Yy0+cGlwZTsKIAkJcGxsID0gJmRldl9wcml2LT5zaGFyZWRfZHBs bHNbaV07CiAKIAkJRFJNX0RFQlVHX0tNUygiQ1JUQzolZCB1c2luZyBwcmUtYWxsb2NhdGVkIFBD SCBQTEwgJXhcbiIsCi0JCQkgICAgICBpbnRlbF9jcnRjLT5iYXNlLmJhc2UuaWQsIHBsbC0+cGxs X3JlZyk7CisJCQkgICAgICBjcnRjLT5iYXNlLmJhc2UuaWQsIHBsbC0+cGxsX3JlZyk7CiAKIAkJ Z290byBmb3VuZDsKIAl9CkBAIC0zMDk0LDcgKzMxMDQsNyBAQCBzdGF0aWMgc3RydWN0IGludGVs X3NoYXJlZF9kcGxsICppbnRlbF9nZXRfc2hhcmVkX2RwbGwoc3RydWN0IGludGVsX2NydGMgKmlu dGVsXwogCQlpZiAoZHBsbCA9PSAoSTkxNV9SRUFEKHBsbC0+cGxsX3JlZykgJiAweDdmZmZmZmZm KSAmJgogCQkgICAgZnAgPT0gSTkxNV9SRUFEKHBsbC0+ZnAwX3JlZykpIHsKIAkJCURSTV9ERUJV R19LTVMoIkNSVEM6JWQgc2hhcmluZyBleGlzdGluZyBQQ0ggUExMICV4IChyZWZjb3VudCAlZCwg YXRpdmUgJWQpXG4iLAotCQkJCSAgICAgIGludGVsX2NydGMtPmJhc2UuYmFzZS5pZCwKKwkJCQkg ICAgICBjcnRjLT5iYXNlLmJhc2UuaWQsCiAJCQkJICAgICAgcGxsLT5wbGxfcmVnLCBwbGwtPnJl ZmNvdW50LCBwbGwtPmFjdGl2ZSk7CiAKIAkJCWdvdG8gZm91bmQ7CkBAIC0zMTA2LDcgKzMxMTYs NyBAQCBzdGF0aWMgc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICppbnRlbF9nZXRfc2hhcmVkX2Rw bGwoc3RydWN0IGludGVsX2NydGMgKmludGVsXwogCQlwbGwgPSAmZGV2X3ByaXYtPnNoYXJlZF9k cGxsc1tpXTsKIAkJaWYgKHBsbC0+cmVmY291bnQgPT0gMCkgewogCQkJRFJNX0RFQlVHX0tNUygi Q1JUQzolZCBhbGxvY2F0ZWQgUENIIFBMTCAleFxuIiwKLQkJCQkgICAgICBpbnRlbF9jcnRjLT5i YXNlLmJhc2UuaWQsIHBsbC0+cGxsX3JlZyk7CisJCQkJICAgICAgY3J0Yy0+YmFzZS5iYXNlLmlk LCBwbGwtPnBsbF9yZWcpOwogCQkJZ290byBmb3VuZDsKIAkJfQogCX0KQEAgLTMxMTQsOCArMzEy NCw4IEBAIHN0YXRpYyBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKmludGVsX2dldF9zaGFyZWRf ZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfCiAJcmV0dXJuIE5VTEw7CiAKIGZvdW5kOgot CWludGVsX2NydGMtPnNoYXJlZF9kcGxsID0gcGxsOwotCURSTV9ERUJVR19EUklWRVIoInVzaW5n IHBsbCAlZCBmb3IgcGlwZSAlY1xuIiwgaSwgcGlwZV9uYW1lKGludGVsX2NydGMtPnBpcGUpKTsK KwljcnRjLT5zaGFyZWRfZHBsbCA9IGk7CisJRFJNX0RFQlVHX0RSSVZFUigidXNpbmcgcGxsICVk IGZvciBwaXBlICVjXG4iLCBpLCBwaXBlX25hbWUoY3J0Yy0+cGlwZSkpOwogCWlmIChwbGwtPmFj dGl2ZSA9PSAwKSB7CiAJCURSTV9ERUJVR19EUklWRVIoInNldHRpbmcgdXAgcGxsICVkXG4iLCBp KTsKIAkJV0FSTl9PTihwbGwtPm9uKTsKQEAgLTU3MTEsNiArNTcyMSw3IEBAIHN0YXRpYyBpbnQg aXJvbmxha2VfY3J0Y19tb2RlX3NldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJYm9vbCBvaywg aGFzX3JlZHVjZWRfY2xvY2sgPSBmYWxzZTsKIAlib29sIGlzX2x2ZHMgPSBmYWxzZTsKIAlzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcjsKKwlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKnBs bDsKIAlpbnQgcmV0OwogCiAJZm9yX2VhY2hfZW5jb2Rlcl9vbl9jcnRjKGRldiwgY3J0YywgZW5j b2RlcikgewpAQCAtNTc0Niw4ICs1NzU3LDYgQEAgc3RhdGljIGludCBpcm9ubGFrZV9jcnRjX21v ZGVfc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAogCS8qIENQVSBlRFAgaXMgdGhlIG9ubHkg b3V0cHV0IHRoYXQgZG9lc24ndCBuZWVkIGEgUENIIFBMTCBvZiBpdHMgb3duLiAqLwogCWlmIChp bnRlbF9jcnRjLT5jb25maWcuaGFzX3BjaF9lbmNvZGVyKSB7Ci0JCXN0cnVjdCBpbnRlbF9zaGFy ZWRfZHBsbCAqcGxsOwotCiAJCWZwID0gaTl4eF9kcGxsX2NvbXB1dGVfZnAoJmludGVsX2NydGMt PmNvbmZpZy5kcGxsKTsKIAkJaWYgKGhhc19yZWR1Y2VkX2Nsb2NrKQogCQkJZnAyID0gaTl4eF9k cGxsX2NvbXB1dGVfZnAoJnJlZHVjZWRfY2xvY2spOwpAQCAtNTc3MiwxMSArNTc4MSwxNSBAQCBz dGF0aWMgaW50IGlyb25sYWtlX2NydGNfbW9kZV9zZXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAog CQlpZiAoZW5jb2Rlci0+cHJlX3BsbF9lbmFibGUpCiAJCQllbmNvZGVyLT5wcmVfcGxsX2VuYWJs ZShlbmNvZGVyKTsKIAotCWlmIChpbnRlbF9jcnRjLT5zaGFyZWRfZHBsbCkgewotCQlJOTE1X1dS SVRFKGludGVsX2NydGMtPnNoYXJlZF9kcGxsLT5wbGxfcmVnLCBkcGxsKTsKKwlpbnRlbF9jcnRj LT5sb3dmcmVxX2F2YWlsID0gZmFsc2U7CisKKwlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLmhhc19w Y2hfZW5jb2RlcikgeworCQlwbGwgPSBpbnRlbF9jcnRjX3RvX3NoYXJlZF9kcGxsKGludGVsX2Ny dGMpOworCisJCUk5MTVfV1JJVEUocGxsLT5wbGxfcmVnLCBkcGxsKTsKIAogCQkvKiBXYWl0IGZv ciB0aGUgY2xvY2tzIHRvIHN0YWJpbGl6ZS4gKi8KLQkJUE9TVElOR19SRUFEKGludGVsX2NydGMt PnNoYXJlZF9kcGxsLT5wbGxfcmVnKTsKKwkJUE9TVElOR19SRUFEKHBsbC0+cGxsX3JlZyk7CiAJ CXVkZWxheSgxNTApOwogCiAJCS8qIFRoZSBwaXhlbCBtdWx0aXBsaWVyIGNhbiBvbmx5IGJlIHVw ZGF0ZWQgb25jZSB0aGUKQEAgLTU3ODQsMTYgKzU3OTcsMTMgQEAgc3RhdGljIGludCBpcm9ubGFr ZV9jcnRjX21vZGVfc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJICoKIAkJICogU28gd3Jp dGUgaXQgYWdhaW4uCiAJCSAqLwotCQlJOTE1X1dSSVRFKGludGVsX2NydGMtPnNoYXJlZF9kcGxs LT5wbGxfcmVnLCBkcGxsKTsKLQl9CisJCUk5MTVfV1JJVEUocGxsLT5wbGxfcmVnLCBkcGxsKTsK IAotCWludGVsX2NydGMtPmxvd2ZyZXFfYXZhaWwgPSBmYWxzZTsKLQlpZiAoaW50ZWxfY3J0Yy0+ c2hhcmVkX2RwbGwpIHsKIAkJaWYgKGlzX2x2ZHMgJiYgaGFzX3JlZHVjZWRfY2xvY2sgJiYgaTkx NV9wb3dlcnNhdmUpIHsKLQkJCUk5MTVfV1JJVEUoaW50ZWxfY3J0Yy0+c2hhcmVkX2RwbGwtPmZw MV9yZWcsIGZwMik7CisJCQlJOTE1X1dSSVRFKHBsbC0+ZnAxX3JlZywgZnAyKTsKIAkJCWludGVs X2NydGMtPmxvd2ZyZXFfYXZhaWwgPSB0cnVlOwogCQl9IGVsc2UgewotCQkJSTkxNV9XUklURShp bnRlbF9jcnRjLT5zaGFyZWRfZHBsbC0+ZnAxX3JlZywgZnApOworCQkJSTkxNV9XUklURShwbGwt PmZwMV9yZWcsIGZwKTsKIAkJfQogCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCBi MDk0MjYwLi4xZDRlYzIwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtMzE3LDcgKzMx Nyw3IEBAIHN0cnVjdCBpbnRlbF9jcnRjIHsKIAlzdHJ1Y3QgaW50ZWxfY3J0Y19jb25maWcgY29u ZmlnOwogCiAJLyogV2UgY2FuIHNoYXJlIFBMTHMgYWNyb3NzIG91dHB1dHMgaWYgdGhlIHRpbWlu Z3MgbWF0Y2ggKi8KLQlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKnNoYXJlZF9kcGxsOworCWVu dW0gaW50ZWxfZHBsbF9pZCBzaGFyZWRfZHBsbDsKIAl1aW50MzJfdCBkZGlfcGxsX3NlbDsKIAog CS8qIHJlc2V0IGNvdW50ZXIgdmFsdWUgd2hlbiB0aGUgbGFzdCBmbGlwIHdhcyBzdWJtaXR0ZWQg Ki8KLS0gCjEuNy4xMS43CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=