From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Stach Subject: [PATCH 21/27] drm/etnaviv: move PMRs to submit object Date: Fri, 1 Dec 2017 11:36:18 +0100 Message-ID: <20171201103624.6565-22-l.stach@pengutronix.de> References: <20171201103624.6565-1-l.stach@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1B0A36ECC1 for ; Fri, 1 Dec 2017 10:36:28 +0000 (UTC) In-Reply-To: <20171201103624.6565-1-l.stach@pengutronix.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: etnaviv@lists.freedesktop.org Cc: patchwork-lst@pengutronix.de, kernel@pengutronix.de, dri-devel@lists.freedesktop.org, Russell King List-Id: dri-devel@lists.freedesktop.org VG8gbWFrZSB0aGVtIGF2YWlsYWJsZSB0byB0aGUgZXZlbnQgd29ya2VyIGV2ZW4gYWZ0ZXIgdGhl IGFjdHVhbApjb21tYW5kIHN0cmVhbSBleGVjdXRpb24gaGFzIGZpbmlzaGVkLgoKU2lnbmVkLW9m Zi1ieTogTHVjYXMgU3RhY2ggPGwuc3RhY2hAcGVuZ3V0cm9uaXguZGU+Ci0tLQogZHJpdmVycy9n cHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9jbWRidWYuYyAgICAgfCAxNCArLS0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2NtZGJ1Zi5oICAgICB8ICA1ICstLS0KIGRyaXZl cnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2VtLmggICAgICAgIHwgIDUgKystLQogZHJpdmVy cy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fc3VibWl0LmMgfCA0MCArKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dwdS5jICAg ICAgICB8IDI3ICsrKysrKysrKystLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0 bmF2aXZfZ3B1LmggICAgICAgIHwgIDIgKy0KIDYgZmlsZXMgY2hhbmdlZCwgNDQgaW5zZXJ0aW9u cygrKSwgNDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2 aXYvZXRuYXZpdl9jbWRidWYuYyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfY21k YnVmLmMKaW5kZXggNjZhYzc5NTU4YmJkLi40Y2U0NjM5ZDAyOGQgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfY21kYnVmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2V0bmF2aXYvZXRuYXZpdl9jbWRidWYuYwpAQCAtODgsMTAgKzg4LDkgQEAgdm9pZCBldG5hdml2 X2NtZGJ1Zl9zdWJhbGxvY19kZXN0cm95KHN0cnVjdCBldG5hdml2X2NtZGJ1Zl9zdWJhbGxvYyAq c3ViYWxsb2MpCiAKIHN0cnVjdCBldG5hdml2X2NtZGJ1ZiAqCiBldG5hdml2X2NtZGJ1Zl9uZXco c3RydWN0IGV0bmF2aXZfY21kYnVmX3N1YmFsbG9jICpzdWJhbGxvYywgdTMyIHNpemUsCi0JCSAg IHNpemVfdCBucl9ib3MsIHNpemVfdCBucl9wbXJzKQorCQkgICBzaXplX3QgbnJfYm9zKQogewog CXN0cnVjdCBldG5hdml2X2NtZGJ1ZiAqY21kYnVmOwotCXN0cnVjdCBldG5hdml2X3BlcmZtb25f cmVxdWVzdCAqcG1yczsKIAlzaXplX3Qgc3ogPSBzaXplX3ZzdHJ1Y3QobnJfYm9zLCBzaXplb2Yo Y21kYnVmLT5ib19tYXBbMF0pLAogCQkJCSBzaXplb2YoKmNtZGJ1ZikpOwogCWludCBncmFudWxl X29mZnMsIG9yZGVyLCByZXQ7CkBAIC0xMDAsMTIgKzk5LDYgQEAgZXRuYXZpdl9jbWRidWZfbmV3 KHN0cnVjdCBldG5hdml2X2NtZGJ1Zl9zdWJhbGxvYyAqc3ViYWxsb2MsIHUzMiBzaXplLAogCWlm ICghY21kYnVmKQogCQlyZXR1cm4gTlVMTDsKIAotCXN6ID0gc2l6ZW9mKCpwbXJzKSAqIG5yX3Bt cnM7Ci0JcG1ycyA9IGt6YWxsb2Moc3osIEdGUF9LRVJORUwpOwotCWlmICghcG1ycykKLQkJZ290 byBvdXRfZnJlZV9jbWRidWY7Ci0KLQljbWRidWYtPnBtcnMgPSBwbXJzOwogCWNtZGJ1Zi0+c3Vi YWxsb2MgPSBzdWJhbGxvYzsKIAljbWRidWYtPnNpemUgPSBzaXplOwogCkBAIC0xMzIsMTAgKzEy NSw2IEBAIGV0bmF2aXZfY21kYnVmX25ldyhzdHJ1Y3QgZXRuYXZpdl9jbWRidWZfc3ViYWxsb2Mg KnN1YmFsbG9jLCB1MzIgc2l6ZSwKIAljbWRidWYtPnZhZGRyID0gc3ViYWxsb2MtPnZhZGRyICsg Y21kYnVmLT5zdWJhbGxvY19vZmZzZXQ7CiAKIAlyZXR1cm4gY21kYnVmOwotCi1vdXRfZnJlZV9j bWRidWY6Ci0Ja2ZyZWUoY21kYnVmKTsKLQlyZXR1cm4gTlVMTDsKIH0KIAogdm9pZCBldG5hdml2 X2NtZGJ1Zl9mcmVlKHN0cnVjdCBldG5hdml2X2NtZGJ1ZiAqY21kYnVmKQpAQCAtMTUxLDcgKzE0 MCw2IEBAIHZvaWQgZXRuYXZpdl9jbWRidWZfZnJlZShzdHJ1Y3QgZXRuYXZpdl9jbWRidWYgKmNt ZGJ1ZikKIAlzdWJhbGxvYy0+ZnJlZV9zcGFjZSA9IDE7CiAJbXV0ZXhfdW5sb2NrKCZzdWJhbGxv Yy0+bG9jayk7CiAJd2FrZV91cF9hbGwoJnN1YmFsbG9jLT5mcmVlX2V2ZW50KTsKLQlrZnJlZShj bWRidWYtPnBtcnMpOwogCWtmcmVlKGNtZGJ1Zik7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9ldG5hdml2L2V0bmF2aXZfY21kYnVmLmggYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZp di9ldG5hdml2X2NtZGJ1Zi5oCmluZGV4IGI2MzQ4YjlmMmE5ZC4uOTMwYjljN2YyMjQ5IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2NtZGJ1Zi5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfY21kYnVmLmgKQEAgLTM5LDkgKzM5LDYgQEAg c3RydWN0IGV0bmF2aXZfY21kYnVmIHsKIAl1MzIgZXhlY19zdGF0ZTsKIAkvKiBwZXIgR1BVIGlu LWZsaWdodCBsaXN0ICovCiAJc3RydWN0IGxpc3RfaGVhZCBub2RlOwotCS8qIHBlcmZtb24gcmVx dWVzdHMgKi8KLQl1bnNpZ25lZCBpbnQgbnJfcG1yczsKLQlzdHJ1Y3QgZXRuYXZpdl9wZXJmbW9u X3JlcXVlc3QgKnBtcnM7CiAJLyogQk9zIGF0dGFjaGVkIHRvIHRoaXMgY29tbWFuZCBidWZmZXIg Ki8KIAl1bnNpZ25lZCBpbnQgbnJfYm9zOwogCXN0cnVjdCBldG5hdml2X3ZyYW1fbWFwcGluZyAq Ym9fbWFwWzBdOwpAQCAtNTMsNyArNTAsNyBAQCB2b2lkIGV0bmF2aXZfY21kYnVmX3N1YmFsbG9j X2Rlc3Ryb3koc3RydWN0IGV0bmF2aXZfY21kYnVmX3N1YmFsbG9jICpzdWJhbGxvYyk7CiAKIHN0 cnVjdCBldG5hdml2X2NtZGJ1ZiAqCiBldG5hdml2X2NtZGJ1Zl9uZXcoc3RydWN0IGV0bmF2aXZf Y21kYnVmX3N1YmFsbG9jICpzdWJhbGxvYywgdTMyIHNpemUsCi0JCSAgIHNpemVfdCBucl9ib3Ms IHNpemVfdCBucl9wbXJzKTsKKwkJICAgc2l6ZV90IG5yX2Jvcyk7CiB2b2lkIGV0bmF2aXZfY21k YnVmX2ZyZWUoc3RydWN0IGV0bmF2aXZfY21kYnVmICpjbWRidWYpOwogCiB1MzIgZXRuYXZpdl9j bWRidWZfZ2V0X3ZhKHN0cnVjdCBldG5hdml2X2NtZGJ1ZiAqYnVmKTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2VtLmggYi9kcml2ZXJzL2dwdS9kcm0vZXRu YXZpdi9ldG5hdml2X2dlbS5oCmluZGV4IDQyMzhmOGQ4NTQxZC4uZjUyNWZkMWVmNjNjIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbS5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2VtLmgKQEAgLTk3LDE0ICs5NywxNSBAQCBzdHJ1 Y3QgZXRuYXZpdl9nZW1fc3VibWl0X2JvIHsKIAogLyogQ3JlYXRlZCBwZXIgc3VibWl0LWlvY3Rs LCB0byB0cmFjayBibydzIGFuZCBjbWRzdHJlYW0gYnVmcywgZXRjLAogICogYXNzb2NpYXRlZCB3 aXRoIHRoZSBjbWRzdHJlYW0gc3VibWlzc2lvbiBmb3Igc3luY2hyb25pemF0aW9uIChhbmQKLSAq IG1ha2UgaXQgZWFzaWVyIHRvIHVud2luZCB3aGVuIHRoaW5ncyBnbyB3cm9uZywgZXRjKS4gIFRo aXMgb25seQotICogbGFzdHMgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgc3VibWl0LWlvY3RsLgor ICogbWFrZSBpdCBlYXNpZXIgdG8gdW53aW5kIHdoZW4gdGhpbmdzIGdvIHdyb25nLCBldGMpLgog ICovCiBzdHJ1Y3QgZXRuYXZpdl9nZW1fc3VibWl0IHsKIAlzdHJ1Y3Qga3JlZiByZWZjb3VudDsK IAlzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdTsKIAlzdHJ1Y3QgZG1hX2ZlbmNlICpvdXRfZmVuY2Us ICppbl9mZW5jZTsKIAl1MzIgZmxhZ3M7CisJdW5zaWduZWQgaW50IG5yX3BtcnM7CisJc3RydWN0 IGV0bmF2aXZfcGVyZm1vbl9yZXF1ZXN0ICpwbXJzOwogCXVuc2lnbmVkIGludCBucl9ib3M7CiAJ c3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdF9ibyBib3NbMF07CiAJLyogTm8gbmV3IG1lbWJlcnMg aGVyZSwgdGhlIHByZXZpb3VzIG9uZSBpcyB2YXJpYWJsZS1sZW5ndGghICovCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbV9zdWJtaXQuYyBiL2RyaXZlcnMv Z3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2VtX3N1Ym1pdC5jCmluZGV4IDliNDQzNmMzODBlYS4u YzhjNTc2OTkzYzYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2 X2dlbV9zdWJtaXQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbV9z dWJtaXQuYwpAQCAtMzMsMTUgKzMzLDIzIEBACiAjZGVmaW5lIEJPX1BJTk5FRCAgIDB4MjAwMAog CiBzdGF0aWMgc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdCAqc3VibWl0X2NyZWF0ZShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAotCQlzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSwgc2l6ZV90IG5yKQor CQlzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSwgc2l6ZV90IG5yX2Jvcywgc2l6ZV90IG5yX3BtcnMp CiB7CiAJc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdCAqc3VibWl0OwotCXNpemVfdCBzeiA9IHNp emVfdnN0cnVjdChuciwgc2l6ZW9mKHN1Ym1pdC0+Ym9zWzBdKSwgc2l6ZW9mKCpzdWJtaXQpKTsK KwlzaXplX3Qgc3ogPSBzaXplX3ZzdHJ1Y3QobnJfYm9zLCBzaXplb2Yoc3VibWl0LT5ib3NbMF0p LCBzaXplb2YoKnN1Ym1pdCkpOwogCiAJc3VibWl0ID0ga3phbGxvYyhzeiwgR0ZQX0tFUk5FTCk7 CiAJaWYgKCFzdWJtaXQpCiAJCXJldHVybiBOVUxMOwogCisJc3VibWl0LT5wbXJzID0ga2NhbGxv Yyhucl9wbXJzLCBzaXplb2Yoc3RydWN0IGV0bmF2aXZfcGVyZm1vbl9yZXF1ZXN0KSwKKwkJCSAg ICAgICBHRlBfS0VSTkVMKTsKKwlpZiAoIXN1Ym1pdC0+cG1ycykgeworCQlrZnJlZShzdWJtaXQp OworCQlyZXR1cm4gTlVMTDsKKwl9CisJc3VibWl0LT5ucl9wbXJzID0gbnJfcG1yczsKKwogCXN1 Ym1pdC0+Z3B1ID0gZ3B1OwogCWtyZWZfaW5pdCgmc3VibWl0LT5yZWZjb3VudCk7CiAKQEAgLTI5 NSwxMyArMzAzLDExIEBAIHN0YXRpYyBpbnQgc3VibWl0X3JlbG9jKHN0cnVjdCBldG5hdml2X2dl bV9zdWJtaXQgKnN1Ym1pdCwgdm9pZCAqc3RyZWFtLAogfQogCiBzdGF0aWMgaW50IHN1Ym1pdF9w ZXJmbW9uX3ZhbGlkYXRlKHN0cnVjdCBldG5hdml2X2dlbV9zdWJtaXQgKnN1Ym1pdCwKLQkJc3Ry dWN0IGV0bmF2aXZfY21kYnVmICpjbWRidWYsCi0JCWNvbnN0IHN0cnVjdCBkcm1fZXRuYXZpdl9n ZW1fc3VibWl0X3BtciAqcG1ycywKLQkJdTMyIG5yX3BtcykKKwkJdTMyIGV4ZWNfc3RhdGUsIGNv bnN0IHN0cnVjdCBkcm1fZXRuYXZpdl9nZW1fc3VibWl0X3BtciAqcG1ycykKIHsKIAl1MzIgaTsK IAotCWZvciAoaSA9IDA7IGkgPCBucl9wbXM7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBzdWJt aXQtPm5yX3BtcnM7IGkrKykgewogCQljb25zdCBzdHJ1Y3QgZHJtX2V0bmF2aXZfZ2VtX3N1Ym1p dF9wbXIgKnIgPSBwbXJzICsgaTsKIAkJc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdF9ibyAqYm87 CiAJCWludCByZXQ7CkBAIC0zMjYsMTcgKzMzMiwxNyBAQCBzdGF0aWMgaW50IHN1Ym1pdF9wZXJm bW9uX3ZhbGlkYXRlKHN0cnVjdCBldG5hdml2X2dlbV9zdWJtaXQgKnN1Ym1pdCwKIAkJCXJldHVy biAtRUlOVkFMOwogCQl9CiAKLQkJaWYgKGV0bmF2aXZfcG1fcmVxX3ZhbGlkYXRlKHIsIGNtZGJ1 Zi0+ZXhlY19zdGF0ZSkpIHsKKwkJaWYgKGV0bmF2aXZfcG1fcmVxX3ZhbGlkYXRlKHIsIGV4ZWNf c3RhdGUpKSB7CiAJCQlEUk1fRVJST1IoInBlcmZtb24gcmVxdWVzdDogZG9tYWluIG9yIHNpZ25h bCBub3QgdmFsaWQiKTsKIAkJCXJldHVybiAtRUlOVkFMOwogCQl9CiAKLQkJY21kYnVmLT5wbXJz W2ldLmZsYWdzID0gci0+ZmxhZ3M7Ci0JCWNtZGJ1Zi0+cG1yc1tpXS5kb21haW4gPSByLT5kb21h aW47Ci0JCWNtZGJ1Zi0+cG1yc1tpXS5zaWduYWwgPSByLT5zaWduYWw7Ci0JCWNtZGJ1Zi0+cG1y c1tpXS5zZXF1ZW5jZSA9IHItPnNlcXVlbmNlOwotCQljbWRidWYtPnBtcnNbaV0ub2Zmc2V0ID0g ci0+cmVhZF9vZmZzZXQ7Ci0JCWNtZGJ1Zi0+cG1yc1tpXS5ib192bWEgPSBldG5hdml2X2dlbV92 bWFwKCZiby0+b2JqLT5iYXNlKTsKKwkJc3VibWl0LT5wbXJzW2ldLmZsYWdzID0gci0+ZmxhZ3M7 CisJCXN1Ym1pdC0+cG1yc1tpXS5kb21haW4gPSByLT5kb21haW47CisJCXN1Ym1pdC0+cG1yc1tp XS5zaWduYWwgPSByLT5zaWduYWw7CisJCXN1Ym1pdC0+cG1yc1tpXS5zZXF1ZW5jZSA9IHItPnNl cXVlbmNlOworCQlzdWJtaXQtPnBtcnNbaV0ub2Zmc2V0ID0gci0+cmVhZF9vZmZzZXQ7CisJCXN1 Ym1pdC0+cG1yc1tpXS5ib192bWEgPSBldG5hdml2X2dlbV92bWFwKCZiby0+b2JqLT5iYXNlKTsK IAl9CiAKIAlyZXR1cm4gMDsKQEAgLTM2Nyw2ICszNzMsNyBAQCBzdGF0aWMgdm9pZCBzdWJtaXRf Y2xlYW51cChzdHJ1Y3Qga3JlZiAqa3JlZikKIAkJZG1hX2ZlbmNlX3B1dChzdWJtaXQtPmluX2Zl bmNlKTsKIAlpZiAoc3VibWl0LT5vdXRfZmVuY2UpCiAJCWRtYV9mZW5jZV9wdXQoc3VibWl0LT5v dXRfZmVuY2UpOworCWtmcmVlKHN1Ym1pdC0+cG1ycyk7CiAJa2ZyZWUoc3VibWl0KTsKIH0KIApA QCAtNDI3LDcgKzQzNCw3IEBAIGludCBldG5hdml2X2lvY3RsX2dlbV9zdWJtaXQoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAlzdHJlYW0gPSBrdm1hbGxvY19hcnJheSgxLCBh cmdzLT5zdHJlYW1fc2l6ZSwgR0ZQX0tFUk5FTCk7CiAJY21kYnVmID0gZXRuYXZpdl9jbWRidWZf bmV3KGdwdS0+Y21kYnVmX3N1YmFsbG9jLAogCQkJCSAgICBBTElHTihhcmdzLT5zdHJlYW1fc2l6 ZSwgOCkgKyA4LAotCQkJCSAgICBhcmdzLT5ucl9ib3MsIGFyZ3MtPm5yX3BtcnMpOworCQkJCSAg ICBhcmdzLT5ucl9ib3MpOwogCWlmICghYm9zIHx8ICFyZWxvY3MgfHwgIXBtcnMgfHwgIXN0cmVh bSB8fCAhY21kYnVmKSB7CiAJCXJldCA9IC1FTk9NRU07CiAJCWdvdG8gZXJyX3N1Ym1pdF9jbWRz OwpAQCAtNDU2LDcgKzQ2Myw2IEBAIGludCBldG5hdml2X2lvY3RsX2dlbV9zdWJtaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJcmV0ID0gLUVGQVVMVDsKIAkJZ290byBl cnJfc3VibWl0X2NtZHM7CiAJfQotCWNtZGJ1Zi0+bnJfcG1ycyA9IGFyZ3MtPm5yX3BtcnM7CiAK IAlyZXQgPSBjb3B5X2Zyb21fdXNlcihzdHJlYW0sIHU2NF90b191c2VyX3B0cihhcmdzLT5zdHJl YW0pLAogCQkJICAgICBhcmdzLT5zdHJlYW1fc2l6ZSk7CkBAIC00NzUsNyArNDgxLDcgQEAgaW50 IGV0bmF2aXZfaW9jdGxfZ2VtX3N1Ym1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpk YXRhLAogCiAJd3dfYWNxdWlyZV9pbml0KCZ0aWNrZXQsICZyZXNlcnZhdGlvbl93d19jbGFzcyk7 CiAKLQlzdWJtaXQgPSBzdWJtaXRfY3JlYXRlKGRldiwgZ3B1LCBhcmdzLT5ucl9ib3MpOworCXN1 Ym1pdCA9IHN1Ym1pdF9jcmVhdGUoZGV2LCBncHUsIGFyZ3MtPm5yX2JvcywgYXJncy0+bnJfcG1y cyk7CiAJaWYgKCFzdWJtaXQpIHsKIAkJcmV0ID0gLUVOT01FTTsKIAkJZ290byBlcnJfc3VibWl0 X3d3X2FjcXVpcmU7CkBAIC01MTgsNyArNTI0LDcgQEAgaW50IGV0bmF2aXZfaW9jdGxfZ2VtX3N1 Ym1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCWlmIChyZXQpCiAJCWdv dG8gZXJyX3N1Ym1pdF9vYmplY3RzOwogCi0JcmV0ID0gc3VibWl0X3BlcmZtb25fdmFsaWRhdGUo c3VibWl0LCBjbWRidWYsIHBtcnMsIGFyZ3MtPm5yX3BtcnMpOworCXJldCA9IHN1Ym1pdF9wZXJm bW9uX3ZhbGlkYXRlKHN1Ym1pdCwgYXJncy0+ZXhlY19zdGF0ZSwgcG1ycyk7CiAJaWYgKHJldCkK IAkJZ290byBlcnJfc3VibWl0X29iamVjdHM7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9ldG5hdml2L2V0bmF2aXZfZ3B1LmMgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2 X2dwdS5jCmluZGV4IDJmMDliNzQ2NDM5ZS4uNjk1MWJhNTYwNTczIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dwdS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9l dG5hdml2L2V0bmF2aXZfZ3B1LmMKQEAgLTcxNyw3ICs3MTcsNyBAQCBpbnQgZXRuYXZpdl9ncHVf aW5pdChzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSkKIAl9CiAKIAkvKiBDcmVhdGUgYnVmZmVyOiAq LwotCWdwdS0+YnVmZmVyID0gZXRuYXZpdl9jbWRidWZfbmV3KGdwdS0+Y21kYnVmX3N1YmFsbG9j LCBQQUdFX1NJWkUsIDAsIDApOworCWdwdS0+YnVmZmVyID0gZXRuYXZpdl9jbWRidWZfbmV3KGdw dS0+Y21kYnVmX3N1YmFsbG9jLCBQQUdFX1NJWkUsIDApOwogCWlmICghZ3B1LT5idWZmZXIpIHsK IAkJcmV0ID0gLUVOT01FTTsKIAkJZGV2X2VycihncHUtPmRldiwgImNvdWxkIG5vdCBjcmVhdGUg Y29tbWFuZCBidWZmZXJcbiIpOwpAQCAtMTMxNywxMSArMTMxNywxMSBAQCB2b2lkIGV0bmF2aXZf Z3B1X3BtX3B1dChzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSkKIHN0YXRpYyB2b2lkIHN5bmNfcG9p bnRfcGVyZm1vbl9zYW1wbGUoc3RydWN0IGV0bmF2aXZfZ3B1ICpncHUsCiAJc3RydWN0IGV0bmF2 aXZfZXZlbnQgKmV2ZW50LCB1bnNpZ25lZCBpbnQgZmxhZ3MpCiB7Ci0JY29uc3Qgc3RydWN0IGV0 bmF2aXZfY21kYnVmICpjbWRidWYgPSBldmVudC0+Y21kYnVmOworCWNvbnN0IHN0cnVjdCBldG5h dml2X2dlbV9zdWJtaXQgKnN1Ym1pdCA9IGV2ZW50LT5zdWJtaXQ7CiAJdW5zaWduZWQgaW50IGk7 CiAKLQlmb3IgKGkgPSAwOyBpIDwgY21kYnVmLT5ucl9wbXJzOyBpKyspIHsKLQkJY29uc3Qgc3Ry dWN0IGV0bmF2aXZfcGVyZm1vbl9yZXF1ZXN0ICpwbXIgPSBjbWRidWYtPnBtcnMgKyBpOworCWZv ciAoaSA9IDA7IGkgPCBzdWJtaXQtPm5yX3BtcnM7IGkrKykgeworCQljb25zdCBzdHJ1Y3QgZXRu YXZpdl9wZXJmbW9uX3JlcXVlc3QgKnBtciA9IHN1Ym1pdC0+cG1ycyArIGk7CiAKIAkJaWYgKHBt ci0+ZmxhZ3MgPT0gZmxhZ3MpCiAJCQlldG5hdml2X3BlcmZtb25fcHJvY2VzcyhncHUsIHBtcik7 CkBAIC0xMzQ5LDE0ICsxMzQ5LDE0IEBAIHN0YXRpYyB2b2lkIHN5bmNfcG9pbnRfcGVyZm1vbl9z YW1wbGVfcHJlKHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1LAogc3RhdGljIHZvaWQgc3luY19wb2lu dF9wZXJmbW9uX3NhbXBsZV9wb3N0KHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1LAogCXN0cnVjdCBl dG5hdml2X2V2ZW50ICpldmVudCkKIHsKLQljb25zdCBzdHJ1Y3QgZXRuYXZpdl9jbWRidWYgKmNt ZGJ1ZiA9IGV2ZW50LT5jbWRidWY7CisJY29uc3Qgc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdCAq c3VibWl0ID0gZXZlbnQtPnN1Ym1pdDsKIAl1bnNpZ25lZCBpbnQgaTsKIAl1MzIgdmFsOwogCiAJ c3luY19wb2ludF9wZXJmbW9uX3NhbXBsZShncHUsIGV2ZW50LCBFVE5BX1BNX1BST0NFU1NfUE9T VCk7CiAKLQlmb3IgKGkgPSAwOyBpIDwgY21kYnVmLT5ucl9wbXJzOyBpKyspIHsKLQkJY29uc3Qg c3RydWN0IGV0bmF2aXZfcGVyZm1vbl9yZXF1ZXN0ICpwbXIgPSBjbWRidWYtPnBtcnMgKyBpOwor CWZvciAoaSA9IDA7IGkgPCBzdWJtaXQtPm5yX3BtcnM7IGkrKykgeworCQljb25zdCBzdHJ1Y3Qg ZXRuYXZpdl9wZXJmbW9uX3JlcXVlc3QgKnBtciA9IHN1Ym1pdC0+cG1ycyArIGk7CiAKIAkJKnBt ci0+Ym9fdm1hID0gcG1yLT5zZXF1ZW5jZTsKIAl9CkBAIC0xMzkyLDcgKzEzOTIsNyBAQCBpbnQg ZXRuYXZpdl9ncHVfc3VibWl0KHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1LAogCSAqIC0gYSBzeW5j IHBvaW50IHRvIHJlLWNvbmZpZ3VyZSBncHUsIHByb2Nlc3MgRVROQV9QTV9QUk9DRVNTX1BPU1Qg cmVxdWVzdHMKIAkgKiAgIGFuZCB1cGRhdGUgdGhlIHNlcXVlbmNlIG51bWJlciBmb3IgdXNlcnNw YWNlLgogCSAqLwotCWlmIChjbWRidWYtPm5yX3BtcnMpCisJaWYgKHN1Ym1pdC0+bnJfcG1ycykK IAkJbnJfZXZlbnRzID0gMzsKIAogCXJldCA9IGV2ZW50X2FsbG9jKGdwdSwgbnJfZXZlbnRzLCBl dmVudCk7CkBAIC0xNDE2LDE3ICsxNDE2LDE5IEBAIGludCBldG5hdml2X2dwdV9zdWJtaXQoc3Ry dWN0IGV0bmF2aXZfZ3B1ICpncHUsCiAJc3VibWl0LT5vdXRfZmVuY2UgPSBkbWFfZmVuY2VfZ2V0 KGZlbmNlKTsKIAlncHUtPmFjdGl2ZV9mZW5jZSA9IHN1Ym1pdC0+b3V0X2ZlbmNlLT5zZXFubzsK IAotCWlmIChjbWRidWYtPm5yX3BtcnMpIHsKKwlpZiAoc3VibWl0LT5ucl9wbXJzKSB7CiAJCWdw dS0+ZXZlbnRbZXZlbnRbMV1dLnN5bmNfcG9pbnQgPSAmc3luY19wb2ludF9wZXJmbW9uX3NhbXBs ZV9wcmU7Ci0JCWdwdS0+ZXZlbnRbZXZlbnRbMV1dLmNtZGJ1ZiA9IGNtZGJ1ZjsKKwkJa3JlZl9n ZXQoJnN1Ym1pdC0+cmVmY291bnQpOworCQlncHUtPmV2ZW50W2V2ZW50WzFdXS5zdWJtaXQgPSBz dWJtaXQ7CiAJCWV0bmF2aXZfc3luY19wb2ludF9xdWV1ZShncHUsIGV2ZW50WzFdKTsKIAl9CiAK IAlldG5hdml2X2J1ZmZlcl9xdWV1ZShncHUsIGV2ZW50WzBdLCBjbWRidWYpOwogCi0JaWYgKGNt ZGJ1Zi0+bnJfcG1ycykgeworCWlmIChzdWJtaXQtPm5yX3BtcnMpIHsKIAkJZ3B1LT5ldmVudFtl dmVudFsyXV0uc3luY19wb2ludCA9ICZzeW5jX3BvaW50X3BlcmZtb25fc2FtcGxlX3Bvc3Q7Ci0J CWdwdS0+ZXZlbnRbZXZlbnRbMl1dLmNtZGJ1ZiA9IGNtZGJ1ZjsKKwkJa3JlZl9nZXQoJnN1Ym1p dC0+cmVmY291bnQpOworCQlncHUtPmV2ZW50W2V2ZW50WzJdXS5zdWJtaXQgPSBzdWJtaXQ7CiAJ CWV0bmF2aXZfc3luY19wb2ludF9xdWV1ZShncHUsIGV2ZW50WzJdKTsKIAl9CiAKQEAgLTE0NjUs NiArMTQ2Nyw3IEBAIHN0YXRpYyB2b2lkIHN5bmNfcG9pbnRfd29ya2VyKHN0cnVjdCB3b3JrX3N0 cnVjdCAqd29yaykKIAl1MzIgYWRkciA9IGdwdV9yZWFkKGdwdSwgVklWU19GRV9ETUFfQUREUkVT Uyk7CiAKIAlldmVudC0+c3luY19wb2ludChncHUsIGV2ZW50KTsKKwlldG5hdml2X3N1Ym1pdF9w dXQoZXZlbnQtPnN1Ym1pdCk7CiAJZXZlbnRfZnJlZShncHUsIGdwdS0+c3luY19wb2ludF9ldmVu dCk7CiAKIAkvKiByZXN0YXJ0IEZFIGxhc3QgdG8gYXZvaWQgR1BVIGFuZCBJUlEgcmFjaW5nIGFn YWluc3QgdGhpcyB3b3JrZXIgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2 L2V0bmF2aXZfZ3B1LmggYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dwdS5oCmlu ZGV4IGNjZWY2MTM5Y2Y3MC4uZWVhODIzODM4YjVmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vZXRuYXZpdi9ldG5hdml2X2dwdS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0 bmF2aXZfZ3B1LmgKQEAgLTg5LDcgKzg5LDcgQEAgc3RydWN0IGV0bmF2aXZfY2hpcF9pZGVudGl0 eSB7CiAKIHN0cnVjdCBldG5hdml2X2V2ZW50IHsKIAlzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZTsK LQlzdHJ1Y3QgZXRuYXZpdl9jbWRidWYgKmNtZGJ1ZjsKKwlzdHJ1Y3QgZXRuYXZpdl9nZW1fc3Vi bWl0ICpzdWJtaXQ7CiAKIAl2b2lkICgqc3luY19wb2ludCkoc3RydWN0IGV0bmF2aXZfZ3B1ICpn cHUsIHN0cnVjdCBldG5hdml2X2V2ZW50ICpldmVudCk7CiB9OwotLSAKMi4xMS4wCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK