From mboxrd@z Thu Jan 1 00:00:00 1970 From: Liu Ying Subject: [PATCH v4 09/10] drm/imx: atomic phase 3 step 2: Legacy callback fixups Date: Fri, 8 Jul 2016 17:41:01 +0800 Message-ID: <1467970862-28012-10-git-send-email-gnuiyl@gmail.com> References: <1467970862-28012-1-git-send-email-gnuiyl@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0081.outbound.protection.outlook.com [104.47.40.81]) by gabe.freedesktop.org (Postfix) with ESMTPS id E3A5589B98 for ; Fri, 8 Jul 2016 09:41:40 +0000 (UTC) In-Reply-To: <1467970862-28012-1-git-send-email-gnuiyl@gmail.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: Russell King , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org Tm93IHRoYXQgd2UgY2FuIHVzZSBhdG9taWMgY29uZmlndXJhdGlvbnMsIGFsbCB0aGUgbGVnYWN5 IGNhbGxiYWNrcwpvZiBDUlRDcywgZW5jb2RlcnMgYW5kIGNvbm5lY3RvcnMgY2FuIGJlIHN3aXRj aGVkIHRvIHRoZSBhdG9taWMgdmVyc2lvbi4KRm9yIHRoZSBpbXgtbGRiIGRyaXZlciwgdGhlcmUg aXMgYSBjbG9jayBwYXJlbnQgc2V0dGluZyBtaXNtYXRjaCBiZXd0ZWVuCi0+ZW5hYmxlIGFuZCAt PmRpc2FibGUgYWZ0ZXIgdGhlIHN3aXRjaCwgc28gYSBmaXh1cCBpcyBhZGRlZC4gIEZvciB0aGUK aW14LXR2ZSBkcml2ZXIsIHNpbmNlIHRoZSBlbmNvZGVyJ3MgY2FsbGJhY2sgLT5kcG1zIGlzIHJl cGxhY2VkIGJ5Ci0+ZGlzYWJsZSwgd2UgbmVlZCB0byBtb3ZlIHRoZSBzZXR0aW5nIGZvciB0aGUg SVBVX0NMS19FTiBiaXQoaW4gcmVnaXN0ZXIKVFZFX0NPTV9DT05GX1JFRykgZnJvbSAtPmVuYWJs ZS8tPmRpc2FibGUgdG8gLT5tb2RlX3NldCwgb3RoZXJ3aXNlLCB0aGUKcmVsZXZhbnQgQ1JUQyBj YW5ub3QgYmUgZGlzYWJsZWQgY29ycmVjdGx5IHdpdGggYSB3YXJuaW5nIG9uIERDIHN0b3AgdGlt ZW91dC4KClNpZ25lZC1vZmYtYnk6IExpdSBZaW5nIDxnbnVpeWxAZ21haWwuY29tPgotLS0KdjMt PnY0OgoqIE5vbmUuCgp2Mi0+djM6CiogVHJpdmlhbCBjaGFuZ2UgZHVlIHRvIHJlYmFzaW5nLgoK djEtPnYyOgoqIEEgZml4dXAgb24gdGhlIFRWRSByZWdpc3RlciBiaXQgSVBVX0NMS19FTiB0byBh dm9pZCBhIHdhcm5pbmcgb24gREMKICBzdG9wIHRpbWVvdXQgd2hlbiBkb2luZyBtb2RlIHNldHRp bmcuCgogZHJpdmVycy9ncHUvZHJtL2lteC9kd19oZG1pLWlteC5jICAgICAgfCAgNCArKy0tCiBk cml2ZXJzL2dwdS9kcm0vaW14L2lteC1sZGIuYyAgICAgICAgICB8IDE2ICsrKysrKy0tLS0tLS0K IGRyaXZlcnMvZ3B1L2RybS9pbXgvaW14LXR2ZS5jICAgICAgICAgIHwgMjcgKysrKysrKy0tLS0t LS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLWNydGMuYyAgICAgICB8IDQ0ICsr KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pbXgvcGFy YWxsZWwtZGlzcGxheS5jIHwgMTggKysrLS0tLS0tLS0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgMjcg aW5zZXJ0aW9ucygrKSwgODIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2lteC9kd19oZG1pLWlteC5jIGIvZHJpdmVycy9ncHUvZHJtL2lteC9kd19oZG1pLWlteC5j CmluZGV4IDVmNjQ2NzQuLjVmMWQ0MzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pbXgv ZHdfaGRtaS1pbXguYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaW14L2R3X2hkbWktaW14LmMKQEAg LTExNyw3ICsxMTcsNyBAQCBzdGF0aWMgdm9pZCBkd19oZG1pX2lteF9lbmNvZGVyX21vZGVfc2V0 KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIHsKIH0KIAotc3RhdGljIHZvaWQgZHdfaGRt aV9pbXhfZW5jb2Rlcl9jb21taXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQorc3RhdGlj IHZvaWQgZHdfaGRtaV9pbXhfZW5jb2Rlcl9lbmFibGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNv ZGVyKQogewogCXN0cnVjdCBpbXhfZHJtX2VuY29kZXIgKmlteF9lbmNvZGVyID0gZW5jX3RvX2lt eF9lbmMoZW5jb2Rlcik7CiAJc3RydWN0IGlteF9oZG1pICpoZG1pID0gaW14X2VuY190b19pbXhf aGRtaShpbXhfZW5jb2Rlcik7CkBAIC0xMzAsNyArMTMwLDcgQEAgc3RhdGljIHZvaWQgZHdfaGRt aV9pbXhfZW5jb2Rlcl9jb21taXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogCiBzdGF0 aWMgY29uc3Qgc3RydWN0IGRybV9lbmNvZGVyX2hlbHBlcl9mdW5jcyBkd19oZG1pX2lteF9lbmNv ZGVyX2hlbHBlcl9mdW5jcyA9IHsKIAkubW9kZV9zZXQgICA9IGR3X2hkbWlfaW14X2VuY29kZXJf bW9kZV9zZXQsCi0JLmNvbW1pdCAgICAgPSBkd19oZG1pX2lteF9lbmNvZGVyX2NvbW1pdCwKKwku ZW5hYmxlICAgICA9IGR3X2hkbWlfaW14X2VuY29kZXJfZW5hYmxlLAogCS5kaXNhYmxlICAgID0g ZHdfaGRtaV9pbXhfZW5jb2Rlcl9kaXNhYmxlLAogfTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2lteC9pbXgtbGRiLmMgYi9kcml2ZXJzL2dwdS9kcm0vaW14L2lteC1sZGIuYwppbmRl eCA2ZTExMGJiLi45YzQ4YzRiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaW14L2lteC1s ZGIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaW14L2lteC1sZGIuYwpAQCAtMTcyLDEwICsxNzIs NiBAQCBzdGF0aWMgc3RydWN0IGRybV9lbmNvZGVyICppbXhfbGRiX2Nvbm5lY3Rvcl9iZXN0X2Vu Y29kZXIoCiAJcmV0dXJuICZpbXhfbGRiX2NoLT5pbXhfZW5jb2Rlci5lbmNvZGVyOwogfQogCi1z dGF0aWMgdm9pZCBpbXhfbGRiX2VuY29kZXJfZHBtcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIsIGludCBtb2RlKQotewotfQotCiBzdGF0aWMgdm9pZCBpbXhfbGRiX3NldF9jbG9jayhzdHJ1 Y3QgaW14X2xkYiAqbGRiLCBpbnQgbXV4LCBpbnQgY2hubywKIAkJdW5zaWduZWQgbG9uZyBzZXJp YWxfY2xrLCB1bnNpZ25lZCBsb25nIGRpX2NsaykKIHsKQEAgLTIwNCw3ICsyMDAsNyBAQCBzdGF0 aWMgdm9pZCBpbXhfbGRiX3NldF9jbG9jayhzdHJ1Y3QgaW14X2xkYiAqbGRiLCBpbnQgbXV4LCBp bnQgY2hubywKIAkJCWNobm8pOwogfQogCi1zdGF0aWMgdm9pZCBpbXhfbGRiX2VuY29kZXJfY29t bWl0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKK3N0YXRpYyB2b2lkIGlteF9sZGJfZW5j b2Rlcl9lbmFibGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogewogCXN0cnVjdCBpbXhf ZHJtX2VuY29kZXIgKmlteF9lbmNvZGVyID0gZW5jX3RvX2lteF9lbmMoZW5jb2Rlcik7CiAJc3Ry dWN0IGlteF9sZGJfY2hhbm5lbCAqaW14X2xkYl9jaCA9IGlteF9lbmNfdG9faW14X2xkYl9jaChp bXhfZW5jb2Rlcik7CkBAIC0yMTUsOCArMjExLDEzIEBAIHN0YXRpYyB2b2lkIGlteF9sZGJfZW5j b2Rlcl9jb21taXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogCWRybV9wYW5lbF9wcmVw YXJlKGlteF9sZGJfY2gtPnBhbmVsKTsKIAogCWlmIChkdWFsKSB7CisJCWNsa19zZXRfcGFyZW50 KGxkYi0+Y2xrX3NlbFttdXhdLCBsZGItPmNsa1swXSk7CisJCWNsa19zZXRfcGFyZW50KGxkYi0+ Y2xrX3NlbFttdXhdLCBsZGItPmNsa1sxXSk7CisKIAkJY2xrX3ByZXBhcmVfZW5hYmxlKGxkYi0+ Y2xrWzBdKTsKIAkJY2xrX3ByZXBhcmVfZW5hYmxlKGxkYi0+Y2xrWzFdKTsKKwl9IGVsc2Ugewor CQljbGtfc2V0X3BhcmVudChsZGItPmNsa19zZWxbbXV4XSwgbGRiLT5jbGtbaW14X2xkYl9jaC0+ Y2hub10pOwogCX0KIAogCWlmIChpbXhfbGRiX2NoID09ICZsZGItPmNoYW5uZWxbMF0gfHwgZHVh bCkgewpAQCAtMzU2LDcgKzM1Nyw3IEBAIHN0YXRpYyB2b2lkIGlteF9sZGJfZW5jb2Rlcl9kaXNh YmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVj dCBkcm1fY29ubmVjdG9yX2Z1bmNzIGlteF9sZGJfY29ubmVjdG9yX2Z1bmNzID0gewotCS5kcG1z ID0gZHJtX2hlbHBlcl9jb25uZWN0b3JfZHBtcywKKwkuZHBtcyA9IGRybV9hdG9taWNfaGVscGVy X2Nvbm5lY3Rvcl9kcG1zLAogCS5maWxsX21vZGVzID0gZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVf Y29ubmVjdG9yX21vZGVzLAogCS5kZXRlY3QgPSBpbXhfbGRiX2Nvbm5lY3Rvcl9kZXRlY3QsCiAJ LmRlc3Ryb3kgPSBpbXhfZHJtX2Nvbm5lY3Rvcl9kZXN0cm95LApAQCAtMzc1LDkgKzM3Niw4IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2VuY29kZXJfZnVuY3MgaW14X2xkYl9lbmNvZGVyX2Z1 bmNzID0gewogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZW5jb2Rlcl9oZWxwZXJfZnVu Y3MgaW14X2xkYl9lbmNvZGVyX2hlbHBlcl9mdW5jcyA9IHsKLQkuZHBtcyA9IGlteF9sZGJfZW5j b2Rlcl9kcG1zLAotCS5jb21taXQgPSBpbXhfbGRiX2VuY29kZXJfY29tbWl0LAogCS5tb2RlX3Nl dCA9IGlteF9sZGJfZW5jb2Rlcl9tb2RlX3NldCwKKwkuZW5hYmxlID0gaW14X2xkYl9lbmNvZGVy X2VuYWJsZSwKIAkuZGlzYWJsZSA9IGlteF9sZGJfZW5jb2Rlcl9kaXNhYmxlLAogfTsKIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2lteC9pbXgtdHZlLmMgYi9kcml2ZXJzL2dwdS9kcm0v aW14L2lteC10dmUuYwppbmRleCA4MmExZWRkLi5jZDkyYWFjIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaW14L2lteC10dmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaW14L2lteC10dmUu YwpAQCAtMTQ3LDggKzE0Nyw3IEBAIHN0YXRpYyB2b2lkIHR2ZV9lbmFibGUoc3RydWN0IGlteF90 dmUgKnR2ZSkKIAkJdHZlLT5lbmFibGVkID0gdHJ1ZTsKIAkJY2xrX3ByZXBhcmVfZW5hYmxlKHR2 ZS0+Y2xrKTsKIAkJcmV0ID0gcmVnbWFwX3VwZGF0ZV9iaXRzKHR2ZS0+cmVnbWFwLCBUVkVfQ09N X0NPTkZfUkVHLAotCQkJCQkgVFZFX0lQVV9DTEtfRU4gfCBUVkVfRU4sCi0JCQkJCSBUVkVfSVBV X0NMS19FTiB8IFRWRV9FTik7CisJCQkJCSBUVkVfRU4sIFRWRV9FTik7CiAJfQogCiAJLyogY2xl YXIgaW50ZXJydXB0IHN0YXR1cyByZWdpc3RlciAqLwpAQCAtMTcxLDcgKzE3MCw3IEBAIHN0YXRp YyB2b2lkIHR2ZV9kaXNhYmxlKHN0cnVjdCBpbXhfdHZlICp0dmUpCiAJaWYgKHR2ZS0+ZW5hYmxl ZCkgewogCQl0dmUtPmVuYWJsZWQgPSBmYWxzZTsKIAkJcmV0ID0gcmVnbWFwX3VwZGF0ZV9iaXRz KHR2ZS0+cmVnbWFwLCBUVkVfQ09NX0NPTkZfUkVHLAotCQkJCQkgVFZFX0lQVV9DTEtfRU4gfCBU VkVfRU4sIDApOworCQkJCQkgVFZFX0VOLCAwKTsKIAkJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKHR2 ZS0+Y2xrKTsKIAl9CiB9CkBAIC0yNzQsMTggKzI3Myw2IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmlteF90dmVfY29ubmVjdG9yX2Jlc3RfZW5jb2RlcigKIAlyZXR1cm4gJnR2ZS0+aW14 X2VuY29kZXIuZW5jb2RlcjsKIH0KIAotc3RhdGljIHZvaWQgaW14X3R2ZV9lbmNvZGVyX2RwbXMo c3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCBpbnQgbW9kZSkKLXsKLQlzdHJ1Y3QgaW14X2Ry bV9lbmNvZGVyICppbXhfZW5jb2RlciA9IGVuY190b19pbXhfZW5jKGVuY29kZXIpOwotCXN0cnVj dCBpbXhfdHZlICp0dmUgPSBpbXhfZW5jX3RvX3R2ZShpbXhfZW5jb2Rlcik7Ci0JaW50IHJldDsK LQotCXJldCA9IHJlZ21hcF91cGRhdGVfYml0cyh0dmUtPnJlZ21hcCwgVFZFX0NPTV9DT05GX1JF RywKLQkJCQkgVFZFX1RWX09VVF9NT0RFX01BU0ssIFRWRV9UVl9PVVRfRElTQUJMRSk7Ci0JaWYg KHJldCA8IDApCi0JCWRldl9lcnIodHZlLT5kZXYsICJmYWlsZWQgdG8gZGlzYWJsZSBUVk9VVDog JWRcbiIsIHJldCk7Ci19Ci0KIHN0YXRpYyB2b2lkIGlteF90dmVfZW5jb2Rlcl9tb2RlX3NldChz dHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqb3JpZ19tb2RlLAogCQkJCSAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUp CkBAIC0zMTUsNiArMzAyLDkgQEAgc3RhdGljIHZvaWQgaW14X3R2ZV9lbmNvZGVyX21vZGVfc2V0 KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAkJCXJldCk7CiAJfQogCisJcmVnbWFwX3Vw ZGF0ZV9iaXRzKHR2ZS0+cmVnbWFwLCBUVkVfQ09NX0NPTkZfUkVHLAorCQkJICAgVFZFX0lQVV9D TEtfRU4sIFRWRV9JUFVfQ0xLX0VOKTsKKwogCWlmICh0dmUtPm1vZGUgPT0gVFZFX01PREVfVkdB KQogCQlyZXQgPSB0dmVfc2V0dXBfdmdhKHR2ZSk7CiAJZWxzZQpAQCAtMzIzLDcgKzMxMyw3IEBA IHN0YXRpYyB2b2lkIGlteF90dmVfZW5jb2Rlcl9tb2RlX3NldChzdHJ1Y3QgZHJtX2VuY29kZXIg KmVuY29kZXIsCiAJCWRldl9lcnIodHZlLT5kZXYsICJmYWlsZWQgdG8gc2V0IGNvbmZpZ3VyYXRp b246ICVkXG4iLCByZXQpOwogfQogCi1zdGF0aWMgdm9pZCBpbXhfdHZlX2VuY29kZXJfY29tbWl0 KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKK3N0YXRpYyB2b2lkIGlteF90dmVfZW5jb2Rl cl9lbmFibGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogewogCXN0cnVjdCBpbXhfZHJt X2VuY29kZXIgKmlteF9lbmNvZGVyID0gZW5jX3RvX2lteF9lbmMoZW5jb2Rlcik7CiAJc3RydWN0 IGlteF90dmUgKnR2ZSA9IGlteF9lbmNfdG9fdHZlKGlteF9lbmNvZGVyKTsKQEAgLTM0MCw3ICsz MzAsNyBAQCBzdGF0aWMgdm9pZCBpbXhfdHZlX2VuY29kZXJfZGlzYWJsZShzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIpCiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9m dW5jcyBpbXhfdHZlX2Nvbm5lY3Rvcl9mdW5jcyA9IHsKLQkuZHBtcyA9IGRybV9oZWxwZXJfY29u bmVjdG9yX2RwbXMsCisJLmRwbXMgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZHBtcywK IAkuZmlsbF9tb2RlcyA9IGRybV9oZWxwZXJfcHJvYmVfc2luZ2xlX2Nvbm5lY3Rvcl9tb2RlcywK IAkuZGV0ZWN0ID0gaW14X3R2ZV9jb25uZWN0b3JfZGV0ZWN0LAogCS5kZXN0cm95ID0gaW14X2Ry bV9jb25uZWN0b3JfZGVzdHJveSwKQEAgLTM2MCw5ICszNTAsOCBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IGRybV9lbmNvZGVyX2Z1bmNzIGlteF90dmVfZW5jb2Rlcl9mdW5jcyA9IHsKIH07CiAKIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2VuY29kZXJfaGVscGVyX2Z1bmNzIGlteF90dmVfZW5jb2Rl cl9oZWxwZXJfZnVuY3MgPSB7Ci0JLmRwbXMgPSBpbXhfdHZlX2VuY29kZXJfZHBtcywKIAkubW9k ZV9zZXQgPSBpbXhfdHZlX2VuY29kZXJfbW9kZV9zZXQsCi0JLmNvbW1pdCA9IGlteF90dmVfZW5j b2Rlcl9jb21taXQsCisJLmVuYWJsZSA9IGlteF90dmVfZW5jb2Rlcl9lbmFibGUsCiAJLmRpc2Fi bGUgPSBpbXhfdHZlX2VuY29kZXJfZGlzYWJsZSwKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pbXgvaXB1djMtY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1jcnRj LmMKaW5kZXggM2U4MjUzNC4uMjc0YjBlMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2lt eC9pcHV2My1jcnRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1jcnRjLmMKQEAg LTQ4LDggKzQ4LDkgQEAgc3RydWN0IGlwdV9jcnRjIHsKIAogI2RlZmluZSB0b19pcHVfY3J0Yyh4 KSBjb250YWluZXJfb2YoeCwgc3RydWN0IGlwdV9jcnRjLCBiYXNlKQogCi1zdGF0aWMgdm9pZCBp cHVfY3J0Y19lbmFibGUoc3RydWN0IGlwdV9jcnRjICppcHVfY3J0YykKK3N0YXRpYyB2b2lkIGlw dV9jcnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiB7CisJc3RydWN0IGlwdV9jcnRj ICppcHVfY3J0YyA9IHRvX2lwdV9jcnRjKGNydGMpOwogCXN0cnVjdCBpcHVfc29jICppcHUgPSBk ZXZfZ2V0X2RydmRhdGEoaXB1X2NydGMtPmRldi0+cGFyZW50KTsKIAogCWlwdV9kY19lbmFibGUo aXB1KTsKQEAgLTU3LDEwICs1OCwxMCBAQCBzdGF0aWMgdm9pZCBpcHVfY3J0Y19lbmFibGUoc3Ry dWN0IGlwdV9jcnRjICppcHVfY3J0YykKIAlpcHVfZGlfZW5hYmxlKGlwdV9jcnRjLT5kaSk7CiB9 CiAKLXN0YXRpYyB2b2lkIGlwdV9jcnRjX2Rpc2FibGUoc3RydWN0IGlwdV9jcnRjICppcHVfY3J0 YykKK3N0YXRpYyB2b2lkIGlwdV9jcnRjX2Rpc2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQog eworCXN0cnVjdCBpcHVfY3J0YyAqaXB1X2NydGMgPSB0b19pcHVfY3J0YyhjcnRjKTsKIAlzdHJ1 Y3QgaXB1X3NvYyAqaXB1ID0gZGV2X2dldF9kcnZkYXRhKGlwdV9jcnRjLT5kZXYtPnBhcmVudCk7 Ci0Jc3RydWN0IGRybV9jcnRjICpjcnRjID0gJmlwdV9jcnRjLT5iYXNlOwogCiAJaXB1X2RjX2Rp c2FibGVfY2hhbm5lbChpcHVfY3J0Yy0+ZGMpOwogCWlwdV9kaV9kaXNhYmxlKGlwdV9jcnRjLT5k aSk7CkBAIC03NCwyNCArNzUsNiBAQCBzdGF0aWMgdm9pZCBpcHVfY3J0Y19kaXNhYmxlKHN0cnVj dCBpcHVfY3J0YyAqaXB1X2NydGMpCiAJc3Bpbl91bmxvY2tfaXJxKCZjcnRjLT5kZXYtPmV2ZW50 X2xvY2spOwogfQogCi1zdGF0aWMgdm9pZCBpcHVfY3J0Y19kcG1zKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywgaW50IG1vZGUpCi17Ci0Jc3RydWN0IGlwdV9jcnRjICppcHVfY3J0YyA9IHRvX2lwdV9j cnRjKGNydGMpOwotCi0JZGV2X2RiZyhpcHVfY3J0Yy0+ZGV2LCAiJXMgbW9kZTogJWRcbiIsIF9f ZnVuY19fLCBtb2RlKTsKLQotCXN3aXRjaCAobW9kZSkgewotCWNhc2UgRFJNX01PREVfRFBNU19P TjoKLQkJaXB1X2NydGNfZW5hYmxlKGlwdV9jcnRjKTsKLQkJYnJlYWs7Ci0JY2FzZSBEUk1fTU9E RV9EUE1TX1NUQU5EQlk6Ci0JY2FzZSBEUk1fTU9ERV9EUE1TX1NVU1BFTkQ6Ci0JY2FzZSBEUk1f TU9ERV9EUE1TX09GRjoKLQkJaXB1X2NydGNfZGlzYWJsZShpcHVfY3J0Yyk7Ci0JCWJyZWFrOwot CX0KLX0KLQogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyBpcHVfY3J0Y19mdW5j cyA9IHsKIAkuc2V0X2NvbmZpZyA9IGRybV9hdG9taWNfaGVscGVyX3NldF9jb25maWcsCiAJLmRl c3Ryb3kgPSBkcm1fY3J0Y19jbGVhbnVwLApAQCAtMTMyLDIwICsxMTUsNiBAQCBzdGF0aWMgYm9v bCBpcHVfY3J0Y19tb2RlX2ZpeHVwKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlyZXR1cm4gdHJ1 ZTsKIH0KIAotc3RhdGljIHZvaWQgaXB1X2NydGNfcHJlcGFyZShzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCi17Ci0Jc3RydWN0IGlwdV9jcnRjICppcHVfY3J0YyA9IHRvX2lwdV9jcnRjKGNydGMpOwot Ci0JaXB1X2NydGNfZGlzYWJsZShpcHVfY3J0Yyk7Ci19Ci0KLXN0YXRpYyB2b2lkIGlwdV9jcnRj X2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCi17Ci0Jc3RydWN0IGlwdV9jcnRjICppcHVf Y3J0YyA9IHRvX2lwdV9jcnRjKGNydGMpOwotCi0JaXB1X2NydGNfZW5hYmxlKGlwdV9jcnRjKTsK LX0KLQogc3RhdGljIGludCBpcHVfY3J0Y19hdG9taWNfY2hlY2soc3RydWN0IGRybV9jcnRjICpj cnRjLAogCQkJCSBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlKQogewpAQCAtMjI1LDEzICsx OTQsMTIgQEAgc3RhdGljIHZvaWQgaXB1X2NydGNfbW9kZV9zZXRfbm9mYihzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpCiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNz IGlwdV9oZWxwZXJfZnVuY3MgPSB7Ci0JLmRwbXMgPSBpcHVfY3J0Y19kcG1zLAogCS5tb2RlX2Zp eHVwID0gaXB1X2NydGNfbW9kZV9maXh1cCwKIAkubW9kZV9zZXRfbm9mYiA9IGlwdV9jcnRjX21v ZGVfc2V0X25vZmIsCi0JLnByZXBhcmUgPSBpcHVfY3J0Y19wcmVwYXJlLAotCS5jb21taXQgPSBp cHVfY3J0Y19jb21taXQsCiAJLmF0b21pY19jaGVjayA9IGlwdV9jcnRjX2F0b21pY19jaGVjaywK IAkuYXRvbWljX2JlZ2luID0gaXB1X2NydGNfYXRvbWljX2JlZ2luLAorCS5kaXNhYmxlID0gaXB1 X2NydGNfZGlzYWJsZSwKKwkuZW5hYmxlID0gaXB1X2NydGNfZW5hYmxlLAogfTsKIAogc3RhdGlj IGludCBpcHVfZW5hYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaW14L3BhcmFsbGVsLWRpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pbXgvcGFyYWxsZWwtZGlzcGxheS5jCmluZGV4IDczNzRkODIuLmJiNWRiZDYgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pbXgvcGFyYWxsZWwtZGlzcGxheS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pbXgvcGFyYWxsZWwtZGlzcGxheS5jCkBAIC05MiwxOCArOTIsNyBAQCBzdGF0aWMg c3RydWN0IGRybV9lbmNvZGVyICppbXhfcGRfY29ubmVjdG9yX2Jlc3RfZW5jb2RlcigKIAlyZXR1 cm4gJmlteHBkLT5pbXhfZW5jb2Rlci5lbmNvZGVyOwogfQogCi1zdGF0aWMgdm9pZCBpbXhfcGRf ZW5jb2Rlcl9kcG1zKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwgaW50IG1vZGUpCi17Ci0J c3RydWN0IGlteF9kcm1fZW5jb2RlciAqaW14X2VuY29kZXIgPSBlbmNfdG9faW14X2VuYyhlbmNv ZGVyKTsKLQlzdHJ1Y3QgaW14X3BhcmFsbGVsX2Rpc3BsYXkgKmlteHBkID0gaW14X2VuY190b19p bXhwZChpbXhfZW5jb2Rlcik7Ci0KLQlpZiAobW9kZSAhPSBEUk1fTU9ERV9EUE1TX09OKQotCQlk cm1fcGFuZWxfZGlzYWJsZShpbXhwZC0+cGFuZWwpOwotCWVsc2UKLQkJZHJtX3BhbmVsX2VuYWJs ZShpbXhwZC0+cGFuZWwpOwotfQotCi1zdGF0aWMgdm9pZCBpbXhfcGRfZW5jb2Rlcl9jb21taXQo c3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQorc3RhdGljIHZvaWQgaW14X3BkX2VuY29kZXJf ZW5hYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIHsKIAlzdHJ1Y3QgaW14X2RybV9l bmNvZGVyICppbXhfZW5jb2RlciA9IGVuY190b19pbXhfZW5jKGVuY29kZXIpOwogCXN0cnVjdCBp bXhfcGFyYWxsZWxfZGlzcGxheSAqaW14cGQgPSBpbXhfZW5jX3RvX2lteHBkKGlteF9lbmNvZGVy KTsKQEAgLTEyOCw3ICsxMTcsNyBAQCBzdGF0aWMgdm9pZCBpbXhfcGRfZW5jb2Rlcl9kaXNhYmxl KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBk cm1fY29ubmVjdG9yX2Z1bmNzIGlteF9wZF9jb25uZWN0b3JfZnVuY3MgPSB7Ci0JLmRwbXMgPSBk cm1faGVscGVyX2Nvbm5lY3Rvcl9kcG1zLAorCS5kcG1zID0gZHJtX2F0b21pY19oZWxwZXJfY29u bmVjdG9yX2RwbXMsCiAJLmZpbGxfbW9kZXMgPSBkcm1faGVscGVyX3Byb2JlX3NpbmdsZV9jb25u ZWN0b3JfbW9kZXMsCiAJLmRldGVjdCA9IGlteF9wZF9jb25uZWN0b3JfZGV0ZWN0LAogCS5kZXN0 cm95ID0gaW14X2RybV9jb25uZWN0b3JfZGVzdHJveSwKQEAgLTE0Nyw5ICsxMzYsOCBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IGRybV9lbmNvZGVyX2Z1bmNzIGlteF9wZF9lbmNvZGVyX2Z1bmNzID0g ewogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZW5jb2Rlcl9oZWxwZXJfZnVuY3MgaW14 X3BkX2VuY29kZXJfaGVscGVyX2Z1bmNzID0gewotCS5kcG1zID0gaW14X3BkX2VuY29kZXJfZHBt cywKLQkuY29tbWl0ID0gaW14X3BkX2VuY29kZXJfY29tbWl0LAogCS5tb2RlX3NldCA9IGlteF9w ZF9lbmNvZGVyX21vZGVfc2V0LAorCS5lbmFibGUgPSBpbXhfcGRfZW5jb2Rlcl9lbmFibGUsCiAJ LmRpc2FibGUgPSBpbXhfcGRfZW5jb2Rlcl9kaXNhYmxlLAogfTsKIAotLSAKMi43LjQKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWls aW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=