From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chi Ding Subject: [RFC 3/8] drm/i915/vlv: Move fifo_size from intel_plane_wm_parameters to vlv_wm_state Date: Thu, 23 Jun 2016 10:57:54 +0200 Message-ID: <1466672279-16236-4-git-send-email-chix.ding@intel.com> References: <1466672279-16236-1-git-send-email-chix.ding@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id C84B56E8C7 for ; Thu, 23 Jun 2016 08:58:12 +0000 (UTC) In-Reply-To: <1466672279-16236-1-git-send-email-chix.ding@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: yetundex.adebisi@intel.com, maarten.lankhorst@linux.intel.com, ville.syrjala@linux.intel.com, matthew.d.roper@intel.com, intel-gfx@lists.freedesktop.org, isg-gms@eclists.intel.com Cc: Chi Ding List-Id: intel-gfx@lists.freedesktop.org RnJvbTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNv bT4KClRoaXMgY29tbWl0IHNhdmVzIHdhdGVybWFyayBmb3IgZWFjaCBwbGFuZSBpbiB2bHZfd21f c3RhdGUgdG8gcHJlcGFyZQpmb3IgdHdvLWxldmVsIHdhdGVybWFyayBiZWNhdXNlIHdlJ2xsIGNv bXB1dGUgYW5kIHNhdmUgaW50ZXJtZWRpYXRlIGFuZApvcHRpbWFsIHdhdGVybWFyayBhbmQgZmlm byBzaXplIGZvciBlYWNoIHBsYW5lLgoKdjI6Ci0gcmVtb3ZlIHJlZHVuZGFudCBkZWJ1ZyBzdGF0 ZW1lbnRzIGluIHZsdl9waXBlX3NldF9maWZvX3NpemUoKQotIHJldmVyc2UgcGFzc2luZyB2bHZf d21fc3RhdGUgYnkgcGFyYW1ldGVyIGJlY2F1c2UgaXQncyB1bnJlbGF0ZWQgdG8gdGhlCnBhdGNo Ci0gcmV2ZXJzZSB0aGUgY2hhbmdlIG9mIHJldHVybmluZyBFSU5WQUwgd2hlbiB3bSA+IG1heF93 bSBpbiB2bHZfY29tcHV0ZV93bQpiZWNhdXNlIGl0J3MgdW5yZWxhdGVkIHRvIHRoZSBwYXRjaAoK U2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4 LmludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogQ2hpIERpbmcgPGNoaXguZGluZ0BpbnRlbC5jb20+ Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggfCAxMiArLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgIHwgOTAgKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCA1NiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IGVjMzRkNjQ5Li45ZDgz NDk0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtNjIxLDYgKzYyMSw3IEBAIHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlIHsKIHN0cnVjdCB2bHZfd21fc3RhdGUgewogCXN0cnVjdCB2bHZf cGlwZV93bSB3bVszXTsKIAlzdHJ1Y3Qgdmx2X3NyX3dtIHNyWzNdOworCXVpbnQxNl90IGZpZm9f c2l6ZVtJOTE1X01BWF9QTEFORVNdOwogCXVpbnQ4X3QgbnVtX2FjdGl2ZV9wbGFuZXM7CiAJdWlu dDhfdCBudW1fbGV2ZWxzOwogCXVpbnQ4X3QgbGV2ZWw7CkBAIC02OTMsMTAgKzY5NCw2IEBAIHN0 cnVjdCBpbnRlbF9jcnRjIHsKIAlzdHJ1Y3Qgdmx2X3dtX3N0YXRlIHdtX3N0YXRlOwogfTsKIAot c3RydWN0IGludGVsX3BsYW5lX3dtX3BhcmFtZXRlcnMgewotCXVpbnQxNl90IGZpZm9fc2l6ZTsK LX07Ci0KIHN0cnVjdCBpbnRlbF9wbGFuZSB7CiAJc3RydWN0IGRybV9wbGFuZSBiYXNlOwogCWlu dCBwbGFuZTsKQEAgLTcwNSwxMyArNzAyLDYgQEAgc3RydWN0IGludGVsX3BsYW5lIHsKIAlpbnQg bWF4X2Rvd25zY2FsZTsKIAl1aW50MzJfdCBmcm9udGJ1ZmZlcl9iaXQ7CiAKLQkvKiBTaW5jZSB3 ZSBuZWVkIHRvIGNoYW5nZSB0aGUgd2F0ZXJtYXJrcyBiZWZvcmUvYWZ0ZXIKLQkgKiBlbmFibGlu Zy9kaXNhYmxpbmcgdGhlIHBsYW5lcywgd2UgbmVlZCB0byBzdG9yZSB0aGUgcGFyYW1ldGVycyBo ZXJlCi0JICogYXMgdGhlIG90aGVyIHBpZWNlcyBvZiB0aGUgc3RydWN0IG1heSBub3QgcmVmbGVj dCB0aGUgdmFsdWVzIHdlIHdhbnQKLQkgKiBmb3IgdGhlIHdhdGVybWFyayBjYWxjdWxhdGlvbnMu IEN1cnJlbnRseSBvbmx5IEhhc3dlbGwgdXNlcyB0aGlzLgotCSAqLwotCXN0cnVjdCBpbnRlbF9w bGFuZV93bV9wYXJhbWV0ZXJzIHdtOwotCiAJLyoKIAkgKiBOT1RFOiBEbyBub3QgcGxhY2UgbmV3 IHBsYW5lIHN0YXRlIGZpZWxkcyBoZXJlIChlLmcuLCB3aGVuIGFkZGluZwogCSAqIG5ldyBwbGFu ZSBwcm9wZXJ0aWVzKS4gIE5ldyBydW50aW1lIHN0YXRlIHNob3VsZCBub3cgYmUgcGxhY2VkIGlu CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYwppbmRleCBhZGJkNDM4Li5hOGFiYTJkIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3BtLmMKQEAgLTk4NSwxMiArOTg1LDE0IEBAIHN0YXRpYyB1aW50MTZfdCB2bHZf Y29tcHV0ZV93bV9sZXZlbChzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAogCiBzdGF0aWMgdm9p ZCB2bHZfY29tcHV0ZV9maWZvKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogewotCXN0cnVjdCBk cm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKIAlzdHJ1Y3Qgdmx2X3dtX3N0YXRlICp3 bV9zdGF0ZSA9ICZjcnRjLT53bV9zdGF0ZTsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0 Yy0+YmFzZS5kZXY7CiAJc3RydWN0IGludGVsX3BsYW5lICpwbGFuZTsKIAl1bnNpZ25lZCBpbnQg dG90YWxfcmF0ZSA9IDA7CiAJY29uc3QgaW50IGZpZm9fc2l6ZSA9IDUxMiAtIDE7CiAJaW50IGZp Zm9fZXh0cmEsIGZpZm9fbGVmdCA9IGZpZm9fc2l6ZTsKKwlpbnQgcmF0ZVtJOTE1X01BWF9QTEFO RVNdID0ge307CisJaW50IGk7CiAKIAlmb3JfZWFjaF9pbnRlbF9wbGFuZV9vbl9jcnRjKGRldiwg Y3J0YywgcGxhbmUpIHsKIAkJc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpzdGF0ZSA9CkBAIC0x MDAxLDQ5ICsxMDAzLDQ2IEBAIHN0YXRpYyB2b2lkIHZsdl9jb21wdXRlX2ZpZm8oc3RydWN0IGlu dGVsX2NydGMgKmNydGMpCiAKIAkJaWYgKHN0YXRlLT52aXNpYmxlKSB7CiAJCQl3bV9zdGF0ZS0+ bnVtX2FjdGl2ZV9wbGFuZXMrKzsKLQkJCXRvdGFsX3JhdGUgKz0gZHJtX2Zvcm1hdF9wbGFuZV9j cHAoc3RhdGUtPmJhc2UuZmItPnBpeGVsX2Zvcm1hdCwgMCk7CisJCQlyYXRlW3dtX3BsYW5lX2lk KHBsYW5lKV0gPQorCQkJZHJtX2Zvcm1hdF9wbGFuZV9jcHAoc3RhdGUtPmJhc2UuZmItPnBpeGVs X2Zvcm1hdCwgMCk7CisJCQl0b3RhbF9yYXRlICs9IHJhdGVbd21fcGxhbmVfaWQocGxhbmUpXTsK IAkJfQogCX0KIAotCWZvcl9lYWNoX2ludGVsX3BsYW5lX29uX2NydGMoZGV2LCBjcnRjLCBwbGFu ZSkgewotCQlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRlID0KLQkJCXRvX2ludGVsX3Bs YW5lX3N0YXRlKHBsYW5lLT5iYXNlLnN0YXRlKTsKLQkJdW5zaWduZWQgaW50IHJhdGU7Ci0KLQkJ aWYgKHBsYW5lLT5iYXNlLnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09SKSB7Ci0JCQlwbGFu ZS0+d20uZmlmb19zaXplID0gNjM7CisJZm9yIChpID0gMDsgaSA8IEk5MTVfTUFYX1BMQU5FUzsg aSsrKSB7CisJCWlmIChpID09IFBMQU5FX0NVUlNPUikgeworCQkJd21fc3RhdGUtPmZpZm9fc2l6 ZVtpXSA9IDYzOwogCQkJY29udGludWU7CiAJCX0KIAotCQlpZiAoIXN0YXRlLT52aXNpYmxlKSB7 Ci0JCQlwbGFuZS0+d20uZmlmb19zaXplID0gMDsKKwkJaWYgKCFyYXRlW2ldKSB7CisJCQl3bV9z dGF0ZS0+Zmlmb19zaXplW2ldID0gMDsKIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJcmF0ZSA9IGRy bV9mb3JtYXRfcGxhbmVfY3BwKHN0YXRlLT5iYXNlLmZiLT5waXhlbF9mb3JtYXQsIDApOwotCQlw bGFuZS0+d20uZmlmb19zaXplID0gZmlmb19zaXplICogcmF0ZSAvIHRvdGFsX3JhdGU7Ci0JCWZp Zm9fbGVmdCAtPSBwbGFuZS0+d20uZmlmb19zaXplOworCQl3bV9zdGF0ZS0+Zmlmb19zaXplW2ld ID0gZmlmb19zaXplICogcmF0ZVtpXSAvIHRvdGFsX3JhdGU7CisJCWZpZm9fbGVmdCAtPSB3bV9z dGF0ZS0+Zmlmb19zaXplW2ldOwogCX0KIAogCWZpZm9fZXh0cmEgPSBESVZfUk9VTkRfVVAoZmlm b19sZWZ0LCB3bV9zdGF0ZS0+bnVtX2FjdGl2ZV9wbGFuZXMgPzogMSk7CiAKIAkvKiBzcHJlYWQg dGhlIHJlbWFpbmRlciBldmVubHkgKi8KLQlmb3JfZWFjaF9pbnRlbF9wbGFuZV9vbl9jcnRjKGRl diwgY3J0YywgcGxhbmUpIHsKKwlmb3IgKGkgPSAwOyBpIDwgSTkxNV9NQVhfUExBTkVTOyBpKysp IHsKIAkJaW50IHBsYW5lX2V4dHJhOwogCiAJCWlmIChmaWZvX2xlZnQgPT0gMCkKIAkJCWJyZWFr OwogCi0JCWlmIChwbGFuZS0+YmFzZS50eXBlID09IERSTV9QTEFORV9UWVBFX0NVUlNPUikKKwkJ aWYgKGkgPT0gUExBTkVfQ1VSU09SKQogCQkJY29udGludWU7CiAKIAkJLyogZ2l2ZSBpdCBhbGwg dG8gdGhlIGZpcnN0IHBsYW5lIGlmIG5vbmUgYXJlIGFjdGl2ZSAqLwotCQlpZiAocGxhbmUtPndt LmZpZm9fc2l6ZSA9PSAwICYmCisJCWlmICghd21fc3RhdGUtPmZpZm9fc2l6ZVtpXSAmJgogCQkg ICAgd21fc3RhdGUtPm51bV9hY3RpdmVfcGxhbmVzKQogCQkJY29udGludWU7CiAKIAkJcGxhbmVf ZXh0cmEgPSBtaW4oZmlmb19leHRyYSwgZmlmb19sZWZ0KTsKLQkJcGxhbmUtPndtLmZpZm9fc2l6 ZSArPSBwbGFuZV9leHRyYTsKKwkJd21fc3RhdGUtPmZpZm9fc2l6ZVtpXSArPSBwbGFuZV9leHRy YTsKIAkJZmlmb19sZWZ0IC09IHBsYW5lX2V4dHJhOwogCX0KIApAQCAtMTA2NCwxOSArMTA2Mywy NCBAQCBzdGF0aWMgdm9pZCB2bHZfaW52ZXJ0X3dtcyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykK IAkJd21fc3RhdGUtPnNyW2xldmVsXS5jdXJzb3IgPSA2MyAtIHdtX3N0YXRlLT5zcltsZXZlbF0u Y3Vyc29yOwogCiAJCWZvcl9lYWNoX2ludGVsX3BsYW5lX29uX2NydGMoZGV2LCBjcnRjLCBwbGFu ZSkgeworCQkJaW50IGkgPSB3bV9wbGFuZV9pZChwbGFuZSk7CisKIAkJCXN3aXRjaCAocGxhbmUt PmJhc2UudHlwZSkgewogCQkJCWludCBzcHJpdGU7CiAJCQljYXNlIERSTV9QTEFORV9UWVBFX0NV UlNPUjoKLQkJCQl3bV9zdGF0ZS0+d21bbGV2ZWxdLmN1cnNvciA9IHBsYW5lLT53bS5maWZvX3Np emUgLQorCQkJCXdtX3N0YXRlLT53bVtsZXZlbF0uY3Vyc29yID0KKwkJCQkJd21fc3RhdGUtPmZp Zm9fc2l6ZVtpXSAtCiAJCQkJCXdtX3N0YXRlLT53bVtsZXZlbF0uY3Vyc29yOwogCQkJCWJyZWFr OwogCQkJY2FzZSBEUk1fUExBTkVfVFlQRV9QUklNQVJZOgotCQkJCXdtX3N0YXRlLT53bVtsZXZl bF0ucHJpbWFyeSA9IHBsYW5lLT53bS5maWZvX3NpemUgLQorCQkJCXdtX3N0YXRlLT53bVtsZXZl bF0ucHJpbWFyeSA9CisJCQkJCXdtX3N0YXRlLT5maWZvX3NpemVbaV0gLQogCQkJCQl3bV9zdGF0 ZS0+d21bbGV2ZWxdLnByaW1hcnk7CiAJCQkJYnJlYWs7CiAJCQljYXNlIERSTV9QTEFORV9UWVBF X09WRVJMQVk6CiAJCQkJc3ByaXRlID0gcGxhbmUtPnBsYW5lOwotCQkJCXdtX3N0YXRlLT53bVts ZXZlbF0uc3ByaXRlW3Nwcml0ZV0gPSBwbGFuZS0+d20uZmlmb19zaXplIC0KKwkJCQl3bV9zdGF0 ZS0+d21bbGV2ZWxdLnNwcml0ZVtzcHJpdGVdID0KKwkJCQkJd21fc3RhdGUtPmZpZm9fc2l6ZVtp XSAtCiAJCQkJCXdtX3N0YXRlLT53bVtsZXZlbF0uc3ByaXRlW3Nwcml0ZV07CiAJCQkJYnJlYWs7 CiAJCQl9CkBAIC0xMDg0LDcgKzEwODgsNyBAQCBzdGF0aWMgdm9pZCB2bHZfaW52ZXJ0X3dtcyhz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIHZsdl9jb21wdXRl X3dtKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQorc3RhdGljIGludCB2bHZfY29tcHV0ZV93bShz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0 Yy0+YmFzZS5kZXY7CiAJc3RydWN0IHZsdl93bV9zdGF0ZSAqd21fc3RhdGUgPSAmY3J0Yy0+d21f c3RhdGU7CkBAIC0xMTI3LDcgKzExMzEsNyBAQCBzdGF0aWMgdm9pZCB2bHZfY29tcHV0ZV93bShz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAkJCWlmIChXQVJOX09OKGxldmVsID09IDAgJiYgd20g PiBtYXhfd20pKQogCQkJCXdtID0gbWF4X3dtOwogCi0JCQlpZiAod20gPiBwbGFuZS0+d20uZmlm b19zaXplKQorCQkJaWYgKHdtID4gd21fc3RhdGUtPmZpZm9fc2l6ZVt3bV9wbGFuZV9pZChwbGFu ZSldKQogCQkJCWJyZWFrOwogCiAJCQlzd2l0Y2ggKHBsYW5lLT5iYXNlLnR5cGUpIHsKQEAgLTEx ODEsNiArMTE4NSw4IEBAIHN0YXRpYyB2b2lkIHZsdl9jb21wdXRlX3dtKHN0cnVjdCBpbnRlbF9j cnRjICpjcnRjKQogCX0KIAogCXZsdl9pbnZlcnRfd21zKGNydGMpOworCisJcmV0dXJuIDA7CiB9 CiAKICNkZWZpbmUgVkxWX0ZJRk8ocGxhbmUsIHZhbHVlKSBcCkBAIC0xMTkwLDI2ICsxMTk2LDE2 IEBAIHN0YXRpYyB2b2lkIHZsdl9waXBlX3NldF9maWZvX3NpemUoc3RydWN0IGludGVsX2NydGMg KmNydGMpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2OwogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKLQlzdHJ1Y3Qg aW50ZWxfcGxhbmUgKnBsYW5lOwogCWludCBzcHJpdGUwX3N0YXJ0ID0gMCwgc3ByaXRlMV9zdGFy dCA9IDAsIGZpZm9fc2l6ZSA9IDA7CisJY29uc3Qgc3RydWN0IHZsdl93bV9zdGF0ZSAqd21fc3Rh dGUgPSAmY3J0Yy0+d21fc3RhdGU7CiAKLQlmb3JfZWFjaF9pbnRlbF9wbGFuZV9vbl9jcnRjKGRl diwgY3J0YywgcGxhbmUpIHsKLQkJaWYgKHBsYW5lLT5iYXNlLnR5cGUgPT0gRFJNX1BMQU5FX1RZ UEVfQ1VSU09SKSB7Ci0JCQlXQVJOX09OKHBsYW5lLT53bS5maWZvX3NpemUgIT0gNjMpOwotCQkJ Y29udGludWU7Ci0JCX0KLQotCQlpZiAocGxhbmUtPmJhc2UudHlwZSA9PSBEUk1fUExBTkVfVFlQ RV9QUklNQVJZKQotCQkJc3ByaXRlMF9zdGFydCA9IHBsYW5lLT53bS5maWZvX3NpemU7Ci0JCWVs c2UgaWYgKHBsYW5lLT5wbGFuZSA9PSAwKQotCQkJc3ByaXRlMV9zdGFydCA9IHNwcml0ZTBfc3Rh cnQgKyBwbGFuZS0+d20uZmlmb19zaXplOwotCQllbHNlCi0JCQlmaWZvX3NpemUgPSBzcHJpdGUx X3N0YXJ0ICsgcGxhbmUtPndtLmZpZm9fc2l6ZTsKLQl9CiAKLQlXQVJOX09OKGZpZm9fc2l6ZSAh PSA1MTIgLSAxKTsKKwlXQVJOX09OKHdtX3N0YXRlLT5maWZvX3NpemVbUExBTkVfQ1VSU09SXSAh PSA2Myk7CisJc3ByaXRlMF9zdGFydCA9IHdtX3N0YXRlLT5maWZvX3NpemVbMF07CisJc3ByaXRl MV9zdGFydCA9IHNwcml0ZTBfc3RhcnQgKyB3bV9zdGF0ZS0+Zmlmb19zaXplWzFdOworCWZpZm9f c2l6ZSA9IHNwcml0ZTFfc3RhcnQgKyB3bV9zdGF0ZS0+Zmlmb19zaXplWzJdOwogCi0JRFJNX0RF QlVHX0tNUygiUGlwZSAlYyBGSUZPIHNwbGl0ICVkIC8gJWQgLyAlZFxuIiwKKwlXQVJOKGZpZm9f c2l6ZSAhPSA1MTIgLSAxLCAiUGlwZSAlYyBGSUZPIHNwbGl0ICVkIC8gJWQgLyAlZFxuIiwKIAkJ ICAgICAgcGlwZV9uYW1lKGNydGMtPnBpcGUpLCBzcHJpdGUwX3N0YXJ0LAogCQkgICAgICBzcHJp dGUxX3N0YXJ0LCBmaWZvX3NpemUpOwogCkBAIC00MjE2LDYgKzQyMTIsNyBAQCB2b2lkIHZsdl93 bV9nZXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJc3RydWN0IHZsdl93bV92YWx1 ZXMgKndtID0gJmRldl9wcml2LT53bS52bHY7CisJc3RydWN0IGludGVsX2NydGMgKmNydGM7CiAJ c3RydWN0IGludGVsX3BsYW5lICpwbGFuZTsKIAllbnVtIHBpcGUgcGlwZTsKIAl1MzIgdmFsOwpA QCAtNDIyMywxNyArNDIyMCwyMCBAQCB2b2lkIHZsdl93bV9nZXRfaHdfc3RhdGUoc3RydWN0IGRy bV9kZXZpY2UgKmRldikKIAl2bHZfcmVhZF93bV92YWx1ZXMoZGV2X3ByaXYsIHdtKTsKIAogCWZv cl9lYWNoX2ludGVsX3BsYW5lKGRldiwgcGxhbmUpIHsKKwkJc3RydWN0IHZsdl93bV9zdGF0ZSAq d21fc3RhdGU7CisJCWludCBpID0gd21fcGxhbmVfaWQocGxhbmUpOworCisJCWNydGMgPSB0b19p bnRlbF9jcnRjKGludGVsX2dldF9jcnRjX2Zvcl9waXBlKGRldiwgcGxhbmUtPnBpcGUpKTsKKwkJ d21fc3RhdGUgPSAmY3J0Yy0+d21fc3RhdGU7CisKIAkJc3dpdGNoIChwbGFuZS0+YmFzZS50eXBl KSB7Ci0JCQlpbnQgc3ByaXRlOwogCQljYXNlIERSTV9QTEFORV9UWVBFX0NVUlNPUjoKLQkJCXBs YW5lLT53bS5maWZvX3NpemUgPSA2MzsKKwkJCXdtX3N0YXRlLT5maWZvX3NpemVbaV0gPSA2MzsK IAkJCWJyZWFrOwogCQljYXNlIERSTV9QTEFORV9UWVBFX1BSSU1BUlk6Ci0JCQlwbGFuZS0+d20u Zmlmb19zaXplID0gdmx2X2dldF9maWZvX3NpemUoZGV2LCBwbGFuZS0+cGlwZSwgMCk7Ci0JCQli cmVhazsKIAkJY2FzZSBEUk1fUExBTkVfVFlQRV9PVkVSTEFZOgotCQkJc3ByaXRlID0gcGxhbmUt PnBsYW5lOwotCQkJcGxhbmUtPndtLmZpZm9fc2l6ZSA9IHZsdl9nZXRfZmlmb19zaXplKGRldiwg cGxhbmUtPnBpcGUsIHNwcml0ZSArIDEpOworCQkJd21fc3RhdGUtPmZpZm9fc2l6ZVtpXSA9CisJ CQkJdmx2X2dldF9maWZvX3NpemUoZGV2LCBwbGFuZS0+cGlwZSwgaSk7CiAJCQlicmVhazsKIAkJ fQogCX0KLS0gCjEuOC4wLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=