From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH 26/32] drm/i915: Replace drm_format_plane_cpp() with fb->format->cpp[] Date: Thu, 17 Nov 2016 18:14:25 +0200 Message-ID: <1479399271-31991-27-git-send-email-ville.syrjala@linux.intel.com> References: <1479399271-31991-1-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 mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 19F326E833 for ; Thu, 17 Nov 2016 16:16:09 +0000 (UTC) In-Reply-To: <1479399271-31991-1-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 RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkF2 b2lkIHRoZSBmYiBmb3JtYXQgaW5mb3JtYXRpb24gbG9va3VwcyB3aGVuIHdlIGFscmVhZHkgaGF2 ZSB0aGUKZmItPmZvcm1hdCBwb2ludGVyIGF0IGhhbmQuCgpAQApzdHJ1Y3QgZHJtX2ZyYW1lYnVm ZmVyICpmYjsKZXhwcmVzc2lvbiBFOwpAQAotIGRybV9mb3JtYXRfcGxhbmVfY3BwKGZiLT5waXhl bF9mb3JtYXQsIEUpCisgZmItPmZvcm1hdC0+Y3BwW0VdCgpAQApzdHJ1Y3QgZHJtX2ZyYW1lYnVm ZmVyIGZiOwpleHByZXNzaW9uIEU7CkBACi0gZHJtX2Zvcm1hdF9wbGFuZV9jcHAoZmIucGl4ZWxf Zm9ybWF0LCBFKQorIGZiLmZvcm1hdC0+Y3BwW0VdCgpAQApzdHJ1Y3QgaW50ZWxfcGxhbmVfc3Rh dGUgKnN0YXRlOwpleHByZXNzaW9uIEU7CkBACi0gZHJtX2Zvcm1hdF9wbGFuZV9jcHAoc3RhdGUt PmJhc2UuZmItPnBpeGVsX2Zvcm1hdCwgRSkKKyBzdGF0ZS0+YmFzZS5mYi0+Zm9ybWF0LT5jcHBb RV0KCkBACnN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiOwpleHByZXNzaW9uIEUxLCBFMjsKQEAK ICB1bnNpZ25lZCBmb3JtYXQgPSBmYiA/IGZiLT5waXhlbF9mb3JtYXQgOiBFMTsKPCsuLi4KLSBk cm1fZm9ybWF0X3BsYW5lX2NwcChmb3JtYXQsIEUyKQorIGZiLT5mb3JtYXQtPmNwcFtFMl0KLi4u Kz4KCkBACnN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiOwpleHByZXNzaW9uIEU7CkBACiAgdWlu dDMyX3QgZm9ybWF0ID0gZmItPnBpeGVsX2Zvcm1hdDsKPCsuLi4KLSBkcm1fZm9ybWF0X3BsYW5l X2NwcChmb3JtYXQsIEUpCisgZmItPmZvcm1hdC0+Y3BwW0VdCi4uLis+CgpTaWduZWQtb2ZmLWJ5 OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDE2ICsrKysrKystLS0tLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAgICAgfCA0MiArKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5j ICB8ICAyICstCiAzIGZpbGVzIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKyksIDMwIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCBjNDVkYTY3NjZmZmYu LjY1NjVlNWNkMGFkYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMjI3 NSw3ICsyMjc1LDcgQEAgdTMyIGludGVsX2ZiX3h5X3RvX2xpbmVhcihpbnQgeCwgaW50IHksCiAJ CQkgIGludCBwbGFuZSkKIHsKIAljb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHN0 YXRlLT5iYXNlLmZiOwotCXVuc2lnbmVkIGludCBjcHAgPSBkcm1fZm9ybWF0X3BsYW5lX2NwcChm Yi0+cGl4ZWxfZm9ybWF0LCBwbGFuZSk7CisJdW5zaWduZWQgaW50IGNwcCA9IGZiLT5mb3JtYXQt PmNwcFtwbGFuZV07CiAJdW5zaWduZWQgaW50IHBpdGNoID0gZmItPnBpdGNoZXNbcGxhbmVdOwog CiAJcmV0dXJuIHkgKiBwaXRjaCArIHggKiBjcHA7CkBAIC0yMzQ0LDcgKzIzNDQsNyBAQCBzdGF0 aWMgdTMyIGludGVsX2FkanVzdF90aWxlX29mZnNldChpbnQgKngsIGludCAqeSwKIHsKIAljb25z dCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5iYXNl LnBsYW5lLT5kZXYpOwogCWNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gc3RhdGUt PmJhc2UuZmI7Ci0JdW5zaWduZWQgaW50IGNwcCA9IGRybV9mb3JtYXRfcGxhbmVfY3BwKGZiLT5w aXhlbF9mb3JtYXQsIHBsYW5lKTsKKwl1bnNpZ25lZCBpbnQgY3BwID0gZmItPmZvcm1hdC0+Y3Bw W3BsYW5lXTsKIAl1bnNpZ25lZCBpbnQgcm90YXRpb24gPSBzdGF0ZS0+YmFzZS5yb3RhdGlvbjsK IAl1bnNpZ25lZCBpbnQgcGl0Y2ggPSBpbnRlbF9mYl9waXRjaChmYiwgcGxhbmUsIHJvdGF0aW9u KTsKIApAQCAtMjQwMCw3ICsyNDAwLDcgQEAgc3RhdGljIHUzMiBfaW50ZWxfY29tcHV0ZV90aWxl X29mZnNldChjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJICAg ICAgdTMyIGFsaWdubWVudCkKIHsKIAl1aW50NjRfdCBmYl9tb2RpZmllciA9IGZiLT5tb2RpZmll cjsKLQl1bnNpZ25lZCBpbnQgY3BwID0gZHJtX2Zvcm1hdF9wbGFuZV9jcHAoZmItPnBpeGVsX2Zv cm1hdCwgcGxhbmUpOworCXVuc2lnbmVkIGludCBjcHAgPSBmYi0+Zm9ybWF0LT5jcHBbcGxhbmVd OwogCXUzMiBvZmZzZXQsIG9mZnNldF9hbGlnbmVkOwogCiAJaWYgKGFsaWdubWVudCkKQEAgLTI0 NjgsNyArMjQ2OCw3IEBAIHUzMiBpbnRlbF9jb21wdXRlX3RpbGVfb2Zmc2V0KGludCAqeCwgaW50 ICp5LAogc3RhdGljIHZvaWQgaW50ZWxfZmJfb2Zmc2V0X3RvX3h5KGludCAqeCwgaW50ICp5LAog CQkJCSAgY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGludCBwbGFuZSkKIHsKLQl1 bnNpZ25lZCBpbnQgY3BwID0gZHJtX2Zvcm1hdF9wbGFuZV9jcHAoZmItPnBpeGVsX2Zvcm1hdCwg cGxhbmUpOworCXVuc2lnbmVkIGludCBjcHAgPSBmYi0+Zm9ybWF0LT5jcHBbcGxhbmVdOwogCXVu c2lnbmVkIGludCBwaXRjaCA9IGZiLT5waXRjaGVzW3BsYW5lXTsKIAl1MzIgbGluZWFyX29mZnNl dCA9IGZiLT5vZmZzZXRzW3BsYW5lXTsKIApAQCAtMjUwNiw3ICsyNTA2LDcgQEAgaW50ZWxfZmls bF9mYl9pbmZvKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJdTMyIG9mZnNl dDsKIAkJaW50IHgsIHk7CiAKLQkJY3BwID0gZHJtX2Zvcm1hdF9wbGFuZV9jcHAoZm9ybWF0LCBp KTsKKwkJY3BwID0gZmItPmZvcm1hdC0+Y3BwW2ldOwogCQl3aWR0aCA9IGRybV9mb3JtYXRfcGxh bmVfd2lkdGgoZmItPndpZHRoLCBmb3JtYXQsIGkpOwogCQloZWlnaHQgPSBkcm1fZm9ybWF0X3Bs YW5lX2hlaWdodChmYi0+aGVpZ2h0LCBmb3JtYXQsIGkpOwogCkBAIC0yODMzLDcgKzI4MzMsNyBA QCBpbnRlbF9maW5kX2luaXRpYWxfcGxhbmVfb2JqKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9j cnRjLAogc3RhdGljIGludCBza2xfbWF4X3BsYW5lX3dpZHRoKGNvbnN0IHN0cnVjdCBkcm1fZnJh bWVidWZmZXIgKmZiLCBpbnQgcGxhbmUsCiAJCQkgICAgICAgdW5zaWduZWQgaW50IHJvdGF0aW9u KQogewotCWludCBjcHAgPSBkcm1fZm9ybWF0X3BsYW5lX2NwcChmYi0+cGl4ZWxfZm9ybWF0LCBw bGFuZSk7CisJaW50IGNwcCA9IGZiLT5mb3JtYXQtPmNwcFtwbGFuZV07CiAKIAlzd2l0Y2ggKGZi LT5tb2RpZmllcikgewogCWNhc2UgRFJNX0ZPUk1BVF9NT0RfTk9ORToKQEAgLTI5MTIsNyArMjkx Miw3IEBAIHN0YXRpYyBpbnQgc2tsX2NoZWNrX21haW5fc3VyZmFjZShzdHJ1Y3QgaW50ZWxfcGxh bmVfc3RhdGUgKnBsYW5lX3N0YXRlKQogCSAqIFRPRE86IGxpbmVhciBhbmQgWS10aWxlZCBzZWVt IGZpbmUsIFlmIHVudGVzdGVkLAogCSAqLwogCWlmIChmYi0+bW9kaWZpZXIgPT0gSTkxNV9GT1JN QVRfTU9EX1hfVElMRUQpIHsKLQkJaW50IGNwcCA9IGRybV9mb3JtYXRfcGxhbmVfY3BwKGZiLT5w aXhlbF9mb3JtYXQsIDApOworCQlpbnQgY3BwID0gZmItPmZvcm1hdC0+Y3BwWzBdOwogCiAJCXdo aWxlICgoeCArIHcpICogY3BwID4gZmItPnBpdGNoZXNbMF0pIHsKIAkJCWlmIChvZmZzZXQgPT0g MCkgewpAQCAtMzI3OCw3ICszMjc4LDcgQEAgdTMyIHNrbF9wbGFuZV9zdHJpZGUoY29uc3Qgc3Ry dWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGludCBwbGFuZSwKIAkgKiBsaW5lYXIgYnVmZmVycyBv ciBpbiBudW1iZXIgb2YgdGlsZXMgZm9yIHRpbGVkIGJ1ZmZlcnMuCiAJICovCiAJaWYgKGRybV9y b3RhdGlvbl85MF9vcl8yNzAocm90YXRpb24pKSB7Ci0JCWludCBjcHAgPSBkcm1fZm9ybWF0X3Bs YW5lX2NwcChmYi0+cGl4ZWxfZm9ybWF0LCBwbGFuZSk7CisJCWludCBjcHAgPSBmYi0+Zm9ybWF0 LT5jcHBbcGxhbmVdOwogCiAJCXN0cmlkZSAvPSBpbnRlbF90aWxlX2hlaWdodChkZXZfcHJpdiwg ZmItPm1vZGlmaWVyLCBjcHApOwogCX0gZWxzZSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwppbmRl eCBiYmIxZWFmMWU2ZGIuLjMxOGNkN2JkZDc4NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCkBA IC02NTIsNyArNjUyLDcgQEAgc3RhdGljIHZvaWQgcGluZXZpZXdfdXBkYXRlX3dtKHN0cnVjdCBp bnRlbF9jcnRjICp1bnVzZWRfY3J0YykKIAkJCSZjcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRf bW9kZTsKIAkJY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPQogCQkJY3J0Yy0+YmFz ZS5wcmltYXJ5LT5zdGF0ZS0+ZmI7Ci0JCWludCBjcHAgPSBkcm1fZm9ybWF0X3BsYW5lX2NwcChm Yi0+cGl4ZWxfZm9ybWF0LCAwKTsKKwkJaW50IGNwcCA9IGZiLT5mb3JtYXQtPmNwcFswXTsKIAkJ aW50IGNsb2NrID0gYWRqdXN0ZWRfbW9kZS0+Y3J0Y19jbG9jazsKIAogCQkvKiBEaXNwbGF5IFNS ICovCkBAIC03MjcsNyArNzI3LDcgQEAgc3RhdGljIGJvb2wgZzR4X2NvbXB1dGVfd20wKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAljbG9jayA9IGFkanVzdGVkX21vZGUtPmNy dGNfY2xvY2s7CiAJaHRvdGFsID0gYWRqdXN0ZWRfbW9kZS0+Y3J0Y19odG90YWw7CiAJaGRpc3Bs YXkgPSBjcnRjLT5jb25maWctPnBpcGVfc3JjX3c7Ci0JY3BwID0gZHJtX2Zvcm1hdF9wbGFuZV9j cHAoZmItPnBpeGVsX2Zvcm1hdCwgMCk7CisJY3BwID0gZmItPmZvcm1hdC0+Y3BwWzBdOwogCiAJ LyogVXNlIHRoZSBzbWFsbCBidWZmZXIgbWV0aG9kIHRvIGNhbGN1bGF0ZSBwbGFuZSB3YXRlcm1h cmsgKi8KIAllbnRyaWVzID0gKChjbG9jayAqIGNwcCAvIDEwMDApICogZGlzcGxheV9sYXRlbmN5 X25zKSAvIDEwMDA7CkBAIC04MTYsNyArODE2LDcgQEAgc3RhdGljIGJvb2wgZzR4X2NvbXB1dGVf c3J3bShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJY2xvY2sgPSBhZGp1c3Rl ZF9tb2RlLT5jcnRjX2Nsb2NrOwogCWh0b3RhbCA9IGFkanVzdGVkX21vZGUtPmNydGNfaHRvdGFs OwogCWhkaXNwbGF5ID0gY3J0Yy0+Y29uZmlnLT5waXBlX3NyY193OwotCWNwcCA9IGRybV9mb3Jt YXRfcGxhbmVfY3BwKGZiLT5waXhlbF9mb3JtYXQsIDApOworCWNwcCA9IGZiLT5mb3JtYXQtPmNw cFswXTsKIAogCWxpbmVfdGltZV91cyA9IG1heChodG90YWwgKiAxMDAwIC8gY2xvY2ssIDEpOwog CWxpbmVfY291bnQgPSAobGF0ZW5jeV9ucyAvIGxpbmVfdGltZV91cyArIDEwMDApIC8gMTAwMDsK QEAgLTk2Myw3ICs5NjMsNyBAQCBzdGF0aWMgdWludDE2X3Qgdmx2X2NvbXB1dGVfd21fbGV2ZWwo c3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKIAlpZiAoIXN0YXRlLT5iYXNlLnZpc2libGUpCiAJ CXJldHVybiAwOwogCi0JY3BwID0gZHJtX2Zvcm1hdF9wbGFuZV9jcHAoc3RhdGUtPmJhc2UuZmIt PnBpeGVsX2Zvcm1hdCwgMCk7CisJY3BwID0gc3RhdGUtPmJhc2UuZmItPmZvcm1hdC0+Y3BwWzBd OwogCWNsb2NrID0gY3J0Yy0+Y29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGUuY3J0Y19jbG9jazsK IAlodG90YWwgPSBjcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2h0b3RhbDsK IAl3aWR0aCA9IGNydGMtPmNvbmZpZy0+cGlwZV9zcmNfdzsKQEAgLTEwMDQsNyArMTAwNCw3IEBA IHN0YXRpYyB2b2lkIHZsdl9jb21wdXRlX2ZpZm8oc3RydWN0IGludGVsX2NydGMgKmNydGMpCiAK IAkJaWYgKHN0YXRlLT5iYXNlLnZpc2libGUpIHsKIAkJCXdtX3N0YXRlLT5udW1fYWN0aXZlX3Bs YW5lcysrOwotCQkJdG90YWxfcmF0ZSArPSBkcm1fZm9ybWF0X3BsYW5lX2NwcChzdGF0ZS0+YmFz ZS5mYi0+cGl4ZWxfZm9ybWF0LCAwKTsKKwkJCXRvdGFsX3JhdGUgKz0gc3RhdGUtPmJhc2UuZmIt PmZvcm1hdC0+Y3BwWzBdOwogCQl9CiAJfQogCkBAIC0xMDIzLDcgKzEwMjMsNyBAQCBzdGF0aWMg dm9pZCB2bHZfY29tcHV0ZV9maWZvKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogCQkJY29udGlu dWU7CiAJCX0KIAotCQlyYXRlID0gZHJtX2Zvcm1hdF9wbGFuZV9jcHAoc3RhdGUtPmJhc2UuZmIt PnBpeGVsX2Zvcm1hdCwgMCk7CisJCXJhdGUgPSBzdGF0ZS0+YmFzZS5mYi0+Zm9ybWF0LT5jcHBb MF07CiAJCXBsYW5lLT53bS5maWZvX3NpemUgPSBmaWZvX3NpemUgKiByYXRlIC8gdG90YWxfcmF0 ZTsKIAkJZmlmb19sZWZ0IC09IHBsYW5lLT53bS5maWZvX3NpemU7CiAJfQpAQCAtMTQ1NSw3ICsx NDU1LDcgQEAgc3RhdGljIHZvaWQgaTk2NV91cGRhdGVfd20oc3RydWN0IGludGVsX2NydGMgKnVu dXNlZF9jcnRjKQogCQlpbnQgY2xvY2sgPSBhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2NrOwogCQlp bnQgaHRvdGFsID0gYWRqdXN0ZWRfbW9kZS0+Y3J0Y19odG90YWw7CiAJCWludCBoZGlzcGxheSA9 IGNydGMtPmNvbmZpZy0+cGlwZV9zcmNfdzsKLQkJaW50IGNwcCA9IGRybV9mb3JtYXRfcGxhbmVf Y3BwKGZiLT5waXhlbF9mb3JtYXQsIDApOworCQlpbnQgY3BwID0gZmItPmZvcm1hdC0+Y3BwWzBd OwogCQl1bnNpZ25lZCBsb25nIGxpbmVfdGltZV91czsKIAkJaW50IGVudHJpZXM7CiAKQEAgLTE1 NDEsNyArMTU0MSw3IEBAIHN0YXRpYyB2b2lkIGk5eHhfdXBkYXRlX3dtKHN0cnVjdCBpbnRlbF9j cnRjICp1bnVzZWRfY3J0YykKIAkJaWYgKElTX0dFTjIoZGV2X3ByaXYpKQogCQkJY3BwID0gNDsK IAkJZWxzZQotCQkJY3BwID0gZHJtX2Zvcm1hdF9wbGFuZV9jcHAoZmItPnBpeGVsX2Zvcm1hdCwg MCk7CisJCQljcHAgPSBmYi0+Zm9ybWF0LT5jcHBbMF07CiAKIAkJcGxhbmVhX3dtID0gaW50ZWxf Y2FsY3VsYXRlX3dtKGFkanVzdGVkX21vZGUtPmNydGNfY2xvY2ssCiAJCQkJCSAgICAgICB3bV9p bmZvLCBmaWZvX3NpemUsIGNwcCwKQEAgLTE1NjgsNyArMTU2OCw3IEBAIHN0YXRpYyB2b2lkIGk5 eHhfdXBkYXRlX3dtKHN0cnVjdCBpbnRlbF9jcnRjICp1bnVzZWRfY3J0YykKIAkJaWYgKElTX0dF TjIoZGV2X3ByaXYpKQogCQkJY3BwID0gNDsKIAkJZWxzZQotCQkJY3BwID0gZHJtX2Zvcm1hdF9w bGFuZV9jcHAoZmItPnBpeGVsX2Zvcm1hdCwgMCk7CisJCQljcHAgPSBmYi0+Zm9ybWF0LT5jcHBb MF07CiAKIAkJcGxhbmViX3dtID0gaW50ZWxfY2FsY3VsYXRlX3dtKGFkanVzdGVkX21vZGUtPmNy dGNfY2xvY2ssCiAJCQkJCSAgICAgICB3bV9pbmZvLCBmaWZvX3NpemUsIGNwcCwKQEAgLTE2MjEs NyArMTYyMSw3IEBAIHN0YXRpYyB2b2lkIGk5eHhfdXBkYXRlX3dtKHN0cnVjdCBpbnRlbF9jcnRj ICp1bnVzZWRfY3J0YykKIAkJaWYgKElTX0k5MTVHTShkZXZfcHJpdikgfHwgSVNfSTk0NUdNKGRl dl9wcml2KSkKIAkJCWNwcCA9IDQ7CiAJCWVsc2UKLQkJCWNwcCA9IGRybV9mb3JtYXRfcGxhbmVf Y3BwKGZiLT5waXhlbF9mb3JtYXQsIDApOworCQkJY3BwID0gZmItPmZvcm1hdC0+Y3BwWzBdOwog CiAJCWxpbmVfdGltZV91cyA9IG1heChodG90YWwgKiAxMDAwIC8gY2xvY2ssIDEpOwogCkBAIC0x NzgyLDcgKzE3ODIsNyBAQCBzdGF0aWMgdWludDMyX3QgaWxrX2NvbXB1dGVfcHJpX3dtKGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCiAJCQkJICAgYm9vbCBpc19scCkKIHsK IAlpbnQgY3BwID0gcHN0YXRlLT5iYXNlLmZiID8KLQkJZHJtX2Zvcm1hdF9wbGFuZV9jcHAocHN0 YXRlLT5iYXNlLmZiLT5waXhlbF9mb3JtYXQsIDApIDogMDsKKwkJcHN0YXRlLT5iYXNlLmZiLT5m b3JtYXQtPmNwcFswXSA6IDA7CiAJdWludDMyX3QgbWV0aG9kMSwgbWV0aG9kMjsKIAogCWlmICgh Y3N0YXRlLT5iYXNlLmFjdGl2ZSB8fCAhcHN0YXRlLT5iYXNlLnZpc2libGUpCkBAIC0xODEwLDcg KzE4MTAsNyBAQCBzdGF0aWMgdWludDMyX3QgaWxrX2NvbXB1dGVfc3ByX3dtKGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCiAJCQkJICAgdWludDMyX3QgbWVtX3ZhbHVlKQog ewogCWludCBjcHAgPSBwc3RhdGUtPmJhc2UuZmIgPwotCQlkcm1fZm9ybWF0X3BsYW5lX2NwcChw c3RhdGUtPmJhc2UuZmItPnBpeGVsX2Zvcm1hdCwgMCkgOiAwOworCQlwc3RhdGUtPmJhc2UuZmIt PmZvcm1hdC0+Y3BwWzBdIDogMDsKIAl1aW50MzJfdCBtZXRob2QxLCBtZXRob2QyOwogCiAJaWYg KCFjc3RhdGUtPmJhc2UuYWN0aXZlIHx8ICFwc3RhdGUtPmJhc2UudmlzaWJsZSkKQEAgLTE4NTQs NyArMTg1NCw3IEBAIHN0YXRpYyB1aW50MzJfdCBpbGtfY29tcHV0ZV9mYmNfd20oY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKIAkJCQkgICB1aW50MzJfdCBwcmlfdmFsKQog ewogCWludCBjcHAgPSBwc3RhdGUtPmJhc2UuZmIgPwotCQlkcm1fZm9ybWF0X3BsYW5lX2NwcChw c3RhdGUtPmJhc2UuZmItPnBpeGVsX2Zvcm1hdCwgMCkgOiAwOworCQlwc3RhdGUtPmJhc2UuZmIt PmZvcm1hdC0+Y3BwWzBdIDogMDsKIAogCWlmICghY3N0YXRlLT5iYXNlLmFjdGl2ZSB8fCAhcHN0 YXRlLT5iYXNlLnZpc2libGUpCiAJCXJldHVybiAwOwpAQCAtMzI1MSwxMyArMzI1MSwxMyBAQCBz a2xfcGxhbmVfcmVsYXRpdmVfZGF0YV9yYXRlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjc3RhdGUsCiAJaWYgKGZvcm1hdCA9PSBEUk1fRk9STUFUX05WMTIpIHsKIAkJaWYgKHkpICAv KiB5LXBsYW5lIGRhdGEgcmF0ZSAqLwogCQkJZGF0YV9yYXRlID0gd2lkdGggKiBoZWlnaHQgKgot CQkJCWRybV9mb3JtYXRfcGxhbmVfY3BwKGZvcm1hdCwgMCk7CisJCQkJZmItPmZvcm1hdC0+Y3Bw WzBdOwogCQllbHNlICAgIC8qIHV2LXBsYW5lIGRhdGEgcmF0ZSAqLwogCQkJZGF0YV9yYXRlID0g KHdpZHRoIC8gMikgKiAoaGVpZ2h0IC8gMikgKgotCQkJCWRybV9mb3JtYXRfcGxhbmVfY3BwKGZv cm1hdCwgMSk7CisJCQkJZmItPmZvcm1hdC0+Y3BwWzFdOwogCX0gZWxzZSB7CiAJCS8qIGZvciBw YWNrZWQgZm9ybWF0cyAqLwotCQlkYXRhX3JhdGUgPSB3aWR0aCAqIGhlaWdodCAqIGRybV9mb3Jt YXRfcGxhbmVfY3BwKGZvcm1hdCwgMCk7CisJCWRhdGFfcmF0ZSA9IHdpZHRoICogaGVpZ2h0ICog ZmItPmZvcm1hdC0+Y3BwWzBdOwogCX0KIAogCWRvd25fc2NhbGVfYW1vdW50ID0gc2tsX3BsYW5l X2Rvd25zY2FsZV9hbW91bnQoaW50ZWxfcHN0YXRlKTsKQEAgLTMzNDQsOSArMzM0NCw5IEBAIHNr bF9kZGJfbWluX2FsbG9jKGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBzdGF0ZSwKIAl9 CiAKIAlpZiAoZmItPnBpeGVsX2Zvcm1hdCA9PSBEUk1fRk9STUFUX05WMTIgJiYgIXkpCi0JCXBs YW5lX2JwcCA9IGRybV9mb3JtYXRfcGxhbmVfY3BwKGZiLT5waXhlbF9mb3JtYXQsIDEpOworCQlw bGFuZV9icHAgPSBmYi0+Zm9ybWF0LT5jcHBbMV07CiAJZWxzZQotCQlwbGFuZV9icHAgPSBkcm1f Zm9ybWF0X3BsYW5lX2NwcChmYi0+cGl4ZWxfZm9ybWF0LCAwKTsKKwkJcGxhbmVfYnBwID0gZmIt PmZvcm1hdC0+Y3BwWzBdOwogCiAJaWYgKGRybV9yb3RhdGlvbl85MF9vcl8yNzAocHN0YXRlLT5y b3RhdGlvbikpIHsKIAkJc3dpdGNoIChwbGFuZV9icHApIHsKQEAgLTM2MDYsMTMgKzM2MDYsMTMg QEAgc3RhdGljIGludCBza2xfY29tcHV0ZV9wbGFuZV93bShjb25zdCBzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCiAJaWYgKGRybV9yb3RhdGlvbl85MF9vcl8yNzAocHN0YXRlLT5y b3RhdGlvbikpCiAJCXN3YXAod2lkdGgsIGhlaWdodCk7CiAKLQljcHAgPSBkcm1fZm9ybWF0X3Bs YW5lX2NwcChmYi0+cGl4ZWxfZm9ybWF0LCAwKTsKKwljcHAgPSBmYi0+Zm9ybWF0LT5jcHBbMF07 CiAJcGxhbmVfcGl4ZWxfcmF0ZSA9IHNrbF9hZGp1c3RlZF9wbGFuZV9waXhlbF9yYXRlKGNzdGF0 ZSwgaW50ZWxfcHN0YXRlKTsKIAogCWlmIChkcm1fcm90YXRpb25fOTBfb3JfMjcwKHBzdGF0ZS0+ cm90YXRpb24pKSB7CiAJCWludCBjcHAgPSAoZmItPnBpeGVsX2Zvcm1hdCA9PSBEUk1fRk9STUFU X05WMTIpID8KLQkJCWRybV9mb3JtYXRfcGxhbmVfY3BwKGZiLT5waXhlbF9mb3JtYXQsIDEpIDoK LQkJCWRybV9mb3JtYXRfcGxhbmVfY3BwKGZiLT5waXhlbF9mb3JtYXQsIDApOworCQkJZmItPmZv cm1hdC0+Y3BwWzFdIDoKKwkJCWZiLT5mb3JtYXQtPmNwcFswXTsKIAogCQlzd2l0Y2ggKGNwcCkg ewogCQljYXNlIDE6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJp dGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCmluZGV4IDhmMTMxYTA4 ZDQ0MC4uYjQ2YzE3OTRkM2FjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9zcHJpdGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwpAQCAt ODg1LDcgKzg4NSw3IEBAIGludGVsX2NoZWNrX3Nwcml0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSwKIAkvKiBDaGVjayBzaXplIHJlc3RyaWN0aW9ucyB3aGVuIHNjYWxpbmcgKi8KIAlp ZiAoc3RhdGUtPmJhc2UudmlzaWJsZSAmJiAoc3JjX3cgIT0gY3J0Y193IHx8IHNyY19oICE9IGNy dGNfaCkpIHsKIAkJdW5zaWduZWQgaW50IHdpZHRoX2J5dGVzOwotCQlpbnQgY3BwID0gZHJtX2Zv cm1hdF9wbGFuZV9jcHAoZmItPnBpeGVsX2Zvcm1hdCwgMCk7CisJCWludCBjcHAgPSBmYi0+Zm9y bWF0LT5jcHBbMF07CiAKIAkJV0FSTl9PTighY2FuX3NjYWxlKTsKIAotLSAKMi43LjQKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWls aW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=