From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v2 6/7] drm/nouveau: Convert nouveau to use new iterator macros, v2. Date: Wed, 19 Jul 2017 16:39:19 +0200 Message-ID: <20170719143920.25685-7-maarten.lankhorst@linux.intel.com> References: <20170719143920.25685-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170719143920.25685-1-maarten.lankhorst@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: nouveau@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, Ben Skeggs List-Id: intel-gfx@lists.freedesktop.org VXNlIHRoZSBuZXcgYXRvbWljIGl0ZXJhdG9yIG1hY3JvcywgdGhlIG9sZCBvbmVzIGFyZSBhYm91 dCB0byBiZQpyZW1vdmVkLiBXaXRoIHRoZSBuZXcgbWFjcm9zLCBpdCdzIG1vcmUgZWFzeSB0byBn ZXQgb2xkIGFuZCBuZXcgc3RhdGUgc28KZ2V0IHRoZW0gZnJvbSB0aGUgbWFjcm9zIGluc3RlYWQg b2YgZnJvbSBvYmotPnN0YXRlLgoKQ2hhbmdlcyBzaW5jZSB2MToKLSBEb24ndCBtaXggdXAgb2xk IGFuZCBuZXcgc3RhdGUuIChkYW52ZXQpCi0gUmViYXNlIG9uIHRvcCBvZiBpbnRlcnJ1cHRpYmxl IHN3YXBfc3RhdGUgY2hhbmdlcy4KClNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxt YWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+CkNjOiBCZW4gU2tlZ2dzIDxic2tlZ2dz QHJlZGhhdC5jb20+CkNjOiBub3V2ZWF1QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwotLS0KIGRyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L252NTBfZGlzcGxheS5jIHwgNzIgKysrKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDM1IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252NTBfZGlz cGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnY1MF9kaXNwbGF5LmMKaW5kZXggNzQ3 Yzk5YzFlNDc0Li43YWJmYjU2MWIwMGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2 ZWF1L252NTBfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252NTBfZGlz cGxheS5jCkBAIC0yMTAzLDcgKzIxMDMsNyBAQCBudjUwX2hlYWRfYXRvbWljX2NoZWNrKHN0cnVj dCBkcm1fY3J0YyAqY3J0Yywgc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSkKIAogCU5WX0FU T01JQyhkcm0sICIlcyBhdG9taWNfY2hlY2sgJWRcbiIsIGNydGMtPm5hbWUsIGFzeWgtPnN0YXRl LmFjdGl2ZSk7CiAJaWYgKGFzeWgtPnN0YXRlLmFjdGl2ZSkgewotCQlmb3JfZWFjaF9jb25uZWN0 b3JfaW5fc3RhdGUoYXN5aC0+c3RhdGUuc3RhdGUsIGNvbm4sIGNvbm5zLCBpKSB7CisJCWZvcl9l YWNoX25ld19jb25uZWN0b3JfaW5fc3RhdGUoYXN5aC0+c3RhdGUuc3RhdGUsIGNvbm4sIGNvbm5z LCBpKSB7CiAJCQlpZiAoY29ubnMtPmNydGMgPT0gY3J0YykgewogCQkJCWFzeWMgPSBub3V2ZWF1 X2Nvbm5fYXRvbShjb25ucyk7CiAJCQkJYnJlYWs7CkBAIC0zOTA1LDkgKzM5MDUsOSBAQCBzdGF0 aWMgdm9pZAogbnY1MF9kaXNwX2F0b21pY19jb21taXRfdGFpbChzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3RhdGUpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHN0YXRlLT5kZXY7Ci0J c3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOworCXN0cnVjdCBkcm1fY3J0Y19zdGF0 ZSAqbmV3X2NydGNfc3RhdGU7CiAJc3RydWN0IGRybV9jcnRjICpjcnRjOwotCXN0cnVjdCBkcm1f cGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlOworCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm5ld19w bGFuZV9zdGF0ZTsKIAlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKIAlzdHJ1Y3Qgbm91dmVhdV9k cm0gKmRybSA9IG5vdXZlYXVfZHJtKGRldik7CiAJc3RydWN0IG52NTBfZGlzcCAqZGlzcCA9IG52 NTBfZGlzcChkZXYpOwpAQCAtMzkyNiw4ICszOTI2LDggQEAgbnY1MF9kaXNwX2F0b21pY19jb21t aXRfdGFpbChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJCW11dGV4X2xvY2soJmRp c3AtPm11dGV4KTsKIAogCS8qIERpc2FibGUgaGVhZChzKS4gKi8KLQlmb3JfZWFjaF9jcnRjX2lu X3N0YXRlKHN0YXRlLCBjcnRjLCBjcnRjX3N0YXRlLCBpKSB7Ci0JCXN0cnVjdCBudjUwX2hlYWRf YXRvbSAqYXN5aCA9IG52NTBfaGVhZF9hdG9tKGNydGMtPnN0YXRlKTsKKwlmb3JfZWFjaF9uZXdf Y3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgbmV3X2NydGNfc3RhdGUsIGkpIHsKKwkJc3RydWN0 IG52NTBfaGVhZF9hdG9tICphc3loID0gbnY1MF9oZWFkX2F0b20obmV3X2NydGNfc3RhdGUpOwog CQlzdHJ1Y3QgbnY1MF9oZWFkICpoZWFkID0gbnY1MF9oZWFkKGNydGMpOwogCiAJCU5WX0FUT01J Qyhkcm0sICIlczogY2xyICUwNHggKHNldCAlMDR4KVxuIiwgY3J0Yy0+bmFtZSwKQEAgLTM5NDAs OCArMzk0MCw4IEBAIG52NTBfZGlzcF9hdG9taWNfY29tbWl0X3RhaWwoc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKnN0YXRlKQogCX0KIAogCS8qIERpc2FibGUgcGxhbmUocykuICovCi0JZm9yX2Vh Y2hfcGxhbmVfaW5fc3RhdGUoc3RhdGUsIHBsYW5lLCBwbGFuZV9zdGF0ZSwgaSkgewotCQlzdHJ1 Y3QgbnY1MF93bmR3X2F0b20gKmFzeXcgPSBudjUwX3duZHdfYXRvbShwbGFuZS0+c3RhdGUpOwor CWZvcl9lYWNoX25ld19wbGFuZV9pbl9zdGF0ZShzdGF0ZSwgcGxhbmUsIG5ld19wbGFuZV9zdGF0 ZSwgaSkgeworCQlzdHJ1Y3QgbnY1MF93bmR3X2F0b20gKmFzeXcgPSBudjUwX3duZHdfYXRvbShu ZXdfcGxhbmVfc3RhdGUpOwogCQlzdHJ1Y3QgbnY1MF93bmR3ICp3bmR3ID0gbnY1MF93bmR3KHBs YW5lKTsKIAogCQlOVl9BVE9NSUMoZHJtLCAiJXM6IGNsciAlMDJ4IChzZXQgJTAyeClcbiIsIHBs YW5lLT5uYW1lLApAQCAtNDAwNiw4ICs0MDA2LDggQEAgbnY1MF9kaXNwX2F0b21pY19jb21taXRf dGFpbChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJfQogCiAJLyogVXBkYXRlIGhl YWQocykuICovCi0JZm9yX2VhY2hfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgY3J0Y19zdGF0 ZSwgaSkgewotCQlzdHJ1Y3QgbnY1MF9oZWFkX2F0b20gKmFzeWggPSBudjUwX2hlYWRfYXRvbShj cnRjLT5zdGF0ZSk7CisJZm9yX2VhY2hfbmV3X2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIG5l d19jcnRjX3N0YXRlLCBpKSB7CisJCXN0cnVjdCBudjUwX2hlYWRfYXRvbSAqYXN5aCA9IG52NTBf aGVhZF9hdG9tKG5ld19jcnRjX3N0YXRlKTsKIAkJc3RydWN0IG52NTBfaGVhZCAqaGVhZCA9IG52 NTBfaGVhZChjcnRjKTsKIAogCQlOVl9BVE9NSUMoZHJtLCAiJXM6IHNldCAlMDR4IChjbHIgJTA0 eClcbiIsIGNydGMtPm5hbWUsCkBAIC00MDE5LDE0ICs0MDE5LDE0IEBAIG52NTBfZGlzcF9hdG9t aWNfY29tbWl0X3RhaWwoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCQl9CiAJfQog Ci0JZm9yX2VhY2hfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwgaSkgewot CQlpZiAoY3J0Yy0+c3RhdGUtPmV2ZW50KQorCWZvcl9lYWNoX25ld19jcnRjX2luX3N0YXRlKHN0 YXRlLCBjcnRjLCBuZXdfY3J0Y19zdGF0ZSwgaSkgeworCQlpZiAobmV3X2NydGNfc3RhdGUtPmV2 ZW50KQogCQkJZHJtX2NydGNfdmJsYW5rX2dldChjcnRjKTsKIAl9CiAKIAkvKiBVcGRhdGUgcGxh bmUocykuICovCi0JZm9yX2VhY2hfcGxhbmVfaW5fc3RhdGUoc3RhdGUsIHBsYW5lLCBwbGFuZV9z dGF0ZSwgaSkgewotCQlzdHJ1Y3QgbnY1MF93bmR3X2F0b20gKmFzeXcgPSBudjUwX3duZHdfYXRv bShwbGFuZS0+c3RhdGUpOworCWZvcl9lYWNoX25ld19wbGFuZV9pbl9zdGF0ZShzdGF0ZSwgcGxh bmUsIG5ld19wbGFuZV9zdGF0ZSwgaSkgeworCQlzdHJ1Y3QgbnY1MF93bmR3X2F0b20gKmFzeXcg PSBudjUwX3duZHdfYXRvbShuZXdfcGxhbmVfc3RhdGUpOwogCQlzdHJ1Y3QgbnY1MF93bmR3ICp3 bmR3ID0gbnY1MF93bmR3KHBsYW5lKTsKIAogCQlOVl9BVE9NSUMoZHJtLCAiJXM6IHNldCAlMDJ4 IChjbHIgJTAyeClcbiIsIHBsYW5lLT5uYW1lLApAQCAtNDA1NiwyMyArNDA1NiwyMyBAQCBudjUw X2Rpc3BfYXRvbWljX2NvbW1pdF90YWlsKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkK IAkJbXV0ZXhfdW5sb2NrKCZkaXNwLT5tdXRleCk7CiAKIAkvKiBXYWl0IGZvciBIVyB0byBzaWdu YWwgY29tcGxldGlvbi4gKi8KLQlmb3JfZWFjaF9wbGFuZV9pbl9zdGF0ZShzdGF0ZSwgcGxhbmUs IHBsYW5lX3N0YXRlLCBpKSB7Ci0JCXN0cnVjdCBudjUwX3duZHdfYXRvbSAqYXN5dyA9IG52NTBf d25kd19hdG9tKHBsYW5lLT5zdGF0ZSk7CisJZm9yX2VhY2hfbmV3X3BsYW5lX2luX3N0YXRlKHN0 YXRlLCBwbGFuZSwgbmV3X3BsYW5lX3N0YXRlLCBpKSB7CisJCXN0cnVjdCBudjUwX3duZHdfYXRv bSAqYXN5dyA9IG52NTBfd25kd19hdG9tKG5ld19wbGFuZV9zdGF0ZSk7CiAJCXN0cnVjdCBudjUw X3duZHcgKnduZHcgPSBudjUwX3duZHcocGxhbmUpOwogCQlpbnQgcmV0ID0gbnY1MF93bmR3X3dh aXRfYXJtZWQod25kdywgYXN5dyk7CiAJCWlmIChyZXQpCiAJCQlOVl9FUlJPUihkcm0sICIlczog dGltZW91dFxuIiwgcGxhbmUtPm5hbWUpOwogCX0KIAotCWZvcl9lYWNoX2NydGNfaW5fc3RhdGUo c3RhdGUsIGNydGMsIGNydGNfc3RhdGUsIGkpIHsKLQkJaWYgKGNydGMtPnN0YXRlLT5ldmVudCkg eworCWZvcl9lYWNoX25ld19jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBuZXdfY3J0Y19zdGF0 ZSwgaSkgeworCQlpZiAobmV3X2NydGNfc3RhdGUtPmV2ZW50KSB7CiAJCQl1bnNpZ25lZCBsb25n IGZsYWdzOwogCQkJLyogR2V0IGNvcnJlY3QgY291bnQvdHMgaWYgcmFjaW5nIHdpdGggdmJsYW5r IGlycSAqLwogCQkJZHJtX2NydGNfYWNjdXJhdGVfdmJsYW5rX2NvdW50KGNydGMpOwogCQkJc3Bp bl9sb2NrX2lycXNhdmUoJmNydGMtPmRldi0+ZXZlbnRfbG9jaywgZmxhZ3MpOwotCQkJZHJtX2Ny dGNfc2VuZF92YmxhbmtfZXZlbnQoY3J0YywgY3J0Yy0+c3RhdGUtPmV2ZW50KTsKKwkJCWRybV9j cnRjX3NlbmRfdmJsYW5rX2V2ZW50KGNydGMsIG5ld19jcnRjX3N0YXRlLT5ldmVudCk7CiAJCQlz cGluX3VubG9ja19pcnFyZXN0b3JlKCZjcnRjLT5kZXYtPmV2ZW50X2xvY2ssIGZsYWdzKTsKLQkJ CWNydGMtPnN0YXRlLT5ldmVudCA9IE5VTEw7CisJCQluZXdfY3J0Y19zdGF0ZS0+ZXZlbnQgPSBO VUxMOwogCQkJZHJtX2NydGNfdmJsYW5rX3B1dChjcnRjKTsKIAkJfQogCX0KQEAgLTQwOTcsNyAr NDA5Nyw3IEBAIG52NTBfZGlzcF9hdG9taWNfY29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs CiB7CiAJc3RydWN0IG5vdXZlYXVfZHJtICpkcm0gPSBub3V2ZWF1X2RybShkZXYpOwogCXN0cnVj dCBudjUwX2Rpc3AgKmRpc3AgPSBudjUwX2Rpc3AoZGV2KTsKLQlzdHJ1Y3QgZHJtX3BsYW5lX3N0 YXRlICpwbGFuZV9zdGF0ZTsKKwlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpvbGRfcGxhbmVfc3Rh dGU7CiAJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7CiAJc3RydWN0IGRybV9jcnRjICpjcnRjOwog CWJvb2wgYWN0aXZlID0gZmFsc2U7CkBAIC00MTI3LDkgKzQxMjcsMTAgQEAgbnY1MF9kaXNwX2F0 b21pY19jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlpZiAocmV0KQogCQlnb3RvIGVy cl9jbGVhbnVwOwogCi0JZm9yX2VhY2hfcGxhbmVfaW5fc3RhdGUoc3RhdGUsIHBsYW5lLCBwbGFu ZV9zdGF0ZSwgaSkgewotCQlzdHJ1Y3QgbnY1MF93bmR3X2F0b20gKmFzeXcgPSBudjUwX3duZHdf YXRvbShwbGFuZV9zdGF0ZSk7CisJZm9yX2VhY2hfb2xkX3BsYW5lX2luX3N0YXRlKHN0YXRlLCBw bGFuZSwgb2xkX3BsYW5lX3N0YXRlLCBpKSB7CisJCXN0cnVjdCBudjUwX3duZHdfYXRvbSAqYXN5 dyA9IG52NTBfd25kd19hdG9tKG9sZF9wbGFuZV9zdGF0ZSk7CiAJCXN0cnVjdCBudjUwX3duZHcg KnduZHcgPSBudjUwX3duZHcocGxhbmUpOworCiAJCWlmIChhc3l3LT5zZXQuaW1hZ2UpIHsKIAkJ CWFzeXctPm50ZnkuaGFuZGxlID0gd25kdy0+ZG1hYy0+c3luYy5oYW5kbGU7CiAJCQlhc3l3LT5u dGZ5Lm9mZnNldCA9IHduZHctPm50Znk7CkBAIC00MTkyLDE4ICs0MTkzLDE5IEBAIG52NTBfZGlz cF9vdXRwX2F0b21pY19hZGQoc3RydWN0IG52NTBfYXRvbSAqYXRvbSwgc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyKQogCiBzdGF0aWMgaW50CiBudjUwX2Rpc3Bfb3V0cF9hdG9taWNfY2hlY2tf Y2xyKHN0cnVjdCBudjUwX2F0b20gKmF0b20sCi0JCQkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvcikKKwkJCQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqb2xkX2Nvbm5lY3Rvcl9z dGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIgPSBjb25uZWN0b3ItPnN0YXRl LT5iZXN0X2VuY29kZXI7Ci0Jc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOworCXN0 cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciA9IG9sZF9jb25uZWN0b3Jfc3RhdGUtPmJlc3RfZW5j b2RlcjsKKwlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLCAqbmV3X2NydGNf c3RhdGU7CiAJc3RydWN0IGRybV9jcnRjICpjcnRjOwogCXN0cnVjdCBudjUwX291dHBfYXRvbSAq b3V0cDsKIAotCWlmICghKGNydGMgPSBjb25uZWN0b3ItPnN0YXRlLT5jcnRjKSkKKwlpZiAoIShj cnRjID0gb2xkX2Nvbm5lY3Rvcl9zdGF0ZS0+Y3J0YykpCiAJCXJldHVybiAwOwogCi0JY3J0Y19z dGF0ZSA9IGRybV9hdG9taWNfZ2V0X2V4aXN0aW5nX2NydGNfc3RhdGUoJmF0b20tPnN0YXRlLCBj cnRjKTsKLQlpZiAoY3J0Yy0+c3RhdGUtPmFjdGl2ZSAmJiBkcm1fYXRvbWljX2NydGNfbmVlZHNf bW9kZXNldChjcnRjX3N0YXRlKSkgeworCW9sZF9jcnRjX3N0YXRlID0gZHJtX2F0b21pY19nZXRf b2xkX2NydGNfc3RhdGUoJmF0b20tPnN0YXRlLCBjcnRjKTsKKwluZXdfY3J0Y19zdGF0ZSA9IGRy bV9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRlKCZhdG9tLT5zdGF0ZSwgY3J0Yyk7CisJaWYgKG9s ZF9jcnRjX3N0YXRlLT5hY3RpdmUgJiYgZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVzZXQobmV3 X2NydGNfc3RhdGUpKSB7CiAJCW91dHAgPSBudjUwX2Rpc3Bfb3V0cF9hdG9taWNfYWRkKGF0b20s IGVuY29kZXIpOwogCQlpZiAoSVNfRVJSKG91dHApKQogCQkJcmV0dXJuIFBUUl9FUlIob3V0cCk7 CkBAIC00MjI0LDE1ICs0MjI2LDE1IEBAIG52NTBfZGlzcF9vdXRwX2F0b21pY19jaGVja19zZXQo c3RydWN0IG52NTBfYXRvbSAqYXRvbSwKIAkJCQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAq Y29ubmVjdG9yX3N0YXRlKQogewogCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciA9IGNvbm5l Y3Rvcl9zdGF0ZS0+YmVzdF9lbmNvZGVyOwotCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZTsKKwlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlOwogCXN0cnVjdCBk cm1fY3J0YyAqY3J0YzsKIAlzdHJ1Y3QgbnY1MF9vdXRwX2F0b20gKm91dHA7CiAKIAlpZiAoIShj cnRjID0gY29ubmVjdG9yX3N0YXRlLT5jcnRjKSkKIAkJcmV0dXJuIDA7CiAKLQljcnRjX3N0YXRl ID0gZHJtX2F0b21pY19nZXRfZXhpc3RpbmdfY3J0Y19zdGF0ZSgmYXRvbS0+c3RhdGUsIGNydGMp OwotCWlmIChjcnRjX3N0YXRlLT5hY3RpdmUgJiYgZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVz ZXQoY3J0Y19zdGF0ZSkpIHsKKwluZXdfY3J0Y19zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X25ld19j cnRjX3N0YXRlKCZhdG9tLT5zdGF0ZSwgY3J0Yyk7CisJaWYgKG5ld19jcnRjX3N0YXRlLT5hY3Rp dmUgJiYgZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVzZXQobmV3X2NydGNfc3RhdGUpKSB7CiAJ CW91dHAgPSBudjUwX2Rpc3Bfb3V0cF9hdG9taWNfYWRkKGF0b20sIGVuY29kZXIpOwogCQlpZiAo SVNfRVJSKG91dHApKQogCQkJcmV0dXJuIFBUUl9FUlIob3V0cCk7CkBAIC00MjQ4LDcgKzQyNTAs NyBAQCBzdGF0aWMgaW50CiBudjUwX2Rpc3BfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIHsKIAlzdHJ1Y3QgbnY1MF9h dG9tICphdG9tID0gbnY1MF9hdG9tKHN0YXRlKTsKLQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0 ZSAqY29ubmVjdG9yX3N0YXRlOworCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpvbGRfY29u bmVjdG9yX3N0YXRlLCAqbmV3X2Nvbm5lY3Rvcl9zdGF0ZTsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yOwogCWludCByZXQsIGk7CiAKQEAgLTQyNTYsMTIgKzQyNTgsMTIgQEAgbnY1 MF9kaXNwX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2F0 b21pY19zdGF0ZSAqc3RhdGUpCiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAotCWZvcl9lYWNo X2Nvbm5lY3Rvcl9pbl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yLCBjb25uZWN0b3Jfc3RhdGUsIGkp IHsKLQkJcmV0ID0gbnY1MF9kaXNwX291dHBfYXRvbWljX2NoZWNrX2NscihhdG9tLCBjb25uZWN0 b3IpOworCWZvcl9lYWNoX29sZG5ld19jb25uZWN0b3JfaW5fc3RhdGUoc3RhdGUsIGNvbm5lY3Rv ciwgb2xkX2Nvbm5lY3Rvcl9zdGF0ZSwgbmV3X2Nvbm5lY3Rvcl9zdGF0ZSwgaSkgeworCQlyZXQg PSBudjUwX2Rpc3Bfb3V0cF9hdG9taWNfY2hlY2tfY2xyKGF0b20sIG9sZF9jb25uZWN0b3Jfc3Rh dGUpOwogCQlpZiAocmV0KQogCQkJcmV0dXJuIHJldDsKIAotCQlyZXQgPSBudjUwX2Rpc3Bfb3V0 cF9hdG9taWNfY2hlY2tfc2V0KGF0b20sIGNvbm5lY3Rvcl9zdGF0ZSk7CisJCXJldCA9IG52NTBf ZGlzcF9vdXRwX2F0b21pY19jaGVja19zZXQoYXRvbSwgbmV3X2Nvbm5lY3Rvcl9zdGF0ZSk7CiAJ CWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0OwogCX0KLS0gCjIuMTEuMAoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==