From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: Re: [PATCH 04/13] drm/i915: Make semaphore updates more precise Date: Tue, 11 Feb 2014 08:08:27 -0800 Message-ID: <20140211160824.GA10233@bwidawsk.net> References: <1391025333-31587-1-git-send-email-benjamin.widawsky@intel.com> <1391025333-31587-5-git-send-email-benjamin.widawsky@intel.com> <20140130112542.GI9454@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.bwidawsk.net (bwidawsk.net [166.78.191.112]) by gabe.freedesktop.org (Postfix) with ESMTP id 55DB6FA9E7 for ; Tue, 11 Feb 2014 08:08:40 -0800 (PST) Content-Disposition: inline In-Reply-To: <20140130112542.GI9454@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org To: Ville =?utf-8?B?U3lyasOkbMOk?= Cc: Intel GFX , Ben Widawsky List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBKYW4gMzAsIDIwMTQgYXQgMDE6MjU6NDJQTSArMDIwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFdlZCwgSmFuIDI5LCAyMDE0IGF0IDExOjU1OjI0QU0gLTA4MDAsIEJlbiBX aWRhd3NreSB3cm90ZToKPiA+IFdpdGggdGhlIHJpbmcgbWFzayB3ZSBub3cgaGF2ZSBhbiBlYXN5 IHdheSB0byBrbm93IHRoZSBudW1iZXIgb2YgcmluZ3MKPiA+IGluIHRoZSBzeXN0ZW0sIGFuZCB0 aGVyZWZvcmUgY2FuIGFjY3VyYXRlbHkgcHJlZGljdCB0aGUgbnVtYmVyIG9mIGR3b3Jkcwo+ID4g dG8gZW1pdCBmb3Igc2VtYXBob3JlIHNpZ25hbGxpbmcuIFRoaXMgd2FzIG5vdCBwb3NzaWJsZSAo ZWFzaWx5KQo+ID4gcHJldmlvdXNseS4KPiA+IAo+ID4gVGhlcmUgc2hvdWxkIGJlIG5vIGZ1bmN0 aW9uYWwgaW1wYWN0LCBzaW1wbHkgZmV3ZXIgaW5zdHJ1Y3Rpb25zIGVtaXR0ZWQuCj4gPiAKPiA+ IFdoaWxlIHdlJ3JlIGhlcmUsIHNpbXBseSBkbyB0aGUgcm91bmQgdXAgdG8gMiBpbnN0ZWFkIG9m IHRoZSBmYW5jaWVyCj4gPiByb3VuZGluZyB3ZSBkaWQgYmVmb3JlLCB3aGljaCByb3VuZGluZyB1 cCBwZXIgbWJveCwgaWUgNC4KPiA+IAo+ID4gU2lnbmVkLW9mZi1ieTogQmVuIFdpZGF3c2t5IDxi ZW5AYndpZGF3c2submV0Pgo+ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cmluZ2J1ZmZlci5jIHwgNDMgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCj4gPiAg MSBmaWxlIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQo+ID4gCj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gPiBpbmRleCA3MGY3MTkw Li45Nzc4OWZmIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVy LmMKPiA+IEBAIC02MzUsMjQgKzYzNSwyMCBAQCBzdGF0aWMgdm9pZCByZW5kZXJfcmluZ19jbGVh bnVwKHN0cnVjdCBpbnRlbF9yaW5nX2J1ZmZlciAqcmluZykKPiA+ICBzdGF0aWMgaW50IGdlbjZf c2lnbmFsKHN0cnVjdCBpbnRlbF9yaW5nX2J1ZmZlciAqc2lnbmFsbGVyLAo+ID4gIAkJICAgICAg IHVuc2lnbmVkIGludCBudW1fZHdvcmRzKQo+ID4gIHsKPiA+ICsjZGVmaW5lIE1CT1hfVVBEQVRF X0RXT1JEUyA0Cj4gPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBzaWduYWxsZXItPmRldjsK PiA+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0 ZTsKPiA+ICAJc3RydWN0IGludGVsX3JpbmdfYnVmZmVyICp1c2VsZXNzOwo+ID4gLQlpbnQgaSwg cmV0Owo+ID4gKwlpbnQgaSwgcmV0LCBudW1fcmluZ3M7Cj4gPiAgCj4gPiAtCS8qIE5COiBJbiBv cmRlciB0byBiZSBhYmxlIHRvIGRvIHNlbWFwaG9yZSBNQk9YIHVwZGF0ZXMgZm9yIHZhcnlpbmcK PiA+IC0JICogbnVtYmVyIG9mIHJpbmdzLCBpdCdzIGVhc2llc3QgaWYgd2Ugcm91bmQgdXAgZWFj aCBpbmRpdmlkdWFsIHVwZGF0ZQo+ID4gLQkgKiB0byBhIG11bHRpcGxlIG9mIDIgKHNpbmNlIHJp bmcgdXBkYXRlcyBtdXN0IGFsd2F5cyBiZSBhIG11bHRpcGxlIG9mCj4gPiAtCSAqIDIpIGV2ZW4g dGhvdWdoIHRoZSBhY3R1YWwgdXBkYXRlIG9ubHkgcmVxdWlyZXMgMyBkd29yZHMuCj4gPiAtCSAq Lwo+ID4gLSNkZWZpbmUgTUJPWF9VUERBVEVfRFdPUkRTIDQKPiA+IC0JaWYgKGk5MTVfc2VtYXBo b3JlX2lzX2VuYWJsZWQoZGV2KSkKPiA+IC0JCW51bV9kd29yZHMgKz0gKChJOTE1X05VTV9SSU5H Uy0xKSAqIE1CT1hfVVBEQVRFX0RXT1JEUyk7Cj4gPiArCW51bV9yaW5ncyA9IGh3ZWlnaHRfbG9u ZyhJTlRFTF9JTkZPKGRldiktPnJpbmdfbWFzayk7Cj4gPiArCW51bV9kd29yZHMgPSByb3VuZF91 cCgobnVtX3JpbmdzLTEpICogTUJPWF9VUERBVEVfRFdPUkRTLCAyKTsKPiAKPiBudW1fZHdvcmRz ICs9Cj4gCgpIbW0uIEkgdGhpbmsgSSBtYXkgaGF2ZSBzdWJtaXR0ZWQgdGhlIHdyb25nIHBhdGNo IGhlcmUgc2luY2UgSSB3YXMKcHJldHR5IGNlcnRhaW4gQ2hyaXMgaGFkIGNhdWdodCB0aGlzIGJl Zm9yZS4gQW55d2F5LCB0aGFua3MuCgo+IEFsc28gcm91bmRfdXAoKSBpcyB1c2VsZXNzIHNpbmNl IGl0J3MgYWxyZWFkeSBhIG11bHRpcGxlIG9mIDQuIE9yIGRpZAo+IHlvdSBtZWFuIHRvIGNoYW5n ZSBpdCB0byBlbWl0IG9ubHkgMyBkd29yZHMgcGVyIG1ib3g/CgpZZXAsIEkgbWVhbnQgdG8gY2hh bmdlIHRvIDMsIHRoYW5rcy4gRG91YmxlIG9uIHRoZSwgbWF5YmUgdGhpcyB3YXMgdGhlCndyb25n IHBhdGNoLgoKPiAKPiA+ICsjdW5kZWYgTUJPWF9VUERBVEVfRFdPUkRTCj4gPiAgCj4gPiAtCXJl dCA9IGludGVsX3JpbmdfYmVnaW4oc2lnbmFsbGVyLCBudW1fZHdvcmRzKTsKPiA+ICsJLyogWFhY OiArIDQgZm9yIHRoZSBjYWxsZXIgKi8KPiA+ICsJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihzaWdu YWxsZXIsIG51bV9kd29yZHMgKyA0KTsKPiAKPiBUaGUgKz0gZWFybGllciBnZXRzIHJpZCBvZiB0 aGUgKzQgaGVyZS4KPiAKPiA+ICAJaWYgKHJldCkKPiA+ICAJCXJldHVybiByZXQ7Cj4gPiAtI3Vu ZGVmIE1CT1hfVVBEQVRFX0RXT1JEUwo+ID4gIAo+ID4gIAlmb3JfZWFjaF9yaW5nKHVzZWxlc3Ms IGRldl9wcml2LCBpKSB7Cj4gPiAgCQl1MzIgbWJveF9yZWcgPSBzaWduYWxsZXItPnNlbWFwaG9y ZS5zaWduYWxfbWJveFtpXTsKPiA+IEBAIC02NjEsMTQgKzY1NywxMSBAQCBzdGF0aWMgaW50IGdl bjZfc2lnbmFsKHN0cnVjdCBpbnRlbF9yaW5nX2J1ZmZlciAqc2lnbmFsbGVyLAo+ID4gIAkJCWlu dGVsX3JpbmdfZW1pdChzaWduYWxsZXIsIG1ib3hfcmVnKTsKPiA+ICAJCQlpbnRlbF9yaW5nX2Vt aXQoc2lnbmFsbGVyLCBzaWduYWxsZXItPm91dHN0YW5kaW5nX2xhenlfc2Vxbm8pOwo+ID4gIAkJ CWludGVsX3JpbmdfZW1pdChzaWduYWxsZXIsIE1JX05PT1ApOwo+ID4gLQkJfSBlbHNlIHsKPiA+ IC0JCQlpbnRlbF9yaW5nX2VtaXQoc2lnbmFsbGVyLCBNSV9OT09QKTsKPiA+IC0JCQlpbnRlbF9y aW5nX2VtaXQoc2lnbmFsbGVyLCBNSV9OT09QKTsKPiA+IC0JCQlpbnRlbF9yaW5nX2VtaXQoc2ln bmFsbGVyLCBNSV9OT09QKTsKPiA+IC0JCQlpbnRlbF9yaW5nX2VtaXQoc2lnbmFsbGVyLCBNSV9O T09QKTsKPiA+ICAJCX0KPiA+ICAJfQo+ID4gIAo+ID4gKwlXQVJOX09OKGkgIT0gbnVtX3Jpbmdz KTsKPiAKPiBTbyB3ZSdyZSBub3QgZXhwZWN0aW5nIGRldl9wcml2LT5yaW5nW10gdG8gYmUgc3Bh cnNlbHkgcG9wdWxhdGVkIGV2ZXI/CgpJJ2xsIG5ldmVyIHNheSAiZXZlci4iIEN1cnJlbnRseSBo b3dldmVyIGl0IGlzIHVuZXhwZWN0ZWQuIEkgc3VwcG9zZSBpdAp3b3VsZCBiZSBuaWNlciB0byBo aXQgdGhlIFdBUk4gc29vbmVyIGluIHRoZSBpbml0IHBhdGgsIGJ1dCBJJ20gbm90IHN1cmUKaG93 IG9mZmVuZGVkIHlvdSBhcmUgYnkgdGhpcy4gVGhlIGNvZGUgaXMgc3RpbGwgc2xpZ2h0bHkgbXVk ZHkgd2l0aApyZWdhcmRzIHRvIHJpbmdzIG9uIHRoZSBIVyB2cy4gZW5hYmxlZCByaW5ncyAtIGJ1 dCBpdCdzIGEgc2VwYXJhdGUgaXNzdWUKd2hpY2ggaXMgc2xvd2x5IGdldHRpbmcgYmV0dGVyLgoK SW4gZWl0aGVyIGNhc2UsIHRoZXJlIGlzIGEgYnVnIGhlcmUgYmVjYXVzZSBmb3JfZWFjaF9yaW5n IHdpbGwgYmUgPgpudW1fcmluZ3Mgb24gU05CIGFuZCBJVkIuCgo+IAo+ID4gKwo+ID4gIAlyZXR1 cm4gMDsKPiA+ICB9Cj4gPiAgCj4gPiBAQCAtNjg2LDcgKzY3OSwxMSBAQCBnZW42X2FkZF9yZXF1 ZXN0KHN0cnVjdCBpbnRlbF9yaW5nX2J1ZmZlciAqcmluZykKPiA+ICB7Cj4gPiAgCWludCByZXQ7 Cj4gPiAgCj4gPiAtCXJldCA9IHJpbmctPnNlbWFwaG9yZS5zaWduYWwocmluZywgNCk7Cj4gPiAr CWlmIChyaW5nLT5zZW1hcGhvcmUuc2lnbmFsKQo+ID4gKwkJcmV0ID0gcmluZy0+c2VtYXBob3Jl LnNpZ25hbChyaW5nLCA0KTsKPiA+ICsJZWxzZQo+ID4gKwkJcmV0ID0gaW50ZWxfcmluZ19iZWdp bihyaW5nLCA0KTsKPiA+ICsKPiA+ICAJaWYgKHJldCkKPiA+ICAJCXJldHVybiByZXQ7Cj4gPiAg Cj4gPiBAQCAtMTg4MSw3ICsxODc4LDggQEAgaW50IGludGVsX2luaXRfcmVuZGVyX3JpbmdfYnVm ZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiAgCQlyaW5nLT5nZXRfc2Vxbm8gPSBnZW42 X3JpbmdfZ2V0X3NlcW5vOwo+ID4gIAkJcmluZy0+c2V0X3NlcW5vID0gcmluZ19zZXRfc2Vxbm87 Cj4gPiAgCQlyaW5nLT5zZW1hcGhvcmUuc3luY190byA9IGdlbjZfcmluZ19zeW5jOwo+ID4gLQkJ cmluZy0+c2VtYXBob3JlLnNpZ25hbCA9IGdlbjZfc2lnbmFsOwo+ID4gKwkJaWYgKGk5MTVfc2Vt YXBob3JlX2lzX2VuYWJsZWQoZGV2KSkKPiA+ICsJCQlyaW5nLT5zZW1hcGhvcmUuc2lnbmFsID0g Z2VuNl9zaWduYWw7Cj4gCj4gSSBndWVzcyB3ZSBjb3VsZCBhbHNvIHNldCAuc3luY190byBjb25k aXRpb25hbGx5LCBidXQgZG9lc24ndCByZWFsbHkKPiBtYXR0ZXIgc2luY2Ugd2Ugd29uJ3QgY2Fs bCBpdCBhbnl3YXkgdy9vIHNlbWFwaG9yZXMgZW5hYmxlZC4KPiAKCkkgcHJlZmVyIHRoYXQuIE5v dCBzdXJlIHdoeSBJIGRpZG4ndCBkbyBpdCBpbiB0aGUgZmlyc3QgcGxhY2UuCgo+ID4gIAkJcmlu Zy0+c2VtYXBob3JlLm1ib3hbUkNTXSA9IE1JX1NFTUFQSE9SRV9TWU5DX0lOVkFMSUQ7Cj4gPiAg CQlyaW5nLT5zZW1hcGhvcmUubWJveFtWQ1NdID0gTUlfU0VNQVBIT1JFX1NZTkNfUlY7Cj4gPiAg CQlyaW5nLT5zZW1hcGhvcmUubWJveFtCQ1NdID0gTUlfU0VNQVBIT1JFX1NZTkNfUkI7Cj4gPiBA QCAtMjA1OCw3ICsyMDU2LDggQEAgaW50IGludGVsX2luaXRfYnNkX3JpbmdfYnVmZmVyKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCj4gPiAgCQkJCWdlbjZfcmluZ19kaXNwYXRjaF9leGVjYnVmZmVy Owo+ID4gIAkJfQo+ID4gIAkJcmluZy0+c2VtYXBob3JlLnN5bmNfdG8gPSBnZW42X3Jpbmdfc3lu YzsKPiA+IC0JCXJpbmctPnNlbWFwaG9yZS5zaWduYWwgPSBnZW42X3NpZ25hbDsKPiA+ICsJCWlm IChpOTE1X3NlbWFwaG9yZV9pc19lbmFibGVkKGRldikpCj4gPiArCQkJcmluZy0+c2VtYXBob3Jl LnNpZ25hbCA9IGdlbjZfc2lnbmFsOwo+ID4gIAkJcmluZy0+c2VtYXBob3JlLm1ib3hbUkNTXSA9 IE1JX1NFTUFQSE9SRV9TWU5DX1ZSOwo+ID4gIAkJcmluZy0+c2VtYXBob3JlLm1ib3hbVkNTXSA9 IE1JX1NFTUFQSE9SRV9TWU5DX0lOVkFMSUQ7Cj4gPiAgCQlyaW5nLT5zZW1hcGhvcmUubWJveFtC Q1NdID0gTUlfU0VNQVBIT1JFX1NZTkNfVkI7Cj4gPiBAQCAtMjExNiw3ICsyMTE1LDggQEAgaW50 IGludGVsX2luaXRfYmx0X3JpbmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiAg CQlyaW5nLT5kaXNwYXRjaF9leGVjYnVmZmVyID0gZ2VuNl9yaW5nX2Rpc3BhdGNoX2V4ZWNidWZm ZXI7Cj4gPiAgCX0KPiA+ICAJcmluZy0+c2VtYXBob3JlLnN5bmNfdG8gPSBnZW42X3Jpbmdfc3lu YzsKPiA+IC0JcmluZy0+c2VtYXBob3JlLnNpZ25hbCA9IGdlbjZfc2lnbmFsOwo+ID4gKwlpZiAo aTkxNV9zZW1hcGhvcmVfaXNfZW5hYmxlZChkZXYpKQo+ID4gKwkJcmluZy0+c2VtYXBob3JlLnNp Z25hbCA9IGdlbjZfc2lnbmFsOwo+ID4gIAlyaW5nLT5zZW1hcGhvcmUubWJveFtSQ1NdID0gTUlf U0VNQVBIT1JFX1NZTkNfQlI7Cj4gPiAgCXJpbmctPnNlbWFwaG9yZS5tYm94W1ZDU10gPSBNSV9T RU1BUEhPUkVfU1lOQ19CVjsKPiA+ICAJcmluZy0+c2VtYXBob3JlLm1ib3hbQkNTXSA9IE1JX1NF TUFQSE9SRV9TWU5DX0lOVkFMSUQ7Cj4gPiBAQCAtMjE1OCw3ICsyMTU4LDggQEAgaW50IGludGVs X2luaXRfdmVib3hfcmluZ19idWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+ICAJCXJp bmctPmRpc3BhdGNoX2V4ZWNidWZmZXIgPSBnZW42X3JpbmdfZGlzcGF0Y2hfZXhlY2J1ZmZlcjsK PiA+ICAJfQo+ID4gIAlyaW5nLT5zZW1hcGhvcmUuc3luY190byA9IGdlbjZfcmluZ19zeW5jOwo+ ID4gLQlyaW5nLT5zZW1hcGhvcmUuc2lnbmFsID0gZ2VuNl9zaWduYWw7Cj4gPiArCWlmIChpOTE1 X3NlbWFwaG9yZV9pc19lbmFibGVkKGRldikpCj4gPiArCQlyaW5nLT5zZW1hcGhvcmUuc2lnbmFs ID0gZ2VuNl9zaWduYWw7Cj4gPiAgCXJpbmctPnNlbWFwaG9yZS5tYm94W1JDU10gPSBNSV9TRU1B UEhPUkVfU1lOQ19WRVI7Cj4gPiAgCXJpbmctPnNlbWFwaG9yZS5tYm94W1ZDU10gPSBNSV9TRU1B UEhPUkVfU1lOQ19WRVY7Cj4gPiAgCXJpbmctPnNlbWFwaG9yZS5tYm94W0JDU10gPSBNSV9TRU1B UEhPUkVfU1lOQ19WRUI7Cj4gLS0gCj4gVmlsbGUgU3lyasOkbMOkCj4gSW50ZWwgT1RDCgpGWUk6 IGhlcmUgaXMgdGhlIGRpZmYgSSBhbSB1c2luZzoKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmMKaW5kZXggOTc3ODlmZi4uM2JlYzBmNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3JpbmdidWZmZXIuYwpAQCAtNjM1LDE4ICs2MzUsMTggQEAgc3RhdGljIHZvaWQgcmVu ZGVyX3JpbmdfY2xlYW51cChzdHJ1Y3QgaW50ZWxfcmluZ19idWZmZXIgKnJpbmcpCiBzdGF0aWMg aW50IGdlbjZfc2lnbmFsKHN0cnVjdCBpbnRlbF9yaW5nX2J1ZmZlciAqc2lnbmFsbGVyLAogCQkg ICAgICAgdW5zaWduZWQgaW50IG51bV9kd29yZHMpCiB7Ci0jZGVmaW5lIE1CT1hfVVBEQVRFX0RX T1JEUyA0CisjZGVmaW5lIE1CT1hfVVBEQVRFX0RXT1JEUyAzCiAJc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IHNpZ25hbGxlci0+ZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGludGVsX3JpbmdfYnVmZmVyICp1c2VsZXNz OwogCWludCBpLCByZXQsIG51bV9yaW5nczsKIAogCW51bV9yaW5ncyA9IGh3ZWlnaHRfbG9uZyhJ TlRFTF9JTkZPKGRldiktPnJpbmdfbWFzayk7Ci0JbnVtX2R3b3JkcyA9IHJvdW5kX3VwKChudW1f cmluZ3MtMSkgKiBNQk9YX1VQREFURV9EV09SRFMsIDIpOworCW51bV9kd29yZHMgKz0gcm91bmRf dXAoKG51bV9yaW5ncy0xKSAqIE1CT1hfVVBEQVRFX0RXT1JEUywgMik7CiAjdW5kZWYgTUJPWF9V UERBVEVfRFdPUkRTCiAKIAkvKiBYWFg6ICsgNCBmb3IgdGhlIGNhbGxlciAqLwotCXJldCA9IGlu dGVsX3JpbmdfYmVnaW4oc2lnbmFsbGVyLCBudW1fZHdvcmRzICsgNCk7CisJcmV0ID0gaW50ZWxf cmluZ19iZWdpbihzaWduYWxsZXIsIG51bV9kd29yZHMpOwogCWlmIChyZXQpCiAJCXJldHVybiBy ZXQ7CiAKQEAgLTY1Niw3ICs2NTYsNiBAQCBzdGF0aWMgaW50IGdlbjZfc2lnbmFsKHN0cnVjdCBp bnRlbF9yaW5nX2J1ZmZlciAqc2lnbmFsbGVyLAogCQkJaW50ZWxfcmluZ19lbWl0KHNpZ25hbGxl ciwgTUlfTE9BRF9SRUdJU1RFUl9JTU0oMSkpOwogCQkJaW50ZWxfcmluZ19lbWl0KHNpZ25hbGxl ciwgbWJveF9yZWcpOwogCQkJaW50ZWxfcmluZ19lbWl0KHNpZ25hbGxlciwgc2lnbmFsbGVyLT5v dXRzdGFuZGluZ19sYXp5X3NlcW5vKTsKLQkJCWludGVsX3JpbmdfZW1pdChzaWduYWxsZXIsIE1J X05PT1ApOwogCQl9CiAJfQogCkBAIC0xODc3LDkgKzE4NzYsMTAgQEAgaW50IGludGVsX2luaXRf cmVuZGVyX3JpbmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCXJpbmctPmlycV9l bmFibGVfbWFzayA9IEdUX1JFTkRFUl9VU0VSX0lOVEVSUlVQVDsKIAkJcmluZy0+Z2V0X3NlcW5v ID0gZ2VuNl9yaW5nX2dldF9zZXFubzsKIAkJcmluZy0+c2V0X3NlcW5vID0gcmluZ19zZXRfc2Vx bm87Ci0JCXJpbmctPnNlbWFwaG9yZS5zeW5jX3RvID0gZ2VuNl9yaW5nX3N5bmM7Ci0JCWlmIChp OTE1X3NlbWFwaG9yZV9pc19lbmFibGVkKGRldikpCisJCWlmIChpOTE1X3NlbWFwaG9yZV9pc19l bmFibGVkKGRldikpIHsKKwkJCXJpbmctPnNlbWFwaG9yZS5zeW5jX3RvID0gZ2VuNl9yaW5nX3N5 bmM7CiAJCQlyaW5nLT5zZW1hcGhvcmUuc2lnbmFsID0gZ2VuNl9zaWduYWw7CisJCX0KIAkJcmlu Zy0+c2VtYXBob3JlLm1ib3hbUkNTXSA9IE1JX1NFTUFQSE9SRV9TWU5DX0lOVkFMSUQ7CiAJCXJp bmctPnNlbWFwaG9yZS5tYm94W1ZDU10gPSBNSV9TRU1BUEhPUkVfU1lOQ19SVjsKIAkJcmluZy0+ c2VtYXBob3JlLm1ib3hbQkNTXSA9IE1JX1NFTUFQSE9SRV9TWU5DX1JCOwpAQCAtMjA1NSw5ICsy MDU1LDEwIEBAIGludCBpbnRlbF9pbml0X2JzZF9yaW5nX2J1ZmZlcihzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQogCQkJcmluZy0+ZGlzcGF0Y2hfZXhlY2J1ZmZlciA9CiAJCQkJZ2VuNl9yaW5nX2Rp c3BhdGNoX2V4ZWNidWZmZXI7CiAJCX0KLQkJcmluZy0+c2VtYXBob3JlLnN5bmNfdG8gPSBnZW42 X3Jpbmdfc3luYzsKLQkJaWYgKGk5MTVfc2VtYXBob3JlX2lzX2VuYWJsZWQoZGV2KSkKKwkJaWYg KGk5MTVfc2VtYXBob3JlX2lzX2VuYWJsZWQoZGV2KSkgeworCQkJcmluZy0+c2VtYXBob3JlLnN5 bmNfdG8gPSBnZW42X3Jpbmdfc3luYzsKIAkJCXJpbmctPnNlbWFwaG9yZS5zaWduYWwgPSBnZW42 X3NpZ25hbDsKKwkJfQogCQlyaW5nLT5zZW1hcGhvcmUubWJveFtSQ1NdID0gTUlfU0VNQVBIT1JF X1NZTkNfVlI7CiAJCXJpbmctPnNlbWFwaG9yZS5tYm94W1ZDU10gPSBNSV9TRU1BUEhPUkVfU1lO Q19JTlZBTElEOwogCQlyaW5nLT5zZW1hcGhvcmUubWJveFtCQ1NdID0gTUlfU0VNQVBIT1JFX1NZ TkNfVkI7CkBAIC0yMTE0LDkgKzIxMTUsMTAgQEAgaW50IGludGVsX2luaXRfYmx0X3JpbmdfYnVm ZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCXJpbmctPmlycV9wdXQgPSBnZW42X3Jpbmdf cHV0X2lycTsKIAkJcmluZy0+ZGlzcGF0Y2hfZXhlY2J1ZmZlciA9IGdlbjZfcmluZ19kaXNwYXRj aF9leGVjYnVmZmVyOwogCX0KLQlyaW5nLT5zZW1hcGhvcmUuc3luY190byA9IGdlbjZfcmluZ19z eW5jOwotCWlmIChpOTE1X3NlbWFwaG9yZV9pc19lbmFibGVkKGRldikpCisJaWYgKGk5MTVfc2Vt YXBob3JlX2lzX2VuYWJsZWQoZGV2KSkgewogCQlyaW5nLT5zZW1hcGhvcmUuc2lnbmFsID0gZ2Vu Nl9zaWduYWw7CisJCXJpbmctPnNlbWFwaG9yZS5zeW5jX3RvID0gZ2VuNl9yaW5nX3N5bmM7CisJ fQogCXJpbmctPnNlbWFwaG9yZS5tYm94W1JDU10gPSBNSV9TRU1BUEhPUkVfU1lOQ19CUjsKIAly aW5nLT5zZW1hcGhvcmUubWJveFtWQ1NdID0gTUlfU0VNQVBIT1JFX1NZTkNfQlY7CiAJcmluZy0+ c2VtYXBob3JlLm1ib3hbQkNTXSA9IE1JX1NFTUFQSE9SRV9TWU5DX0lOVkFMSUQ7CkBAIC0yMTU3 LDkgKzIxNTksMTAgQEAgaW50IGludGVsX2luaXRfdmVib3hfcmluZ19idWZmZXIoc3RydWN0IGRy bV9kZXZpY2UgKmRldikKIAkJcmluZy0+aXJxX3B1dCA9IGhzd192ZWJveF9wdXRfaXJxOwogCQly aW5nLT5kaXNwYXRjaF9leGVjYnVmZmVyID0gZ2VuNl9yaW5nX2Rpc3BhdGNoX2V4ZWNidWZmZXI7 CiAJfQotCXJpbmctPnNlbWFwaG9yZS5zeW5jX3RvID0gZ2VuNl9yaW5nX3N5bmM7Ci0JaWYgKGk5 MTVfc2VtYXBob3JlX2lzX2VuYWJsZWQoZGV2KSkKKwlpZiAoaTkxNV9zZW1hcGhvcmVfaXNfZW5h YmxlZChkZXYpKSB7CisJCXJpbmctPnNlbWFwaG9yZS5zeW5jX3RvID0gZ2VuNl9yaW5nX3N5bmM7 CiAJCXJpbmctPnNlbWFwaG9yZS5zaWduYWwgPSBnZW42X3NpZ25hbDsKKwl9CiAJcmluZy0+c2Vt YXBob3JlLm1ib3hbUkNTXSA9IE1JX1NFTUFQSE9SRV9TWU5DX1ZFUjsKIAlyaW5nLT5zZW1hcGhv cmUubWJveFtWQ1NdID0gTUlfU0VNQVBIT1JFX1NZTkNfVkVWOwogCXJpbmctPnNlbWFwaG9yZS5t Ym94W0JDU10gPSBNSV9TRU1BUEhPUkVfU1lOQ19WRUI7CgotLSAKQmVuIFdpZGF3c2t5LCBJbnRl bCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=