From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: [RFC] drm: rcar-du: Remove i2c slave encoder interface for hdmi encoder Date: Sat, 9 Jan 2016 22:22:26 +0530 Message-ID: <1452358346-6339-1-git-send-email-architt@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from smtp.codeaurora.org (smtp.codeaurora.org [198.145.29.96]) by gabe.freedesktop.org (Postfix) with ESMTPS id F25A36E06A for ; Sat, 9 Jan 2016 08:52:34 -0800 (PST) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: laurent.pinchart@ideasonboard.com Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org VGhlIGhkbWkgb3V0cHV0IGluIHJjYXItZHUgdXNlcyB0aGUgaTJjIHNsYXZlIGVuY29kZXIgaW50 ZXJmYWNlIHRvIGxpbmsKdG8gdGhlIGFkdjc1MTEgZW5jb2RlciBjaGlwLiBUaGUga21zIGRyaXZl ciBjcmVhdGVzIGVuY29kZXIgYW5kIGNvbm5lY3RvcgplbnRpdGllcyB0aGF0IGludGVybmFsbHkg dXNlcyB0aGUgZHJtX2VuY29kZXJfc2xhdmVfZnVuY3Mgb3BzIHByb3ZpZGVkIGJ5CnRoZSBzbGF2 ZSBlbmNvZGVyIGRyaXZlci4KCkNoYW5nZSB0aGUgZHJpdmVyIHN1Y2ggdGhhdCBpdCBleHBlY3Rz IGEgYnJpZGdlIGVudGl0eSBpbnN0ZWFkIG9mIGEgc2xhdmUKZW5jb2Rlci4gVGhlIGhkbWkgY29u bmVjdG9yIGNvZGUgaXNuJ3QgbmVlZGVkIGFueW1vcmUgYXMgd2UgZXhwZWN0IHRoZQphZHY3NTEx IGJyaWRnZSBkcml2ZXIgdG8gY3JlYXRlL21hbmFnZSB0aGUgY29ubmVjdG9yLgoKTm90ZSB0aGF0 IHRoZSBrbXMgZHJpdmVyIHN0aWxsIGV4cGVjdHMgYSBjb25uZWN0b3Igbm9kZSBmb3IgaGRtaSB0 byBiZQpwcmVzZW50IGluIERULiBUaGlzIG5vZGUgaGFzIG5vIGNvbm5lY3Rpb24gdG8gdGhlIGNv bm5lY3RvciBjcmVhdGVkCmJ5IHRoZSBicmlkZ2UgZHJpdmVyLgoKQ29tcGlsZSB0ZXN0ZWQgb25s eS4KClNpZ25lZC1vZmYtYnk6IEFyY2hpdCBUYW5lamEgPGFyY2hpdHRAY29kZWF1cm9yYS5vcmc+ Ci0tLQogZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvTWFrZWZpbGUgICAgICAgICAgfCAgIDMgKy0K IGRyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfZW5jb2Rlci5jIHwgICAzICstCiBkcml2 ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2VuY29kZXIuaCB8ICAgNyArLQogZHJpdmVycy9n cHUvZHJtL3JjYXItZHUvcmNhcl9kdV9oZG1pY29uLmMgfCAxMjYgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2hkbWljb24uaCB8 ICAzMSAtLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9oZG1pZW5jLmMg fCAgNjAgKysrKy0tLS0tLS0tLS0KIDYgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwg MjEwIGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9yY2Fy LWR1L3JjYXJfZHVfaGRtaWNvbi5jCiBkZWxldGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJt L3JjYXItZHUvcmNhcl9kdV9oZG1pY29uLmgKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v cmNhci1kdS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L01ha2VmaWxlCmluZGV4 IDA1ZGUxYzQuLmU4Y2Y0NTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L01h a2VmaWxlCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L01ha2VmaWxlCkBAIC03LDggKzcs NyBAQCByY2FyLWR1LWRybS15IDo9IHJjYXJfZHVfY3J0Yy5vIFwKIAkJIHJjYXJfZHVfcGxhbmUu byBcCiAJCSByY2FyX2R1X3ZnYWNvbi5vCiAKLXJjYXItZHUtZHJtLSQoQ09ORklHX0RSTV9SQ0FS X0hETUkpCSs9IHJjYXJfZHVfaGRtaWNvbi5vIFwKLQkJCQkJICAgcmNhcl9kdV9oZG1pZW5jLm8K K3JjYXItZHUtZHJtLSQoQ09ORklHX0RSTV9SQ0FSX0hETUkpCSs9IHJjYXJfZHVfaGRtaWVuYy5v CiByY2FyLWR1LWRybS0kKENPTkZJR19EUk1fUkNBUl9MVkRTKQkrPSByY2FyX2R1X2x2ZHNlbmMu bwogCiBvYmotJChDT05GSUdfRFJNX1JDQVJfRFUpCQkrPSByY2FyLWR1LWRybS5vCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2VuY29kZXIuYyBiL2RyaXZlcnMv Z3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfZW5jb2Rlci5jCmluZGV4IGQwYWUxZTguLmVhMDBlMzMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfZW5jb2Rlci5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfZW5jb2Rlci5jCkBAIC0xOSw3ICsx OSw2IEBACiAKICNpbmNsdWRlICJyY2FyX2R1X2Rydi5oIgogI2luY2x1ZGUgInJjYXJfZHVfZW5j b2Rlci5oIgotI2luY2x1ZGUgInJjYXJfZHVfaGRtaWNvbi5oIgogI2luY2x1ZGUgInJjYXJfZHVf aGRtaWVuYy5oIgogI2luY2x1ZGUgInJjYXJfZHVfa21zLmgiCiAjaW5jbHVkZSAicmNhcl9kdV9s dmRzY29uLmgiCkBAIC0xOTAsNyArMTg5LDcgQEAgaW50IHJjYXJfZHVfZW5jb2Rlcl9pbml0KHN0 cnVjdCByY2FyX2R1X2RldmljZSAqcmNkdSwKIAkJYnJlYWs7CiAKIAljYXNlIERSTV9NT0RFX0VO Q09ERVJfVE1EUzoKLQkJcmV0ID0gcmNhcl9kdV9oZG1pX2Nvbm5lY3Rvcl9pbml0KHJjZHUsIHJl bmMpOworCQkvKiBjb25uZWN0b3IgbWFuYWdlZCBieSB0aGUgYnJpZGdlIGRyaXZlciAqLwogCQli cmVhazsKIAogCWRlZmF1bHQ6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9y Y2FyX2R1X2VuY29kZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfZW5jb2Rl ci5oCmluZGV4IDcxOWI2ZjJhLi5kZGU1MjNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v cmNhci1kdS9yY2FyX2R1X2VuY29kZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9y Y2FyX2R1X2VuY29kZXIuaApAQCAtMTUsNyArMTUsNiBAQAogI2RlZmluZSBfX1JDQVJfRFVfRU5D T0RFUl9IX18KIAogI2luY2x1ZGUgPGRybS9kcm1fY3J0Yy5oPgotI2luY2x1ZGUgPGRybS9kcm1f ZW5jb2Rlcl9zbGF2ZS5oPgogCiBzdHJ1Y3QgcmNhcl9kdV9kZXZpY2U7CiBzdHJ1Y3QgcmNhcl9k dV9oZG1pZW5jOwpAQCAtMzAsMTYgKzI5LDE2IEBAIGVudW0gcmNhcl9kdV9lbmNvZGVyX3R5cGUg ewogfTsKIAogc3RydWN0IHJjYXJfZHVfZW5jb2RlciB7Ci0Jc3RydWN0IGRybV9lbmNvZGVyX3Ns YXZlIHNsYXZlOworCXN0cnVjdCBkcm1fZW5jb2RlciBiYXNlOwogCWVudW0gcmNhcl9kdV9vdXRw dXQgb3V0cHV0OwogCXN0cnVjdCByY2FyX2R1X2hkbWllbmMgKmhkbWk7CiAJc3RydWN0IHJjYXJf ZHVfbHZkc2VuYyAqbHZkczsKIH07CiAKICNkZWZpbmUgdG9fcmNhcl9lbmNvZGVyKGUpIFwKLQlj b250YWluZXJfb2YoZSwgc3RydWN0IHJjYXJfZHVfZW5jb2Rlciwgc2xhdmUuYmFzZSkKKwljb250 YWluZXJfb2YoZSwgc3RydWN0IHJjYXJfZHVfZW5jb2RlciwgYmFzZSkKIAotI2RlZmluZSByY2Fy X2VuY29kZXJfdG9fZHJtX2VuY29kZXIoZSkJKCYoZSktPnNsYXZlLmJhc2UpCisjZGVmaW5lIHJj YXJfZW5jb2Rlcl90b19kcm1fZW5jb2RlcihlKQkoJihlKS0+YmFzZSkKIAogc3RydWN0IHJjYXJf ZHVfY29ubmVjdG9yIHsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciBjb25uZWN0b3I7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2hkbWljb24uYyBiL2RyaXZlcnMv Z3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfaGRtaWNvbi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCA5NmYyZWI0Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3Jj YXJfZHVfaGRtaWNvbi5jCisrKyAvZGV2L251bGwKQEAgLTEsMTI2ICswLDAgQEAKLS8qCi0gKiBS LUNhciBEaXNwbGF5IFVuaXQgSERNSSBDb25uZWN0b3IKLSAqCi0gKiBDb3B5cmlnaHQgKEMpIDIw MTQgUmVuZXNhcyBFbGVjdHJvbmljcyBDb3Jwb3JhdGlvbgotICoKLSAqIENvbnRhY3Q6IExhdXJl bnQgUGluY2hhcnQgKGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbSkKLSAqCi0gKiBU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gKiAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgotICovCi0KLSNpbmNsdWRlIDxkcm0vZHJtUC5oPgotI2lu Y2x1ZGUgPGRybS9kcm1fYXRvbWljX2hlbHBlci5oPgotI2luY2x1ZGUgPGRybS9kcm1fY3J0Yy5o PgotI2luY2x1ZGUgPGRybS9kcm1fY3J0Y19oZWxwZXIuaD4KLSNpbmNsdWRlIDxkcm0vZHJtX2Vu Y29kZXJfc2xhdmUuaD4KLQotI2luY2x1ZGUgInJjYXJfZHVfZHJ2LmgiCi0jaW5jbHVkZSAicmNh cl9kdV9lbmNvZGVyLmgiCi0jaW5jbHVkZSAicmNhcl9kdV9oZG1pY29uLmgiCi0jaW5jbHVkZSAi cmNhcl9kdV9rbXMuaCIKLQotI2RlZmluZSB0b19zbGF2ZV9mdW5jcyhlKQkodG9fcmNhcl9lbmNv ZGVyKGUpLT5zbGF2ZS5zbGF2ZV9mdW5jcykKLQotc3RhdGljIGludCByY2FyX2R1X2hkbWlfY29u bmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQotewotCXN0 cnVjdCByY2FyX2R1X2Nvbm5lY3RvciAqY29uID0gdG9fcmNhcl9jb25uZWN0b3IoY29ubmVjdG9y KTsKLQlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIgPSByY2FyX2VuY29kZXJfdG9fZHJtX2Vu Y29kZXIoY29uLT5lbmNvZGVyKTsKLQlzdHJ1Y3QgZHJtX2VuY29kZXJfc2xhdmVfZnVuY3MgKnNm dW5jcyA9IHRvX3NsYXZlX2Z1bmNzKGVuY29kZXIpOwotCi0JaWYgKHNmdW5jcy0+Z2V0X21vZGVz ID09IE5VTEwpCi0JCXJldHVybiAwOwotCi0JcmV0dXJuIHNmdW5jcy0+Z2V0X21vZGVzKGVuY29k ZXIsIGNvbm5lY3Rvcik7Ci19Ci0KLXN0YXRpYyBpbnQgcmNhcl9kdV9oZG1pX2Nvbm5lY3Rvcl9t b2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCi0JCQkJCSAgICAgc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCi17Ci0Jc3RydWN0IHJjYXJfZHVfY29ubmVjdG9y ICpjb24gPSB0b19yY2FyX2Nvbm5lY3Rvcihjb25uZWN0b3IpOwotCXN0cnVjdCBkcm1fZW5jb2Rl ciAqZW5jb2RlciA9IHJjYXJfZW5jb2Rlcl90b19kcm1fZW5jb2Rlcihjb24tPmVuY29kZXIpOwot CXN0cnVjdCBkcm1fZW5jb2Rlcl9zbGF2ZV9mdW5jcyAqc2Z1bmNzID0gdG9fc2xhdmVfZnVuY3Mo ZW5jb2Rlcik7Ci0KLQlpZiAoc2Z1bmNzLT5tb2RlX3ZhbGlkID09IE5VTEwpCi0JCXJldHVybiBN T0RFX09LOwotCi0JcmV0dXJuIHNmdW5jcy0+bW9kZV92YWxpZChlbmNvZGVyLCBtb2RlKTsKLX0K LQotc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcyBjb25uZWN0 b3JfaGVscGVyX2Z1bmNzID0gewotCS5nZXRfbW9kZXMgPSByY2FyX2R1X2hkbWlfY29ubmVjdG9y X2dldF9tb2RlcywKLQkubW9kZV92YWxpZCA9IHJjYXJfZHVfaGRtaV9jb25uZWN0b3JfbW9kZV92 YWxpZCwKLQkuYmVzdF9lbmNvZGVyID0gcmNhcl9kdV9jb25uZWN0b3JfYmVzdF9lbmNvZGVyLAot fTsKLQotc3RhdGljIHZvaWQgcmNhcl9kdV9oZG1pX2Nvbm5lY3Rvcl9kZXN0cm95KHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IpCi17Ci0JZHJtX2Nvbm5lY3Rvcl91bnJlZ2lzdGVyKGNv bm5lY3Rvcik7Ci0JZHJtX2Nvbm5lY3Rvcl9jbGVhbnVwKGNvbm5lY3Rvcik7Ci19Ci0KLXN0YXRp YyBlbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVzCi1yY2FyX2R1X2hkbWlfY29ubmVjdG9yX2RldGVj dChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBib29sIGZvcmNlKQotewotCXN0cnVj dCByY2FyX2R1X2Nvbm5lY3RvciAqY29uID0gdG9fcmNhcl9jb25uZWN0b3IoY29ubmVjdG9yKTsK LQlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIgPSByY2FyX2VuY29kZXJfdG9fZHJtX2VuY29k ZXIoY29uLT5lbmNvZGVyKTsKLQlzdHJ1Y3QgZHJtX2VuY29kZXJfc2xhdmVfZnVuY3MgKnNmdW5j cyA9IHRvX3NsYXZlX2Z1bmNzKGVuY29kZXIpOwotCi0JaWYgKHNmdW5jcy0+ZGV0ZWN0ID09IE5V TEwpCi0JCXJldHVybiBjb25uZWN0b3Jfc3RhdHVzX3Vua25vd247Ci0KLQlyZXR1cm4gc2Z1bmNz LT5kZXRlY3QoZW5jb2RlciwgY29ubmVjdG9yKTsKLX0KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBk cm1fY29ubmVjdG9yX2Z1bmNzIGNvbm5lY3Rvcl9mdW5jcyA9IHsKLQkuZHBtcyA9IGRybV9hdG9t aWNfaGVscGVyX2Nvbm5lY3Rvcl9kcG1zLAotCS5yZXNldCA9IGRybV9hdG9taWNfaGVscGVyX2Nv bm5lY3Rvcl9yZXNldCwKLQkuZGV0ZWN0ID0gcmNhcl9kdV9oZG1pX2Nvbm5lY3Rvcl9kZXRlY3Qs Ci0JLmZpbGxfbW9kZXMgPSBkcm1faGVscGVyX3Byb2JlX3NpbmdsZV9jb25uZWN0b3JfbW9kZXMs Ci0JLmRlc3Ryb3kgPSByY2FyX2R1X2hkbWlfY29ubmVjdG9yX2Rlc3Ryb3ksCi0JLmF0b21pY19k dXBsaWNhdGVfc3RhdGUgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZHVwbGljYXRlX3N0 YXRlLAotCS5hdG9taWNfZGVzdHJveV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rv cl9kZXN0cm95X3N0YXRlLAotfTsKLQotaW50IHJjYXJfZHVfaGRtaV9jb25uZWN0b3JfaW5pdChz dHJ1Y3QgcmNhcl9kdV9kZXZpY2UgKnJjZHUsCi0JCQkJc3RydWN0IHJjYXJfZHVfZW5jb2RlciAq cmVuYykKLXsKLQlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIgPSByY2FyX2VuY29kZXJfdG9f ZHJtX2VuY29kZXIocmVuYyk7Ci0Jc3RydWN0IHJjYXJfZHVfY29ubmVjdG9yICpyY29uOwotCXN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7Ci0JaW50IHJldDsKLQotCXJjb24gPSBkZXZt X2t6YWxsb2MocmNkdS0+ZGV2LCBzaXplb2YoKnJjb24pLCBHRlBfS0VSTkVMKTsKLQlpZiAocmNv biA9PSBOVUxMKQotCQlyZXR1cm4gLUVOT01FTTsKLQotCWNvbm5lY3RvciA9ICZyY29uLT5jb25u ZWN0b3I7Ci0JY29ubmVjdG9yLT5kaXNwbGF5X2luZm8ud2lkdGhfbW0gPSAwOwotCWNvbm5lY3Rv ci0+ZGlzcGxheV9pbmZvLmhlaWdodF9tbSA9IDA7Ci0JY29ubmVjdG9yLT5pbnRlcmxhY2VfYWxs b3dlZCA9IHRydWU7Ci0JY29ubmVjdG9yLT5wb2xsZWQgPSBEUk1fQ09OTkVDVE9SX1BPTExfSFBE OwotCi0JcmV0ID0gZHJtX2Nvbm5lY3Rvcl9pbml0KHJjZHUtPmRkZXYsIGNvbm5lY3RvciwgJmNv bm5lY3Rvcl9mdW5jcywKLQkJCQkgRFJNX01PREVfQ09OTkVDVE9SX0hETUlBKTsKLQlpZiAocmV0 IDwgMCkKLQkJcmV0dXJuIHJldDsKLQotCWRybV9jb25uZWN0b3JfaGVscGVyX2FkZChjb25uZWN0 b3IsICZjb25uZWN0b3JfaGVscGVyX2Z1bmNzKTsKLQlyZXQgPSBkcm1fY29ubmVjdG9yX3JlZ2lz dGVyKGNvbm5lY3Rvcik7Ci0JaWYgKHJldCA8IDApCi0JCXJldHVybiByZXQ7Ci0KLQljb25uZWN0 b3ItPmRwbXMgPSBEUk1fTU9ERV9EUE1TX09GRjsKLQlkcm1fb2JqZWN0X3Byb3BlcnR5X3NldF92 YWx1ZSgmY29ubmVjdG9yLT5iYXNlLAotCQlyY2R1LT5kZGV2LT5tb2RlX2NvbmZpZy5kcG1zX3By b3BlcnR5LCBEUk1fTU9ERV9EUE1TX09GRik7Ci0KLQlyZXQgPSBkcm1fbW9kZV9jb25uZWN0b3Jf YXR0YWNoX2VuY29kZXIoY29ubmVjdG9yLCBlbmNvZGVyKTsKLQlpZiAocmV0IDwgMCkKLQkJcmV0 dXJuIHJldDsKLQotCXJjb24tPmVuY29kZXIgPSByZW5jOwotCi0JcmV0dXJuIDA7Ci19CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2hkbWljb24uaCBiL2RyaXZl cnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfaGRtaWNvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCA4N2RhYTk0Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1 L3JjYXJfZHVfaGRtaWNvbi5oCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotLyoKLSAq IFItQ2FyIERpc3BsYXkgVW5pdCBIRE1JIENvbm5lY3RvcgotICoKLSAqIENvcHlyaWdodCAoQykg MjAxNCBSZW5lc2FzIEVsZWN0cm9uaWNzIENvcnBvcmF0aW9uCi0gKgotICogQ29udGFjdDogTGF1 cmVudCBQaW5jaGFydCAobGF1cmVudC5waW5jaGFydEBpZGVhc29uYm9hcmQuY29tKQotICoKLSAq IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAqIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKi8KLQotI2lmbmRlZiBfX1JDQVJfRFVfSERNSUNP Tl9IX18KLSNkZWZpbmUgX19SQ0FSX0RVX0hETUlDT05fSF9fCi0KLXN0cnVjdCByY2FyX2R1X2Rl dmljZTsKLXN0cnVjdCByY2FyX2R1X2VuY29kZXI7Ci0KLSNpZiBJU19FTkFCTEVEKENPTkZJR19E Uk1fUkNBUl9IRE1JKQotaW50IHJjYXJfZHVfaGRtaV9jb25uZWN0b3JfaW5pdChzdHJ1Y3QgcmNh cl9kdV9kZXZpY2UgKnJjZHUsCi0JCQkJc3RydWN0IHJjYXJfZHVfZW5jb2RlciAqcmVuYyk7Ci0j ZWxzZQotc3RhdGljIGlubGluZSBpbnQgcmNhcl9kdV9oZG1pX2Nvbm5lY3Rvcl9pbml0KHN0cnVj dCByY2FyX2R1X2RldmljZSAqcmNkdSwKLQkJCQkJICAgICAgc3RydWN0IHJjYXJfZHVfZW5jb2Rl ciAqcmVuYykKLXsKLQlyZXR1cm4gLUVOT1NZUzsKLX0KLSNlbmRpZgotCi0jZW5kaWYgLyogX19S Q0FSX0RVX0hETUlDT05fSF9fICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmNhci1k dS9yY2FyX2R1X2hkbWllbmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfaGRt aWVuYy5jCmluZGV4IDgxZGE4NDEuLjEyZWMxZDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9yY2FyLWR1L3JjYXJfZHVfaGRtaWVuYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1 L3JjYXJfZHVfaGRtaWVuYy5jCkBAIC0xNiw3ICsxNiw2IEBACiAjaW5jbHVkZSA8ZHJtL2RybVAu aD4KICNpbmNsdWRlIDxkcm0vZHJtX2NydGMuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2NydGNfaGVs cGVyLmg+Ci0jaW5jbHVkZSA8ZHJtL2RybV9lbmNvZGVyX3NsYXZlLmg+CiAKICNpbmNsdWRlICJy Y2FyX2R1X2Rydi5oIgogI2luY2x1ZGUgInJjYXJfZHVfZW5jb2Rlci5oIgpAQCAtMjUsMjAgKzI0 LDE0IEBACiAKIHN0cnVjdCByY2FyX2R1X2hkbWllbmMgewogCXN0cnVjdCByY2FyX2R1X2VuY29k ZXIgKnJlbmM7Ci0Jc3RydWN0IGRldmljZSAqZGV2OwogCWJvb2wgZW5hYmxlZDsKIH07CiAKICNk ZWZpbmUgdG9fcmNhcl9oZG1pZW5jKGUpCSh0b19yY2FyX2VuY29kZXIoZSktPmhkbWkpCi0jZGVm aW5lIHRvX3NsYXZlX2Z1bmNzKGUpCSh0b19yY2FyX2VuY29kZXIoZSktPnNsYXZlLnNsYXZlX2Z1 bmNzKQogCiBzdGF0aWMgdm9pZCByY2FyX2R1X2hkbWllbmNfZGlzYWJsZShzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIpCiB7CiAJc3RydWN0IHJjYXJfZHVfaGRtaWVuYyAqaGRtaWVuYyA9IHRv X3JjYXJfaGRtaWVuYyhlbmNvZGVyKTsKLQlzdHJ1Y3QgZHJtX2VuY29kZXJfc2xhdmVfZnVuY3Mg KnNmdW5jcyA9IHRvX3NsYXZlX2Z1bmNzKGVuY29kZXIpOwotCi0JaWYgKHNmdW5jcy0+ZHBtcykK LQkJc2Z1bmNzLT5kcG1zKGVuY29kZXIsIERSTV9NT0RFX0RQTVNfT0ZGKTsKIAogCWlmIChoZG1p ZW5jLT5yZW5jLT5sdmRzKQogCQlyY2FyX2R1X2x2ZHNlbmNfZW5hYmxlKGhkbWllbmMtPnJlbmMt Pmx2ZHMsIGVuY29kZXItPmNydGMsCkBAIC01MCwxNSArNDMsMTEgQEAgc3RhdGljIHZvaWQgcmNh cl9kdV9oZG1pZW5jX2Rpc2FibGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogc3RhdGlj IHZvaWQgcmNhcl9kdV9oZG1pZW5jX2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIp CiB7CiAJc3RydWN0IHJjYXJfZHVfaGRtaWVuYyAqaGRtaWVuYyA9IHRvX3JjYXJfaGRtaWVuYyhl bmNvZGVyKTsKLQlzdHJ1Y3QgZHJtX2VuY29kZXJfc2xhdmVfZnVuY3MgKnNmdW5jcyA9IHRvX3Ns YXZlX2Z1bmNzKGVuY29kZXIpOwogCiAJaWYgKGhkbWllbmMtPnJlbmMtPmx2ZHMpCiAJCXJjYXJf ZHVfbHZkc2VuY19lbmFibGUoaGRtaWVuYy0+cmVuYy0+bHZkcywgZW5jb2Rlci0+Y3J0YywKIAkJ CQkgICAgICAgdHJ1ZSk7CiAKLQlpZiAoc2Z1bmNzLT5kcG1zKQotCQlzZnVuY3MtPmRwbXMoZW5j b2RlciwgRFJNX01PREVfRFBNU19PTik7Ci0KIAloZG1pZW5jLT5lbmFibGVkID0gdHJ1ZTsKIH0K IApAQCAtNjcsOSArNTYsNyBAQCBzdGF0aWMgaW50IHJjYXJfZHVfaGRtaWVuY19hdG9taWNfY2hl Y2soc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCQkJCQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rv cl9zdGF0ZSAqY29ubl9zdGF0ZSkKIHsKIAlzdHJ1Y3QgcmNhcl9kdV9oZG1pZW5jICpoZG1pZW5j ID0gdG9fcmNhcl9oZG1pZW5jKGVuY29kZXIpOwotCXN0cnVjdCBkcm1fZW5jb2Rlcl9zbGF2ZV9m dW5jcyAqc2Z1bmNzID0gdG9fc2xhdmVfZnVuY3MoZW5jb2Rlcik7CiAJc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKmFkanVzdGVkX21vZGUgPSAmY3J0Y19zdGF0ZS0+YWRqdXN0ZWRfbW9kZTsKLQlj b25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9ICZjcnRjX3N0YXRlLT5tb2RlOwog CiAJLyogVGhlIGludGVybmFsIExWRFMgZW5jb2RlciBoYXMgYSBjbG9jayBmcmVxdWVuY3kgb3Bl cmF0aW5nIHJhbmdlIG9mCiAJICogMzBNSHogdG8gMTUwTUh6LiBDbGFtcCB0aGUgY2xvY2sgYWNj b3JkaW5nbHkuCkBAIC03OCwxMCArNjUsNyBAQCBzdGF0aWMgaW50IHJjYXJfZHVfaGRtaWVuY19h dG9taWNfY2hlY2soc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCQlhZGp1c3RlZF9tb2Rl LT5jbG9jayA9IGNsYW1wKGFkanVzdGVkX21vZGUtPmNsb2NrLAogCQkJCQkgICAgIDMwMDAwLCAx NTAwMDApOwogCi0JaWYgKHNmdW5jcy0+bW9kZV9maXh1cCA9PSBOVUxMKQotCQlyZXR1cm4gMDsK LQotCXJldHVybiBzZnVuY3MtPm1vZGVfZml4dXAoZW5jb2RlciwgbW9kZSwgYWRqdXN0ZWRfbW9k ZSkgPyAwIDogLUVJTlZBTDsKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIHZvaWQgcmNhcl9kdV9o ZG1pZW5jX21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKQEAgLTg5LDEwICs3 Myw2IEBAIHN0YXRpYyB2b2lkIHJjYXJfZHVfaGRtaWVuY19tb2RlX3NldChzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIsCiAJCQkJICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0 ZWRfbW9kZSkKIHsKIAlzdHJ1Y3QgcmNhcl9kdV9oZG1pZW5jICpoZG1pZW5jID0gdG9fcmNhcl9o ZG1pZW5jKGVuY29kZXIpOwotCXN0cnVjdCBkcm1fZW5jb2Rlcl9zbGF2ZV9mdW5jcyAqc2Z1bmNz ID0gdG9fc2xhdmVfZnVuY3MoZW5jb2Rlcik7Ci0KLQlpZiAoc2Z1bmNzLT5tb2RlX3NldCkKLQkJ c2Z1bmNzLT5tb2RlX3NldChlbmNvZGVyLCBtb2RlLCBhZGp1c3RlZF9tb2RlKTsKIAogCXJjYXJf ZHVfY3J0Y19yb3V0ZV9vdXRwdXQoZW5jb2Rlci0+Y3J0YywgaGRtaWVuYy0+cmVuYy0+b3V0cHV0 KTsKIH0KQEAgLTExMiw3ICs5Miw2IEBAIHN0YXRpYyB2b2lkIHJjYXJfZHVfaGRtaWVuY19jbGVh bnVwKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIAkJcmNhcl9kdV9oZG1pZW5jX2Rpc2Fi bGUoZW5jb2Rlcik7CiAKIAlkcm1fZW5jb2Rlcl9jbGVhbnVwKGVuY29kZXIpOwotCXB1dF9kZXZp Y2UoaGRtaWVuYy0+ZGV2KTsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZW5jb2Rlcl9m dW5jcyBlbmNvZGVyX2Z1bmNzID0gewpAQCAtMTIzLDggKzEwMiw3IEBAIGludCByY2FyX2R1X2hk bWllbmNfaW5pdChzdHJ1Y3QgcmNhcl9kdV9kZXZpY2UgKnJjZHUsCiAJCQkgc3RydWN0IHJjYXJf ZHVfZW5jb2RlciAqcmVuYywgc3RydWN0IGRldmljZV9ub2RlICpucCkKIHsKIAlzdHJ1Y3QgZHJt X2VuY29kZXIgKmVuY29kZXIgPSByY2FyX2VuY29kZXJfdG9fZHJtX2VuY29kZXIocmVuYyk7Ci0J c3RydWN0IGRybV9pMmNfZW5jb2Rlcl9kcml2ZXIgKmRyaXZlcjsKLQlzdHJ1Y3QgaTJjX2NsaWVu dCAqaTJjX3NsYXZlOworCXN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2U7CiAJc3RydWN0IHJjYXJf ZHVfaGRtaWVuYyAqaGRtaWVuYzsKIAlpbnQgcmV0OwogCkBAIC0xMzIsMzcgKzExMCwyOSBAQCBp bnQgcmNhcl9kdV9oZG1pZW5jX2luaXQoc3RydWN0IHJjYXJfZHVfZGV2aWNlICpyY2R1LAogCWlm IChoZG1pZW5jID09IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwogCi0JLyogTG9jYXRlIHRoZSBz bGF2ZSBJMkMgZGV2aWNlIGFuZCBkcml2ZXIuICovCi0JaTJjX3NsYXZlID0gb2ZfZmluZF9pMmNf ZGV2aWNlX2J5X25vZGUobnApOwotCWlmICghaTJjX3NsYXZlIHx8ICFpMmNfZ2V0X2NsaWVudGRh dGEoaTJjX3NsYXZlKSkKKwkvKiBMb2NhdGUgZHJtIGJyaWRnZSBmcm9tIHRoZSBoZG1pIGVuY29k ZXIgRFQgbm9kZSAqLworCWJyaWRnZSA9IG9mX2RybV9maW5kX2JyaWRnZShucCk7CisJaWYgKCFi cmlkZ2UpCiAJCXJldHVybiAtRVBST0JFX0RFRkVSOwogCi0JaGRtaWVuYy0+ZGV2ID0gJmkyY19z bGF2ZS0+ZGV2OwotCi0JaWYgKGhkbWllbmMtPmRldi0+ZHJpdmVyID09IE5VTEwpIHsKLQkJcmV0 ID0gLUVQUk9CRV9ERUZFUjsKLQkJZ290byBlcnJvcjsKLQl9Ci0KLQkvKiBJbml0aWFsaXplIHRo ZSBzbGF2ZSBlbmNvZGVyLiAqLwotCWRyaXZlciA9IHRvX2RybV9pMmNfZW5jb2Rlcl9kcml2ZXIo dG9faTJjX2RyaXZlcihoZG1pZW5jLT5kZXYtPmRyaXZlcikpOwotCXJldCA9IGRyaXZlci0+ZW5j b2Rlcl9pbml0KGkyY19zbGF2ZSwgcmNkdS0+ZGRldiwgJnJlbmMtPnNsYXZlKTsKLQlpZiAocmV0 IDwgMCkKLQkJZ290byBlcnJvcjsKLQogCXJldCA9IGRybV9lbmNvZGVyX2luaXQocmNkdS0+ZGRl diwgZW5jb2RlciwgJmVuY29kZXJfZnVuY3MsCiAJCQkgICAgICAgRFJNX01PREVfRU5DT0RFUl9U TURTKTsKIAlpZiAocmV0IDwgMCkKLQkJZ290byBlcnJvcjsKKwkJcmV0dXJuIHJldDsKIAogCWRy bV9lbmNvZGVyX2hlbHBlcl9hZGQoZW5jb2RlciwgJmVuY29kZXJfaGVscGVyX2Z1bmNzKTsKIAog CXJlbmMtPmhkbWkgPSBoZG1pZW5jOwogCWhkbWllbmMtPnJlbmMgPSByZW5jOwogCi0JcmV0dXJu IDA7CisJLyogTGluayBkcm1fYnJpZGdlIHRvIGVuY29kZXIgKi8KKwlicmlkZ2UtPmVuY29kZXIg PSBlbmNvZGVyOwogCi1lcnJvcjoKLQlwdXRfZGV2aWNlKGhkbWllbmMtPmRldik7Ci0JcmV0dXJu IHJldDsKKwlyZXQgPSBkcm1fYnJpZGdlX2F0dGFjaChyY2R1LT5kZGV2LCBicmlkZ2UpOworCWlm IChyZXQpIHsKKwkJZHJtX2VuY29kZXJfY2xlYW51cChlbmNvZGVyKTsKKwkJcmV0dXJuIHJldDsK Kwl9CisKKwlyZXR1cm4gMDsKIH0KLS0gClRoZSBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwg SW5jLiBpcyBhIG1lbWJlciBvZiB0aGUgQ29kZSBBdXJvcmEgRm9ydW0sCmhvc3RlZCBieSBUaGUg TGludXggRm91bmRhdGlvbgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwK