From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH 03/33] drm/i915: Remove manual breadcumb counting Date: Fri, 25 Jan 2019 11:21:04 +0200 Message-ID: <87pnslks8v.fsf@gaia.fi.intel.com> References: <20190125023005.1007-1-chris@chris-wilson.co.uk> <20190125023005.1007-3-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id CF6646E168 for ; Fri, 25 Jan 2019 09:22:58 +0000 (UTC) In-Reply-To: <20190125023005.1007-3-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 Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+IHdyaXRlczoKCj4gTm93IHRo YXQgd2Uga25vdyB3ZSBtZWFzdXJlIHRoZSBzaXplIG9mIHRoZSBlbmdpbmUtPmVtaXRfYnJlYWRj cnVtYigpCj4gY29ycmVjdGx5LCB3ZSBjYW4gcmVtb3ZlIHRoZSBwcmV2aW91cyBtYW51YWwgY291 bnRpbmcuCj4KPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNv bi5jby51az4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMgICAg IHwgIDQgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYyAgfCAg NyArKystLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICB8ICA0 IC0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIHwgMjggKysr KystLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5n YnVmZmVyLmggfCAgMiArLQo+ICA1IGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDM0 IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cmVxdWVzdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMKPiBpbmRleCBm OTQxZTQwZmQzNzMuLmRkYzM1ZTlkYzBjMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlcXVlc3QuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVx dWVzdC5jCj4gQEAgLTY1MCw3ICs2NTAsNyBAQCBpOTE1X3JlcXVlc3RfYWxsb2Moc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqZW5naW5lLCBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KQo+ICAJ ICogYXJvdW5kIGluc2lkZSBpOTE1X3JlcXVlc3RfYWRkKCkgdGhlcmUgaXMgc3VmZmljaWVudCBz cGFjZSBhdAo+ICAJICogdGhlIGJlZ2lubmluZyBvZiB0aGUgcmluZyBhcyB3ZWxsLgo+ICAJICov Cj4gLQlycS0+cmVzZXJ2ZWRfc3BhY2UgPSAyICogZW5naW5lLT5lbWl0X2JyZWFkY3J1bWJfc3og KiBzaXplb2YodTMyKTsKPiArCXJxLT5yZXNlcnZlZF9zcGFjZSA9IDIgKiBlbmdpbmUtPmVtaXRf YnJlYWRjcnVtYl9kdyAqIHNpemVvZih1MzIpOwoKKl9zeiBnb3QgbWUgc3RhcnRsZWQsIHJhaXNp bmcgZG91YnRzIGFib3V0IHRoZSBwcmV2aW91cyBwYXRjaC4KQnV0IGl0IHdhcyBtaXNuYW1lZCBh bGwgdGhlIHdheS4KCk9idmlvdXNseSBtZXJnZSB0aGUgcHJldmlvdXMgcGF0Y2ggYmVmb3JlIHRo aXMgb25lIDopClJldmlld2VkLWJ5OiBNaWthIEt1b3BwYWxhIDxtaWthLmt1b3BwYWxhQGxpbnV4 LmludGVsLmNvbT4KCj4gIAo+ICAJLyoKPiAgCSAqIFJlY29yZCB0aGUgcG9zaXRpb24gb2YgdGhl IHN0YXJ0IG9mIHRoZSByZXF1ZXN0IHNvIHRoYXQKPiBAQCAtOTAxLDcgKzkwMSw3IEBAIHZvaWQg aTkxNV9yZXF1ZXN0X2FkZChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpyZXF1ZXN0KQo+ICAJICogR1BV IHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QsIHdlIG5ldmVyIG92ZXItZXN0aW1hdGUgdGhlCj4gIAkg KiBwb3NpdGlvbiBvZiB0aGUgcmluZydzIEhFQUQuCj4gIAkgKi8KPiAtCWNzID0gaW50ZWxfcmlu Z19iZWdpbihyZXF1ZXN0LCBlbmdpbmUtPmVtaXRfYnJlYWRjcnVtYl9zeik7Cj4gKwljcyA9IGlu dGVsX3JpbmdfYmVnaW4ocmVxdWVzdCwgZW5naW5lLT5lbWl0X2JyZWFkY3J1bWJfZHcpOwo+ICAJ R0VNX0JVR19PTihJU19FUlIoY3MpKTsKPiAgCXJlcXVlc3QtPnBvc3RmaXggPSBpbnRlbF9yaW5n X29mZnNldChyZXF1ZXN0LCBjcyk7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9lbmdpbmVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2lu ZV9jcy5jCj4gaW5kZXggODgzYmEyMDhkMWMyLi4yMzVhMmQ3MGQ2NzEgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwo+IEBAIC02MTEsNyArNjExLDcgQEAgc3RydWN0 IG1lYXN1cmVfYnJlYWRjcnVtYiB7Cj4gIAl1MzIgY3NbMTAyNF07Cj4gIH07Cj4gIAo+IC1zdGF0 aWMgaW50IG1lYXN1cmVfYnJlYWRjcnVtYl9zeihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmUpCj4gK3N0YXRpYyBpbnQgbWVhc3VyZV9icmVhZGNydW1iX2R3KHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSkKPiAgewo+ICAJc3RydWN0IG1lYXN1cmVfYnJlYWRjcnVtYiAqZnJhbWU7 Cj4gIAl1bnNpZ25lZCBpbnQgZHc7Cj4gQEAgLTYzNyw3ICs2MzcsNiBAQCBzdGF0aWMgaW50IG1l YXN1cmVfYnJlYWRjcnVtYl9zeihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gIAlm cmFtZS0+cnEudGltZWxpbmUgPSAmZnJhbWUtPnRpbWVsaW5lOwo+ICAKPiAgCWR3ID0gZW5naW5l LT5lbWl0X2JyZWFkY3J1bWIoJmZyYW1lLT5ycSwgZnJhbWUtPmNzKSAtIGZyYW1lLT5jczsKPiAt CUdFTV9CVUdfT04oZHcgIT0gZW5naW5lLT5lbWl0X2JyZWFkY3J1bWJfc3opOwo+ICAKPiAgCWk5 MTVfdGltZWxpbmVfZmluaSgmZnJhbWUtPnRpbWVsaW5lKTsKPiAgCWtmcmVlKGZyYW1lKTsKPiBA QCAtNjk4LDExICs2OTcsMTEgQEAgaW50IGludGVsX2VuZ2luZV9pbml0X2NvbW1vbihzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gIAlpZiAocmV0KQo+ICAJCWdvdG8gZXJyX2JyZWFk Y3J1bWJzOwo+ICAKPiAtCXJldCA9IG1lYXN1cmVfYnJlYWRjcnVtYl9zeihlbmdpbmUpOwo+ICsJ cmV0ID0gbWVhc3VyZV9icmVhZGNydW1iX2R3KGVuZ2luZSk7Cj4gIAlpZiAocmV0IDwgMCkKPiAg CQlnb3RvIGVycl9zdGF0dXNfcGFnZTsKPiAgCj4gLQllbmdpbmUtPmVtaXRfYnJlYWRjcnVtYl9z eiA9IHJldDsKPiArCWVuZ2luZS0+ZW1pdF9icmVhZGNydW1iX2R3ID0gcmV0Owo+ICAKPiAgCXJl dHVybiAwOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJj LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+IGluZGV4IGQyMjk5NDI1Y2Yy Zi4uNTU1MWRkMmVjMGU2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBAQCAtMjA3 NSw3ICsyMDc1LDYgQEAgc3RhdGljIHUzMiAqZ2VuOF9lbWl0X2JyZWFkY3J1bWIoc3RydWN0IGk5 MTVfcmVxdWVzdCAqcmVxdWVzdCwgdTMyICpjcykKPiAgCj4gIAlyZXR1cm4gZ2VuOF9lbWl0X3dh X3RhaWwocmVxdWVzdCwgY3MpOwo+ICB9Cj4gLXN0YXRpYyBjb25zdCBpbnQgZ2VuOF9lbWl0X2Jy ZWFkY3J1bWJfc3ogPSA2ICsgV0FfVEFJTF9EV09SRFM7Cj4gIAo+ICBzdGF0aWMgdTMyICpnZW44 X2VtaXRfYnJlYWRjcnVtYl9yY3Moc3RydWN0IGk5MTVfcmVxdWVzdCAqcmVxdWVzdCwgdTMyICpj cykKPiAgewo+IEBAIC0yMDk5LDcgKzIwOTgsNiBAQCBzdGF0aWMgdTMyICpnZW44X2VtaXRfYnJl YWRjcnVtYl9yY3Moc3RydWN0IGk5MTVfcmVxdWVzdCAqcmVxdWVzdCwgdTMyICpjcykKPiAgCj4g IAlyZXR1cm4gZ2VuOF9lbWl0X3dhX3RhaWwocmVxdWVzdCwgY3MpOwo+ICB9Cj4gLXN0YXRpYyBj b25zdCBpbnQgZ2VuOF9lbWl0X2JyZWFkY3J1bWJfcmNzX3N6ID0gOCArIFdBX1RBSUxfRFdPUkRT Owo+ICAKPiAgc3RhdGljIGludCBnZW44X2luaXRfcmNzX2NvbnRleHQoc3RydWN0IGk5MTVfcmVx dWVzdCAqcnEpCj4gIHsKPiBAQCAtMjE5Miw3ICsyMTkwLDYgQEAgbG9naWNhbF9yaW5nX2RlZmF1 bHRfdmZ1bmNzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgCj4gIAllbmdpbmUt PmVtaXRfZmx1c2ggPSBnZW44X2VtaXRfZmx1c2g7Cj4gIAllbmdpbmUtPmVtaXRfYnJlYWRjcnVt YiA9IGdlbjhfZW1pdF9icmVhZGNydW1iOwo+IC0JZW5naW5lLT5lbWl0X2JyZWFkY3J1bWJfc3og PSBnZW44X2VtaXRfYnJlYWRjcnVtYl9zejsKPiAgCj4gIAllbmdpbmUtPnNldF9kZWZhdWx0X3N1 Ym1pc3Npb24gPSBpbnRlbF9leGVjbGlzdHNfc2V0X2RlZmF1bHRfc3VibWlzc2lvbjsKPiAgCj4g QEAgLTIyOTgsNyArMjI5NSw2IEBAIGludCBsb2dpY2FsX3JlbmRlcl9yaW5nX2luaXQoc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAJZW5naW5lLT5pbml0X2NvbnRleHQgPSBnZW44 X2luaXRfcmNzX2NvbnRleHQ7Cj4gIAllbmdpbmUtPmVtaXRfZmx1c2ggPSBnZW44X2VtaXRfZmx1 c2hfcmVuZGVyOwo+ICAJZW5naW5lLT5lbWl0X2JyZWFkY3J1bWIgPSBnZW44X2VtaXRfYnJlYWRj cnVtYl9yY3M7Cj4gLQllbmdpbmUtPmVtaXRfYnJlYWRjcnVtYl9zeiA9IGdlbjhfZW1pdF9icmVh ZGNydW1iX3Jjc19zejsKPiAgCj4gIAlyZXQgPSBsb2dpY2FsX3JpbmdfaW5pdChlbmdpbmUpOwo+ ICAJaWYgKHJldCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gaW5k ZXggMTA3YzQ5MzRlMmZhLi4wOWM5MDQ3NTE2OGEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5jCj4gQEAgLTMzMCw3ICszMzAsNiBAQCBzdGF0aWMgdTMyICpnZW42 X3Jjc19lbWl0X2JyZWFkY3J1bWIoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsIHUzMiAqY3MpCj4g IAo+ICAJcmV0dXJuIGNzOwo+ICB9Cj4gLXN0YXRpYyBjb25zdCBpbnQgZ2VuNl9yY3NfZW1pdF9i cmVhZGNydW1iX3N6ID0gMTQ7Cj4gIAo+ICBzdGF0aWMgaW50Cj4gIGdlbjdfcmVuZGVyX3Jpbmdf Y3Nfc3RhbGxfd2Eoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCj4gQEAgLTQzMiw3ICs0MzEsNiBA QCBzdGF0aWMgdTMyICpnZW43X3Jjc19lbWl0X2JyZWFkY3J1bWIoc3RydWN0IGk5MTVfcmVxdWVz dCAqcnEsIHUzMiAqY3MpCj4gIAo+ICAJcmV0dXJuIGNzOwo+ICB9Cj4gLXN0YXRpYyBjb25zdCBp bnQgZ2VuN19yY3NfZW1pdF9icmVhZGNydW1iX3N6ID0gNjsKPiAgCj4gIHN0YXRpYyB1MzIgKmdl bjZfeGNzX2VtaXRfYnJlYWRjcnVtYihzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwgdTMyICpjcykK PiAgewo+IEBAIC00NDYsNyArNDQ0LDYgQEAgc3RhdGljIHUzMiAqZ2VuNl94Y3NfZW1pdF9icmVh ZGNydW1iKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCB1MzIgKmNzKQo+ICAKPiAgCXJldHVybiBj czsKPiAgfQo+IC1zdGF0aWMgY29uc3QgaW50IGdlbjZfeGNzX2VtaXRfYnJlYWRjcnVtYl9zeiA9 IDQ7Cj4gIAo+ICAjZGVmaW5lIEdFTjdfWENTX1dBIDMyCj4gIHN0YXRpYyB1MzIgKmdlbjdfeGNz X2VtaXRfYnJlYWRjcnVtYihzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwgdTMyICpjcykKPiBAQCAt NDc1LDcgKzQ3Miw2IEBAIHN0YXRpYyB1MzIgKmdlbjdfeGNzX2VtaXRfYnJlYWRjcnVtYihzdHJ1 Y3QgaTkxNV9yZXF1ZXN0ICpycSwgdTMyICpjcykKPiAgCj4gIAlyZXR1cm4gY3M7Cj4gIH0KPiAt c3RhdGljIGNvbnN0IGludCBnZW43X3hjc19lbWl0X2JyZWFkY3J1bWJfc3ogPSA4ICsgR0VON19Y Q1NfV0EgKiAzOwo+ICAjdW5kZWYgR0VON19YQ1NfV0EKPiAgCj4gIHN0YXRpYyB2b2lkIHNldF9o d3N0YW0oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCB1MzIgbWFzaykKPiBAQCAtODg1 LDcgKzg4MSw2IEBAIHN0YXRpYyB1MzIgKmk5eHhfZW1pdF9icmVhZGNydW1iKHN0cnVjdCBpOTE1 X3JlcXVlc3QgKnJxLCB1MzIgKmNzKQo+ICAKPiAgCXJldHVybiBjczsKPiAgfQo+IC1zdGF0aWMg Y29uc3QgaW50IGk5eHhfZW1pdF9icmVhZGNydW1iX3N6ID0gNjsKPiAgCj4gICNkZWZpbmUgR0VO NV9XQV9TVE9SRVMgOCAvKiBtdXN0IGJlIGF0IGxlYXN0IDEhICovCj4gIHN0YXRpYyB1MzIgKmdl bjVfZW1pdF9icmVhZGNydW1iKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCB1MzIgKmNzKQo+IEBA IC05MDgsNyArOTAzLDYgQEAgc3RhdGljIHUzMiAqZ2VuNV9lbWl0X2JyZWFkY3J1bWIoc3RydWN0 IGk5MTVfcmVxdWVzdCAqcnEsIHUzMiAqY3MpCj4gIAo+ICAJcmV0dXJuIGNzOwo+ICB9Cj4gLXN0 YXRpYyBjb25zdCBpbnQgZ2VuNV9lbWl0X2JyZWFkY3J1bWJfc3ogPSBHRU41X1dBX1NUT1JFUyAq IDMgKyAyOwo+ICAjdW5kZWYgR0VONV9XQV9TVE9SRVMKPiAgCj4gIHN0YXRpYyB2b2lkCj4gQEAg LTIyMDYsMTEgKzIyMDAsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9yaW5nX2RlZmF1bHRfdmZ1bmNz KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCWVuZ2luZS0+cmVxdWVzdF9h bGxvYyA9IHJpbmdfcmVxdWVzdF9hbGxvYzsKPiAgCj4gIAllbmdpbmUtPmVtaXRfYnJlYWRjcnVt YiA9IGk5eHhfZW1pdF9icmVhZGNydW1iOwo+IC0JZW5naW5lLT5lbWl0X2JyZWFkY3J1bWJfc3og PSBpOXh4X2VtaXRfYnJlYWRjcnVtYl9zejsKPiAtCWlmIChJU19HRU4oZGV2X3ByaXYsIDUpKSB7 Cj4gKwlpZiAoSVNfR0VOKGRldl9wcml2LCA1KSkKPiAgCQllbmdpbmUtPmVtaXRfYnJlYWRjcnVt YiA9IGdlbjVfZW1pdF9icmVhZGNydW1iOwo+IC0JCWVuZ2luZS0+ZW1pdF9icmVhZGNydW1iX3N6 ID0gZ2VuNV9lbWl0X2JyZWFkY3J1bWJfc3o7Cj4gLQl9Cj4gIAo+ICAJZW5naW5lLT5zZXRfZGVm YXVsdF9zdWJtaXNzaW9uID0gaTl4eF9zZXRfZGVmYXVsdF9zdWJtaXNzaW9uOwo+ICAKPiBAQCAt MjI0MCwxMiArMjIzMSwxMCBAQCBpbnQgaW50ZWxfaW5pdF9yZW5kZXJfcmluZ19idWZmZXIoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAJCWVuZ2luZS0+aW5pdF9jb250ZXh0ID0g aW50ZWxfcmNzX2N0eF9pbml0Owo+ICAJCWVuZ2luZS0+ZW1pdF9mbHVzaCA9IGdlbjdfcmVuZGVy X3JpbmdfZmx1c2g7Cj4gIAkJZW5naW5lLT5lbWl0X2JyZWFkY3J1bWIgPSBnZW43X3Jjc19lbWl0 X2JyZWFkY3J1bWI7Cj4gLQkJZW5naW5lLT5lbWl0X2JyZWFkY3J1bWJfc3ogPSBnZW43X3Jjc19l bWl0X2JyZWFkY3J1bWJfc3o7Cj4gIAl9IGVsc2UgaWYgKElTX0dFTihkZXZfcHJpdiwgNikpIHsK PiAgCQllbmdpbmUtPmluaXRfY29udGV4dCA9IGludGVsX3Jjc19jdHhfaW5pdDsKPiAgCQllbmdp bmUtPmVtaXRfZmx1c2ggPSBnZW42X3JlbmRlcl9yaW5nX2ZsdXNoOwo+ICAJCWVuZ2luZS0+ZW1p dF9icmVhZGNydW1iID0gZ2VuNl9yY3NfZW1pdF9icmVhZGNydW1iOwo+IC0JCWVuZ2luZS0+ZW1p dF9icmVhZGNydW1iX3N6ID0gZ2VuNl9yY3NfZW1pdF9icmVhZGNydW1iX3N6Owo+ICAJfSBlbHNl IGlmIChJU19HRU4oZGV2X3ByaXYsIDUpKSB7Cj4gIAkJZW5naW5lLT5lbWl0X2ZsdXNoID0gZ2Vu NF9yZW5kZXJfcmluZ19mbHVzaDsKPiAgCX0gZWxzZSB7Cj4gQEAgLTIyODEsMTMgKzIyNzAsMTAg QEAgaW50IGludGVsX2luaXRfYnNkX3JpbmdfYnVmZmVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSkKPiAgCQllbmdpbmUtPmVtaXRfZmx1c2ggPSBnZW42X2JzZF9yaW5nX2ZsdXNoOwo+ ICAJCWVuZ2luZS0+aXJxX2VuYWJsZV9tYXNrID0gR1RfQlNEX1VTRVJfSU5URVJSVVBUOwo+ICAK PiAtCQlpZiAoSVNfR0VOKGRldl9wcml2LCA2KSkgewo+ICsJCWlmIChJU19HRU4oZGV2X3ByaXYs IDYpKQo+ICAJCQllbmdpbmUtPmVtaXRfYnJlYWRjcnVtYiA9IGdlbjZfeGNzX2VtaXRfYnJlYWRj cnVtYjsKPiAtCQkJZW5naW5lLT5lbWl0X2JyZWFkY3J1bWJfc3ogPSBnZW42X3hjc19lbWl0X2Jy ZWFkY3J1bWJfc3o7Cj4gLQkJfSBlbHNlIHsKPiArCQllbHNlCj4gIAkJCWVuZ2luZS0+ZW1pdF9i cmVhZGNydW1iID0gZ2VuN194Y3NfZW1pdF9icmVhZGNydW1iOwo+IC0JCQllbmdpbmUtPmVtaXRf YnJlYWRjcnVtYl9zeiA9IGdlbjdfeGNzX2VtaXRfYnJlYWRjcnVtYl9zejsKPiAtCQl9Cj4gIAl9 IGVsc2Ugewo+ICAJCWVuZ2luZS0+ZW1pdF9mbHVzaCA9IGJzZF9yaW5nX2ZsdXNoOwo+ICAJCWlm IChJU19HRU4oZGV2X3ByaXYsIDUpKQo+IEBAIC0yMzEwLDEzICsyMjk2LDEwIEBAIGludCBpbnRl bF9pbml0X2JsdF9yaW5nX2J1ZmZlcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4g IAllbmdpbmUtPmVtaXRfZmx1c2ggPSBnZW42X3JpbmdfZmx1c2g7Cj4gIAllbmdpbmUtPmlycV9l bmFibGVfbWFzayA9IEdUX0JMVF9VU0VSX0lOVEVSUlVQVDsKPiAgCj4gLQlpZiAoSVNfR0VOKGRl dl9wcml2LCA2KSkgewo+ICsJaWYgKElTX0dFTihkZXZfcHJpdiwgNikpCj4gIAkJZW5naW5lLT5l bWl0X2JyZWFkY3J1bWIgPSBnZW42X3hjc19lbWl0X2JyZWFkY3J1bWI7Cj4gLQkJZW5naW5lLT5l bWl0X2JyZWFkY3J1bWJfc3ogPSBnZW42X3hjc19lbWl0X2JyZWFkY3J1bWJfc3o7Cj4gLQl9IGVs c2Ugewo+ICsJZWxzZQo+ICAJCWVuZ2luZS0+ZW1pdF9icmVhZGNydW1iID0gZ2VuN194Y3NfZW1p dF9icmVhZGNydW1iOwo+IC0JCWVuZ2luZS0+ZW1pdF9icmVhZGNydW1iX3N6ID0gZ2VuN194Y3Nf ZW1pdF9icmVhZGNydW1iX3N6Owo+IC0JfQo+ICAKPiAgCXJldHVybiBpbnRlbF9pbml0X3Jpbmdf YnVmZmVyKGVuZ2luZSk7Cj4gIH0KPiBAQCAtMjMzNSw3ICsyMzE4LDYgQEAgaW50IGludGVsX2lu aXRfdmVib3hfcmluZ19idWZmZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAJ ZW5naW5lLT5pcnFfZGlzYWJsZSA9IGhzd192ZWJveF9pcnFfZGlzYWJsZTsKPiAgCj4gIAllbmdp bmUtPmVtaXRfYnJlYWRjcnVtYiA9IGdlbjdfeGNzX2VtaXRfYnJlYWRjcnVtYjsKPiAtCWVuZ2lu ZS0+ZW1pdF9icmVhZGNydW1iX3N6ID0gZ2VuN194Y3NfZW1pdF9icmVhZGNydW1iX3N6Owo+ICAK PiAgCXJldHVybiBpbnRlbF9pbml0X3JpbmdfYnVmZmVyKGVuZ2luZSk7Cj4gIH0KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4gaW5kZXggNDc5YmQ1M2Q0YWM2Li4wODM0 ZTkxZDRhY2UgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1 ZmZlci5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4g QEAgLTQ3MSw3ICs0NzEsNyBAQCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzIHsKPiAgI2RlZmluZSBJ OTE1X0RJU1BBVENIX1NFQ1VSRSBCSVQoMCkKPiAgI2RlZmluZSBJOTE1X0RJU1BBVENIX1BJTk5F RCBCSVQoMSkKPiAgCXUzMgkJKigqZW1pdF9icmVhZGNydW1iKShzdHJ1Y3QgaTkxNV9yZXF1ZXN0 ICpycSwgdTMyICpjcyk7Cj4gLQlpbnQJCWVtaXRfYnJlYWRjcnVtYl9zejsKPiArCWludAkJZW1p dF9icmVhZGNydW1iX2R3Owo+ICAKPiAgCS8qIFBhc3MgdGhlIHJlcXVlc3QgdG8gdGhlIGhhcmR3 YXJlIHF1ZXVlIChlLmcuIGRpcmVjdGx5IGludG8KPiAgCSAqIHRoZSBsZWdhY3kgcmluZ2J1ZmZl ciBvciB0byB0aGUgZW5kIG9mIGFuIGV4ZWNsaXN0KS4KPiAtLSAKPiAyLjIwLjEKPgo+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK