From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH v2 23/37] drm: Replace drm_format_num_planes() with fb->format->num_planes Date: Wed, 14 Dec 2016 23:30:22 +0200 Message-ID: <1481751022-18015-1-git-send-email-ville.syrjala@linux.intel.com> References: <1479498793-31021-24-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id C90896E8BB for ; Wed, 14 Dec 2016 21:30:25 +0000 (UTC) In-Reply-To: <1479498793-31021-24-git-send-email-ville.syrjala@linux.intel.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: Laurent Pinchart List-Id: dri-devel@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClJl cGxhY2UgZHJtX2Zvcm1hdF9udW1fcGxhbmVzKGZiLT5waXhlbF9mb3JtYXQpIHdpdGgganVzdApm Yi0+Zm9ybWF0LT5udW1fcGxhbmVzLiBBdm9pZHMgdGhlIGV4cGVuc2l2ZSBmb3JtYXQgaW5mbyBs b29rdXAuCgpAQApzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICphOwpzdHJ1Y3QgZHJtX2ZyYW1lYnVm ZmVyIGI7CkBACigKLSBkcm1fZm9ybWF0X251bV9wbGFuZXMoYS0+cGl4ZWxfZm9ybWF0KQorIGEt PmZvcm1hdC0+bnVtX3BsYW5lcwp8Ci0gZHJtX2Zvcm1hdF9udW1fcGxhbmVzKGIucGl4ZWxfZm9y bWF0KQorIGIuZm9ybWF0LT5udW1fcGxhbmVzCikKCkBACnN0cnVjdCBkcm1fcGxhbmVfc3RhdGUg KmE7CnN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgYjsKQEAKKAotIGRybV9mb3JtYXRfbnVtX3BsYW5l cyhhLT5mYi0+cGl4ZWxfZm9ybWF0KQorIGEtPmZiLT5mb3JtYXQtPm51bV9wbGFuZXMKfAotIGRy bV9mb3JtYXRfbnVtX3BsYW5lcyhiLmZiLT5waXhlbF9mb3JtYXQpCisgYi5mYi0+Zm9ybWF0LT5u dW1fcGxhbmVzCikKCkBACnN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmE7CmlkZW50aWZpZXIgVDsK QEAKICBUID0gYS0+cGl4ZWxfZm9ybWF0CjwrLi4uCi0gZHJtX2Zvcm1hdF9udW1fcGxhbmVzKFQp CisgYS0+Zm9ybWF0LT5udW1fcGxhbmVzCi4uLis+CgpAQApzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVy IGI7CmlkZW50aWZpZXIgVDsKQEAKICBUID0gYi5waXhlbF9mb3JtYXQKPCsuLi4KLSBkcm1fZm9y bWF0X251bV9wbGFuZXMoVCkKKyBiLmZvcm1hdC0+bnVtX3BsYW5lcwouLi4rPgoKdjI6IFJlcnVu IHNwYXRjaCBkdWUgdG8gY29kZSBjaGFuZ2VzCgpDYzogTGF1cmVudCBQaW5jaGFydCA8bGF1cmVu dC5waW5jaGFydEBpZGVhc29uYm9hcmQuY29tPgpTdWdnZXN0ZWQtYnk6IExhdXJlbnQgUGluY2hh cnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KU2lnbmVkLW9mZi1ieTogVmls bGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KUmV2aWV3ZWQtYnk6 IExhdXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9wbGFuZXMuYyAgICAgICAgICAgICB8IDIgKy0K IGRyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2NydGMuYyAgICAgICAgICAgIHwgMiArLQog ZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfb3ZlcmxheS5jICAgICAgICAgfCAyICstCiBk cml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfbGF5ZXIuYyB8IDIgKy0KIGRy aXZlcnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19wbGFuZS5jIHwgMiArLQogZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgICAgICAgICAgICB8IDIgKy0KIGRyaXZl cnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9wbGFuZS5jICAgICAgIHwgMiArLQogZHJpdmVy cy9ncHUvZHJtL21zbS9tc21fZmIuYyAgICAgICAgICAgICAgICAgICAgfCA4ICsrKystLS0tCiBk cml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2ZiLmMgICAgICAgICAgICAgICB8IDggKysrKy0t LS0KIGRyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jICAgICAgICAgICAgICAgICAgICAgIHwgNCAr Ky0tCiBkcml2ZXJzL2dwdS9kcm0vdGVncmEvZmIuYyAgICAgICAgICAgICAgICAgICAgICB8IDIg Ky0KIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3BsYW5lLmMgICAgICAgICAgICAgICAgIHwgMiAr LQogMTMgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfcGxhbmVzLmMgYi9kcml2ZXJz L2dwdS9kcm0vYXJtL21hbGlkcF9wbGFuZXMuYwppbmRleCBlZTdmNzY2M2EzMDcuLjUzM2VlMmZh NjRiZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfcGxhbmVzLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfcGxhbmVzLmMKQEAgLTExNiw3ICsxMTYsNyBA QCBzdGF0aWMgaW50IG1hbGlkcF9kZV9wbGFuZV9jaGVjayhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFu ZSwKIAlpZiAobXMtPmZvcm1hdCA9PSBNQUxJRFBfSU5WQUxJRF9GT1JNQVRfSUQpCiAJCXJldHVy biAtRUlOVkFMOwogCi0JbXMtPm5fcGxhbmVzID0gZHJtX2Zvcm1hdF9udW1fcGxhbmVzKGZiLT5w aXhlbF9mb3JtYXQpOworCW1zLT5uX3BsYW5lcyA9IGZiLT5mb3JtYXQtPm51bV9wbGFuZXM7CiAJ Zm9yIChpID0gMDsgaSA8IG1zLT5uX3BsYW5lczsgaSsrKSB7CiAJCWlmICghbWFsaWRwX2h3X3Bp dGNoX3ZhbGlkKG1wLT5od2RldiwgZmItPnBpdGNoZXNbaV0pKSB7CiAJCQlEUk1fREVCVUdfS01T KCJJbnZhbGlkIHBpdGNoICV1IGZvciBwbGFuZSAlZFxuIiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hcm1hZGEvYXJtYWRhX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJt YWRhX2NydGMuYwppbmRleCA5NWNiMzk2NmIyY2EuLjJlMWM2MzU2OWM3MiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hcm1hZGEvYXJtYWRhX2NydGMuYwpAQCAtMTcwLDcgKzE3MCw3IEBAIHZvaWQgYXJtYWRhX2Ry bV9wbGFuZV9jYWxjX2FkZHJzKHUzMiAqYWRkcnMsIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZi LAogewogCXUzMiBhZGRyID0gZHJtX2ZiX29iaihmYiktPmRldl9hZGRyOwogCXUzMiBwaXhlbF9m b3JtYXQgPSBmYi0+cGl4ZWxfZm9ybWF0OwotCWludCBudW1fcGxhbmVzID0gZHJtX2Zvcm1hdF9u dW1fcGxhbmVzKHBpeGVsX2Zvcm1hdCk7CisJaW50IG51bV9wbGFuZXMgPSBmYi0+Zm9ybWF0LT5u dW1fcGxhbmVzOwogCWludCBpOwogCiAJaWYgKG51bV9wbGFuZXMgPiAzKQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfb3ZlcmxheS5jIGIvZHJpdmVycy9ncHUvZHJt L2FybWFkYS9hcm1hZGFfb3ZlcmxheS5jCmluZGV4IDY3NDM2MTUyMzJmNS4uYTA4ODNhMWIzMzg3 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9vdmVybGF5LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfb3ZlcmxheS5jCkBAIC0xODgsNyArMTg4 LDcgQEAgYXJtYWRhX292bF9wbGFuZV91cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywKIAogCQlwaXhlbF9mb3JtYXQgPSBmYi0+cGl4ZWxfZm9ybWF0 OwogCQloc3ViID0gZHJtX2Zvcm1hdF9ob3J6X2Nocm9tYV9zdWJzYW1wbGluZyhwaXhlbF9mb3Jt YXQpOwotCQludW1fcGxhbmVzID0gZHJtX2Zvcm1hdF9udW1fcGxhbmVzKHBpeGVsX2Zvcm1hdCk7 CisJCW51bV9wbGFuZXMgPSBmYi0+Zm9ybWF0LT5udW1fcGxhbmVzOwogCiAJCS8qCiAJCSAqIEFu bm95aW5nbHksIHNoaWZ0aW5nIGEgWVVZVi1mb3JtYXQgaW1hZ2UgYnkgb25lIHBpeGVsCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfbGF5ZXIuYyBi L2RyaXZlcnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19sYXllci5jCmluZGV4IDM3 N2U0M2NlYTlkZC4uNjNkZmRiZjM0ZjgwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXRt ZWwtaGxjZGMvYXRtZWxfaGxjZGNfbGF5ZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYXRtZWwt aGxjZGMvYXRtZWxfaGxjZGNfbGF5ZXIuYwpAQCAtNDQ2LDcgKzQ0Niw3IEBAIHZvaWQgYXRtZWxf aGxjZGNfbGF5ZXJfdXBkYXRlX3NldF9mYihzdHJ1Y3QgYXRtZWxfaGxjZGNfbGF5ZXIgKmxheWVy LAogCQlyZXR1cm47CiAKIAlpZiAoZmIpCi0JCW5wbGFuZXMgPSBkcm1fZm9ybWF0X251bV9wbGFu ZXMoZmItPnBpeGVsX2Zvcm1hdCk7CisJCW5wbGFuZXMgPSBmYi0+Zm9ybWF0LT5udW1fcGxhbmVz OwogCiAJaWYgKG5wbGFuZXMgPiBsYXllci0+bWF4X3BsYW5lcykKIAkJcmV0dXJuOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX3BsYW5lLmMgYi9k cml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfcGxhbmUuYwppbmRleCAyNDZl ZDFlMzNkOGEuLmY5N2FlNzVmOWU2MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2F0bWVs LWhsY2RjL2F0bWVsX2hsY2RjX3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhs Y2RjL2F0bWVsX2hsY2RjX3BsYW5lLmMKQEAgLTYyMSw3ICs2MjEsNyBAQCBzdGF0aWMgaW50IGF0 bWVsX2hsY2RjX3BsYW5lX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX3BsYW5lICpwLAogCXN0YXRl LT5zcmNfdyA+Pj0gMTY7CiAJc3RhdGUtPnNyY19oID4+PSAxNjsKIAotCXN0YXRlLT5ucGxhbmVz ID0gZHJtX2Zvcm1hdF9udW1fcGxhbmVzKGZiLT5waXhlbF9mb3JtYXQpOworCXN0YXRlLT5ucGxh bmVzID0gZmItPmZvcm1hdC0+bnVtX3BsYW5lczsKIAlpZiAoc3RhdGUtPm5wbGFuZXMgPiBBVE1F TF9ITENEQ19NQVhfUExBTkVTKQogCQlyZXR1cm4gLUVJTlZBTDsKIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMK aW5kZXggNjA2OTc0ODJiOTRjLi42MmYwZjU3NzI4ZTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwpAQCAt OTYwLDcgKzk2MCw3IEBAIHN0YXRpYyB2b2lkIGRybV9hdG9taWNfcGxhbmVfcHJpbnRfc3RhdGUo c3RydWN0IGRybV9wcmludGVyICpwLAogCWRybV9wcmludGYocCwgIlx0ZmI9JXVcbiIsIHN0YXRl LT5mYiA/IHN0YXRlLT5mYi0+YmFzZS5pZCA6IDApOwogCWlmIChzdGF0ZS0+ZmIpIHsKIAkJc3Ry dWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBzdGF0ZS0+ZmI7Ci0JCWludCBpLCBuID0gZHJtX2Zv cm1hdF9udW1fcGxhbmVzKGZiLT5waXhlbF9mb3JtYXQpOworCQlpbnQgaSwgbiA9IGZiLT5mb3Jt YXQtPm51bV9wbGFuZXM7CiAJCXN0cnVjdCBkcm1fZm9ybWF0X25hbWVfYnVmIGZvcm1hdF9uYW1l OwogCiAJCWRybV9wcmludGYocCwgIlx0XHRmb3JtYXQ9JXNcbiIsCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKaW5kZXggODIyNTM5YmY5MDc0Li40MWY5YjNkNWNlODUgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTI0OTgsNyArMjQ5OCw3IEBAIGludGVsX2Zp bGxfZmJfaW5mbyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJdTMyIGd0dF9v ZmZzZXRfcm90YXRlZCA9IDA7CiAJdW5zaWduZWQgaW50IG1heF9zaXplID0gMDsKIAl1aW50MzJf dCBmb3JtYXQgPSBmYi0+cGl4ZWxfZm9ybWF0OwotCWludCBpLCBudW1fcGxhbmVzID0gZHJtX2Zv cm1hdF9udW1fcGxhbmVzKGZvcm1hdCk7CisJaW50IGksIG51bV9wbGFuZXMgPSBmYi0+Zm9ybWF0 LT5udW1fcGxhbmVzOwogCXVuc2lnbmVkIGludCB0aWxlX3NpemUgPSBpbnRlbF90aWxlX3NpemUo ZGV2X3ByaXYpOwogCiAJZm9yIChpID0gMDsgaSA8IG51bV9wbGFuZXM7IGkrKykgewpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BsYW5lLmMgYi9kcml2ZXJz L2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfcGxhbmUuYwppbmRleCBjMDk5ZGE3YmMyMTIuLjc1 MjQ3ZWE0MzM1YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1 X3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BsYW5lLmMK QEAgLTY5OSw3ICs2OTksNyBAQCBzdGF0aWMgaW50IG1kcDVfcGxhbmVfbW9kZV9zZXQoc3RydWN0 IGRybV9wbGFuZSAqcGxhbmUsCiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlpbnQgcmV0OwogCi0J bnBsYW5lcyA9IGRybV9mb3JtYXRfbnVtX3BsYW5lcyhmYi0+cGl4ZWxfZm9ybWF0KTsKKwlucGxh bmVzID0gZmItPmZvcm1hdC0+bnVtX3BsYW5lczsKIAogCS8qIGJhZCBmb3JtYXRzIHNob3VsZCBh bHJlYWR5IGJlIHJlamVjdGVkOiAqLwogCWlmIChXQVJOX09OKG5wbGFuZXMgPiBwaXBlMm5jbGll bnRzKHBpcGUpKSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2ZiLmMgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL21zbV9mYi5jCmluZGV4IGNjZWZkNmEzMGYzNy4uMDY0OTg2M2Q3 ZmQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9mYi5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9tc20vbXNtX2ZiLmMKQEAgLTQxLDcgKzQxLDcgQEAgc3RhdGljIGludCBtc21f ZnJhbWVidWZmZXJfY3JlYXRlX2hhbmRsZShzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKIHN0 YXRpYyB2b2lkIG1zbV9mcmFtZWJ1ZmZlcl9kZXN0cm95KHN0cnVjdCBkcm1fZnJhbWVidWZmZXIg KmZiKQogewogCXN0cnVjdCBtc21fZnJhbWVidWZmZXIgKm1zbV9mYiA9IHRvX21zbV9mcmFtZWJ1 ZmZlcihmYik7Ci0JaW50IGksIG4gPSBkcm1fZm9ybWF0X251bV9wbGFuZXMoZmItPnBpeGVsX2Zv cm1hdCk7CisJaW50IGksIG4gPSBmYi0+Zm9ybWF0LT5udW1fcGxhbmVzOwogCiAJREJHKCJkZXN0 cm95OiBGQiBJRDogJWQgKCVwKSIsIGZiLT5iYXNlLmlkLCBmYik7CiAKQEAgLTY1LDcgKzY1LDcg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXJfZnVuY3MgbXNtX2ZyYW1lYnVm ZmVyX2Z1bmNzID0gewogdm9pZCBtc21fZnJhbWVidWZmZXJfZGVzY3JpYmUoc3RydWN0IGRybV9m cmFtZWJ1ZmZlciAqZmIsIHN0cnVjdCBzZXFfZmlsZSAqbSkKIHsKIAlzdHJ1Y3QgbXNtX2ZyYW1l YnVmZmVyICptc21fZmIgPSB0b19tc21fZnJhbWVidWZmZXIoZmIpOwotCWludCBpLCBuID0gZHJt X2Zvcm1hdF9udW1fcGxhbmVzKGZiLT5waXhlbF9mb3JtYXQpOworCWludCBpLCBuID0gZmItPmZv cm1hdC0+bnVtX3BsYW5lczsKIAogCXNlcV9wcmludGYobSwgImZiOiAlZHglZEAlNC40cyAoJTJk LCBJRDolZClcbiIsCiAJCQlmYi0+d2lkdGgsIGZiLT5oZWlnaHQsIChjaGFyICopJmZiLT5waXhl bF9mb3JtYXQsCkBAIC04Nyw3ICs4Nyw3IEBAIHZvaWQgbXNtX2ZyYW1lYnVmZmVyX2Rlc2NyaWJl KHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLCBzdHJ1Y3Qgc2VxX2ZpbGUgKm0pCiBpbnQgbXNt X2ZyYW1lYnVmZmVyX3ByZXBhcmUoc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGludCBpZCkK IHsKIAlzdHJ1Y3QgbXNtX2ZyYW1lYnVmZmVyICptc21fZmIgPSB0b19tc21fZnJhbWVidWZmZXIo ZmIpOwotCWludCByZXQsIGksIG4gPSBkcm1fZm9ybWF0X251bV9wbGFuZXMoZmItPnBpeGVsX2Zv cm1hdCk7CisJaW50IHJldCwgaSwgbiA9IGZiLT5mb3JtYXQtPm51bV9wbGFuZXM7CiAJdWludDY0 X3QgaW92YTsKIAogCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKQEAgLTEwMyw3ICsxMDMsNyBA QCBpbnQgbXNtX2ZyYW1lYnVmZmVyX3ByZXBhcmUoc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIs IGludCBpZCkKIHZvaWQgbXNtX2ZyYW1lYnVmZmVyX2NsZWFudXAoc3RydWN0IGRybV9mcmFtZWJ1 ZmZlciAqZmIsIGludCBpZCkKIHsKIAlzdHJ1Y3QgbXNtX2ZyYW1lYnVmZmVyICptc21fZmIgPSB0 b19tc21fZnJhbWVidWZmZXIoZmIpOwotCWludCBpLCBuID0gZHJtX2Zvcm1hdF9udW1fcGxhbmVz KGZiLT5waXhlbF9mb3JtYXQpOworCWludCBpLCBuID0gZmItPmZvcm1hdC0+bnVtX3BsYW5lczsK IAogCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspCiAJCW1zbV9nZW1fcHV0X2lvdmEobXNtX2ZiLT5w bGFuZXNbaV0sIGlkKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBf ZmIuYyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZmIuYwppbmRleCA5ODc1Yzk5YmUw MDkuLmM2ZWY0NTdiOWZjYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21h cF9mYi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZmIuYwpAQCAtMTA3LDcg KzEwNyw3IEBAIHN0YXRpYyBpbnQgb21hcF9mcmFtZWJ1ZmZlcl9jcmVhdGVfaGFuZGxlKHN0cnVj dCBkcm1fZnJhbWVidWZmZXIgKmZiLAogc3RhdGljIHZvaWQgb21hcF9mcmFtZWJ1ZmZlcl9kZXN0 cm95KHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKQogewogCXN0cnVjdCBvbWFwX2ZyYW1lYnVm ZmVyICpvbWFwX2ZiID0gdG9fb21hcF9mcmFtZWJ1ZmZlcihmYik7Ci0JaW50IGksIG4gPSBkcm1f Zm9ybWF0X251bV9wbGFuZXMoZmItPnBpeGVsX2Zvcm1hdCk7CisJaW50IGksIG4gPSBmYi0+Zm9y bWF0LT5udW1fcGxhbmVzOwogCiAJREJHKCJkZXN0cm95OiBGQiBJRDogJWQgKCVwKSIsIGZiLT5i YXNlLmlkLCBmYik7CiAKQEAgLTI1Miw3ICsyNTIsNyBAQCB2b2lkIG9tYXBfZnJhbWVidWZmZXJf dXBkYXRlX3NjYW5vdXQoc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiBpbnQgb21hcF9mcmFt ZWJ1ZmZlcl9waW4oc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpCiB7CiAJc3RydWN0IG9tYXBf ZnJhbWVidWZmZXIgKm9tYXBfZmIgPSB0b19vbWFwX2ZyYW1lYnVmZmVyKGZiKTsKLQlpbnQgcmV0 LCBpLCBuID0gZHJtX2Zvcm1hdF9udW1fcGxhbmVzKGZiLT5waXhlbF9mb3JtYXQpOworCWludCBy ZXQsIGksIG4gPSBmYi0+Zm9ybWF0LT5udW1fcGxhbmVzOwogCiAJbXV0ZXhfbG9jaygmb21hcF9m Yi0+bG9jayk7CiAKQEAgLTI5Miw3ICsyOTIsNyBAQCBpbnQgb21hcF9mcmFtZWJ1ZmZlcl9waW4o c3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpCiB2b2lkIG9tYXBfZnJhbWVidWZmZXJfdW5waW4o c3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpCiB7CiAJc3RydWN0IG9tYXBfZnJhbWVidWZmZXIg Km9tYXBfZmIgPSB0b19vbWFwX2ZyYW1lYnVmZmVyKGZiKTsKLQlpbnQgaSwgbiA9IGRybV9mb3Jt YXRfbnVtX3BsYW5lcyhmYi0+cGl4ZWxfZm9ybWF0KTsKKwlpbnQgaSwgbiA9IGZiLT5mb3JtYXQt Pm51bV9wbGFuZXM7CiAKIAltdXRleF9sb2NrKCZvbWFwX2ZiLT5sb2NrKTsKIApAQCAtMzQzLDcg KzM0Myw3IEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yICpvbWFwX2ZyYW1lYnVmZmVyX2dldF9uZXh0 X2Nvbm5lY3RvcigKIHZvaWQgb21hcF9mcmFtZWJ1ZmZlcl9kZXNjcmliZShzdHJ1Y3QgZHJtX2Zy YW1lYnVmZmVyICpmYiwgc3RydWN0IHNlcV9maWxlICptKQogewogCXN0cnVjdCBvbWFwX2ZyYW1l YnVmZmVyICpvbWFwX2ZiID0gdG9fb21hcF9mcmFtZWJ1ZmZlcihmYik7Ci0JaW50IGksIG4gPSBk cm1fZm9ybWF0X251bV9wbGFuZXMoZmItPnBpeGVsX2Zvcm1hdCk7CisJaW50IGksIG4gPSBmYi0+ Zm9ybWF0LT5udW1fcGxhbmVzOwogCiAJc2VxX3ByaW50ZihtLCAiZmI6ICVkeCVkQCU0LjRzXG4i LCBmYi0+d2lkdGgsIGZiLT5oZWlnaHQsCiAJCQkoY2hhciAqKSZmYi0+cGl4ZWxfZm9ybWF0KTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jIGIvZHJpdmVycy9ncHUvZHJt L3RlZ3JhL2RjLmMKaW5kZXggNDAxMGQ2OWNiZDA4Li5iNjBjMzA2MTkwZTkgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9k Yy5jCkBAIC01MzEsNyArNTMxLDcgQEAgc3RhdGljIGludCB0ZWdyYV9wbGFuZV9hdG9taWNfY2hl Y2soc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJICogZXJyb3Igb3V0IGlmIHRoZSB1c2VyIHRy aWVzIHRvIGRpc3BsYXkgYSBmcmFtZWJ1ZmZlciB3aXRoIHN1Y2ggYQogCSAqIGNvbmZpZ3VyYXRp b24uCiAJICovCi0JaWYgKGRybV9mb3JtYXRfbnVtX3BsYW5lcyhzdGF0ZS0+ZmItPnBpeGVsX2Zv cm1hdCkgPiAyKSB7CisJaWYgKHN0YXRlLT5mYi0+Zm9ybWF0LT5udW1fcGxhbmVzID4gMikgewog CQlpZiAoc3RhdGUtPmZiLT5waXRjaGVzWzJdICE9IHN0YXRlLT5mYi0+cGl0Y2hlc1sxXSkgewog CQkJRFJNX0VSUk9SKCJ1bnN1cHBvcnRlZCBVVi1wbGFuZSBjb25maWd1cmF0aW9uXG4iKTsKIAkJ CXJldHVybiAtRUlOVkFMOwpAQCAtNTc2LDcgKzU3Niw3IEBAIHN0YXRpYyB2b2lkIHRlZ3JhX3Bs YW5lX2F0b21pY191cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJd2luZG93LmZvcm1h dCA9IHN0YXRlLT5mb3JtYXQ7CiAJd2luZG93LnN3YXAgPSBzdGF0ZS0+c3dhcDsKIAotCWZvciAo aSA9IDA7IGkgPCBkcm1fZm9ybWF0X251bV9wbGFuZXMoZmItPnBpeGVsX2Zvcm1hdCk7IGkrKykg eworCWZvciAoaSA9IDA7IGkgPCBmYi0+Zm9ybWF0LT5udW1fcGxhbmVzOyBpKyspIHsKIAkJc3Ry dWN0IHRlZ3JhX2JvICpibyA9IHRlZ3JhX2ZiX2dldF9wbGFuZShmYiwgaSk7CiAKIAkJd2luZG93 LmJhc2VbaV0gPSBiby0+cGFkZHIgKyBmYi0+b2Zmc2V0c1tpXTsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS90ZWdyYS9mYi5jIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2ZiLmMKaW5kZXgg YTAwOTY0OTNmNTFjLi44YTRhZWEyMTFlOTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS90 ZWdyYS9mYi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9mYi5jCkBAIC0zMiw3ICszMiw3 IEBAIHN0cnVjdCB0ZWdyYV9ibyAqdGVncmFfZmJfZ2V0X3BsYW5lKHN0cnVjdCBkcm1fZnJhbWVi dWZmZXIgKmZyYW1lYnVmZmVyLAogewogCXN0cnVjdCB0ZWdyYV9mYiAqZmIgPSB0b190ZWdyYV9m YihmcmFtZWJ1ZmZlcik7CiAKLQlpZiAoaW5kZXggPj0gZHJtX2Zvcm1hdF9udW1fcGxhbmVzKGZy YW1lYnVmZmVyLT5waXhlbF9mb3JtYXQpKQorCWlmIChpbmRleCA+PSBmcmFtZWJ1ZmZlci0+Zm9y bWF0LT5udW1fcGxhbmVzKQogCQlyZXR1cm4gTlVMTDsKIAogCXJldHVybiBmYi0+cGxhbmVzW2lu ZGV4XTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3BsYW5lLmMgYi9kcml2 ZXJzL2dwdS9kcm0vdmM0L3ZjNF9wbGFuZS5jCmluZGV4IDg4MWJmNDg5NDc4Yi4uYTdmYjU4MWM3 YzU1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9wbGFuZS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS92YzQvdmM0X3BsYW5lLmMKQEAgLTI5Niw3ICsyOTYsNyBAQCBzdGF0aWMg aW50IHZjNF9wbGFuZV9zZXR1cF9jbGlwcGluZ19hbmRfc2NhbGluZyhzdHJ1Y3QgZHJtX3BsYW5l X3N0YXRlICpzdGF0ZSkKIAlzdHJ1Y3QgZHJtX2dlbV9jbWFfb2JqZWN0ICpibyA9IGRybV9mYl9j bWFfZ2V0X2dlbV9vYmooZmIsIDApOwogCXUzMiBzdWJwaXhlbF9zcmNfbWFzayA9ICgxIDw8IDE2 KSAtIDE7CiAJdTMyIGZvcm1hdCA9IGZiLT5waXhlbF9mb3JtYXQ7Ci0JaW50IG51bV9wbGFuZXMg PSBkcm1fZm9ybWF0X251bV9wbGFuZXMoZm9ybWF0KTsKKwlpbnQgbnVtX3BsYW5lcyA9IGZiLT5m b3JtYXQtPm51bV9wbGFuZXM7CiAJdTMyIGhfc3Vic2FtcGxlID0gMTsKIAl1MzIgdl9zdWJzYW1w bGUgPSAxOwogCWludCBpOwotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbAo=