From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jesse Barnes Subject: [PATCH 1/6] drm/i915: add encoder get_config function v5 Date: Tue, 14 May 2013 17:08:26 -0700 Message-ID: <1368576511-10675-2-git-send-email-jbarnes@virtuousgeek.org> References: <1368576511-10675-1-git-send-email-jbarnes@virtuousgeek.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from oproxy14-pub.unifiedlayer.com (oproxy14-pub.unifiedlayer.com [67.222.51.224]) by gabe.freedesktop.org (Postfix) with SMTP id 89227E5F40 for ; Tue, 14 May 2013 17:08:40 -0700 (PDT) Received: from [192.55.60.135] (port=11667 helo=jbarnes-t420.intel.com) by box514.bluehost.com with esmtpsa (TLSv1:CAMELLIA256-SHA:256) (Exim 4.80) (envelope-from ) id 1UcPGp-00014J-SJ for intel-gfx@lists.freedesktop.org; Tue, 14 May 2013 18:08:40 -0600 In-Reply-To: <1368576511-10675-1-git-send-email-jbarnes@virtuousgeek.org> 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-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org V2UgY2FuIHVzZSB0aGlzIGZvciBmZXRjaGluZyBlbmNvZGVyIHNwZWNpZmljIHBpcGVfY29uZmln IHN0YXRlLCBsaWtlCm1vZGUgZmxhZ3MsIGFkanVzdGVkIGNsb2NrLCBldGMuCgpKdXN0IHVzZWQg Zm9yIG1vZGUgZmxhZ3MgYXRtLCBzbyB3ZSBjYW4gY2hlY2sgdGhlIHBpcGUgY29uZmlnIHN0YXRl IGF0Cm1vZGUgc2V0IHRpbWUuCgp2MjogZ2V0X2NvbmZpZyB3aGVuIGNoZWNraW5nIGh3IHN0YXRl IHRvbwp2MzogZml4IERWTyBhbmQgTFZEUyBtb2RlIGZsYWdzIChWaWxsZSkKICAgIGdldCBTRFZP IERURCBmb3IgZmxhZyBmZXRjaCAoVmlsbGUpCnY0OiB1c2UgaW5wdXQgdGltaW5ncyAoVmlsbGUp CiAgICBjb3JyZWN0IGNvbW1hbmQgdXNlZCAoVmlsbGUpCiAgICByZW1vdmUgZ2VuNCBjaGVjayAo VmlsbGUpCnY1OiBnZXQgRERJIGZsYWcgY29uZmlnIHRvbwoKU2lnbmVkLW9mZi1ieTogSmVzc2Ug QmFybmVzIDxqYmFybmVzQHZpcnR1b3VzZ2Vlay5vcmc+ClJldmlld2VkLWJ5OiBWaWxsZSBTeXJq w6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYW5p ZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2NydC5jICAgICB8ICAgMjMgKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAgIHwgICAyMyArKysrKysrKysrKysrKysrKysrCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAgIDIwICsrKysrKysrKysrKyst LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgICB8ICAgMjMgKysrKysrKysr KysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgICAgNCAr KysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYyAgICAgfCAgIDIxICsrKysrKysr KysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgICAgfCAgIDIzICsr KysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYyAgICB8 ICAgMjYgKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9z ZHZvLmMgICAgfCAgIDQyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDkgZmls ZXMgY2hhbmdlZCwgMjAyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9jcnQuYwppbmRleCBjYzQxNGYxLi43ODljNGVmIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9jcnQuYwpAQCAtODEsNiArODEsMjggQEAgc3RhdGljIGJvb2wgaW50ZWxfY3J0X2dldF9od19z dGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlyZXR1cm4gdHJ1ZTsKIH0KIAor c3RhdGljIHZvaWQgaW50ZWxfY3J0X2dldF9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCisJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX2NvbmZpZyAqcGlwZV9jb25maWcpCit7CisJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZW5jb2Rlci0+YmFzZS5kZXYtPmRl dl9wcml2YXRlOworCXN0cnVjdCBpbnRlbF9jcnQgKmNydCA9IGludGVsX2VuY29kZXJfdG9fY3J0 KGVuY29kZXIpOworCXUzMiB0bXAsIGZsYWdzID0gMDsKKworCXRtcCA9IEk5MTVfUkVBRChjcnQt PmFkcGFfcmVnKTsKKworCWlmICh0bXAgJiBBRFBBX0hTWU5DX0FDVElWRV9ISUdIKQorCQlmbGFn cyB8PSBEUk1fTU9ERV9GTEFHX1BIU1lOQzsKKwllbHNlCisJCWZsYWdzIHw9IERSTV9NT0RFX0ZM QUdfTkhTWU5DOworCisJaWYgKHRtcCAmIEFEUEFfVlNZTkNfQUNUSVZFX0hJR0gpCisJCWZsYWdz IHw9IERSTV9NT0RFX0ZMQUdfUFZTWU5DOworCWVsc2UKKwkJZmxhZ3MgfD0gRFJNX01PREVfRkxB R19OVlNZTkM7CisKKwlwaXBlX2NvbmZpZy0+YWRqdXN0ZWRfbW9kZS5mbGFncyB8PSBmbGFnczsK K30KKwogc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9jcnQoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZW5jb2Rl ci0+YmFzZS5kZXYtPmRldl9wcml2YXRlOwpAQCAtNzg0LDYgKzgwNiw3IEBAIHZvaWQgaW50ZWxf Y3J0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAljcnQtPmJhc2UuY29tcHV0ZV9jb25m aWcgPSBpbnRlbF9jcnRfY29tcHV0ZV9jb25maWc7CiAJY3J0LT5iYXNlLmRpc2FibGUgPSBpbnRl bF9kaXNhYmxlX2NydDsKIAljcnQtPmJhc2UuZW5hYmxlID0gaW50ZWxfZW5hYmxlX2NydDsKKwlj cnQtPmJhc2UuZ2V0X2NvbmZpZyA9IGludGVsX2NydF9nZXRfY29uZmlnOwogCWlmIChJOTE1X0hB U19IT1RQTFVHKGRldikpCiAJCWNydC0+YmFzZS5ocGRfcGluID0gSFBEX0NSVDsKIAlpZiAoSEFT X0RESShkZXYpKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwppbmRleCBjZGRjZjRhLi4yN2E3NGE5 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwpAQCAtMTI1NCw2ICsxMjU0LDI4IEBAIHN0YXRp YyB2b2lkIGludGVsX2RkaV9ob3RfcGx1ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5j b2RlcikKIAkJaW50ZWxfZHBfY2hlY2tfbGlua19zdGF0dXMoaW50ZWxfZHApOwogfQogCitzdGF0 aWMgdm9pZCBpbnRlbF9kZGlfZ2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKKwkJCQkgc3RydWN0IGludGVsX2NydGNfY29uZmlnICpwaXBlX2NvbmZpZykKK3sKKwlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBlbmNvZGVyLT5iYXNlLmRldi0+ZGV2X3By aXZhdGU7CisJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGVu Y29kZXItPmJhc2UuY3J0Yyk7CisJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gaW50 ZWxfY3J0Yy0+Y29uZmlnLmNwdV90cmFuc2NvZGVyOworCXUzMiB0ZW1wLCBmbGFncyA9IDA7CisK Kwl0ZW1wID0gSTkxNV9SRUFEKFRSQU5TX0RESV9GVU5DX0NUTChjcHVfdHJhbnNjb2RlcikpOwor CWlmICh0ZW1wICYgVFJBTlNfRERJX1BIU1lOQykKKwkJZmxhZ3MgfD0gRFJNX01PREVfRkxBR19Q SFNZTkM7CisJZWxzZQorCQlmbGFncyB8PSBEUk1fTU9ERV9GTEFHX05IU1lOQzsKKwlpZiAodGVt cCAmIFRSQU5TX0RESV9QVlNZTkMpCisJCWZsYWdzIHw9IERSTV9NT0RFX0ZMQUdfUFZTWU5DOwor CWVsc2UKKwkJZmxhZ3MgfD0gRFJNX01PREVfRkxBR19OVlNZTkM7CisKKwlwaXBlX2NvbmZpZy0+ YWRqdXN0ZWRfbW9kZS5mbGFncyB8PSBmbGFnczsKKwlwaXBlX2NvbmZpZy0+cGl4ZWxfbXVsdGlw bGllciA9IDE7Cit9CisKIHN0YXRpYyB2b2lkIGludGVsX2RkaV9kZXN0cm95KHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2RlcikKIHsKIAkvKiBIRE1JIGhhcyBub3RoaW5nIHNwZWNpYWwgdG8gZGVz dHJveSwgc28gd2UgY2FuIGdvIHdpdGggdGhpcy4gKi8KQEAgLTEzMTMsNiArMTMzNSw3IEBAIHZv aWQgaW50ZWxfZGRpX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgZW51bSBwb3J0IHBvcnQp CiAJaW50ZWxfZW5jb2Rlci0+ZGlzYWJsZSA9IGludGVsX2Rpc2FibGVfZGRpOwogCWludGVsX2Vu Y29kZXItPnBvc3RfZGlzYWJsZSA9IGludGVsX2RkaV9wb3N0X2Rpc2FibGU7CiAJaW50ZWxfZW5j b2Rlci0+Z2V0X2h3X3N0YXRlID0gaW50ZWxfZGRpX2dldF9od19zdGF0ZTsKKwlpbnRlbF9lbmNv ZGVyLT5nZXRfY29uZmlnID0gaW50ZWxfZGRpX2dldF9jb25maWc7CiAKIAlpbnRlbF9kaWdfcG9y dC0+cG9ydCA9IHBvcnQ7CiAJaW50ZWxfZGlnX3BvcnQtPnBvcnRfcmV2ZXJzYWwgPSBJOTE1X1JF QUQoRERJX0JVRl9DVEwocG9ydCkpICYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpp bmRleCA3MzU4ZTRlLi4xNjNiOTdlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j CkBAIC04MDU3LDYgKzgwNTcsMTUgQEAgaW50ZWxfcGlwZV9jb25maWdfY29tcGFyZShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAogCVBJUEVfQ09ORl9DSEVDS19GTEFHUyhhZGp1c3RlZF9tb2RlLmZs YWdzLAogCQkJICAgICAgRFJNX01PREVfRkxBR19JTlRFUkxBQ0UpOwogCisJUElQRV9DT05GX0NI RUNLX0ZMQUdTKGFkanVzdGVkX21vZGUuZmxhZ3MsCisJCQkgICAgICBEUk1fTU9ERV9GTEFHX1BI U1lOQyk7CisJUElQRV9DT05GX0NIRUNLX0ZMQUdTKGFkanVzdGVkX21vZGUuZmxhZ3MsCisJCQkg ICAgICBEUk1fTU9ERV9GTEFHX05IU1lOQyk7CisJUElQRV9DT05GX0NIRUNLX0ZMQUdTKGFkanVz dGVkX21vZGUuZmxhZ3MsCisJCQkgICAgICBEUk1fTU9ERV9GTEFHX1BWU1lOQyk7CisJUElQRV9D T05GX0NIRUNLX0ZMQUdTKGFkanVzdGVkX21vZGUuZmxhZ3MsCisJCQkgICAgICBEUk1fTU9ERV9G TEFHX05WU1lOQyk7CisKIAlQSVBFX0NPTkZfQ0hFQ0tfSShyZXF1ZXN0ZWRfbW9kZS5oZGlzcGxh eSk7CiAJUElQRV9DT05GX0NIRUNLX0kocmVxdWVzdGVkX21vZGUudmRpc3BsYXkpOwogCkBAIC04 MTQ5LDYgKzgxNTgsOCBAQCBpbnRlbF9tb2Rlc2V0X2NoZWNrX3N0YXRlKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCiAJCWJvb2wgZW5hYmxlZCA9IGZhbHNlOwogCQlib29sIGFjdGl2ZSA9IGZhbHNl OwogCisJCW1lbXNldCgmcGlwZV9jb25maWcsIDAsIHNpemVvZihwaXBlX2NvbmZpZykpOworCiAJ CURSTV9ERUJVR19LTVMoIltDUlRDOiVkXVxuIiwKIAkJCSAgICAgIGNydGMtPmJhc2UuYmFzZS5p ZCk7CiAKQEAgLTgxNjIsNiArODE3Myw4IEBAIGludGVsX21vZGVzZXRfY2hlY2tfc3RhdGUoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKIAkJCWVuYWJsZWQgPSB0cnVlOwogCQkJaWYgKGVuY29kZXIt PmNvbm5lY3RvcnNfYWN0aXZlKQogCQkJCWFjdGl2ZSA9IHRydWU7CisJCQlpZiAoZW5jb2Rlci0+ Z2V0X2NvbmZpZykKKwkJCQllbmNvZGVyLT5nZXRfY29uZmlnKGVuY29kZXIsICZwaXBlX2NvbmZp Zyk7CiAJCX0KIAkJV0FSTihhY3RpdmUgIT0gY3J0Yy0+YWN0aXZlLAogCQkgICAgICJjcnRjJ3Mg Y29tcHV0ZWQgYWN0aXZlIHN0YXRlIGRvZXNuJ3QgbWF0Y2ggdHJhY2tlZCBhY3RpdmUgc3RhdGUg IgpAQCAtODE3MCw3ICs4MTgzLDYgQEAgaW50ZWxfbW9kZXNldF9jaGVja19zdGF0ZShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQogCQkgICAgICJjcnRjJ3MgY29tcHV0ZWQgZW5hYmxlZCBzdGF0ZSBk b2Vzbid0IG1hdGNoIHRyYWNrZWQgZW5hYmxlZCBzdGF0ZSAiCiAJCSAgICAgIihleHBlY3RlZCAl aSwgZm91bmQgJWkpXG4iLCBlbmFibGVkLCBjcnRjLT5iYXNlLmVuYWJsZWQpOwogCi0JCW1lbXNl dCgmcGlwZV9jb25maWcsIDAsIHNpemVvZihwaXBlX2NvbmZpZykpOwogCQlwaXBlX2NvbmZpZy5j cHVfdHJhbnNjb2RlciA9IGNydGMtPmNvbmZpZy5jcHVfdHJhbnNjb2RlcjsKIAkJYWN0aXZlID0g ZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X3BpcGVfY29uZmlnKGNydGMsCiAJCQkJCQkJICAgJnBpcGVf Y29uZmlnKTsKQEAgLTk1NzksOCArOTU5MSwxMCBAQCBzZXR1cF9waXBlczoKIAkJcGlwZSA9IDA7 CiAKIAkJaWYgKGVuY29kZXItPmdldF9od19zdGF0ZShlbmNvZGVyLCAmcGlwZSkpIHsKLQkJCWVu Y29kZXItPmJhc2UuY3J0YyA9Ci0JCQkJZGV2X3ByaXYtPnBpcGVfdG9fY3J0Y19tYXBwaW5nW3Bp cGVdOworCQkJY3J0YyA9IHRvX2ludGVsX2NydGMoZGV2X3ByaXYtPnBpcGVfdG9fY3J0Y19tYXBw aW5nW3BpcGVdKTsKKwkJCWVuY29kZXItPmJhc2UuY3J0YyA9ICZjcnRjLT5iYXNlOworCQkJaWYg KGVuY29kZXItPmdldF9jb25maWcpCisJCQkJZW5jb2Rlci0+Z2V0X2NvbmZpZyhlbmNvZGVyLCAm Y3J0Yy0+Y29uZmlnKTsKIAkJfSBlbHNlIHsKIAkJCWVuY29kZXItPmJhc2UuY3J0YyA9IE5VTEw7 CiAJCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCmluZGV4IDJiYjQwMDkuLmE0MjMyNTYgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHAuYwpAQCAtMTM1Niw2ICsxMzU2LDI4IEBAIHN0YXRpYyBib29sIGlu dGVsX2RwX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlyZXR1 cm4gdHJ1ZTsKIH0KIAorc3RhdGljIHZvaWQgaW50ZWxfZHBfZ2V0X2NvbmZpZyhzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19jb25maWcgKnBpcGVf Y29uZmlnKQoreworCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAo JmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGVu Y29kZXItPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKKwl1MzIgdG1wLCBmbGFncyA9IDA7CisKKwl0 bXAgPSBJOTE1X1JFQUQoaW50ZWxfZHAtPm91dHB1dF9yZWcpOworCisJaWYgKHRtcCAmIERQX1NZ TkNfSFNfSElHSCkKKwkJZmxhZ3MgfD0gRFJNX01PREVfRkxBR19QSFNZTkM7CisJZWxzZQorCQlm bGFncyB8PSBEUk1fTU9ERV9GTEFHX05IU1lOQzsKKworCWlmICh0bXAgJiBEUF9TWU5DX1ZTX0hJ R0gpCisJCWZsYWdzIHw9IERSTV9NT0RFX0ZMQUdfUFZTWU5DOworCWVsc2UKKwkJZmxhZ3MgfD0g RFJNX01PREVfRkxBR19OVlNZTkM7CisKKwlwaXBlX2NvbmZpZy0+YWRqdXN0ZWRfbW9kZS5mbGFn cyB8PSBmbGFnczsKK30KKwogc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9kcChzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlcikKIHsKIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5j X3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKQEAgLTMxNTQsNiArMzE3Niw3IEBAIGludGVs X2RwX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IG91dHB1dF9yZWcsIGVudW0gcG9y dCBwb3J0KQogCWludGVsX2VuY29kZXItPmRpc2FibGUgPSBpbnRlbF9kaXNhYmxlX2RwOwogCWlu dGVsX2VuY29kZXItPnBvc3RfZGlzYWJsZSA9IGludGVsX3Bvc3RfZGlzYWJsZV9kcDsKIAlpbnRl bF9lbmNvZGVyLT5nZXRfaHdfc3RhdGUgPSBpbnRlbF9kcF9nZXRfaHdfc3RhdGU7CisJaW50ZWxf ZW5jb2Rlci0+Z2V0X2NvbmZpZyA9IGludGVsX2RwX2dldF9jb25maWc7CiAJaWYgKElTX1ZBTExF WVZJRVcoZGV2KSkKIAkJaW50ZWxfZW5jb2Rlci0+cHJlX3BsbF9lbmFibGUgPSBpbnRlbF9kcF9w cmVfcGxsX2VuYWJsZTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCAwZjM1NTQ1Li40 ODAyNDgzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtMTM5LDYgKzEzOSwxMCBAQCBz dHJ1Y3QgaW50ZWxfZW5jb2RlciB7CiAJICogdGhlIGVuY29kZXIgaXMgYWN0aXZlLiBJZiB0aGUg ZW5jb2RlciBpcyBlbmFibGVkIGl0IGFsc28gc2V0IHRoZSBwaXBlCiAJICogaXQgaXMgY29ubmVj dGVkIHRvIGluIHRoZSBwaXBlIHBhcmFtZXRlci4gKi8KIAlib29sICgqZ2V0X2h3X3N0YXRlKShz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqLCBlbnVtIHBpcGUgKnBpcGUpOworCS8qIFJlY29uc3RydWN0 cyB0aGUgZXF1aXZhbGVudCBtb2RlIGZsYWdzIGZvciB0aGUgY3VycmVudCBoYXJkd2FyZQorCSAq IHN0YXRlLiAqLworCXZvaWQgKCpnZXRfY29uZmlnKShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqLAor CQkJICAgc3RydWN0IGludGVsX2NydGNfY29uZmlnICpwaXBlX2NvbmZpZyk7CiAJaW50IGNydGNf bWFzazsKIAllbnVtIGhwZF9waW4gaHBkX3BpbjsKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kdm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5j CmluZGV4IDAwZTcwZGIuLjkxZTk5MDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2R2by5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5jCkBAIC0x MjksNiArMTI5LDI2IEBAIHN0YXRpYyBib29sIGludGVsX2R2b19nZXRfaHdfc3RhdGUoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyB2b2lk IGludGVsX2R2b19nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAorCQkJ CSBzdHJ1Y3QgaW50ZWxfY3J0Y19jb25maWcgKnBpcGVfY29uZmlnKQoreworCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGVuY29kZXItPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsK KwlzdHJ1Y3QgaW50ZWxfZHZvICppbnRlbF9kdm8gPSBlbmNfdG9faW50ZWxfZHZvKCZlbmNvZGVy LT5iYXNlKTsKKwl1MzIgdG1wLCBmbGFncyA9IDA7CisKKwl0bXAgPSBJOTE1X1JFQUQoaW50ZWxf ZHZvLT5kZXYuZHZvX3JlZyk7CisJaWYgKHRtcCAmIERWT19IU1lOQ19BQ1RJVkVfSElHSCkKKwkJ ZmxhZ3MgfD0gRFJNX01PREVfRkxBR19QSFNZTkM7CisJZWxzZQorCQlmbGFncyB8PSBEUk1fTU9E RV9GTEFHX05IU1lOQzsKKwlpZiAodG1wICYgRFZPX1ZTWU5DX0FDVElWRV9ISUdIKQorCQlmbGFn cyB8PSBEUk1fTU9ERV9GTEFHX1BWU1lOQzsKKwllbHNlCisJCWZsYWdzIHw9IERSTV9NT0RFX0ZM QUdfTlZTWU5DOworCisJcGlwZV9jb25maWctPmFkanVzdGVkX21vZGUuZmxhZ3MgfD0gZmxhZ3M7 Cit9CisKIHN0YXRpYyB2b2lkIGludGVsX2Rpc2FibGVfZHZvKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGVuY29k ZXItPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKQEAgLTQ0MCw2ICs0NjAsNyBAQCB2b2lkIGludGVs X2R2b19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJaW50ZWxfZW5jb2Rlci0+ZGlzYWJs ZSA9IGludGVsX2Rpc2FibGVfZHZvOwogCWludGVsX2VuY29kZXItPmVuYWJsZSA9IGludGVsX2Vu YWJsZV9kdm87CiAJaW50ZWxfZW5jb2Rlci0+Z2V0X2h3X3N0YXRlID0gaW50ZWxfZHZvX2dldF9o d19zdGF0ZTsKKwlpbnRlbF9lbmNvZGVyLT5nZXRfY29uZmlnID0gaW50ZWxfZHZvX2dldF9jb25m aWc7CiAJaW50ZWxfY29ubmVjdG9yLT5nZXRfaHdfc3RhdGUgPSBpbnRlbF9kdm9fY29ubmVjdG9y X2dldF9od19zdGF0ZTsKIAogCS8qIE5vdywgdHJ5IHRvIGZpbmQgYSBjb250cm9sbGVyICovCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKaW5kZXggOTNkZTVmZi4uOTA5MTY1NSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2hkbWkuYwpAQCAtNjU4LDYgKzY1OCwyOCBAQCBzdGF0aWMgYm9vbCBpbnRl bF9oZG1pX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlyZXR1 cm4gdHJ1ZTsKIH0KIAorc3RhdGljIHZvaWQgaW50ZWxfaGRtaV9nZXRfY29uZmlnKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAorCQkJCSAgc3RydWN0IGludGVsX2NydGNfY29uZmlnICpw aXBlX2NvbmZpZykKK3sKKwlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19p bnRlbF9oZG1pKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSBlbmNvZGVyLT5iYXNlLmRldi0+ZGV2X3ByaXZhdGU7CisJdTMyIHRtcCwgZmxhZ3Mg PSAwOworCisJdG1wID0gSTkxNV9SRUFEKGludGVsX2hkbWktPmhkbWlfcmVnKTsKKworCWlmICh0 bXAgJiBTRFZPX0hTWU5DX0FDVElWRV9ISUdIKQorCQlmbGFncyB8PSBEUk1fTU9ERV9GTEFHX1BI U1lOQzsKKwllbHNlCisJCWZsYWdzIHw9IERSTV9NT0RFX0ZMQUdfTkhTWU5DOworCisJaWYgKHRt cCAmIFNEVk9fVlNZTkNfQUNUSVZFX0hJR0gpCisJCWZsYWdzIHw9IERSTV9NT0RFX0ZMQUdfUFZT WU5DOworCWVsc2UKKwkJZmxhZ3MgfD0gRFJNX01PREVfRkxBR19OVlNZTkM7CisKKwlwaXBlX2Nv bmZpZy0+YWRqdXN0ZWRfbW9kZS5mbGFncyB8PSBmbGFnczsKK30KKwogc3RhdGljIHZvaWQgaW50 ZWxfZW5hYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiB7CiAJc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2OwpAQCAtMTIwOCw2ICsxMjMwLDcg QEAgdm9pZCBpbnRlbF9oZG1pX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IGhkbWlf cmVnLCBlbnVtIHBvcnQgcG9ydCkKIAlpbnRlbF9lbmNvZGVyLT5lbmFibGUgPSBpbnRlbF9lbmFi bGVfaGRtaTsKIAlpbnRlbF9lbmNvZGVyLT5kaXNhYmxlID0gaW50ZWxfZGlzYWJsZV9oZG1pOwog CWludGVsX2VuY29kZXItPmdldF9od19zdGF0ZSA9IGludGVsX2hkbWlfZ2V0X2h3X3N0YXRlOwor CWludGVsX2VuY29kZXItPmdldF9jb25maWcgPSBpbnRlbF9oZG1pX2dldF9jb25maWc7CiAJaWYg KElTX1ZBTExFWVZJRVcoZGV2KSkgewogCQlpbnRlbF9lbmNvZGVyLT5wcmVfZW5hYmxlID0gaW50 ZWxfaGRtaV9wcmVfZW5hYmxlOwogCQlpbnRlbF9lbmNvZGVyLT5wcmVfcGxsX2VuYWJsZSA9IGlu dGVsX2hkbWlfcHJlX3BsbF9lbmFibGU7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMKaW5kZXgg MzZmZTI5MS4uNjU1NDg2MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bHZkcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYwpAQCAtODYsNiAr ODYsMzEgQEAgc3RhdGljIGJvb2wgaW50ZWxfbHZkc19nZXRfaHdfc3RhdGUoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCiAJcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyB2b2lkIGludGVs X2x2ZHNfZ2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCQkgIHN0 cnVjdCBpbnRlbF9jcnRjX2NvbmZpZyAqcGlwZV9jb25maWcpCit7CisJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJdTMyIGx2ZHNfcmVnLCB0bXAsIGZsYWdzID0g MDsKKworCWlmIChIQVNfUENIX1NQTElUKGRldikpCisJCWx2ZHNfcmVnID0gUENIX0xWRFM7CisJ ZWxzZQorCQlsdmRzX3JlZyA9IExWRFM7CisKKwl0bXAgPSBJOTE1X1JFQUQobHZkc19yZWcpOwor CWlmICh0bXAgJiBMVkRTX0hTWU5DX1BPTEFSSVRZKQorCQlmbGFncyB8PSBEUk1fTU9ERV9GTEFH X05IU1lOQzsKKwllbHNlCisJCWZsYWdzIHw9IERSTV9NT0RFX0ZMQUdfUEhTWU5DOworCWlmICh0 bXAgJiBMVkRTX1ZTWU5DX1BPTEFSSVRZKQorCQlmbGFncyB8PSBEUk1fTU9ERV9GTEFHX05WU1lO QzsKKwllbHNlCisJCWZsYWdzIHw9IERSTV9NT0RFX0ZMQUdfUFZTWU5DOworCisJcGlwZV9jb25m aWctPmFkanVzdGVkX21vZGUuZmxhZ3MgfD0gZmxhZ3M7Cit9CisKIC8qIFRoZSBMVkRTIHBpbiBw YWlyIG5lZWRzIHRvIGJlIG9uIGJlZm9yZSB0aGUgRFBMTHMgYXJlIGVuYWJsZWQuCiAgKiBUaGlz IGlzIGFuIGV4Y2VwdGlvbiB0byB0aGUgZ2VuZXJhbCBydWxlIHRoYXQgbW9kZV9zZXQgZG9lc24n dCB0dXJuCiAgKiB0aGluZ3Mgb24uCkBAIC05MjEsNiArOTQ2LDcgQEAgYm9vbCBpbnRlbF9sdmRz X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlpbnRlbF9lbmNvZGVyLT5jb21wdXRlX2Nv bmZpZyA9IGludGVsX2x2ZHNfY29tcHV0ZV9jb25maWc7CiAJaW50ZWxfZW5jb2Rlci0+ZGlzYWJs ZSA9IGludGVsX2Rpc2FibGVfbHZkczsKIAlpbnRlbF9lbmNvZGVyLT5nZXRfaHdfc3RhdGUgPSBp bnRlbF9sdmRzX2dldF9od19zdGF0ZTsKKwlpbnRlbF9lbmNvZGVyLT5nZXRfY29uZmlnID0gaW50 ZWxfbHZkc19nZXRfY29uZmlnOwogCWludGVsX2Nvbm5lY3Rvci0+Z2V0X2h3X3N0YXRlID0gaW50 ZWxfY29ubmVjdG9yX2dldF9od19zdGF0ZTsKIAogCWludGVsX2Nvbm5lY3Rvcl9hdHRhY2hfZW5j b2RlcihpbnRlbF9jb25uZWN0b3IsIGludGVsX2VuY29kZXIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf c2R2by5jCmluZGV4IDJmNTRkYzMuLjQxNmQyM2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3Nkdm8uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZv LmMKQEAgLTcxMiw2ICs3MTIsMTMgQEAgc3RhdGljIGJvb2wgaW50ZWxfc2R2b19zZXRfdGltaW5n KHN0cnVjdCBpbnRlbF9zZHZvICppbnRlbF9zZHZvLCB1OCBjbWQsCiAJCWludGVsX3Nkdm9fc2V0 X3ZhbHVlKGludGVsX3Nkdm8sIGNtZCArIDEsICZkdGQtPnBhcnQyLCBzaXplb2YoZHRkLT5wYXJ0 MikpOwogfQogCitzdGF0aWMgYm9vbCBpbnRlbF9zZHZvX2dldF90aW1pbmcoc3RydWN0IGludGVs X3Nkdm8gKmludGVsX3Nkdm8sIHU4IGNtZCwKKwkJCQkgIHN0cnVjdCBpbnRlbF9zZHZvX2R0ZCAq ZHRkKQoreworCXJldHVybiBpbnRlbF9zZHZvX2dldF92YWx1ZShpbnRlbF9zZHZvLCBjbWQsICZk dGQtPnBhcnQxLCBzaXplb2YoZHRkLT5wYXJ0MSkpICYmCisJCWludGVsX3Nkdm9fZ2V0X3ZhbHVl KGludGVsX3Nkdm8sIGNtZCArIDEsICZkdGQtPnBhcnQyLCBzaXplb2YoZHRkLT5wYXJ0MikpOwor fQorCiBzdGF0aWMgYm9vbCBpbnRlbF9zZHZvX3NldF9pbnB1dF90aW1pbmcoc3RydWN0IGludGVs X3Nkdm8gKmludGVsX3Nkdm8sCiAJCQkJCSBzdHJ1Y3QgaW50ZWxfc2R2b19kdGQgKmR0ZCkKIHsK QEAgLTcyNiw2ICs3MzMsMTMgQEAgc3RhdGljIGJvb2wgaW50ZWxfc2R2b19zZXRfb3V0cHV0X3Rp bWluZyhzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2bywKIAkJCQkgICAgIFNEVk9fQ01EX1NF VF9PVVRQVVRfVElNSU5HU19QQVJUMSwgZHRkKTsKIH0KIAorc3RhdGljIGJvb2wgaW50ZWxfc2R2 b19nZXRfaW5wdXRfdGltaW5nKHN0cnVjdCBpbnRlbF9zZHZvICppbnRlbF9zZHZvLAorCQkJCQlz dHJ1Y3QgaW50ZWxfc2R2b19kdGQgKmR0ZCkKK3sKKwlyZXR1cm4gaW50ZWxfc2R2b19nZXRfdGlt aW5nKGludGVsX3Nkdm8sCisJCQkJICAgICBTRFZPX0NNRF9HRVRfSU5QVVRfVElNSU5HU19QQVJU MSwgZHRkKTsKK30KKwogc3RhdGljIGJvb2wKIGludGVsX3Nkdm9fY3JlYXRlX3ByZWZlcnJlZF9p bnB1dF90aW1pbmcoc3RydWN0IGludGVsX3Nkdm8gKmludGVsX3Nkdm8sCiAJCQkJCSB1aW50MTZf dCBjbG9jaywKQEAgLTEyOTUsNiArMTMwOSwzMyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9zZHZvX2dl dF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlyZXR1cm4gdHJ1ZTsK IH0KIAorc3RhdGljIHZvaWQgaW50ZWxfc2R2b19nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAorCQkJCSAgc3RydWN0IGludGVsX2NydGNfY29uZmlnICpwaXBlX2NvbmZp ZykKK3sKKwlzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2byA9IHRvX2ludGVsX3Nkdm8oJmVu Y29kZXItPmJhc2UpOworCXN0cnVjdCBpbnRlbF9zZHZvX2R0ZCBkdGQ7CisJdTMyIGZsYWdzID0g MDsKKwlib29sIHJldDsKKworCXJldCA9IGludGVsX3Nkdm9fZ2V0X2lucHV0X3RpbWluZyhpbnRl bF9zZHZvLCAmZHRkKTsKKwlpZiAoIXJldCkgeworCQlEUk1fREVCVUdfRFJJVkVSKCJmYWlsZWQg dG8gcmV0cmlldmUgU0RWTyBEVERcbiIpOworCQlyZXR1cm47CisJfQorCisJaWYgKGR0ZC5wYXJ0 Mi5kdGRfZmxhZ3MgJiBEVERfRkxBR19IU1lOQ19QT1NJVElWRSkKKwkJZmxhZ3MgfD0gRFJNX01P REVfRkxBR19QSFNZTkM7CisJZWxzZQorCQlmbGFncyB8PSBEUk1fTU9ERV9GTEFHX05IU1lOQzsK KworCWlmIChkdGQucGFydDIuZHRkX2ZsYWdzICYgRFREX0ZMQUdfVlNZTkNfUE9TSVRJVkUpCisJ CWZsYWdzIHw9IERSTV9NT0RFX0ZMQUdfUFZTWU5DOworCWVsc2UKKwkJZmxhZ3MgfD0gRFJNX01P REVfRkxBR19OVlNZTkM7CisKKwlwaXBlX2NvbmZpZy0+YWRqdXN0ZWRfbW9kZS5mbGFncyB8PSBm bGFnczsKK30KKwogc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9zZHZvKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IGVuY29kZXItPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKQEAgLTI4MTksNiArMjg2MCw3IEBAIGJv b2wgaW50ZWxfc2R2b19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVpbnQzMl90IHNkdm9f cmVnLCBib29sIGlzX3Nkdm9iKQogCWludGVsX2VuY29kZXItPm1vZGVfc2V0ID0gaW50ZWxfc2R2 b19tb2RlX3NldDsKIAlpbnRlbF9lbmNvZGVyLT5lbmFibGUgPSBpbnRlbF9lbmFibGVfc2R2bzsK IAlpbnRlbF9lbmNvZGVyLT5nZXRfaHdfc3RhdGUgPSBpbnRlbF9zZHZvX2dldF9od19zdGF0ZTsK KwlpbnRlbF9lbmNvZGVyLT5nZXRfY29uZmlnID0gaW50ZWxfc2R2b19nZXRfY29uZmlnOwogCiAJ LyogSW4gZGVmYXVsdCBjYXNlIHNkdm8gbHZkcyBpcyBmYWxzZSAqLwogCWlmICghaW50ZWxfc2R2 b19nZXRfY2FwYWJpbGl0aWVzKGludGVsX3Nkdm8sICZpbnRlbF9zZHZvLT5jYXBzKSkKLS0gCjEu Ny45LjUKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==