From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joonyoung Shim Subject: [PATCH] drm/exynos: use driver internal struct Date: Fri, 30 Jan 2015 16:43:02 +0900 Message-ID: <1422603782-29989-2-git-send-email-jy0922.shim@samsung.com> References: <1422603782-29989-1-git-send-email-jy0922.shim@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mailout3.samsung.com (mailout3.samsung.com [203.254.224.33]) by gabe.freedesktop.org (Postfix) with ESMTP id B88FC6E17B for ; Thu, 29 Jan 2015 23:43:02 -0800 (PST) Received: from epcpsbgr2.samsung.com (u142.gpu120.samsung.co.kr [203.254.230.142]) by mailout3.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0NIZ00HQOC3PRTC0@mailout3.samsung.com> for dri-devel@lists.freedesktop.org; Fri, 30 Jan 2015 16:43:01 +0900 (KST) In-reply-to: <1422603782-29989-1-git-send-email-jy0922.shim@samsung.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 Cc: sw0312.kim@samsung.com List-Id: dri-devel@lists.freedesktop.org VXNlIGRyaXZlciBpbnRlcm5hbCBzdHJ1Y3QgYXMgYXJndW1lbnQgaW5zdGVhZCBvZiBzdHJ1Y3Qg ZXh5bm9zX2RybV9jcnRjCmV4Y2VwdCBmdW5jdGlvbnMgb2YgZXh5bm9zX2RybV9jcnRjX29wcyBh bmQgaW5zdGVhZCBvZiBzdHJ1Y3QKZXh5bm9zX2RybV9kaXNwbGF5IGV4Y2VwdCBmdW5jdGlvbnMg b2YgZXh5bm9zX2RybV9kaXNwbGF5X29wcy4KCkl0IGNhbiByZWR1Y2UgdW5uZWNlc3NhcnkgdmFy aWFibGUgZGVjbGFyYXRpb24uCgpTaWduZWQtb2ZmLWJ5OiBKb29ueW91bmcgU2hpbSA8ankwOTIy LnNoaW1Ac2Ftc3VuZy5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHBf Y29yZS5jICB8IDE0ICsrKystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19k cm1fZmltZC5jIHwgNDMgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS9leHlub3MvZXh5bm9zX2RybV92aWRpLmMgfCAxOSArKysrKystLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5jICAgICB8IDEyICsrKystLS0tLQogZHJp dmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfbWl4ZXIuYyAgICB8IDI2ICsrKysrKysrLS0tLS0t LS0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKSwgNjcgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHBfY29yZS5jIGIv ZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHBfY29yZS5jCmluZGV4IDM0ZDQ2YWEuLjEx ZmQ4OTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RwX2NvcmUu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcF9jb3JlLmMKQEAgLTEwNjcs MTAgKzEwNjcsOCBAQCBzdGF0aWMgdm9pZCBleHlub3NfZHBfcGh5X2V4aXQoc3RydWN0IGV4eW5v c19kcF9kZXZpY2UgKmRwKQogCQlwaHlfcG93ZXJfb2ZmKGRwLT5waHkpOwogfQogCi1zdGF0aWMg dm9pZCBleHlub3NfZHBfcG93ZXJvbihzdHJ1Y3QgZXh5bm9zX2RybV9kaXNwbGF5ICpkaXNwbGF5 KQorc3RhdGljIHZvaWQgZXh5bm9zX2RwX3Bvd2Vyb24oc3RydWN0IGV4eW5vc19kcF9kZXZpY2Ug KmRwKQogewotCXN0cnVjdCBleHlub3NfZHBfZGV2aWNlICpkcCA9IGRpc3BsYXlfdG9fZHAoZGlz cGxheSk7Ci0KIAlpZiAoZHAtPmRwbXNfbW9kZSA9PSBEUk1fTU9ERV9EUE1TX09OKQogCQlyZXR1 cm47CiAKQEAgLTEwODUsMTMgKzEwODMsMTEgQEAgc3RhdGljIHZvaWQgZXh5bm9zX2RwX3Bvd2Vy b24oc3RydWN0IGV4eW5vc19kcm1fZGlzcGxheSAqZGlzcGxheSkKIAlleHlub3NfZHBfcGh5X2lu aXQoZHApOwogCWV4eW5vc19kcF9pbml0X2RwKGRwKTsKIAllbmFibGVfaXJxKGRwLT5pcnEpOwot CWV4eW5vc19kcF9jb21taXQoZGlzcGxheSk7CisJZXh5bm9zX2RwX2NvbW1pdCgmZHAtPmRpc3Bs YXkpOwogfQogCi1zdGF0aWMgdm9pZCBleHlub3NfZHBfcG93ZXJvZmYoc3RydWN0IGV4eW5vc19k cm1fZGlzcGxheSAqZGlzcGxheSkKK3N0YXRpYyB2b2lkIGV4eW5vc19kcF9wb3dlcm9mZihzdHJ1 Y3QgZXh5bm9zX2RwX2RldmljZSAqZHApCiB7Ci0Jc3RydWN0IGV4eW5vc19kcF9kZXZpY2UgKmRw ID0gZGlzcGxheV90b19kcChkaXNwbGF5KTsKLQogCWlmIChkcC0+ZHBtc19tb2RlICE9IERSTV9N T0RFX0RQTVNfT04pCiAJCXJldHVybjsKIApAQCAtMTExOSwxMiArMTExNSwxMiBAQCBzdGF0aWMg dm9pZCBleHlub3NfZHBfZHBtcyhzdHJ1Y3QgZXh5bm9zX2RybV9kaXNwbGF5ICpkaXNwbGF5LCBp bnQgbW9kZSkKIAogCXN3aXRjaCAobW9kZSkgewogCWNhc2UgRFJNX01PREVfRFBNU19PTjoKLQkJ ZXh5bm9zX2RwX3Bvd2Vyb24oZGlzcGxheSk7CisJCWV4eW5vc19kcF9wb3dlcm9uKGRwKTsKIAkJ YnJlYWs7CiAJY2FzZSBEUk1fTU9ERV9EUE1TX1NUQU5EQlk6CiAJY2FzZSBEUk1fTU9ERV9EUE1T X1NVU1BFTkQ6CiAJY2FzZSBEUk1fTU9ERV9EUE1TX09GRjoKLQkJZXh5bm9zX2RwX3Bvd2Vyb2Zm KGRpc3BsYXkpOworCQlleHlub3NfZHBfcG93ZXJvZmYoZHApOwogCQlicmVhazsKIAlkZWZhdWx0 OgogCQlicmVhazsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2Ry bV9maW1kLmMgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZmltZC5jCmluZGV4 IDM5ZjdmYTcuLjkyNWZjNjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5 bm9zX2RybV9maW1kLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2Zp bWQuYwpAQCAtMjUzLDkgKzI1Myw4IEBAIHN0YXRpYyB2b2lkIGZpbWRfZW5hYmxlX3NoYWRvd19j aGFubmVsX3BhdGgoc3RydWN0IGZpbWRfY29udGV4dCAqY3R4LCBpbnQgd2luLAogCXdyaXRlbCh2 YWwsIGN0eC0+cmVncyArIFNIQURPV0NPTik7CiB9CiAKLXN0YXRpYyB2b2lkIGZpbWRfY2xlYXJf Y2hhbm5lbChzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjKQorc3RhdGljIHZvaWQgZmltZF9j bGVhcl9jaGFubmVsKHN0cnVjdCBmaW1kX2NvbnRleHQgKmN0eCkKIHsKLQlzdHJ1Y3QgZmltZF9j b250ZXh0ICpjdHggPSBjcnRjLT5jdHg7CiAJaW50IHdpbiwgY2hfZW5hYmxlZCA9IDA7CiAKIAlE Uk1fREVCVUdfS01TKCIlc1xuIiwgX19GSUxFX18pOwpAQCAtMjgwLDcgKzI3OSw3IEBAIHN0YXRp YyB2b2lkIGZpbWRfY2xlYXJfY2hhbm5lbChzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjKQog CQl1bnNpZ25lZCBpbnQgc3RhdGUgPSBjdHgtPnN1c3BlbmRlZDsKIAogCQljdHgtPnN1c3BlbmRl ZCA9IDA7Ci0JCWZpbWRfd2FpdF9mb3JfdmJsYW5rKGNydGMpOworCQlmaW1kX3dhaXRfZm9yX3Zi bGFuayhjdHgtPmNydGMpOwogCQljdHgtPnN1c3BlbmRlZCA9IHN0YXRlOwogCX0KIH0KQEAgLTMw Miw3ICszMDEsNyBAQCBzdGF0aWMgaW50IGZpbWRfY3R4X2luaXRpYWxpemUoc3RydWN0IGZpbWRf Y29udGV4dCAqY3R4LAogCQkgKiBJZiBhbnkgY2hhbm5lbCBpcyBhbHJlYWR5IGFjdGl2ZSwgaW9t bXUgd2lsbCB0aHJvdwogCQkgKiBhIFBBR0UgRkFVTFQgd2hlbiBlbmFibGVkLiBTbyBjbGVhciBh bnkgY2hhbm5lbCBpZiBlbmFibGVkLgogCQkgKi8KLQkJZmltZF9jbGVhcl9jaGFubmVsKGN0eC0+ Y3J0Yyk7CisJCWZpbWRfY2xlYXJfY2hhbm5lbChjdHgpOwogCQlyZXQgPSBkcm1faW9tbXVfYXR0 YWNoX2RldmljZShjdHgtPmRybV9kZXYsIGN0eC0+ZGV2KTsKIAkJaWYgKHJldCkgewogCQkJRFJN X0VSUk9SKCJkcm1faW9tbXVfYXR0YWNoIGZhaWxlZC5cbiIpOwpAQCAtODIzLDkgKzgyMiw4IEBA IHN0YXRpYyB2b2lkIGZpbWRfd2luX2Rpc2FibGUoc3RydWN0IGV4eW5vc19kcm1fY3J0YyAqY3J0 YywgaW50IHpwb3MpCiAJd2luX2RhdGEtPmVuYWJsZWQgPSBmYWxzZTsKIH0KIAotc3RhdGljIHZv aWQgZmltZF93aW5kb3dfc3VzcGVuZChzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjKQorc3Rh dGljIHZvaWQgZmltZF93aW5kb3dfc3VzcGVuZChzdHJ1Y3QgZmltZF9jb250ZXh0ICpjdHgpCiB7 Ci0Jc3RydWN0IGZpbWRfY29udGV4dCAqY3R4ID0gY3J0Yy0+Y3R4OwogCXN0cnVjdCBmaW1kX3dp bl9kYXRhICp3aW5fZGF0YTsKIAlpbnQgaTsKIApAQCAtODMzLDEzICs4MzEsMTIgQEAgc3RhdGlj IHZvaWQgZmltZF93aW5kb3dfc3VzcGVuZChzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjKQog CQl3aW5fZGF0YSA9ICZjdHgtPndpbl9kYXRhW2ldOwogCQl3aW5fZGF0YS0+cmVzdW1lID0gd2lu X2RhdGEtPmVuYWJsZWQ7CiAJCWlmICh3aW5fZGF0YS0+ZW5hYmxlZCkKLQkJCWZpbWRfd2luX2Rp c2FibGUoY3J0YywgaSk7CisJCQlmaW1kX3dpbl9kaXNhYmxlKGN0eC0+Y3J0YywgaSk7CiAJfQog fQogCi1zdGF0aWMgdm9pZCBmaW1kX3dpbmRvd19yZXN1bWUoc3RydWN0IGV4eW5vc19kcm1fY3J0 YyAqY3J0YykKK3N0YXRpYyB2b2lkIGZpbWRfd2luZG93X3Jlc3VtZShzdHJ1Y3QgZmltZF9jb250 ZXh0ICpjdHgpCiB7Ci0Jc3RydWN0IGZpbWRfY29udGV4dCAqY3R4ID0gY3J0Yy0+Y3R4OwogCXN0 cnVjdCBmaW1kX3dpbl9kYXRhICp3aW5fZGF0YTsKIAlpbnQgaTsKIApAQCAtODUwLDI2ICs4NDcs MjQgQEAgc3RhdGljIHZvaWQgZmltZF93aW5kb3dfcmVzdW1lKHN0cnVjdCBleHlub3NfZHJtX2Ny dGMgKmNydGMpCiAJfQogfQogCi1zdGF0aWMgdm9pZCBmaW1kX2FwcGx5KHN0cnVjdCBleHlub3Nf ZHJtX2NydGMgKmNydGMpCitzdGF0aWMgdm9pZCBmaW1kX2FwcGx5KHN0cnVjdCBmaW1kX2NvbnRl eHQgKmN0eCkKIHsKLQlzdHJ1Y3QgZmltZF9jb250ZXh0ICpjdHggPSBjcnRjLT5jdHg7CiAJc3Ry dWN0IGZpbWRfd2luX2RhdGEgKndpbl9kYXRhOwogCWludCBpOwogCiAJZm9yIChpID0gMDsgaSA8 IFdJTkRPV1NfTlI7IGkrKykgewogCQl3aW5fZGF0YSA9ICZjdHgtPndpbl9kYXRhW2ldOwogCQlp ZiAod2luX2RhdGEtPmVuYWJsZWQpCi0JCQlmaW1kX3dpbl9jb21taXQoY3J0YywgaSk7CisJCQlm aW1kX3dpbl9jb21taXQoY3R4LT5jcnRjLCBpKTsKIAkJZWxzZQotCQkJZmltZF93aW5fZGlzYWJs ZShjcnRjLCBpKTsKKwkJCWZpbWRfd2luX2Rpc2FibGUoY3R4LT5jcnRjLCBpKTsKIAl9CiAKLQlm aW1kX2NvbW1pdChjcnRjKTsKKwlmaW1kX2NvbW1pdChjdHgtPmNydGMpOwogfQogCi1zdGF0aWMg aW50IGZpbWRfcG93ZXJvbihzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjKQorc3RhdGljIGlu dCBmaW1kX3Bvd2Vyb24oc3RydWN0IGZpbWRfY29udGV4dCAqY3R4KQogewotCXN0cnVjdCBmaW1k X2NvbnRleHQgKmN0eCA9IGNydGMtPmN0eDsKIAlpbnQgcmV0OwogCiAJaWYgKCFjdHgtPnN1c3Bl bmRlZCkKQEAgLTg5MywxNiArODg4LDE2IEBAIHN0YXRpYyBpbnQgZmltZF9wb3dlcm9uKHN0cnVj dCBleHlub3NfZHJtX2NydGMgKmNydGMpCiAKIAkvKiBpZiB2Ymxhbmsgd2FzIGVuYWJsZWQgc3Rh dHVzLCBlbmFibGUgaXQgYWdhaW4uICovCiAJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdCgwLCAmY3R4 LT5pcnFfZmxhZ3MpKSB7Ci0JCXJldCA9IGZpbWRfZW5hYmxlX3ZibGFuayhjcnRjKTsKKwkJcmV0 ID0gZmltZF9lbmFibGVfdmJsYW5rKGN0eC0+Y3J0Yyk7CiAJCWlmIChyZXQpIHsKIAkJCURSTV9F UlJPUigiRmFpbGVkIHRvIHJlLWVuYWJsZSB2YmxhbmsgWyVkXVxuIiwgcmV0KTsKIAkJCWdvdG8g ZW5hYmxlX3ZibGFua19lcnI7CiAJCX0KIAl9CiAKLQlmaW1kX3dpbmRvd19yZXN1bWUoY3J0Yyk7 CisJZmltZF93aW5kb3dfcmVzdW1lKGN0eCk7CiAKLQlmaW1kX2FwcGx5KGNydGMpOworCWZpbWRf YXBwbHkoY3R4KTsKIAogCXJldHVybiAwOwogCkBAIC05MTUsMTAgKzkxMCw4IEBAIGJ1c19jbGtf ZXJyOgogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbnQgZmltZF9wb3dlcm9mZihzdHJ1Y3Qg ZXh5bm9zX2RybV9jcnRjICpjcnRjKQorc3RhdGljIGludCBmaW1kX3Bvd2Vyb2ZmKHN0cnVjdCBm aW1kX2NvbnRleHQgKmN0eCkKIHsKLQlzdHJ1Y3QgZmltZF9jb250ZXh0ICpjdHggPSBjcnRjLT5j dHg7Ci0KIAlpZiAoY3R4LT5zdXNwZW5kZWQpCiAJCXJldHVybiAwOwogCkBAIC05MjcsNyArOTIw LDcgQEAgc3RhdGljIGludCBmaW1kX3Bvd2Vyb2ZmKHN0cnVjdCBleHlub3NfZHJtX2NydGMgKmNy dGMpCiAJICogc3VzcGVuZCB0aGF0IGNvbm5lY3Rvci4gT3RoZXJ3aXNlIHdlIG1pZ2h0IHRyeSB0 byBzY2FuIGZyb20KIAkgKiBhIGRlc3Ryb3llZCBidWZmZXIgbGF0ZXIuCiAJICovCi0JZmltZF93 aW5kb3dfc3VzcGVuZChjcnRjKTsKKwlmaW1kX3dpbmRvd19zdXNwZW5kKGN0eCk7CiAKIAljbGtf ZGlzYWJsZV91bnByZXBhcmUoY3R4LT5sY2RfY2xrKTsKIAljbGtfZGlzYWJsZV91bnByZXBhcmUo Y3R4LT5idXNfY2xrKTsKQEAgLTk0NCwxMiArOTM3LDEyIEBAIHN0YXRpYyB2b2lkIGZpbWRfZHBt cyhzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjLCBpbnQgbW9kZSkKIAogCXN3aXRjaCAobW9k ZSkgewogCWNhc2UgRFJNX01PREVfRFBNU19PTjoKLQkJZmltZF9wb3dlcm9uKGNydGMpOworCQlm aW1kX3Bvd2Vyb24oY3J0Yy0+Y3R4KTsKIAkJYnJlYWs7CiAJY2FzZSBEUk1fTU9ERV9EUE1TX1NU QU5EQlk6CiAJY2FzZSBEUk1fTU9ERV9EUE1TX1NVU1BFTkQ6CiAJY2FzZSBEUk1fTU9ERV9EUE1T X09GRjoKLQkJZmltZF9wb3dlcm9mZihjcnRjKTsKKwkJZmltZF9wb3dlcm9mZihjcnRjLT5jdHgp OwogCQlicmVhazsKIAlkZWZhdWx0OgogCQlEUk1fREVCVUdfS01TKCJ1bnNwZWNpZmllZCBtb2Rl ICVkXG4iLCBtb2RlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9z X2RybV92aWRpLmMgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fdmlkaS5jCmlu ZGV4IGZiNjhkM2MuLmI4ODY5NzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3Mv ZXh5bm9zX2RybV92aWRpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJt X3ZpZGkuYwpAQCAtOTcsMTcgKzk3LDE2IEBAIHN0YXRpYyBjb25zdCBjaGFyIGZha2VfZWRpZF9p bmZvW10gPSB7CiAJMHgwMCwgMHgwMCwgMHgwMCwgMHgwNgogfTsKIAotc3RhdGljIHZvaWQgdmlk aV9hcHBseShzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjKQorc3RhdGljIHZvaWQgdmlkaV9h cHBseShzdHJ1Y3QgdmlkaV9jb250ZXh0ICpjdHgpCiB7Ci0Jc3RydWN0IHZpZGlfY29udGV4dCAq Y3R4ID0gY3J0Yy0+Y3R4OwotCXN0cnVjdCBleHlub3NfZHJtX2NydGNfb3BzICpjcnRjX29wcyA9 IGNydGMtPm9wczsKKwlzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjX29wcyAqY3J0Y19vcHMgPSBjdHgt PmNydGMtPm9wczsKIAlzdHJ1Y3QgdmlkaV93aW5fZGF0YSAqd2luX2RhdGE7CiAJaW50IGk7CiAK IAlmb3IgKGkgPSAwOyBpIDwgV0lORE9XU19OUjsgaSsrKSB7CiAJCXdpbl9kYXRhID0gJmN0eC0+ d2luX2RhdGFbaV07CiAJCWlmICh3aW5fZGF0YS0+ZW5hYmxlZCAmJiAoY3J0Y19vcHMgJiYgY3J0 Y19vcHMtPndpbl9jb21taXQpKQotCQkJY3J0Y19vcHMtPndpbl9jb21taXQoY3J0YywgaSk7CisJ CQljcnRjX29wcy0+d2luX2NvbW1pdChjdHgtPmNydGMsIGkpOwogCX0KIH0KIApAQCAtMjQwLDEw ICsyMzksOCBAQCBzdGF0aWMgdm9pZCB2aWRpX3dpbl9kaXNhYmxlKHN0cnVjdCBleHlub3NfZHJt X2NydGMgKmNydGMsIGludCB6cG9zKQogCS8qIFRPRE8uICovCiB9CiAKLXN0YXRpYyBpbnQgdmlk aV9wb3dlcl9vbihzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjLCBib29sIGVuYWJsZSkKK3N0 YXRpYyBpbnQgdmlkaV9wb3dlcl9vbihzdHJ1Y3QgdmlkaV9jb250ZXh0ICpjdHgsIGJvb2wgZW5h YmxlKQogewotCXN0cnVjdCB2aWRpX2NvbnRleHQgKmN0eCA9IGNydGMtPmN0eDsKLQogCURSTV9E RUJVR19LTVMoIiVzXG4iLCBfX0ZJTEVfXyk7CiAKIAlpZiAoZW5hYmxlICE9IGZhbHNlICYmIGVu YWJsZSAhPSB0cnVlKQpAQCAtMjU0LDkgKzI1MSw5IEBAIHN0YXRpYyBpbnQgdmlkaV9wb3dlcl9v bihzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjLCBib29sIGVuYWJsZSkKIAogCQkvKiBpZiB2 Ymxhbmsgd2FzIGVuYWJsZWQgc3RhdHVzLCBlbmFibGUgaXQgYWdhaW4uICovCiAJCWlmICh0ZXN0 X2FuZF9jbGVhcl9iaXQoMCwgJmN0eC0+aXJxX2ZsYWdzKSkKLQkJCXZpZGlfZW5hYmxlX3ZibGFu ayhjcnRjKTsKKwkJCXZpZGlfZW5hYmxlX3ZibGFuayhjdHgtPmNydGMpOwogCi0JCXZpZGlfYXBw bHkoY3J0Yyk7CisJCXZpZGlfYXBwbHkoY3R4KTsKIAl9IGVsc2UgewogCQljdHgtPnN1c3BlbmRl ZCA9IHRydWU7CiAJfQpAQCAtMjc0LDEyICsyNzEsMTIgQEAgc3RhdGljIHZvaWQgdmlkaV9kcG1z KHN0cnVjdCBleHlub3NfZHJtX2NydGMgKmNydGMsIGludCBtb2RlKQogCiAJc3dpdGNoIChtb2Rl KSB7CiAJY2FzZSBEUk1fTU9ERV9EUE1TX09OOgotCQl2aWRpX3Bvd2VyX29uKGNydGMsIHRydWUp OworCQl2aWRpX3Bvd2VyX29uKGN0eCwgdHJ1ZSk7CiAJCWJyZWFrOwogCWNhc2UgRFJNX01PREVf RFBNU19TVEFOREJZOgogCWNhc2UgRFJNX01PREVfRFBNU19TVVNQRU5EOgogCWNhc2UgRFJNX01P REVfRFBNU19PRkY6Ci0JCXZpZGlfcG93ZXJfb24oY3J0YywgZmFsc2UpOworCQl2aWRpX3Bvd2Vy X29uKGN0eCwgZmFsc2UpOwogCQlicmVhazsKIAlkZWZhdWx0OgogCQlEUk1fREVCVUdfS01TKCJ1 bnNwZWNpZmllZCBtb2RlICVkXG4iLCBtb2RlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9leHlub3MvZXh5bm9zX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hk bWkuYwppbmRleCA5ODA1MWU4Li4yMjliMzYxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZXh5bm9zL2V4eW5vc19oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3Nf aGRtaS5jCkBAIC0yMDMyLDkgKzIwMzIsOCBAQCBzdGF0aWMgdm9pZCBoZG1pX2NvbW1pdChzdHJ1 Y3QgZXh5bm9zX2RybV9kaXNwbGF5ICpkaXNwbGF5KQogCWhkbWlfY29uZl9hcHBseShoZGF0YSk7 CiB9CiAKLXN0YXRpYyB2b2lkIGhkbWlfcG93ZXJvbihzdHJ1Y3QgZXh5bm9zX2RybV9kaXNwbGF5 ICpkaXNwbGF5KQorc3RhdGljIHZvaWQgaGRtaV9wb3dlcm9uKHN0cnVjdCBoZG1pX2NvbnRleHQg KmhkYXRhKQogewotCXN0cnVjdCBoZG1pX2NvbnRleHQgKmhkYXRhID0gZGlzcGxheV90b19oZG1p KGRpc3BsYXkpOwogCXN0cnVjdCBoZG1pX3Jlc291cmNlcyAqcmVzID0gJmhkYXRhLT5yZXM7CiAK IAltdXRleF9sb2NrKCZoZGF0YS0+aGRtaV9tdXRleCk7CkBAIC0yMDYwLDEyICsyMDU5LDExIEBA IHN0YXRpYyB2b2lkIGhkbWlfcG93ZXJvbihzdHJ1Y3QgZXh5bm9zX2RybV9kaXNwbGF5ICpkaXNw bGF5KQogCWNsa19wcmVwYXJlX2VuYWJsZShyZXMtPnNjbGtfaGRtaSk7CiAKIAloZG1pcGh5X3Bv d2Vyb24oaGRhdGEpOwotCWhkbWlfY29tbWl0KGRpc3BsYXkpOworCWhkbWlfY29tbWl0KCZoZGF0 YS0+ZGlzcGxheSk7CiB9CiAKLXN0YXRpYyB2b2lkIGhkbWlfcG93ZXJvZmYoc3RydWN0IGV4eW5v c19kcm1fZGlzcGxheSAqZGlzcGxheSkKK3N0YXRpYyB2b2lkIGhkbWlfcG93ZXJvZmYoc3RydWN0 IGhkbWlfY29udGV4dCAqaGRhdGEpCiB7Ci0Jc3RydWN0IGhkbWlfY29udGV4dCAqaGRhdGEgPSBk aXNwbGF5X3RvX2hkbWkoZGlzcGxheSk7CiAJc3RydWN0IGhkbWlfcmVzb3VyY2VzICpyZXMgPSAm aGRhdGEtPnJlczsKIAogCW11dGV4X2xvY2soJmhkYXRhLT5oZG1pX211dGV4KTsKQEAgLTIxMDks NyArMjEwNyw3IEBAIHN0YXRpYyB2b2lkIGhkbWlfZHBtcyhzdHJ1Y3QgZXh5bm9zX2RybV9kaXNw bGF5ICpkaXNwbGF5LCBpbnQgbW9kZSkKIAogCXN3aXRjaCAobW9kZSkgewogCWNhc2UgRFJNX01P REVfRFBNU19PTjoKLQkJaGRtaV9wb3dlcm9uKGRpc3BsYXkpOworCQloZG1pX3Bvd2Vyb24oaGRh dGEpOwogCQlicmVhazsKIAljYXNlIERSTV9NT0RFX0RQTVNfU1RBTkRCWToKIAljYXNlIERSTV9N T0RFX0RQTVNfU1VTUEVORDoKQEAgLTIxMjgsNyArMjEyNiw3IEBAIHN0YXRpYyB2b2lkIGhkbWlf ZHBtcyhzdHJ1Y3QgZXh5bm9zX2RybV9kaXNwbGF5ICpkaXNwbGF5LCBpbnQgbW9kZSkKIAkJaWYg KGZ1bmNzICYmIGZ1bmNzLT5kcG1zKQogCQkJKCpmdW5jcy0+ZHBtcykoY3J0YywgbW9kZSk7CiAK LQkJaGRtaV9wb3dlcm9mZihkaXNwbGF5KTsKKwkJaGRtaV9wb3dlcm9mZihoZGF0YSk7CiAJCWJy ZWFrOwogCWRlZmF1bHQ6CiAJCURSTV9ERUJVR19LTVMoInVua25vd24gZHBtcyBtb2RlOiAlZFxu IiwgbW9kZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19taXhl ci5jIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfbWl4ZXIuYwppbmRleCBhM2E1ZGIz Li4zOWQzN2Q2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19taXhl ci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX21peGVyLmMKQEAgLTEwNTQs MjMgKzEwNTQsMjEgQEAgc3RhdGljIHZvaWQgbWl4ZXJfd2FpdF9mb3JfdmJsYW5rKHN0cnVjdCBl eHlub3NfZHJtX2NydGMgKmNydGMpCiAJZHJtX3ZibGFua19wdXQobWl4ZXJfY3R4LT5kcm1fZGV2 LCBtaXhlcl9jdHgtPnBpcGUpOwogfQogCi1zdGF0aWMgdm9pZCBtaXhlcl93aW5kb3dfc3VzcGVu ZChzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjKQorc3RhdGljIHZvaWQgbWl4ZXJfd2luZG93 X3N1c3BlbmQoc3RydWN0IG1peGVyX2NvbnRleHQgKmN0eCkKIHsKLQlzdHJ1Y3QgbWl4ZXJfY29u dGV4dCAqY3R4ID0gY3J0Yy0+Y3R4OwogCXN0cnVjdCBoZG1pX3dpbl9kYXRhICp3aW5fZGF0YTsK IAlpbnQgaTsKIAogCWZvciAoaSA9IDA7IGkgPCBNSVhFUl9XSU5fTlI7IGkrKykgewogCQl3aW5f ZGF0YSA9ICZjdHgtPndpbl9kYXRhW2ldOwogCQl3aW5fZGF0YS0+cmVzdW1lID0gd2luX2RhdGEt PmVuYWJsZWQ7Ci0JCW1peGVyX3dpbl9kaXNhYmxlKGNydGMsIGkpOworCQltaXhlcl93aW5fZGlz YWJsZShjdHgtPmNydGMsIGkpOwogCX0KLQltaXhlcl93YWl0X2Zvcl92YmxhbmsoY3J0Yyk7CisJ bWl4ZXJfd2FpdF9mb3JfdmJsYW5rKGN0eC0+Y3J0Yyk7CiB9CiAKLXN0YXRpYyB2b2lkIG1peGVy X3dpbmRvd19yZXN1bWUoc3RydWN0IGV4eW5vc19kcm1fY3J0YyAqY3J0YykKK3N0YXRpYyB2b2lk IG1peGVyX3dpbmRvd19yZXN1bWUoc3RydWN0IG1peGVyX2NvbnRleHQgKmN0eCkKIHsKLQlzdHJ1 Y3QgbWl4ZXJfY29udGV4dCAqY3R4ID0gY3J0Yy0+Y3R4OwogCXN0cnVjdCBoZG1pX3dpbl9kYXRh ICp3aW5fZGF0YTsKIAlpbnQgaTsKIApAQCAtMTA3OSwxMyArMTA3NywxMiBAQCBzdGF0aWMgdm9p ZCBtaXhlcl93aW5kb3dfcmVzdW1lKHN0cnVjdCBleHlub3NfZHJtX2NydGMgKmNydGMpCiAJCXdp bl9kYXRhLT5lbmFibGVkID0gd2luX2RhdGEtPnJlc3VtZTsKIAkJd2luX2RhdGEtPnJlc3VtZSA9 IGZhbHNlOwogCQlpZiAod2luX2RhdGEtPmVuYWJsZWQpCi0JCQltaXhlcl93aW5fY29tbWl0KGNy dGMsIGkpOworCQkJbWl4ZXJfd2luX2NvbW1pdChjdHgtPmNydGMsIGkpOwogCX0KIH0KIAotc3Rh dGljIHZvaWQgbWl4ZXJfcG93ZXJvbihzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjKQorc3Rh dGljIHZvaWQgbWl4ZXJfcG93ZXJvbihzdHJ1Y3QgbWl4ZXJfY29udGV4dCAqY3R4KQogewotCXN0 cnVjdCBtaXhlcl9jb250ZXh0ICpjdHggPSBjcnRjLT5jdHg7CiAJc3RydWN0IG1peGVyX3Jlc291 cmNlcyAqcmVzID0gJmN0eC0+bWl4ZXJfcmVzOwogCiAJbXV0ZXhfbG9jaygmY3R4LT5taXhlcl9t dXRleCk7CkBAIC0xMTE1LDEyICsxMTEyLDExIEBAIHN0YXRpYyB2b2lkIG1peGVyX3Bvd2Vyb24o c3RydWN0IGV4eW5vc19kcm1fY3J0YyAqY3J0YykKIAltaXhlcl9yZWdfd3JpdGUocmVzLCBNWFJf SU5UX0VOLCBjdHgtPmludF9lbik7CiAJbWl4ZXJfd2luX3Jlc2V0KGN0eCk7CiAKLQltaXhlcl93 aW5kb3dfcmVzdW1lKGNydGMpOworCW1peGVyX3dpbmRvd19yZXN1bWUoY3R4KTsKIH0KIAotc3Rh dGljIHZvaWQgbWl4ZXJfcG93ZXJvZmYoc3RydWN0IGV4eW5vc19kcm1fY3J0YyAqY3J0YykKK3N0 YXRpYyB2b2lkIG1peGVyX3Bvd2Vyb2ZmKHN0cnVjdCBtaXhlcl9jb250ZXh0ICpjdHgpCiB7Ci0J c3RydWN0IG1peGVyX2NvbnRleHQgKmN0eCA9IGNydGMtPmN0eDsKIAlzdHJ1Y3QgbWl4ZXJfcmVz b3VyY2VzICpyZXMgPSAmY3R4LT5taXhlcl9yZXM7CiAKIAltdXRleF9sb2NrKCZjdHgtPm1peGVy X211dGV4KTsKQEAgLTExMzEsNyArMTEyNyw3IEBAIHN0YXRpYyB2b2lkIG1peGVyX3Bvd2Vyb2Zm KHN0cnVjdCBleHlub3NfZHJtX2NydGMgKmNydGMpCiAJbXV0ZXhfdW5sb2NrKCZjdHgtPm1peGVy X211dGV4KTsKIAogCW1peGVyX3N0b3AoY3R4KTsKLQltaXhlcl93aW5kb3dfc3VzcGVuZChjcnRj KTsKKwltaXhlcl93aW5kb3dfc3VzcGVuZChjdHgpOwogCiAJY3R4LT5pbnRfZW4gPSBtaXhlcl9y ZWdfcmVhZChyZXMsIE1YUl9JTlRfRU4pOwogCkBAIC0xMTU0LDEyICsxMTUwLDEyIEBAIHN0YXRp YyB2b2lkIG1peGVyX2RwbXMoc3RydWN0IGV4eW5vc19kcm1fY3J0YyAqY3J0YywgaW50IG1vZGUp CiB7CiAJc3dpdGNoIChtb2RlKSB7CiAJY2FzZSBEUk1fTU9ERV9EUE1TX09OOgotCQltaXhlcl9w b3dlcm9uKGNydGMpOworCQltaXhlcl9wb3dlcm9uKGNydGMtPmN0eCk7CiAJCWJyZWFrOwogCWNh c2UgRFJNX01PREVfRFBNU19TVEFOREJZOgogCWNhc2UgRFJNX01PREVfRFBNU19TVVNQRU5EOgog CWNhc2UgRFJNX01PREVfRFBNU19PRkY6Ci0JCW1peGVyX3Bvd2Vyb2ZmKGNydGMpOworCQltaXhl cl9wb3dlcm9mZihjcnRjLT5jdHgpOwogCQlicmVhazsKIAlkZWZhdWx0OgogCQlEUk1fREVCVUdf S01TKCJ1bmtub3duIGRwbXMgbW9kZTogJWRcbiIsIG1vZGUpOwotLSAKMS45LjEKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5n IGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==