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 14:36:23 +0200 Message-ID: <1466685388-16504-4-git-send-email-chix.ding@intel.com> References: <1466685388-16504-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 483D96E3AF for ; Thu, 23 Jun 2016 12:36:40 +0000 (UTC) In-Reply-To: <1466685388-16504-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 aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IGU2ZGVhNjkuLmFlM2U3 M2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC02MjMsNiArNjIzLDcgQEAgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgewogc3RydWN0IHZsdl93bV9zdGF0ZSB7CiAJc3RydWN0IHZsdl9w aXBlX3dtIHdtWzNdOwogCXN0cnVjdCB2bHZfc3Jfd20gc3JbM107CisJdWludDE2X3QgZmlmb19z aXplW0k5MTVfTUFYX1BMQU5FU107CiAJdWludDhfdCBudW1fYWN0aXZlX3BsYW5lczsKIAl1aW50 OF90IG51bV9sZXZlbHM7CiAJdWludDhfdCBsZXZlbDsKQEAgLTY5NSwxMCArNjk2LDYgQEAgc3Ry dWN0IGludGVsX2NydGMgewogCXN0cnVjdCB2bHZfd21fc3RhdGUgd21fc3RhdGU7CiB9OwogCi1z dHJ1Y3QgaW50ZWxfcGxhbmVfd21fcGFyYW1ldGVycyB7Ci0JdWludDE2X3QgZmlmb19zaXplOwot fTsKLQogc3RydWN0IGludGVsX3BsYW5lIHsKIAlzdHJ1Y3QgZHJtX3BsYW5lIGJhc2U7CiAJaW50 IHBsYW5lOwpAQCAtNzA3LDEzICs3MDQsNiBAQCBzdHJ1Y3QgaW50ZWxfcGxhbmUgewogCWludCBt YXhfZG93bnNjYWxlOwogCXVpbnQzMl90IGZyb250YnVmZmVyX2JpdDsKIAotCS8qIFNpbmNlIHdl IG5lZWQgdG8gY2hhbmdlIHRoZSB3YXRlcm1hcmtzIGJlZm9yZS9hZnRlcgotCSAqIGVuYWJsaW5n L2Rpc2FibGluZyB0aGUgcGxhbmVzLCB3ZSBuZWVkIHRvIHN0b3JlIHRoZSBwYXJhbWV0ZXJzIGhl cmUKLQkgKiBhcyB0aGUgb3RoZXIgcGllY2VzIG9mIHRoZSBzdHJ1Y3QgbWF5IG5vdCByZWZsZWN0 IHRoZSB2YWx1ZXMgd2Ugd2FudAotCSAqIGZvciB0aGUgd2F0ZXJtYXJrIGNhbGN1bGF0aW9ucy4g Q3VycmVudGx5IG9ubHkgSGFzd2VsbCB1c2VzIHRoaXMuCi0JICovCi0Jc3RydWN0IGludGVsX3Bs YW5lX3dtX3BhcmFtZXRlcnMgd207Ci0KIAkvKgogCSAqIE5PVEU6IERvIG5vdCBwbGFjZSBuZXcg cGxhbmUgc3RhdGUgZmllbGRzIGhlcmUgKGUuZy4sIHdoZW4gYWRkaW5nCiAJICogbmV3IHBsYW5l IHByb3BlcnRpZXMpLiAgTmV3IHJ1bnRpbWUgc3RhdGUgc2hvdWxkIG5vdyBiZSBwbGFjZWQgaW4K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wbS5jCmluZGV4IDI5ODIwZTIuLjNlMjM5YWYgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYwpAQCAtMTAxMCwxMiArMTAxMCwxNCBAQCBzdGF0aWMgdWludDE2X3Qgdmx2 X2NvbXB1dGVfd21fbGV2ZWwoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKIAogc3RhdGljIHZv aWQgdmx2X2NvbXB1dGVfZmlmbyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIHsKLQlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7CiAJc3RydWN0IHZsdl93bV9zdGF0ZSAq d21fc3RhdGUgPSAmY3J0Yy0+d21fc3RhdGU7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNy dGMtPmJhc2UuZGV2OwogCXN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmU7CiAJdW5zaWduZWQgaW50 IHRvdGFsX3JhdGUgPSAwOwogCWNvbnN0IGludCBmaWZvX3NpemUgPSA1MTIgLSAxOwogCWludCBm aWZvX2V4dHJhLCBmaWZvX2xlZnQgPSBmaWZvX3NpemU7CisJaW50IHJhdGVbSTkxNV9NQVhfUExB TkVTXSA9IHt9OworCWludCBpOwogCiAJZm9yX2VhY2hfaW50ZWxfcGxhbmVfb25fY3J0YyhkZXYs IGNydGMsIHBsYW5lKSB7CiAJCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqc3RhdGUgPQpAQCAt MTAyNiw0OSArMTAyOCw0NiBAQCBzdGF0aWMgdm9pZCB2bHZfY29tcHV0ZV9maWZvKHN0cnVjdCBp bnRlbF9jcnRjICpjcnRjKQogCiAJCWlmIChzdGF0ZS0+dmlzaWJsZSkgewogCQkJd21fc3RhdGUt Pm51bV9hY3RpdmVfcGxhbmVzKys7Ci0JCQl0b3RhbF9yYXRlICs9IGRybV9mb3JtYXRfcGxhbmVf Y3BwKHN0YXRlLT5iYXNlLmZiLT5waXhlbF9mb3JtYXQsIDApOworCQkJcmF0ZVt3bV9wbGFuZV9p ZChwbGFuZSldID0KKwkJCWRybV9mb3JtYXRfcGxhbmVfY3BwKHN0YXRlLT5iYXNlLmZiLT5waXhl bF9mb3JtYXQsIDApOworCQkJdG90YWxfcmF0ZSArPSByYXRlW3dtX3BsYW5lX2lkKHBsYW5lKV07 CiAJCX0KIAl9CiAKLQlmb3JfZWFjaF9pbnRlbF9wbGFuZV9vbl9jcnRjKGRldiwgY3J0YywgcGxh bmUpIHsKLQkJc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpzdGF0ZSA9Ci0JCQl0b19pbnRlbF9w bGFuZV9zdGF0ZShwbGFuZS0+YmFzZS5zdGF0ZSk7Ci0JCXVuc2lnbmVkIGludCByYXRlOwotCi0J CWlmIChwbGFuZS0+YmFzZS50eXBlID09IERSTV9QTEFORV9UWVBFX0NVUlNPUikgewotCQkJcGxh bmUtPndtLmZpZm9fc2l6ZSA9IDYzOworCWZvciAoaSA9IDA7IGkgPCBJOTE1X01BWF9QTEFORVM7 IGkrKykgeworCQlpZiAoaSA9PSBQTEFORV9DVVJTT1IpIHsKKwkJCXdtX3N0YXRlLT5maWZvX3Np emVbaV0gPSA2MzsKIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJaWYgKCFzdGF0ZS0+dmlzaWJsZSkg ewotCQkJcGxhbmUtPndtLmZpZm9fc2l6ZSA9IDA7CisJCWlmICghcmF0ZVtpXSkgeworCQkJd21f c3RhdGUtPmZpZm9fc2l6ZVtpXSA9IDA7CiAJCQljb250aW51ZTsKIAkJfQogCi0JCXJhdGUgPSBk cm1fZm9ybWF0X3BsYW5lX2NwcChzdGF0ZS0+YmFzZS5mYi0+cGl4ZWxfZm9ybWF0LCAwKTsKLQkJ cGxhbmUtPndtLmZpZm9fc2l6ZSA9IGZpZm9fc2l6ZSAqIHJhdGUgLyB0b3RhbF9yYXRlOwotCQlm aWZvX2xlZnQgLT0gcGxhbmUtPndtLmZpZm9fc2l6ZTsKKwkJd21fc3RhdGUtPmZpZm9fc2l6ZVtp XSA9IGZpZm9fc2l6ZSAqIHJhdGVbaV0gLyB0b3RhbF9yYXRlOworCQlmaWZvX2xlZnQgLT0gd21f c3RhdGUtPmZpZm9fc2l6ZVtpXTsKIAl9CiAKIAlmaWZvX2V4dHJhID0gRElWX1JPVU5EX1VQKGZp Zm9fbGVmdCwgd21fc3RhdGUtPm51bV9hY3RpdmVfcGxhbmVzID86IDEpOwogCiAJLyogc3ByZWFk IHRoZSByZW1haW5kZXIgZXZlbmx5ICovCi0JZm9yX2VhY2hfaW50ZWxfcGxhbmVfb25fY3J0Yyhk ZXYsIGNydGMsIHBsYW5lKSB7CisJZm9yIChpID0gMDsgaSA8IEk5MTVfTUFYX1BMQU5FUzsgaSsr KSB7CiAJCWludCBwbGFuZV9leHRyYTsKIAogCQlpZiAoZmlmb19sZWZ0ID09IDApCiAJCQlicmVh azsKIAotCQlpZiAocGxhbmUtPmJhc2UudHlwZSA9PSBEUk1fUExBTkVfVFlQRV9DVVJTT1IpCisJ CWlmIChpID09IFBMQU5FX0NVUlNPUikKIAkJCWNvbnRpbnVlOwogCiAJCS8qIGdpdmUgaXQgYWxs IHRvIHRoZSBmaXJzdCBwbGFuZSBpZiBub25lIGFyZSBhY3RpdmUgKi8KLQkJaWYgKHBsYW5lLT53 bS5maWZvX3NpemUgPT0gMCAmJgorCQlpZiAoIXdtX3N0YXRlLT5maWZvX3NpemVbaV0gJiYKIAkJ ICAgIHdtX3N0YXRlLT5udW1fYWN0aXZlX3BsYW5lcykKIAkJCWNvbnRpbnVlOwogCiAJCXBsYW5l X2V4dHJhID0gbWluKGZpZm9fZXh0cmEsIGZpZm9fbGVmdCk7Ci0JCXBsYW5lLT53bS5maWZvX3Np emUgKz0gcGxhbmVfZXh0cmE7CisJCXdtX3N0YXRlLT5maWZvX3NpemVbaV0gKz0gcGxhbmVfZXh0 cmE7CiAJCWZpZm9fbGVmdCAtPSBwbGFuZV9leHRyYTsKIAl9CiAKQEAgLTEwODksMTkgKzEwODgs MjQgQEAgc3RhdGljIHZvaWQgdmx2X2ludmVydF93bXMoc3RydWN0IGludGVsX2NydGMgKmNydGMp CiAJCXdtX3N0YXRlLT5zcltsZXZlbF0uY3Vyc29yID0gNjMgLSB3bV9zdGF0ZS0+c3JbbGV2ZWxd LmN1cnNvcjsKIAogCQlmb3JfZWFjaF9pbnRlbF9wbGFuZV9vbl9jcnRjKGRldiwgY3J0YywgcGxh bmUpIHsKKwkJCWludCBpID0gd21fcGxhbmVfaWQocGxhbmUpOworCiAJCQlzd2l0Y2ggKHBsYW5l LT5iYXNlLnR5cGUpIHsKIAkJCQlpbnQgc3ByaXRlOwogCQkJY2FzZSBEUk1fUExBTkVfVFlQRV9D VVJTT1I6Ci0JCQkJd21fc3RhdGUtPndtW2xldmVsXS5jdXJzb3IgPSBwbGFuZS0+d20uZmlmb19z aXplIC0KKwkJCQl3bV9zdGF0ZS0+d21bbGV2ZWxdLmN1cnNvciA9CisJCQkJCXdtX3N0YXRlLT5m aWZvX3NpemVbaV0gLQogCQkJCQl3bV9zdGF0ZS0+d21bbGV2ZWxdLmN1cnNvcjsKIAkJCQlicmVh azsKIAkJCWNhc2UgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWToKLQkJCQl3bV9zdGF0ZS0+d21bbGV2 ZWxdLnByaW1hcnkgPSBwbGFuZS0+d20uZmlmb19zaXplIC0KKwkJCQl3bV9zdGF0ZS0+d21bbGV2 ZWxdLnByaW1hcnkgPQorCQkJCQl3bV9zdGF0ZS0+Zmlmb19zaXplW2ldIC0KIAkJCQkJd21fc3Rh dGUtPndtW2xldmVsXS5wcmltYXJ5OwogCQkJCWJyZWFrOwogCQkJY2FzZSBEUk1fUExBTkVfVFlQ RV9PVkVSTEFZOgogCQkJCXNwcml0ZSA9IHBsYW5lLT5wbGFuZTsKLQkJCQl3bV9zdGF0ZS0+d21b bGV2ZWxdLnNwcml0ZVtzcHJpdGVdID0gcGxhbmUtPndtLmZpZm9fc2l6ZSAtCisJCQkJd21fc3Rh dGUtPndtW2xldmVsXS5zcHJpdGVbc3ByaXRlXSA9CisJCQkJCXdtX3N0YXRlLT5maWZvX3NpemVb aV0gLQogCQkJCQl3bV9zdGF0ZS0+d21bbGV2ZWxdLnNwcml0ZVtzcHJpdGVdOwogCQkJCWJyZWFr OwogCQkJfQpAQCAtMTEwOSw3ICsxMTEzLDcgQEAgc3RhdGljIHZvaWQgdmx2X2ludmVydF93bXMo c3RydWN0IGludGVsX2NydGMgKmNydGMpCiAJfQogfQogCi1zdGF0aWMgdm9pZCB2bHZfY29tcHV0 ZV93bShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKK3N0YXRpYyBpbnQgdmx2X2NvbXB1dGVfd20o c3RydWN0IGludGVsX2NydGMgKmNydGMpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNy dGMtPmJhc2UuZGV2OwogCXN0cnVjdCB2bHZfd21fc3RhdGUgKndtX3N0YXRlID0gJmNydGMtPndt X3N0YXRlOwpAQCAtMTE1Miw3ICsxMTU2LDcgQEAgc3RhdGljIHZvaWQgdmx2X2NvbXB1dGVfd20o c3RydWN0IGludGVsX2NydGMgKmNydGMpCiAJCQlpZiAoV0FSTl9PTihsZXZlbCA9PSAwICYmIHdt ID4gbWF4X3dtKSkKIAkJCQl3bSA9IG1heF93bTsKIAotCQkJaWYgKHdtID4gcGxhbmUtPndtLmZp Zm9fc2l6ZSkKKwkJCWlmICh3bSA+IHdtX3N0YXRlLT5maWZvX3NpemVbd21fcGxhbmVfaWQocGxh bmUpXSkKIAkJCQlicmVhazsKIAogCQkJc3dpdGNoIChwbGFuZS0+YmFzZS50eXBlKSB7CkBAIC0x MjA2LDYgKzEyMTAsOCBAQCBzdGF0aWMgdm9pZCB2bHZfY29tcHV0ZV93bShzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YykKIAl9CiAKIAl2bHZfaW52ZXJ0X3dtcyhjcnRjKTsKKworCXJldHVybiAwOwog fQogCiAjZGVmaW5lIFZMVl9GSUZPKHBsYW5lLCB2YWx1ZSkgXApAQCAtMTIxNSwyNiArMTIyMSwx NiBAQCBzdGF0aWMgdm9pZCB2bHZfcGlwZV9zZXRfZmlmb19zaXplKHN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Ci0Jc3RydWN0 IGludGVsX3BsYW5lICpwbGFuZTsKIAlpbnQgc3ByaXRlMF9zdGFydCA9IDAsIHNwcml0ZTFfc3Rh cnQgPSAwLCBmaWZvX3NpemUgPSAwOworCWNvbnN0IHN0cnVjdCB2bHZfd21fc3RhdGUgKndtX3N0 YXRlID0gJmNydGMtPndtX3N0YXRlOwogCi0JZm9yX2VhY2hfaW50ZWxfcGxhbmVfb25fY3J0Yyhk ZXYsIGNydGMsIHBsYW5lKSB7Ci0JCWlmIChwbGFuZS0+YmFzZS50eXBlID09IERSTV9QTEFORV9U WVBFX0NVUlNPUikgewotCQkJV0FSTl9PTihwbGFuZS0+d20uZmlmb19zaXplICE9IDYzKTsKLQkJ CWNvbnRpbnVlOwotCQl9Ci0KLQkJaWYgKHBsYW5lLT5iYXNlLnR5cGUgPT0gRFJNX1BMQU5FX1RZ UEVfUFJJTUFSWSkKLQkJCXNwcml0ZTBfc3RhcnQgPSBwbGFuZS0+d20uZmlmb19zaXplOwotCQll bHNlIGlmIChwbGFuZS0+cGxhbmUgPT0gMCkKLQkJCXNwcml0ZTFfc3RhcnQgPSBzcHJpdGUwX3N0 YXJ0ICsgcGxhbmUtPndtLmZpZm9fc2l6ZTsKLQkJZWxzZQotCQkJZmlmb19zaXplID0gc3ByaXRl MV9zdGFydCArIHBsYW5lLT53bS5maWZvX3NpemU7Ci0JfQogCi0JV0FSTl9PTihmaWZvX3NpemUg IT0gNTEyIC0gMSk7CisJV0FSTl9PTih3bV9zdGF0ZS0+Zmlmb19zaXplW1BMQU5FX0NVUlNPUl0g IT0gNjMpOworCXNwcml0ZTBfc3RhcnQgPSB3bV9zdGF0ZS0+Zmlmb19zaXplWzBdOworCXNwcml0 ZTFfc3RhcnQgPSBzcHJpdGUwX3N0YXJ0ICsgd21fc3RhdGUtPmZpZm9fc2l6ZVsxXTsKKwlmaWZv X3NpemUgPSBzcHJpdGUxX3N0YXJ0ICsgd21fc3RhdGUtPmZpZm9fc2l6ZVsyXTsKIAotCURSTV9E RUJVR19LTVMoIlBpcGUgJWMgRklGTyBzcGxpdCAlZCAvICVkIC8gJWRcbiIsCisJV0FSTihmaWZv X3NpemUgIT0gNTEyIC0gMSwgIlBpcGUgJWMgRklGTyBzcGxpdCAlZCAvICVkIC8gJWRcbiIsCiAJ CSAgICAgIHBpcGVfbmFtZShjcnRjLT5waXBlKSwgc3ByaXRlMF9zdGFydCwKIAkJICAgICAgc3By aXRlMV9zdGFydCwgZmlmb19zaXplKTsKIApAQCAtNDM1NCw2ICs0MzUwLDcgQEAgdm9pZCB2bHZf d21fZ2V0X2h3X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCXN0cnVjdCB2bHZfd21fdmFs dWVzICp3bSA9ICZkZXZfcHJpdi0+d20udmx2OworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjOwog CXN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmU7CiAJZW51bSBwaXBlIHBpcGU7CiAJdTMyIHZhbDsK QEAgLTQzNjEsMTcgKzQzNTgsMjAgQEAgdm9pZCB2bHZfd21fZ2V0X2h3X3N0YXRlKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCiAJdmx2X3JlYWRfd21fdmFsdWVzKGRldl9wcml2LCB3bSk7CiAKIAlm b3JfZWFjaF9pbnRlbF9wbGFuZShkZXYsIHBsYW5lKSB7CisJCXN0cnVjdCB2bHZfd21fc3RhdGUg KndtX3N0YXRlOworCQlpbnQgaSA9IHdtX3BsYW5lX2lkKHBsYW5lKTsKKworCQljcnRjID0gdG9f aW50ZWxfY3J0YyhpbnRlbF9nZXRfY3J0Y19mb3JfcGlwZShkZXYsIHBsYW5lLT5waXBlKSk7CisJ CXdtX3N0YXRlID0gJmNydGMtPndtX3N0YXRlOworCiAJCXN3aXRjaCAocGxhbmUtPmJhc2UudHlw ZSkgewotCQkJaW50IHNwcml0ZTsKIAkJY2FzZSBEUk1fUExBTkVfVFlQRV9DVVJTT1I6Ci0JCQlw bGFuZS0+d20uZmlmb19zaXplID0gNjM7CisJCQl3bV9zdGF0ZS0+Zmlmb19zaXplW2ldID0gNjM7 CiAJCQlicmVhazsKIAkJY2FzZSBEUk1fUExBTkVfVFlQRV9QUklNQVJZOgotCQkJcGxhbmUtPndt LmZpZm9fc2l6ZSA9IHZsdl9nZXRfZmlmb19zaXplKGRldiwgcGxhbmUtPnBpcGUsIDApOwotCQkJ YnJlYWs7CiAJCWNhc2UgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWToKLQkJCXNwcml0ZSA9IHBsYW5l LT5wbGFuZTsKLQkJCXBsYW5lLT53bS5maWZvX3NpemUgPSB2bHZfZ2V0X2ZpZm9fc2l6ZShkZXYs IHBsYW5lLT5waXBlLCBzcHJpdGUgKyAxKTsKKwkJCXdtX3N0YXRlLT5maWZvX3NpemVbaV0gPQor CQkJCXZsdl9nZXRfZmlmb19zaXplKGRldiwgcGxhbmUtPnBpcGUsIGkpOwogCQkJYnJlYWs7CiAJ CX0KIAl9Ci0tIAoxLjguMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK