From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Stach Subject: [PATCH 47/48] staging: etnaviv: don't use GEM buffer for internal ring buffer Date: Fri, 25 Sep 2015 13:57:59 +0200 Message-ID: <1443182280-15868-48-git-send-email-l.stach@pengutronix.de> References: <20150916080435.GA21084@n2100.arm.linux.org.uk> <1443182280-15868-1-git-send-email-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.4.pengutronix.de [92.198.50.35]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8541E6F096 for ; Fri, 25 Sep 2015 04:58:05 -0700 (PDT) In-Reply-To: <1443182280-15868-1-git-send-email-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: Russell King , Christian Gmeiner Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SW5zdGVhZCBvZiB1c2luZyBhIEdFTSBidWZmZXIgZm9yIHRoZSBrZXJuZWwgaW50ZXJuYWwgcmlu ZyBidWZmZXIKdXNlIHRoZSBuZXdseSBpbnRyb2R1Y2VkIGNtZGJ1ZiBvYmplY3QuIFRoaXMgcmVt b3ZlcyB0aGUgbGFzdCByZW1haW5pbmcKdXNlciBvZiB0aGUgQ01EU1RSRUFNIEdFTSBmbGFnLgoK U2lnbmVkLW9mZi1ieTogTHVjYXMgU3RhY2ggPGwuc3RhY2hAcGVuZ3V0cm9uaXguZGU+Ci0tLQog ZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYvZXRuYXZpdl9idWZmZXIuYyB8IDkwICsrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2X2Ry di5jICAgIHwgIDggKy0tCiBkcml2ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2X2dwdS5jICAg IHwgMTMgKysrLS0KIGRyaXZlcnMvc3RhZ2luZy9ldG5hdml2L2V0bmF2aXZfZ3B1LmggICAgfCAg NCArLQogNCBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspLCA2MiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2X2J1ZmZlci5jIGIv ZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYvZXRuYXZpdl9idWZmZXIuYwppbmRleCA3NmM2NDYwNzZi MDUuLjU4NmY4NDMxNmYxYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYvZXRu YXZpdl9idWZmZXIuYworKysgYi9kcml2ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2X2J1ZmZl ci5jCkBAIC0yOCwyMSArMjgsMjIgQEAKICAqLwogCiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBPVVQo c3RydWN0IGV0bmF2aXZfZ2VtX29iamVjdCAqYnVmZmVyLCB1MzIgZGF0YSkKK3N0YXRpYyBpbmxp bmUgdm9pZCBPVVQoc3RydWN0IGV0bmF2aXZfY21kYnVmICpidWZmZXIsIHUzMiBkYXRhKQogewog CXUzMiAqdmFkZHIgPSAodTMyICopYnVmZmVyLT52YWRkcjsKIAotCUJVR19PTihidWZmZXItPm9m ZnNldCA+PSBidWZmZXItPmJhc2Uuc2l6ZSAvIHNpemVvZigqdmFkZHIpKTsKKwlCVUdfT04oYnVm ZmVyLT51c2VyX3NpemUgPj0gYnVmZmVyLT5zaXplKTsKIAotCXZhZGRyW2J1ZmZlci0+b2Zmc2V0 KytdID0gZGF0YTsKKwl2YWRkcltidWZmZXItPnVzZXJfc2l6ZSAvIDRdID0gZGF0YTsKKwlidWZm ZXItPnVzZXJfc2l6ZSArPSA0OwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgQ01EX0xPQURfU1RB VEUoc3RydWN0IGV0bmF2aXZfZ2VtX29iamVjdCAqYnVmZmVyLAorc3RhdGljIGlubGluZSB2b2lk IENNRF9MT0FEX1NUQVRFKHN0cnVjdCBldG5hdml2X2NtZGJ1ZiAqYnVmZmVyLAogCXUzMiByZWcs IHUzMiB2YWx1ZSkKIHsKIAl1MzIgaW5kZXggPSByZWcgPj4gVklWX0ZFX0xPQURfU1RBVEVfSEVB REVSX09GRlNFVF9fU0hSOwogCi0JYnVmZmVyLT5vZmZzZXQgPSBBTElHTihidWZmZXItPm9mZnNl dCwgMik7CisJYnVmZmVyLT51c2VyX3NpemUgPSBBTElHTihidWZmZXItPnVzZXJfc2l6ZSwgOCk7 CiAKIAkvKiB3cml0ZSBhIHJlZ2lzdGVyIHZpYSBjbWQgc3RyZWFtICovCiAJT1VUKGJ1ZmZlciwg VklWX0ZFX0xPQURfU1RBVEVfSEVBREVSX09QX0xPQURfU1RBVEUgfApAQCAtNTEsNDAgKzUyLDQw IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBDTURfTE9BRF9TVEFURShzdHJ1Y3QgZXRuYXZpdl9nZW1f b2JqZWN0ICpidWZmZXIsCiAJT1VUKGJ1ZmZlciwgdmFsdWUpOwogfQogCi1zdGF0aWMgaW5saW5l IHZvaWQgQ01EX0VORChzdHJ1Y3QgZXRuYXZpdl9nZW1fb2JqZWN0ICpidWZmZXIpCitzdGF0aWMg aW5saW5lIHZvaWQgQ01EX0VORChzdHJ1Y3QgZXRuYXZpdl9jbWRidWYgKmJ1ZmZlcikKIHsKLQli dWZmZXItPm9mZnNldCA9IEFMSUdOKGJ1ZmZlci0+b2Zmc2V0LCAyKTsKKwlidWZmZXItPnVzZXJf c2l6ZSA9IEFMSUdOKGJ1ZmZlci0+dXNlcl9zaXplLCA4KTsKIAogCU9VVChidWZmZXIsIFZJVl9G RV9FTkRfSEVBREVSX09QX0VORCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBDTURfV0FJVChz dHJ1Y3QgZXRuYXZpdl9nZW1fb2JqZWN0ICpidWZmZXIpCitzdGF0aWMgaW5saW5lIHZvaWQgQ01E X1dBSVQoc3RydWN0IGV0bmF2aXZfY21kYnVmICpidWZmZXIpCiB7Ci0JYnVmZmVyLT5vZmZzZXQg PSBBTElHTihidWZmZXItPm9mZnNldCwgMik7CisJYnVmZmVyLT51c2VyX3NpemUgPSBBTElHTihi dWZmZXItPnVzZXJfc2l6ZSwgOCk7CiAKIAlPVVQoYnVmZmVyLCBWSVZfRkVfV0FJVF9IRUFERVJf T1BfV0FJVCB8IDIwMCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBDTURfTElOSyhzdHJ1Y3Qg ZXRuYXZpdl9nZW1fb2JqZWN0ICpidWZmZXIsCitzdGF0aWMgaW5saW5lIHZvaWQgQ01EX0xJTkso c3RydWN0IGV0bmF2aXZfY21kYnVmICpidWZmZXIsCiAJdTE2IHByZWZldGNoLCB1MzIgYWRkcmVz cykKIHsKLQlidWZmZXItPm9mZnNldCA9IEFMSUdOKGJ1ZmZlci0+b2Zmc2V0LCAyKTsKKwlidWZm ZXItPnVzZXJfc2l6ZSA9IEFMSUdOKGJ1ZmZlci0+dXNlcl9zaXplLCA4KTsKIAogCU9VVChidWZm ZXIsIFZJVl9GRV9MSU5LX0hFQURFUl9PUF9MSU5LIHwKIAkJICAgIFZJVl9GRV9MSU5LX0hFQURF Ul9QUkVGRVRDSChwcmVmZXRjaCkpOwogCU9VVChidWZmZXIsIGFkZHJlc3MpOwogfQogCi1zdGF0 aWMgaW5saW5lIHZvaWQgQ01EX1NUQUxMKHN0cnVjdCBldG5hdml2X2dlbV9vYmplY3QgKmJ1ZmZl ciwKK3N0YXRpYyBpbmxpbmUgdm9pZCBDTURfU1RBTEwoc3RydWN0IGV0bmF2aXZfY21kYnVmICpi dWZmZXIsCiAJdTMyIGZyb20sIHUzMiB0bykKIHsKLQlidWZmZXItPm9mZnNldCA9IEFMSUdOKGJ1 ZmZlci0+b2Zmc2V0LCAyKTsKKwlidWZmZXItPnVzZXJfc2l6ZSA9IEFMSUdOKGJ1ZmZlci0+dXNl cl9zaXplLCA4KTsKIAogCU9VVChidWZmZXIsIFZJVl9GRV9TVEFMTF9IRUFERVJfT1BfU1RBTEwp OwogCU9VVChidWZmZXIsIFZJVl9GRV9TVEFMTF9UT0tFTl9GUk9NKGZyb20pIHwgVklWX0ZFX1NU QUxMX1RPS0VOX1RPKHRvKSk7CiB9CiAKLXN0YXRpYyB2b2lkIGV0bmF2aXZfY21kX3NlbGVjdF9w aXBlKHN0cnVjdCBldG5hdml2X2dlbV9vYmplY3QgKmJ1ZmZlciwgdTggcGlwZSkKK3N0YXRpYyB2 b2lkIGV0bmF2aXZfY21kX3NlbGVjdF9waXBlKHN0cnVjdCBldG5hdml2X2NtZGJ1ZiAqYnVmZmVy LCB1OCBwaXBlKQogewogCXUzMiBmbHVzaDsKIAl1MzIgc3RhbGw7CkBAIC0xMDYsMjQgKzEwNywx OSBAQCBzdGF0aWMgdm9pZCBldG5hdml2X2NtZF9zZWxlY3RfcGlwZShzdHJ1Y3QgZXRuYXZpdl9n ZW1fb2JqZWN0ICpidWZmZXIsIHU4IHBpcGUpCiAJCSAgICAgICBWSVZTX0dMX1BJUEVfU0VMRUNU X1BJUEUocGlwZSkpOwogfQogCi1zdGF0aWMgdTMyIGdwdV92YShzdHJ1Y3QgZXRuYXZpdl9ncHUg KmdwdSwgc3RydWN0IGV0bmF2aXZfZ2VtX29iamVjdCAqb2JqKQorc3RhdGljIHUzMiBncHVfdmEo c3RydWN0IGV0bmF2aXZfZ3B1ICpncHUsIHN0cnVjdCBldG5hdml2X2NtZGJ1ZiAqYnVmKQogewot CXJldHVybiBvYmotPnBhZGRyIC0gZ3B1LT5tZW1vcnlfYmFzZTsKLX0KLQotc3RhdGljIHUzMiBn cHVfdmFfcmF3KHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1LCB1MzIgcGFkZHIpCi17Ci0JcmV0dXJu IHBhZGRyIC0gZ3B1LT5tZW1vcnlfYmFzZTsKKwlyZXR1cm4gYnVmLT5wYWRkciAtIGdwdS0+bWVt b3J5X2Jhc2U7CiB9CiAKIHN0YXRpYyB2b2lkIGV0bmF2aXZfYnVmZmVyX2R1bXAoc3RydWN0IGV0 bmF2aXZfZ3B1ICpncHUsCi0Jc3RydWN0IGV0bmF2aXZfZ2VtX29iamVjdCAqb2JqLCB1MzIgb2Zm LCB1MzIgbGVuKQorCXN0cnVjdCBldG5hdml2X2NtZGJ1ZiAqYnVmLCB1MzIgb2ZmLCB1MzIgbGVu KQogewotCXUzMiBzaXplID0gb2JqLT5iYXNlLnNpemU7Ci0JdTMyICpwdHIgPSBvYmotPnZhZGRy ICsgb2ZmOworCXUzMiBzaXplID0gYnVmLT5zaXplOworCXUzMiAqcHRyID0gYnVmLT52YWRkciAr IG9mZjsKIAogCWRldl9pbmZvKGdwdS0+ZGV2LCAidmlydCAlcCBwaHlzIDB4JTA4eCBmcmVlIDB4 JTA4eFxuIiwKLQkJCXB0ciwgZ3B1X3ZhKGdwdSwgb2JqKSArIG9mZiwgc2l6ZSAtIGxlbiAqIDQg LSBvZmYpOworCQkJcHRyLCBncHVfdmEoZ3B1LCBidWYpICsgb2ZmLCBzaXplIC0gbGVuICogNCAt IG9mZik7CiAKIAlwcmludF9oZXhfZHVtcChLRVJOX0lORk8sICJjbWQgIiwgRFVNUF9QUkVGSVhf T0ZGU0VULCAxNiwgNCwKIAkJCXB0ciwgbGVuICogNCwgMCk7CkBAIC0xMzEsMjQgKzEyNywyMyBA QCBzdGF0aWMgdm9pZCBldG5hdml2X2J1ZmZlcl9kdW1wKHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1 LAogCiB1MTYgZXRuYXZpdl9idWZmZXJfaW5pdChzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSkKIHsK LQlzdHJ1Y3QgZXRuYXZpdl9nZW1fb2JqZWN0ICpidWZmZXIgPSB0b19ldG5hdml2X2JvKGdwdS0+ YnVmZmVyKTsKKwlzdHJ1Y3QgZXRuYXZpdl9jbWRidWYgKmJ1ZmZlciA9IGdwdS0+YnVmZmVyOwog CiAJLyogaW5pdGlhbGl6ZSBidWZmZXIgKi8KLQlidWZmZXItPm9mZnNldCA9IDA7Ci0JYnVmZmVy LT5pc19yaW5nX2J1ZmZlciA9IHRydWU7CisJYnVmZmVyLT51c2VyX3NpemUgPSAwOwogCiAJQ01E X1dBSVQoYnVmZmVyKTsKLQlDTURfTElOSyhidWZmZXIsIDIsIGdwdV92YShncHUsIGJ1ZmZlcikg KyAoKGJ1ZmZlci0+b2Zmc2V0IC0gMSkgKiA0KSk7CisJQ01EX0xJTksoYnVmZmVyLCAyLCBncHVf dmEoZ3B1LCBidWZmZXIpICsgYnVmZmVyLT51c2VyX3NpemUgLSA0KTsKIAotCXJldHVybiBidWZm ZXItPm9mZnNldCAvIDI7CisJcmV0dXJuIGJ1ZmZlci0+dXNlcl9zaXplIC8gODsKIH0KIAogdm9p ZCBldG5hdml2X2J1ZmZlcl9lbmQoc3RydWN0IGV0bmF2aXZfZ3B1ICpncHUpCiB7Ci0Jc3RydWN0 IGV0bmF2aXZfZ2VtX29iamVjdCAqYnVmZmVyID0gdG9fZXRuYXZpdl9ibyhncHUtPmJ1ZmZlcik7 CisJc3RydWN0IGV0bmF2aXZfY21kYnVmICpidWZmZXIgPSBncHUtPmJ1ZmZlcjsKIAogCS8qIFJl cGxhY2UgdGhlIGxhc3QgV0FJVCB3aXRoIGFuIEVORCAqLwotCWJ1ZmZlci0+b2Zmc2V0IC09IDQ7 CisJYnVmZmVyLT51c2VyX3NpemUgLT0gMTY7CiAKIAlDTURfRU5EKGJ1ZmZlcik7CiAJbWIoKTsK QEAgLTE1Nyw5ICsxNTIsOCBAQCB2b2lkIGV0bmF2aXZfYnVmZmVyX2VuZChzdHJ1Y3QgZXRuYXZp dl9ncHUgKmdwdSkKIHZvaWQgZXRuYXZpdl9idWZmZXJfcXVldWUoc3RydWN0IGV0bmF2aXZfZ3B1 ICpncHUsIHVuc2lnbmVkIGludCBldmVudCwKIAlzdHJ1Y3QgZXRuYXZpdl9nZW1fc3VibWl0ICpz dWJtaXQpCiB7Ci0Jc3RydWN0IGV0bmF2aXZfZ2VtX29iamVjdCAqYnVmZmVyID0gdG9fZXRuYXZp dl9ibyhncHUtPmJ1ZmZlcik7Ci0JdTMyICpsdyA9IGJ1ZmZlci0+dmFkZHIgKyAoKGJ1ZmZlci0+ b2Zmc2V0IC0gNCkgKiA0KTsKLQl1MzIgKnVzZXJjbWQgPSBzdWJtaXQtPmNtZGJ1Zi0+dmFkZHI7 CisJc3RydWN0IGV0bmF2aXZfY21kYnVmICpidWZmZXIgPSBncHUtPmJ1ZmZlcjsKKwl1MzIgKmx3 ID0gYnVmZmVyLT52YWRkciArIGJ1ZmZlci0+dXNlcl9zaXplIC0gMTY7CiAJdTMyIGJhY2ssIGxp bmtfdGFyZ2V0LCBsaW5rX3NpemUsIHJlc2VydmVfc2l6ZSwgZXh0cmFfc2l6ZSA9IDA7CiAKIAlp ZiAoZHJtX2RlYnVnICYgRFJNX1VUX0RSSVZFUikKQEAgLTE4MSwxOCArMTc1LDE3IEBAIHZvaWQg ZXRuYXZpdl9idWZmZXJfcXVldWUoc3RydWN0IGV0bmF2aXZfZ3B1ICpncHUsIHVuc2lnbmVkIGlu dCBldmVudCwKIAkJCWV4dHJhX3NpemUgKz0gODsKIAl9CiAKLQlyZXNlcnZlX3NpemUgPSA2ICsg ZXh0cmFfc2l6ZTsKKwlyZXNlcnZlX3NpemUgPSAoNiArIGV4dHJhX3NpemUpICogNDsKIAogCS8q CiAJICogaWYgd2UgYXJlIGdvaW5nIHRvIGNvbXBsZXRlbHkgb3ZlcmZsb3cgdGhlIGJ1ZmZlciwg d2UgbmVlZCB0byB3cmFwLgogCSAqLwotCWlmIChidWZmZXItPm9mZnNldCArIHJlc2VydmVfc2l6 ZSA+Ci0JICAgIGJ1ZmZlci0+YmFzZS5zaXplIC8gc2l6ZW9mKHUzMikpCi0JCWJ1ZmZlci0+b2Zm c2V0ID0gMDsKKwlpZiAoYnVmZmVyLT51c2VyX3NpemUgKyByZXNlcnZlX3NpemUgPiBidWZmZXIt PnNpemUpCisJCWJ1ZmZlci0+dXNlcl9zaXplID0gMDsKIAogCS8qIHNhdmUgb2Zmc2V0IGJhY2sg aW50byBtYWluIGJ1ZmZlciAqLwotCWJhY2sgPSBidWZmZXItPm9mZnNldCArIHJlc2VydmVfc2l6 ZSAtIDY7Ci0JbGlua190YXJnZXQgPSBncHVfdmEoZ3B1LCBidWZmZXIpICsgYnVmZmVyLT5vZmZz ZXQgKiA0OworCWJhY2sgPSBidWZmZXItPnVzZXJfc2l6ZSArIHJlc2VydmVfc2l6ZSAtIDYgKiA0 OworCWxpbmtfdGFyZ2V0ID0gZ3B1X3ZhKGdwdSwgYnVmZmVyKSArIGJ1ZmZlci0+dXNlcl9zaXpl OwogCWxpbmtfc2l6ZSA9IDY7CiAKIAkvKiBTa2lwIG92ZXIgYW55IGV4dHJhIGluc3RydWN0aW9u cyAqLwpAQCAtMjAwLDE1ICsxOTMsMTMgQEAgdm9pZCBldG5hdml2X2J1ZmZlcl9xdWV1ZShzdHJ1 Y3QgZXRuYXZpdl9ncHUgKmdwdSwgdW5zaWduZWQgaW50IGV2ZW50LAogCiAJaWYgKGRybV9kZWJ1 ZyAmIERSTV9VVF9EUklWRVIpCiAJCXByX2luZm8oInN0cmVhbSBsaW5rIHRvIDB4JTA4eCBAIDB4 JTA4eCAlcFxuIiwKLQkJCWxpbmtfdGFyZ2V0LCBncHVfdmFfcmF3KGdwdSwgc3VibWl0LT5jbWRi dWYtPnBhZGRyKSwKKwkJCWxpbmtfdGFyZ2V0LCBncHVfdmEoZ3B1LCBzdWJtaXQtPmNtZGJ1Ziks CiAJCQlzdWJtaXQtPmNtZGJ1Zi0+dmFkZHIpOwogCiAJLyoganVtcCBiYWNrIGZyb20gY21kIHRv IG1haW4gYnVmZmVyICovCi0JdXNlcmNtZFtzdWJtaXQtPmNtZGJ1Zi0+dXNlcl9zaXplLzRdID0g VklWX0ZFX0xJTktfSEVBREVSX09QX0xJTksgfAotCQkJCSAgICBWSVZfRkVfTElOS19IRUFERVJf UFJFRkVUQ0gobGlua19zaXplKTsKLQl1c2VyY21kW3N1Ym1pdC0+Y21kYnVmLT51c2VyX3NpemUv NCArIDFdID0gbGlua190YXJnZXQ7CisJQ01EX0xJTksoc3VibWl0LT5jbWRidWYsIGxpbmtfc2l6 ZSwgbGlua190YXJnZXQpOwogCi0JbGlua190YXJnZXQgPSBncHVfdmFfcmF3KGdwdSwgc3VibWl0 LT5jbWRidWYtPnBhZGRyKTsKKwlsaW5rX3RhcmdldCA9IGdwdV92YShncHUsIHN1Ym1pdC0+Y21k YnVmKTsKIAlsaW5rX3NpemUgPSBzdWJtaXQtPmNtZGJ1Zi0+c2l6ZSAvIDg7CiAKIApAQCAtMjIw LDEzICsyMTEsMTIgQEAgdm9pZCBldG5hdml2X2J1ZmZlcl9xdWV1ZShzdHJ1Y3QgZXRuYXZpdl9n cHUgKmdwdSwgdW5zaWduZWQgaW50IGV2ZW50LAogCQlwcl9pbmZvKCJsaW5rIG9wOiAlcFxuIiwg bHcpOwogCQlwcl9pbmZvKCJsaW5rIGFkZHI6ICVwXG4iLCBsdyArIDEpOwogCQlwcl9pbmZvKCJh ZGRyOiAweCUwOHhcbiIsIGxpbmtfdGFyZ2V0KTsKLQkJcHJfaW5mbygiYmFjazogMHglMDh4XG4i LCBncHVfdmEoZ3B1LCBidWZmZXIpICsgKGJhY2sgKiA0KSk7CisJCXByX2luZm8oImJhY2s6IDB4 JTA4eFxuIiwgZ3B1X3ZhKGdwdSwgYnVmZmVyKSArIGJhY2spOwogCQlwcl9pbmZvKCJldmVudDog JWRcbiIsIGV2ZW50KTsKIAl9CiAKIAlpZiAoZ3B1LT5tbXUtPm5lZWRfZmx1c2ggfHwgZ3B1LT5z d2l0Y2hfY29udGV4dCkgewotCQl1MzIgbmV3X3RhcmdldCA9IGdwdV92YShncHUsIGJ1ZmZlcikg KyBidWZmZXItPm9mZnNldCAqCi0JCQkJCXNpemVvZih1MzIpOworCQl1MzIgbmV3X3RhcmdldCA9 IGdwdV92YShncHUsIGJ1ZmZlcikgKyBidWZmZXItPnVzZXJfc2l6ZTsKIAogCQlpZiAoZ3B1LT5t bXUtPm5lZWRfZmx1c2gpIHsKIAkJCS8qIEFkZCB0aGUgTU1VIGZsdXNoICovCkBAIC0yNjcsNyAr MjU3LDcgQEAgdm9pZCBldG5hdml2X2J1ZmZlcl9xdWV1ZShzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdw dSwgdW5zaWduZWQgaW50IGV2ZW50LAogCiAJLyogYXBwZW5kIFdBSVQvTElOSyB0byBtYWluIGJ1 ZmZlciAqLwogCUNNRF9XQUlUKGJ1ZmZlcik7Ci0JQ01EX0xJTksoYnVmZmVyLCAyLCBncHVfdmEo Z3B1LCBidWZmZXIpICsgKChidWZmZXItPm9mZnNldCAtIDEpICogNCkpOworCUNNRF9MSU5LKGJ1 ZmZlciwgMiwgZ3B1X3ZhKGdwdSwgYnVmZmVyKSArIChidWZmZXItPnVzZXJfc2l6ZSAtIDQpKTsK IAogCS8qIENoYW5nZSBXQUlUIGludG8gYSBMSU5LIGNvbW1hbmQ7IHdyaXRlIHRoZSBhZGRyZXNz IGZpcnN0LiAqLwogCSoobHcgKyAxKSA9IGxpbmtfdGFyZ2V0OwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9zdGFnaW5nL2V0bmF2aXYvZXRuYXZpdl9kcnYuYyBiL2RyaXZlcnMvc3RhZ2luZy9ldG5hdml2 L2V0bmF2aXZfZHJ2LmMKaW5kZXggZDU1ZDJjOWY0ZDBmLi4zMGY2ZTVkMGM5MWQgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvc3RhZ2luZy9ldG5hdml2L2V0bmF2aXZfZHJ2LmMKKysrIGIvZHJpdmVycy9z dGFnaW5nL2V0bmF2aXYvZXRuYXZpdl9kcnYuYwpAQCAtMjM3LDEzICsyMzcsMTMgQEAgc3RhdGlj IGludCBldG5hdml2X21tdV9zaG93KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBzZXFf ZmlsZSAqbSkKIAogc3RhdGljIHZvaWQgZXRuYXZpdl9idWZmZXJfZHVtcChzdHJ1Y3QgZXRuYXZp dl9ncHUgKmdwdSwgc3RydWN0IHNlcV9maWxlICptKQogewotCXN0cnVjdCBldG5hdml2X2dlbV9v YmplY3QgKm9iaiA9IHRvX2V0bmF2aXZfYm8oZ3B1LT5idWZmZXIpOwotCXUzMiBzaXplID0gb2Jq LT5iYXNlLnNpemU7Ci0JdTMyICpwdHIgPSBvYmotPnZhZGRyOworCXN0cnVjdCBldG5hdml2X2Nt ZGJ1ZiAqYnVmID0gZ3B1LT5idWZmZXI7CisJdTMyIHNpemUgPSBidWYtPnNpemU7CisJdTMyICpw dHIgPSBidWYtPnZhZGRyOwogCXUzMiBpOwogCiAJc2VxX3ByaW50ZihtLCAidmlydCAlcCAtIHBo eXMgMHglbGx4IC0gZnJlZSAweCUwOHhcbiIsCi0JCQlvYmotPnZhZGRyLCAodTY0KW9iai0+cGFk ZHIsIHNpemUgLSAob2JqLT5vZmZzZXQgKiA0KSk7CisJCQlidWYtPnZhZGRyLCAodTY0KWJ1Zi0+ cGFkZHIsIHNpemUgLSBidWYtPnVzZXJfc2l6ZSk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgc2l6ZSAv IDQ7IGkrKykgewogCQlpZiAoaSAmJiAhKGkgJSA0KSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3Rh Z2luZy9ldG5hdml2L2V0bmF2aXZfZ3B1LmMgYi9kcml2ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5h dml2X2dwdS5jCmluZGV4IGY4YjUwNzQwNmU0MS4uZTEyZmUzNTA4ZGIyIDEwMDY0NAotLS0gYS9k cml2ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2X2dwdS5jCisrKyBiL2RyaXZlcnMvc3RhZ2lu Zy9ldG5hdml2L2V0bmF2aXZfZ3B1LmMKQEAgLTQzMCw3ICs0MzAsNyBAQCBzdGF0aWMgdm9pZCBl dG5hdml2X2dwdV9od19pbml0KHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1KQogCiAJZ3B1X3dyaXRl KGdwdSwgVklWU19ISV9JTlRSX0VOQkwsIH4wVSk7CiAJZ3B1X3dyaXRlKGdwdSwgVklWU19GRV9D T01NQU5EX0FERFJFU1MsCi0JCSAgZXRuYXZpdl9nZW1fcGFkZHJfbG9ja2VkKGdwdS0+YnVmZmVy KSAtIGdwdS0+bWVtb3J5X2Jhc2UpOworCQkgIGdwdS0+YnVmZmVyLT5wYWRkciAtIGdwdS0+bWVt b3J5X2Jhc2UpOwogCWdwdV93cml0ZShncHUsIFZJVlNfRkVfQ09NTUFORF9DT05UUk9MLAogCQkg IFZJVlNfRkVfQ09NTUFORF9DT05UUk9MX0VOQUJMRSB8CiAJCSAgVklWU19GRV9DT01NQU5EX0NP TlRST0xfUFJFRkVUQ0gocHJlZmV0Y2gpKTsKQEAgLTQ4OCwxMSArNDg4LDEwIEBAIGludCBldG5h dml2X2dwdV9pbml0KHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1KQogCX0KIAogCS8qIENyZWF0ZSBi dWZmZXI6ICovCi0JZ3B1LT5idWZmZXIgPSBldG5hdml2X2dlbV9uZXcoZ3B1LT5kcm0sIFBBR0Vf U0laRSwgRVROQV9CT19DTURTVFJFQU0pOwotCWlmIChJU19FUlIoZ3B1LT5idWZmZXIpKSB7Ci0J CXJldCA9IFBUUl9FUlIoZ3B1LT5idWZmZXIpOwotCQlncHUtPmJ1ZmZlciA9IE5VTEw7Ci0JCWRl dl9lcnIoZ3B1LT5kZXYsICJjb3VsZCBub3QgY3JlYXRlIGJ1ZmZlcjogJWRcbiIsIHJldCk7CisJ Z3B1LT5idWZmZXIgPSBldG5hdml2X2dwdV9jbWRidWZfbmV3KGdwdSwgUEFHRV9TSVpFKTsKKwlp ZiAoIWdwdS0+YnVmZmVyKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWRldl9lcnIoZ3B1LT5kZXYs ICJjb3VsZCBub3QgY3JlYXRlIGNvbW1hbmQgYnVmZmVyXG4iKTsKIAkJZ290byBmYWlsOwogCX0K IApAQCAtMTI5NSw3ICsxMjk0LDcgQEAgc3RhdGljIHZvaWQgZXRuYXZpdl9ncHVfdW5iaW5kKHN0 cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLAogI2VuZGlmCiAKIAlpZiAo Z3B1LT5idWZmZXIpIHsKLQkJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2VfdW5sb2NrZWQoZ3B1 LT5idWZmZXIpOworCQlldG5hdml2X2dwdV9jbWRidWZfZnJlZShncHUtPmJ1ZmZlcik7CiAJCWdw dS0+YnVmZmVyID0gTlVMTDsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9ldG5h dml2L2V0bmF2aXZfZ3B1LmggYi9kcml2ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2X2dwdS5o CmluZGV4IGVlMWM4NTA0ZTRjOC4uM2JlNWI0ODFkOGQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3N0 YWdpbmcvZXRuYXZpdi9ldG5hdml2X2dwdS5oCisrKyBiL2RyaXZlcnMvc3RhZ2luZy9ldG5hdml2 L2V0bmF2aXZfZ3B1LmgKQEAgLTgyLDYgKzgyLDggQEAgc3RydWN0IGV0bmF2aXZfZXZlbnQgewog CXUzMiBmZW5jZTsKIH07CiAKK3N0cnVjdCBldG5hdml2X2NtZGJ1ZjsKKwogc3RydWN0IGV0bmF2 aXZfZ3B1IHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZHJtOwogCXN0cnVjdCBkZXZpY2UgKmRldjsK QEAgLTkwLDcgKzkyLDcgQEAgc3RydWN0IGV0bmF2aXZfZ3B1IHsKIAlib29sIHN3aXRjaF9jb250 ZXh0OwogCiAJLyogJ3JpbmcnLWJ1ZmZlcjogKi8KLQlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmJ1 ZmZlcjsKKwlzdHJ1Y3QgZXRuYXZpdl9jbWRidWYgKmJ1ZmZlcjsKIAogCS8qIGJ1cyBiYXNlIGFk ZHJlc3Mgb2YgbWVtb3J5ICAqLwogCXUzMiBtZW1vcnlfYmFzZTsKLS0gCjIuNS4xCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=