From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joonas Lahtinen Subject: Re: [PATCH 10/18] drm/i915: Unify legacy/execlists emission of MI_BATCHBUFFER_START Date: Thu, 21 Jul 2016 16:39:58 +0300 Message-ID: <1469108398.4821.27.camel@linux.intel.com> References: <1469020330-1071-1-git-send-email-chris@chris-wilson.co.uk> <1469020330-1071-11-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 2202E6E9EA for ; Thu, 21 Jul 2016 13:40:01 +0000 (UTC) In-Reply-To: <1469020330-1071-11-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24ga2UsIDIwMTYtMDctMjAgYXQgMTQ6MTIgKzAxMDAsIENocmlzIFdpbHNvbiB3cm90ZToKPiBC b3RoIHRoZSAtPmRpc3BhdGNoX2V4ZWNidWZmZXIgYW5kIC0+ZW1pdF9iYl9zdGFydCBjYWxsYmFj a3MgZG8gZXhhY3RseQo+IHRoZSBzYW1lIHRoaW5nLCBhZGQgTUlfQkFUQ0hCVUZGRVJfU1RBUlQg dG8gdGhlIHJlcXVlc3QncyByaW5nYnVmZmVyIC0KPiB3ZSBuZWVkIG9ubHkgb25lIHZmdW5jLgo+ IAoKU29tZSByYW50aW5nIGJlbG93LAoKUmV2aWV3ZWQtYnk6IEpvb25hcyBMYWh0aW5lbiA8am9v bmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2ls c29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gLS0tCj4gwqBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmPCoMKgwqB8wqDCoDYgKystLQo+IMKgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVuZGVyX3N0YXRlLmMgfCAxNiArKysrKy0tLS0tCj4gwqBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg fCAxNSArKysrKystLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIu Y8KgwqDCoMKgwqDCoHwgNDggKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQo+IMKgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5owqDCoMKgwqDCoMKgfCAxMiArKystLS0t Cj4gwqA1IGZpbGVzIGNoYW5nZWQsIDUwIGluc2VydGlvbnMoKyksIDQ3IGRlbGV0aW9ucygtKQo+ IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVy LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKPiBpbmRleCA1 Y2VhOTVjNmY5OGIuLjJkOWYxZjRiYzA1OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9leGVjYnVmZmVyLmMKPiBAQCAtMTMyNiw5ICsxMzI2LDkgQEAgaTkxNV9nZW1fcmlu Z2J1ZmZlcl9zdWJtaXNzaW9uKHN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMs Cj4gwqAJaWYgKGV4ZWNfbGVuID09IDApCj4gwqAJCWV4ZWNfbGVuID0gcGFyYW1zLT5iYXRjaF9v YmotPmJhc2Uuc2l6ZTsKPiDCoAo+IC0JcmV0ID0gcGFyYW1zLT5lbmdpbmUtPmRpc3BhdGNoX2V4 ZWNidWZmZXIocGFyYW1zLT5yZXF1ZXN0LAo+IC0JCQkJCQnCoMKgZXhlY19zdGFydCwgZXhlY19s ZW4sCj4gLQkJCQkJCcKgwqBwYXJhbXMtPmRpc3BhdGNoX2ZsYWdzKTsKPiArCXJldCA9IHBhcmFt cy0+ZW5naW5lLT5lbWl0X2JiX3N0YXJ0KHBhcmFtcy0+cmVxdWVzdCwKPiArCQkJCQnCoMKgwqDC oGV4ZWNfc3RhcnQsIGV4ZWNfbGVuLAo+ICsJCQkJCcKgwqDCoMKgcGFyYW1zLT5kaXNwYXRjaF9m bGFncyk7Cj4gwqAJaWYgKHJldCkKPiDCoAkJcmV0dXJuIHJldDsKPiDCoAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZW5kZXJfc3RhdGUuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlbmRlcl9zdGF0ZS5jCj4gaW5kZXggYjJiZTQ2NzZhNWNm Li4yYmE3NTlmM2FiNmYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fcmVuZGVyX3N0YXRlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9y ZW5kZXJfc3RhdGUuYwo+IEBAIC0yMzQsMTggKzIzNCwxOCBAQCBpbnQgaTkxNV9nZW1fcmVuZGVy X3N0YXRlX2luaXQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCj4gwqAJaWYgKHNv LnJvZGF0YSA9PSBOVUxMKQo+IMKgCQlyZXR1cm4gMDsKPiDCoAo+IC0JcmV0ID0gcmVxLT5lbmdp bmUtPmRpc3BhdGNoX2V4ZWNidWZmZXIocmVxLCBzby5nZ3R0X29mZnNldCwKPiAtCQkJCQnCoMKg wqDCoMKgc28ucm9kYXRhLT5iYXRjaF9pdGVtcyAqIDQsCj4gLQkJCQkJwqDCoMKgwqDCoEk5MTVf RElTUEFUQ0hfU0VDVVJFKTsKPiArCXJldCA9IHJlcS0+ZW5naW5lLT5lbWl0X2JiX3N0YXJ0KHJl cSwgc28uZ2d0dF9vZmZzZXQsCj4gKwkJCQkJwqBzby5yb2RhdGEtPmJhdGNoX2l0ZW1zICogNCwK PiArCQkJCQnCoEk5MTVfRElTUEFUQ0hfU0VDVVJFKTsKPiDCoAlpZiAocmV0KQo+IMKgCQlnb3Rv IG91dDsKPiDCoAo+IMKgCWlmIChzby5hdXhfYmF0Y2hfc2l6ZSA+IDgpIHsKPiAtCQlyZXQgPSBy ZXEtPmVuZ2luZS0+ZGlzcGF0Y2hfZXhlY2J1ZmZlcihyZXEsCj4gLQkJCQkJCcKgwqDCoMKgwqAo c28uZ2d0dF9vZmZzZXQgKwo+IC0JCQkJCQnCoMKgwqDCoMKgwqBzby5hdXhfYmF0Y2hfb2Zmc2V0 KSwKPiAtCQkJCQkJwqDCoMKgwqDCoHNvLmF1eF9iYXRjaF9zaXplLAo+IC0JCQkJCQnCoMKgwqDC oMKgSTkxNV9ESVNQQVRDSF9TRUNVUkUpOwo+ICsJCXJldCA9IHJlcS0+ZW5naW5lLT5lbWl0X2Ji X3N0YXJ0KHJlcSwKPiArCQkJCQkJwqAoc28uZ2d0dF9vZmZzZXQgKwo+ICsJCQkJCQnCoMKgc28u YXV4X2JhdGNoX29mZnNldCksCj4gKwkJCQkJCcKgc28uYXV4X2JhdGNoX3NpemUsCj4gKwkJCQkJ CcKgSTkxNV9ESVNQQVRDSF9TRUNVUkUpOwo+IMKgCQlpZiAocmV0KQo+IMKgCQkJZ290byBvdXQ7 Cj4gwqAJfQoKVGhlIGNvZGUgYWJvdmUgdGhpcyBsaW5lIGlzIGV4YWN0IHJlYXNvbiB3aHkgSSBk b24ndCBsaWtlIHRoZSBhLT5iLT5jCihlc3BlY2lhbGx5IHdoZW4gdGhlcmUgaXMgcmVwZXRpdGlv bikuIEJ1dCBpdCdzIG5vdCBuZXcgdG8gdGhpcyBwYXRjaApzbyBndWVzcyBpdCdsbCBkby4gU29t ZSBmdXR1cmUgd29yayB0byBzaG9ydGVuIGRvd24gYSBsaXR0bGUgYml0IG1pZ2h0Cm5vdCBodXJ0 LgoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+IGluZGV4IDZjZDBlMjRlZDUwYy4uZDE3YTE5 M2U4ZWFmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBAQCAtODU5LDcgKzg1OSw5 IEBAIGludCBpbnRlbF9leGVjbGlzdHNfc3VibWlzc2lvbihzdHJ1Y3QgaTkxNV9leGVjYnVmZmVy X3BhcmFtcyAqcGFyYW1zLAo+IMKgCWV4ZWNfc3RhcnQgPSBwYXJhbXMtPmJhdGNoX29ial92bV9v ZmZzZXQgKwo+IMKgCQnCoMKgwqDCoMKgYXJncy0+YmF0Y2hfc3RhcnRfb2Zmc2V0Owo+IMKgCj4g LQlyZXQgPSBlbmdpbmUtPmVtaXRfYmJfc3RhcnQocGFyYW1zLT5yZXF1ZXN0LCBleGVjX3N0YXJ0 LCBwYXJhbXMtPmRpc3BhdGNoX2ZsYWdzKTsKPiArCXJldCA9IGVuZ2luZS0+ZW1pdF9iYl9zdGFy dChwYXJhbXMtPnJlcXVlc3QsCj4gKwkJCQnCoMKgwqDCoGV4ZWNfc3RhcnQsIGFyZ3MtPmJhdGNo X2xlbiwKPiArCQkJCcKgwqDCoMKgcGFyYW1zLT5kaXNwYXRjaF9mbGFncyk7Cj4gwqAJaWYgKHJl dCkKPiDCoAkJcmV0dXJuIHJldDsKPiDCoAo+IEBAIC0xNTM1LDcgKzE1MzcsOCBAQCBzdGF0aWMg aW50IGludGVsX2xvZ2ljYWxfcmluZ19lbWl0X3BkcHMoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1 ZXN0ICpyZXEpCj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBpbnQgZ2VuOF9lbWl0X2JiX3N0YXJ0KHN0 cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAo+IC0JCQnCoMKgwqDCoMKgwqB1NjQgb2Zm c2V0LCB1bnNpZ25lZCBkaXNwYXRjaF9mbGFncykKPiArCQkJwqDCoMKgwqDCoMKgdTY0IG9mZnNl dCwgdTMyIGxlbiwKPiArCQkJwqDCoMKgwqDCoMKgdW5zaWduZWQgaW50IGRpc3BhdGNoX2ZsYWdz KQo+IMKgewo+IMKgCXN0cnVjdCBpbnRlbF9yaW5nICpyaW5nID0gcmVxLT5yaW5nOwo+IMKgCWJv b2wgcHBndHQgPSAhKGRpc3BhdGNoX2ZsYWdzICYgSTkxNV9ESVNQQVRDSF9TRUNVUkUpOwo+IEBA IC0xODExLDEzICsxODE0LDE1IEBAIHN0YXRpYyBpbnQgaW50ZWxfbHJfY29udGV4dF9yZW5kZXJf c3RhdGVfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKPiDCoAkJcmV0dXJu IDA7Cj4gwqAKPiDCoAlyZXQgPSByZXEtPmVuZ2luZS0+ZW1pdF9iYl9zdGFydChyZXEsIHNvLmdn dHRfb2Zmc2V0LAo+IC0JCQkJwqDCoMKgwqDCoMKgwqBJOTE1X0RJU1BBVENIX1NFQ1VSRSk7Cj4g KwkJCQkJwqBzby5yb2RhdGEtPmJhdGNoX2l0ZW1zICogNCwKPiArCQkJCQnCoEk5MTVfRElTUEFU Q0hfU0VDVVJFKTsKPiDCoAlpZiAocmV0KQo+IMKgCQlnb3RvIG91dDsKPiDCoAo+IMKgCXJldCA9 IHJlcS0+ZW5naW5lLT5lbWl0X2JiX3N0YXJ0KHJlcSwKPiAtCQkJCcKgwqDCoMKgwqDCoMKgKHNv LmdndHRfb2Zmc2V0ICsgc28uYXV4X2JhdGNoX29mZnNldCksCj4gLQkJCQnCoMKgwqDCoMKgwqDC oEk5MTVfRElTUEFUQ0hfU0VDVVJFKTsKPiArCQkJCQnCoChzby5nZ3R0X29mZnNldCArIHNvLmF1 eF9iYXRjaF9vZmZzZXQpLAo+ICsJCQkJCcKgc28uYXV4X2JhdGNoX3NpemUsCj4gKwkJCQkJwqBJ OTE1X0RJU1BBVENIX1NFQ1VSRSk7Cj4gwqAJaWYgKHJldCkKPiDCoAkJZ290byBvdXQ7Cj4gwqAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gaW5kZXggNmFhMTY1N2Ji YzlkLi40NDg4ZGI0ODVmYTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcmluZ2J1ZmZlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1 ZmZlci5jCj4gQEAgLTE3NzksOSArMTc3OSw5IEBAIGdlbjhfaXJxX2Rpc2FibGUoc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgaW50Cj4gLWk5NjVf ZGlzcGF0Y2hfZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKPiAt CQkJwqB1NjQgb2Zmc2V0LCB1MzIgbGVuZ3RoLAo+IC0JCQnCoHVuc2lnbmVkIGRpc3BhdGNoX2Zs YWdzKQo+ICtpOTY1X2VtaXRfYmJfc3RhcnQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXEsCj4gKwkJwqDCoMKgdTY0IG9mZnNldCwgdTMyIGxlbmd0aCwKPiArCQnCoMKgwqB1bnNpZ25l ZCBpbnQgZGlzcGF0Y2hfZmxhZ3MpCj4gwqB7Cj4gwqAJc3RydWN0IGludGVsX3JpbmcgKnJpbmcg PSByZXEtPnJpbmc7Cj4gwqAJaW50IHJldDsKPiBAQCAtMTgwNiw5ICsxODA2LDkgQEAgaTk2NV9k aXNwYXRjaF9leGVjYnVmZmVyKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAo+IMKg I2RlZmluZSBJODMwX1RMQl9FTlRSSUVTICgyKQo+IMKgI2RlZmluZSBJODMwX1dBX1NJWkUgbWF4 KEk4MzBfVExCX0VOVFJJRVMqNDA5NiwgSTgzMF9CQVRDSF9MSU1JVCkKPiDCoHN0YXRpYyBpbnQK PiAtaTgzMF9kaXNwYXRjaF9leGVjYnVmZmVyKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAq cmVxLAo+IC0JCQnCoHU2NCBvZmZzZXQsIHUzMiBsZW4sCj4gLQkJCcKgdW5zaWduZWQgZGlzcGF0 Y2hfZmxhZ3MpCj4gK2k4MzBfZW1pdF9iYl9zdGFydChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKnJlcSwKPiArCQnCoMKgwqB1NjQgb2Zmc2V0LCB1MzIgbGVuLAo+ICsJCcKgwqDCoHVuc2ln bmVkIGludCBkaXNwYXRjaF9mbGFncykKPiDCoHsKPiDCoAlzdHJ1Y3QgaW50ZWxfcmluZyAqcmlu ZyA9IHJlcS0+cmluZzsKPiDCoAl1MzIgY3Nfb2Zmc2V0ID0gcmVxLT5lbmdpbmUtPnNjcmF0Y2gu Z3R0X29mZnNldDsKPiBAQCAtMTg2OCw5ICsxODY4LDkgQEAgaTgzMF9kaXNwYXRjaF9leGVjYnVm ZmVyKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAo+IMKgfQo+IMKgCj4gwqBzdGF0 aWMgaW50Cj4gLWk5MTVfZGlzcGF0Y2hfZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3Jl cXVlc3QgKnJlcSwKPiAtCQkJwqB1NjQgb2Zmc2V0LCB1MzIgbGVuLAo+IC0JCQnCoHVuc2lnbmVk IGRpc3BhdGNoX2ZsYWdzKQo+ICtpOTE1X2VtaXRfYmJfc3RhcnQoc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICpyZXEsCj4gKwkJwqDCoMKgdTY0IG9mZnNldCwgdTMyIGxlbiwKPiArCQnCoMKg wqB1bnNpZ25lZCBpbnQgZGlzcGF0Y2hfZmxhZ3MpCj4gwqB7Cj4gwqAJc3RydWN0IGludGVsX3Jp bmcgKnJpbmcgPSByZXEtPnJpbmc7Cj4gwqAJaW50IHJldDsKPiBAQCAtMjU2Myw5ICsyNTYzLDkg QEAgc3RhdGljIGludCBnZW42X2JzZF9yaW5nX2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcmVxLAo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgaW50Cj4gLWdlbjhfcmluZ19kaXNwYXRj aF9leGVjYnVmZmVyKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAo+IC0JCQnCoMKg wqDCoMKgwqB1NjQgb2Zmc2V0LCB1MzIgbGVuLAo+IC0JCQnCoMKgwqDCoMKgwqB1bnNpZ25lZCBk aXNwYXRjaF9mbGFncykKPiArZ2VuOF9lbWl0X2JiX3N0YXJ0KHN0cnVjdCBkcm1faTkxNV9nZW1f cmVxdWVzdCAqcmVxLAo+ICsJCcKgwqDCoHU2NCBvZmZzZXQsIHUzMiBsZW4sCj4gKwkJwqDCoMKg dW5zaWduZWQgaW50IGRpc3BhdGNoX2ZsYWdzKQo+IMKgewo+IMKgCXN0cnVjdCBpbnRlbF9yaW5n ICpyaW5nID0gcmVxLT5yaW5nOwo+IMKgCWJvb2wgcHBndHQgPSBVU0VTX1BQR1RUKHJlcS0+aTkx NSkgJiYKPiBAQCAtMjU4OSw5ICsyNTg5LDkgQEAgZ2VuOF9yaW5nX2Rpc3BhdGNoX2V4ZWNidWZm ZXIoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCj4gwqB9Cj4gwqAKPiDCoHN0YXRp YyBpbnQKPiAtaHN3X3JpbmdfZGlzcGF0Y2hfZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcSwKPiAtCQkJwqDCoMKgwqDCoHU2NCBvZmZzZXQsIHUzMiBsZW4sCj4gLQkJ CcKgwqDCoMKgwqB1bnNpZ25lZCBkaXNwYXRjaF9mbGFncykKPiAraHN3X2VtaXRfYmJfc3RhcnQo c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCj4gKwkJwqDCoHU2NCBvZmZzZXQsIHUz MiBsZW4sCj4gKwkJwqDCoHVuc2lnbmVkIGludCBkaXNwYXRjaF9mbGFncykKPiDCoHsKPiDCoAlz dHJ1Y3QgaW50ZWxfcmluZyAqcmluZyA9IHJlcS0+cmluZzsKPiDCoAlpbnQgcmV0Owo+IEBAIC0y NjE0LDkgKzI2MTQsOSBAQCBoc3dfcmluZ19kaXNwYXRjaF9leGVjYnVmZmVyKHN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcmVxLAo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgaW50Cj4gLWdlbjZf cmluZ19kaXNwYXRjaF9leGVjYnVmZmVyKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVx LAo+IC0JCQnCoMKgwqDCoMKgwqB1NjQgb2Zmc2V0LCB1MzIgbGVuLAo+IC0JCQnCoMKgwqDCoMKg wqB1bnNpZ25lZCBkaXNwYXRjaF9mbGFncykKPiArZ2VuNl9lbWl0X2JiX3N0YXJ0KHN0cnVjdCBk cm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAo+ICsJCcKgwqDCoHU2NCBvZmZzZXQsIHUzMiBsZW4s Cj4gKwkJwqDCoMKgdW5zaWduZWQgaW50IGRpc3BhdGNoX2ZsYWdzKQo+IMKgewo+IMKgCXN0cnVj dCBpbnRlbF9yaW5nICpyaW5nID0gcmVxLT5yaW5nOwo+IMKgCWludCByZXQ7Cj4gQEAgLTI4MjAs MTUgKzI4MjAsMTUgQEAgc3RhdGljIHZvaWQgaW50ZWxfcmluZ19kZWZhdWx0X3ZmdW5jcyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gwqAJCWVuZ2luZS0+YWRkX3JlcXVlc3Qg PSBnZW42X2FkZF9yZXF1ZXN0Owo+IMKgCj4gwqAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0g OCkKPiAtCQllbmdpbmUtPmRpc3BhdGNoX2V4ZWNidWZmZXIgPSBnZW44X3JpbmdfZGlzcGF0Y2hf ZXhlY2J1ZmZlcjsKPiArCQllbmdpbmUtPmVtaXRfYmJfc3RhcnQgPSBnZW44X2VtaXRfYmJfc3Rh cnQ7Cj4gwqAJZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA2KQo+IC0JCWVuZ2luZS0+ ZGlzcGF0Y2hfZXhlY2J1ZmZlciA9IGdlbjZfcmluZ19kaXNwYXRjaF9leGVjYnVmZmVyOwo+ICsJ CWVuZ2luZS0+ZW1pdF9iYl9zdGFydCA9IGdlbjZfZW1pdF9iYl9zdGFydDsKPiDCoAllbHNlIGlm IChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDQpCj4gLQkJZW5naW5lLT5kaXNwYXRjaF9leGVjYnVm ZmVyID0gaTk2NV9kaXNwYXRjaF9leGVjYnVmZmVyOwo+ICsJCWVuZ2luZS0+ZW1pdF9iYl9zdGFy dCA9IGk5NjVfZW1pdF9iYl9zdGFydDsKPiDCoAllbHNlIGlmIChJU19JODMwKGRldl9wcml2KSB8 fCBJU184NDVHKGRldl9wcml2KSkKPiAtCQllbmdpbmUtPmRpc3BhdGNoX2V4ZWNidWZmZXIgPSBp ODMwX2Rpc3BhdGNoX2V4ZWNidWZmZXI7Cj4gKwkJZW5naW5lLT5lbWl0X2JiX3N0YXJ0ID0gaTgz MF9lbWl0X2JiX3N0YXJ0Owo+IMKgCWVsc2UKPiAtCQllbmdpbmUtPmRpc3BhdGNoX2V4ZWNidWZm ZXIgPSBpOTE1X2Rpc3BhdGNoX2V4ZWNidWZmZXI7Cj4gKwkJZW5naW5lLT5lbWl0X2JiX3N0YXJ0 ID0gaTkxNV9lbWl0X2JiX3N0YXJ0Owo+IMKgCj4gwqAJaW50ZWxfcmluZ19pbml0X2lycShkZXZf cHJpdiwgZW5naW5lKTsKPiDCoAlpbnRlbF9yaW5nX2luaXRfc2VtYXBob3JlcyhkZXZfcHJpdiwg ZW5naW5lKTsKPiBAQCAtMjg2Niw3ICsyODY2LDcgQEAgaW50IGludGVsX2luaXRfcmVuZGVyX3Jp bmdfYnVmZmVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiDCoAl9Cj4gwqAKPiDC oAlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikpCj4gLQkJZW5naW5lLT5kaXNwYXRjaF9leGVjYnVm ZmVyID0gaHN3X3JpbmdfZGlzcGF0Y2hfZXhlY2J1ZmZlcjsKPiArCQllbmdpbmUtPmVtaXRfYmJf c3RhcnQgPSBoc3dfZW1pdF9iYl9zdGFydDsKPiDCoAo+IMKgCWVuZ2luZS0+aW5pdF9odyA9IGlu aXRfcmVuZGVyX3Jpbmc7Cj4gwqAJZW5naW5lLT5jbGVhbnVwID0gcmVuZGVyX3JpbmdfY2xlYW51 cDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4gaW5kZXggNDk1MDBj ZWFkN2E1Li44NWQ2YTcwNTU0YjkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5oCj4gQEAgLTIxNCwxMiArMjE0LDYgQEAgc3RydWN0IGludGVsX2VuZ2luZV9jcyB7 Cj4gwqAJwqAqIG1vbm90b25pYywgZXZlbiBpZiBub3QgY29oZXJlbnQuCj4gwqAJwqAqLwo+IMKg CXZvaWQJCSgqaXJxX3NlcW5vX2JhcnJpZXIpKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcp Owo+IC0JaW50CQkoKmRpc3BhdGNoX2V4ZWNidWZmZXIpKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcmVxLAo+IC0JCQkJCcKgwqDCoMKgwqDCoMKgdTY0IG9mZnNldCwgdTMyIGxlbmd0aCwK PiAtCQkJCQnCoMKgwqDCoMKgwqDCoHVuc2lnbmVkIGRpc3BhdGNoX2ZsYWdzKTsKPiAtI2RlZmlu ZSBJOTE1X0RJU1BBVENIX1NFQ1VSRSAweDEKPiAtI2RlZmluZSBJOTE1X0RJU1BBVENIX1BJTk5F RCAweDIKPiAtI2RlZmluZSBJOTE1X0RJU1BBVENIX1JTwqDCoMKgwqDCoDB4NAo+IMKgCXZvaWQJ CSgqY2xlYW51cCkoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyk7Cj4gwqAKPiDCoAkvKiBH RU44IHNpZ25hbC93YWl0IHRhYmxlIC0gbmV2ZXIgdHJ1c3QgY29tbWVudHMhCj4gQEAgLTI5NSw3 ICsyODksMTEgQEAgc3RydWN0IGludGVsX2VuZ2luZV9jcyB7Cj4gwqAJCQkJwqDCoMKgwqDCoMKg dTMyIGludmFsaWRhdGVfZG9tYWlucywKPiDCoAkJCQnCoMKgwqDCoMKgwqB1MzIgZmx1c2hfZG9t YWlucyk7Cj4gwqAJaW50CQkoKmVtaXRfYmJfc3RhcnQpKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcmVxLAo+IC0JCQkJCcKgdTY0IG9mZnNldCwgdW5zaWduZWQgZGlzcGF0Y2hfZmxhZ3Mp Owo+ICsJCQkJCcKgdTY0IG9mZnNldCwgdTMyIGxlbmd0aCwKPiArCQkJCQnCoHVuc2lnbmVkIGlu dCBkaXNwYXRjaF9mbGFncyk7Cj4gKyNkZWZpbmUgSTkxNV9ESVNQQVRDSF9TRUNVUkUgMHgxCj4g KyNkZWZpbmUgSTkxNV9ESVNQQVRDSF9QSU5ORUQgMHgyCj4gKyNkZWZpbmUgSTkxNV9ESVNQQVRD SF9SU8KgwqDCoMKgwqAweDQKCkJJVCgwKSBCSVQoMSkgZXRjLiB3aGlsZSB0b3VjaGluZyBpdD8K ClJlZ2FyZHMsIEpvb25hcwoKPiDCoAo+IMKgCS8qKgo+IMKgCcKgKiBMaXN0IG9mIG9iamVjdHMg Y3VycmVudGx5IGludm9sdmVkIGluIHJlbmRlcmluZyBmcm9tIHRoZQotLSAKSm9vbmFzIExhaHRp bmVuCk9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCkludGVsIENvcnBvcmF0aW9uCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=