From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jesse Barnes Subject: Re: [PATCH 6/7] drm/i915: Perform primary enable/disable atomically with sprite updates Date: Thu, 12 Dec 2013 13:06:01 -0800 Message-ID: <20131212130601.3cfeb09b@jbarnes-desktop> References: <1382039599-31605-1-git-send-email-ville.syrjala@linux.intel.com> <1382039599-31605-7-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from oproxy9-pub.mail.unifiedlayer.com (oproxy9-pub.mail.unifiedlayer.com [69.89.24.6]) by gabe.freedesktop.org (Postfix) with SMTP id 82673FA638 for ; Thu, 12 Dec 2013 13:04:17 -0800 (PST) In-Reply-To: <1382039599-31605-7-git-send-email-ville.syrjala@linux.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.syrjala@linux.intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAxNyBPY3QgMjAxMyAyMjo1MzoxOCArMDMwMAp2aWxsZS5zeXJqYWxhQGxpbnV4Lmlu dGVsLmNvbSB3cm90ZToKCj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbT4KPiAKPiBNb3ZlIHRoZSBwcmltYXJ5IHBsYW5lIGVuYWJsZS9kaXNhYmxl IHRvIG9jY3VyIGF0b21pY2FsbHkgd2l0aCB0aGUKPiBzcHJpdGUgdXBkYXRlIHRoYXQgY2F1c2Vk IHRoZSBwcmltYXJ5IHBsYW5lIHZpc2liaWxpdHkgdG8gY2hhbmdlLgo+IAo+IEZCQyBhbmQgSVBT IGVuYWJsZS9kaXNhYmxlIGlzIGxlZnQgdG8gaGFwcGVuIHdlbGwgYmVmb3JlIG9yIGFmdGVyCj4g dGhlIHByaW1hcnkgcGxhbmUgY2hhbmdlLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrD pGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jIHwgOTYgKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgMzkgZGVsZXRp b25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0 ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiBpbmRleCBjZTRlNGVj Li5mODcxYjhmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0 ZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiBAQCAtODUs NiArODUsMTkgQEAgc3RhdGljIHZvaWQgaW50ZWxfcGlwZV91cGRhdGVfZW5kKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YykKPiAgCWxvY2FsX2lycV9lbmFibGUoKTsKPiAgfQo+ICAKPiArc3RhdGljIHZv aWQgaW50ZWxfdXBkYXRlX3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICt7 Cj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owo+ICsJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiArCXN0cnVjdCBpbnRl bF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiArCWludCByZWcgPSBE U1BDTlRSKGludGVsX2NydGMtPnBsYW5lKTsKPiArCj4gKwlpZiAoaW50ZWxfY3J0Yy0+cHJpbWFy eV9lbmFibGVkKQo+ICsJCUk5MTVfV1JJVEUocmVnLCBJOTE1X1JFQUQocmVnKSB8IERJU1BMQVlf UExBTkVfRU5BQkxFKTsKPiArCWVsc2UKPiArCQlJOTE1X1dSSVRFKHJlZywgSTkxNV9SRUFEKHJl ZykgJiB+RElTUExBWV9QTEFORV9FTkFCTEUpOwo+ICt9Cj4gKwo+ICBzdGF0aWMgdm9pZAo+ICB2 bHZfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKmRwbGFuZSwgc3RydWN0IGRybV9jcnRj ICpjcnRjLAo+ICAJCSBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKPiBAQCAtMTc1LDYgKzE4 OCw4IEBAIHZsdl91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqZHBsYW5lLCBzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCj4gIAo+ICAJaW50ZWxfcGlwZV91cGRhdGVfc3RhcnQoY3J0Yyk7Cj4g IAo+ICsJaW50ZWxfdXBkYXRlX3ByaW1hcnlfcGxhbmUoY3J0Yyk7Cj4gKwo+ICAJSTkxNV9XUklU RShTUFNUUklERShwaXBlLCBwbGFuZSksIGZiLT5waXRjaGVzWzBdKTsKPiAgCUk5MTVfV1JJVEUo U1BQT1MocGlwZSwgcGxhbmUpLCAoY3J0Y195IDw8IDE2KSB8IGNydGNfeCk7Cj4gIAo+IEBAIC0x ODcsNyArMjAyLDggQEAgdmx2X3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpkcGxhbmUs IHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCUk5MTVfV1JJVEUoU1BDTlRSKHBpcGUsIHBsYW5l KSwgc3ByY3RsKTsKPiAgCUk5MTVfTU9ESUZZX0RJU1BCQVNFKFNQU1VSRihwaXBlLCBwbGFuZSks IGk5MTVfZ2VtX29ial9nZ3R0X29mZnNldChvYmopICsKPiAgCQkJICAgICBzcHJzdXJmX29mZnNl dCk7Cj4gLQlQT1NUSU5HX1JFQUQoU1BTVVJGKHBpcGUsIHBsYW5lKSk7Cj4gKwo+ICsJaW50ZWxf Zmx1c2hfcHJpbWFyeV9wbGFuZShkZXZfcHJpdiwgdG9faW50ZWxfY3J0YyhjcnRjKS0+cGxhbmUp Owo+ICAKPiAgCWludGVsX3BpcGVfdXBkYXRlX2VuZChjcnRjKTsKPiAgfQo+IEBAIC0yMDMsMTEg KzIxOSwxNCBAQCB2bHZfZGlzYWJsZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpkcGxhbmUsIHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCj4gIAlpbnRlbF9waXBlX3VwZGF0ZV9zdGFydChjcnRj KTsKPiAgCj4gKwlpbnRlbF91cGRhdGVfcHJpbWFyeV9wbGFuZShjcnRjKTsKPiArCj4gIAlJOTE1 X1dSSVRFKFNQQ05UUihwaXBlLCBwbGFuZSksIEk5MTVfUkVBRChTUENOVFIocGlwZSwgcGxhbmUp KSAmCj4gIAkJICAgflNQX0VOQUJMRSk7Cj4gIAkvKiBBY3RpdmF0ZSBkb3VibGUgYnVmZmVyZWQg cmVnaXN0ZXIgdXBkYXRlICovCj4gIAlJOTE1X01PRElGWV9ESVNQQkFTRShTUFNVUkYocGlwZSwg cGxhbmUpLCAwKTsKPiAtCVBPU1RJTkdfUkVBRChTUFNVUkYocGlwZSwgcGxhbmUpKTsKPiArCj4g KwlpbnRlbF9mbHVzaF9wcmltYXJ5X3BsYW5lKGRldl9wcml2LCB0b19pbnRlbF9jcnRjKGNydGMp LT5wbGFuZSk7Cj4gIAo+ICAJaW50ZWxfcGlwZV91cGRhdGVfZW5kKGNydGMpOwo+ICAKPiBAQCAt MzU5LDYgKzM3OCw4IEBAIGl2Yl91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUs IHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCj4gIAlpbnRlbF9waXBlX3VwZGF0ZV9zdGFydChj cnRjKTsKPiAgCj4gKwlpbnRlbF91cGRhdGVfcHJpbWFyeV9wbGFuZShjcnRjKTsKPiArCj4gIAlJ OTE1X1dSSVRFKFNQUlNUUklERShwaXBlKSwgZmItPnBpdGNoZXNbMF0pOwo+ICAJSTkxNV9XUklU RShTUFJQT1MocGlwZSksIChjcnRjX3kgPDwgMTYpIHwgY3J0Y194KTsKPiAgCj4gQEAgLTM3Nyw3 ICszOTgsOCBAQCBpdmJfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCj4gIAlJOTE1X1dSSVRFKFNQUkNUTChwaXBlKSwgc3ByY3RsKTsK PiAgCUk5MTVfTU9ESUZZX0RJU1BCQVNFKFNQUlNVUkYocGlwZSksCj4gIAkJCSAgICAgaTkxNV9n ZW1fb2JqX2dndHRfb2Zmc2V0KG9iaikgKyBzcHJzdXJmX29mZnNldCk7Cj4gLQlQT1NUSU5HX1JF QUQoU1BSU1VSRihwaXBlKSk7Cj4gKwo+ICsJaW50ZWxfZmx1c2hfcHJpbWFyeV9wbGFuZShkZXZf cHJpdiwgdG9faW50ZWxfY3J0YyhjcnRjKS0+cGxhbmUpOwo+ICAKPiAgCWludGVsX3BpcGVfdXBk YXRlX2VuZChjcnRjKTsKPiAgCj4gQEAgLTM5NywxMyArNDE5LDE2IEBAIGl2Yl9kaXNhYmxlX3Bs YW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAo+ ICAJaW50ZWxfcGlwZV91cGRhdGVfc3RhcnQoY3J0Yyk7Cj4gIAo+ICsJaW50ZWxfdXBkYXRlX3By aW1hcnlfcGxhbmUoY3J0Yyk7Cj4gKwo+ICAJSTkxNV9XUklURShTUFJDVEwocGlwZSksIEk5MTVf UkVBRChTUFJDVEwocGlwZSkpICYgflNQUklURV9FTkFCTEUpOwo+ICAJLyogQ2FuJ3QgbGVhdmUg dGhlIHNjYWxlciBlbmFibGVkLi4uICovCj4gIAlpZiAoaW50ZWxfcGxhbmUtPmNhbl9zY2FsZSkK PiAgCQlJOTE1X1dSSVRFKFNQUlNDQUxFKHBpcGUpLCAwKTsKPiAgCS8qIEFjdGl2YXRlIGRvdWJs ZSBidWZmZXJlZCByZWdpc3RlciB1cGRhdGUgKi8KPiAgCUk5MTVfTU9ESUZZX0RJU1BCQVNFKFNQ UlNVUkYocGlwZSksIDApOwo+IC0JUE9TVElOR19SRUFEKFNQUlNVUkYocGlwZSkpOwo+ICsKPiAr CWludGVsX2ZsdXNoX3ByaW1hcnlfcGxhbmUoZGV2X3ByaXYsIHRvX2ludGVsX2NydGMoY3J0Yykt PnBsYW5lKTsKPiAgCj4gIAlpbnRlbF9waXBlX3VwZGF0ZV9lbmQoY3J0Yyk7Cj4gIAo+IEBAIC01 NDUsNiArNTcwLDggQEAgaWxrX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwg c3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAKPiAgCWludGVsX3BpcGVfdXBkYXRlX3N0YXJ0KGNy dGMpOwo+ICAKPiArCWludGVsX3VwZGF0ZV9wcmltYXJ5X3BsYW5lKGNydGMpOwo+ICsKPiAgCUk5 MTVfV1JJVEUoRFZTU1RSSURFKHBpcGUpLCBmYi0+cGl0Y2hlc1swXSk7Cj4gIAlJOTE1X1dSSVRF KERWU1BPUyhwaXBlKSwgKGNydGNfeSA8PCAxNikgfCBjcnRjX3gpOwo+ICAKPiBAQCAtNTU4LDcg KzU4NSw4IEBAIGlsa191cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVj dCBkcm1fY3J0YyAqY3J0YywKPiAgCUk5MTVfV1JJVEUoRFZTQ05UUihwaXBlKSwgZHZzY250cik7 Cj4gIAlJOTE1X01PRElGWV9ESVNQQkFTRShEVlNTVVJGKHBpcGUpLAo+ICAJCQkgICAgIGk5MTVf Z2VtX29ial9nZ3R0X29mZnNldChvYmopICsgZHZzc3VyZl9vZmZzZXQpOwo+IC0JUE9TVElOR19S RUFEKERWU1NVUkYocGlwZSkpOwo+ICsKPiArCWludGVsX2ZsdXNoX3ByaW1hcnlfcGxhbmUoZGV2 X3ByaXYsIHRvX2ludGVsX2NydGMoY3J0YyktPnBsYW5lKTsKPiAgCj4gIAlpbnRlbF9waXBlX3Vw ZGF0ZV9lbmQoY3J0Yyk7Cj4gIH0KPiBAQCAtNTczLDEyICs2MDEsMTUgQEAgaWxrX2Rpc2FibGVf cGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAg Cj4gIAlpbnRlbF9waXBlX3VwZGF0ZV9zdGFydChjcnRjKTsKPiAgCj4gKwlpbnRlbF91cGRhdGVf cHJpbWFyeV9wbGFuZShjcnRjKTsKPiArCj4gIAlJOTE1X1dSSVRFKERWU0NOVFIocGlwZSksIEk5 MTVfUkVBRChEVlNDTlRSKHBpcGUpKSAmIH5EVlNfRU5BQkxFKTsKPiAgCS8qIERpc2FibGUgdGhl IHNjYWxlciAqLwo+ICAJSTkxNV9XUklURShEVlNTQ0FMRShwaXBlKSwgMCk7Cj4gIAkvKiBGbHVz aCBkb3VibGUgYnVmZmVyZWQgcmVnaXN0ZXIgdXBkYXRlcyAqLwo+ICAJSTkxNV9NT0RJRllfRElT UEJBU0UoRFZTU1VSRihwaXBlKSwgMCk7Cj4gLQlQT1NUSU5HX1JFQUQoRFZTU1VSRihwaXBlKSk7 Cj4gKwo+ICsJaW50ZWxfZmx1c2hfcHJpbWFyeV9wbGFuZShkZXZfcHJpdiwgdG9faW50ZWxfY3J0 YyhjcnRjKS0+cGxhbmUpOwo+ICAKPiAgCWludGVsX3BpcGVfdXBkYXRlX2VuZChjcnRjKTsKPiAg Cj4gQEAgLTU4NiwyMCArNjE3LDEwIEBAIGlsa19kaXNhYmxlX3BsYW5lKHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lk Cj4gLWludGVsX2VuYWJsZV9wcmltYXJ5KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAraW50ZWxf cG9zdF9lbmFibGVfcHJpbWFyeShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIHsKPiAgCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAJc3RydWN0IGludGVsX2NydGMgKmlu dGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwo+IC0JaW50IHJlZyA9IERTUENOVFIoaW50 ZWxfY3J0Yy0+cGxhbmUpOwo+IC0KPiAtCWlmIChpbnRlbF9jcnRjLT5wcmltYXJ5X2VuYWJsZWQp Cj4gLQkJcmV0dXJuOwo+IC0KPiAtCWludGVsX2NydGMtPnByaW1hcnlfZW5hYmxlZCA9IHRydWU7 Cj4gLQo+IC0JSTkxNV9XUklURShyZWcsIEk5MTVfUkVBRChyZWcpIHwgRElTUExBWV9QTEFORV9F TkFCTEUpOwo+IC0JaW50ZWxfZmx1c2hfcHJpbWFyeV9wbGFuZShkZXZfcHJpdiwgaW50ZWxfY3J0 Yy0+cGxhbmUpOwo+ICAKPiAgCS8qCj4gIAkgKiBGSVhNRSBJUFMgc2hvdWxkIGJlIGZpbmUgYXMg bG9uZyBhcyBvbmUgcGxhbmUgaXMKPiBAQCAtNjE4LDE3ICs2MzksMTEgQEAgaW50ZWxfZW5hYmxl X3ByaW1hcnkoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZAo+ IC1pbnRlbF9kaXNhYmxlX3ByaW1hcnkoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICtpbnRlbF9w cmVfZGlzYWJsZV9wcmltYXJ5KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgewo+ICAJc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gLQlpbnQgcmVnID0gRFNQQ05UUihpbnRl bF9jcnRjLT5wbGFuZSk7Cj4gLQo+IC0JaWYgKCFpbnRlbF9jcnRjLT5wcmltYXJ5X2VuYWJsZWQp Cj4gLQkJcmV0dXJuOwo+IC0KPiAtCWludGVsX2NydGMtPnByaW1hcnlfZW5hYmxlZCA9IGZhbHNl Owo+ICAKPiAgCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiAgCWlmIChkZXZfcHJp di0+ZmJjLnBsYW5lID09IGludGVsX2NydGMtPnBsYW5lKQo+IEBAIC02NDIsOSArNjU3LDYgQEAg aW50ZWxfZGlzYWJsZV9wcmltYXJ5KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCSAqIHZlcnNh Lgo+ICAJICovCj4gIAloc3dfZGlzYWJsZV9pcHMoaW50ZWxfY3J0Yyk7Cj4gLQo+IC0JSTkxNV9X UklURShyZWcsIEk5MTVfUkVBRChyZWcpICYgfkRJU1BMQVlfUExBTkVfRU5BQkxFKTsKPiAtCWlu dGVsX2ZsdXNoX3ByaW1hcnlfcGxhbmUoZGV2X3ByaXYsIGludGVsX2NydGMtPnBsYW5lKTsKPiAg fQo+ICAKPiAgc3RhdGljIGludAo+IEBAIC03MzgsNyArNzUwLDcgQEAgaW50ZWxfdXBkYXRlX3Bs YW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAlz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gaW50ZWxfZmItPm9iajsKPiAgCXN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvbGRfb2JqID0gaW50ZWxfcGxhbmUtPm9iajsKPiAgCWlu dCByZXQ7Cj4gLQlib29sIGRpc2FibGVfcHJpbWFyeSA9IGZhbHNlOwo+ICsJYm9vbCBwcmltYXJ5 X2VuYWJsZWQ7Cj4gIAlib29sIHZpc2libGU7Cj4gIAlpbnQgaHNjYWxlLCB2c2NhbGU7Cj4gIAlp bnQgbWF4X3NjYWxlLCBtaW5fc2NhbGU7Cj4gQEAgLTkwOSw4ICs5MjEsOCBAQCBpbnRlbF91cGRh dGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywK PiAgCSAqIElmIHRoZSBzcHJpdGUgaXMgY29tcGxldGVseSBjb3ZlcmluZyB0aGUgcHJpbWFyeSBw bGFuZSwKPiAgCSAqIHdlIGNhbiBkaXNhYmxlIHRoZSBwcmltYXJ5IGFuZCBzYXZlIHBvd2VyLgo+ ICAJICovCj4gLQlkaXNhYmxlX3ByaW1hcnkgPSBkcm1fcmVjdF9lcXVhbHMoJmRzdCwgJmNsaXAp ICYmICFjb2xvcmtleV9lbmFibGVkKGludGVsX3BsYW5lKTsKPiAtCVdBUk5fT04oZGlzYWJsZV9w cmltYXJ5ICYmICF2aXNpYmxlICYmIGludGVsX2NydGMtPmFjdGl2ZSk7Cj4gKwlwcmltYXJ5X2Vu YWJsZWQgPSAhZHJtX3JlY3RfZXF1YWxzKCZkc3QsICZjbGlwKSB8fCBjb2xvcmtleV9lbmFibGVk KGludGVsX3BsYW5lKTsKPiArCVdBUk5fT04oIXByaW1hcnlfZW5hYmxlZCAmJiAhdmlzaWJsZSAm JiBpbnRlbF9jcnRjLT5hY3RpdmUpOwo+ICAKPiAgCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211 dGV4KTsKPiAgCj4gQEAgLTkzNywxMiArOTQ5LDEyIEBAIGludGVsX3VwZGF0ZV9wbGFuZShzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJaW50ZWxfcGxh bmUtPm9iaiA9IG9iajsKPiAgCj4gIAlpZiAoaW50ZWxfY3J0Yy0+YWN0aXZlKSB7Cj4gLQkJLyoK PiAtCQkgKiBCZSBzdXJlIHRvIHJlLWVuYWJsZSB0aGUgcHJpbWFyeSBiZWZvcmUgdGhlIHNwcml0 ZSBpcyBubyBsb25nZXIKPiAtCQkgKiBjb3ZlcmluZyBpdCBmdWxseS4KPiAtCQkgKi8KPiAtCQlp ZiAoIWRpc2FibGVfcHJpbWFyeSkKPiAtCQkJaW50ZWxfZW5hYmxlX3ByaW1hcnkoY3J0Yyk7Cj4g KwkJYm9vbCBwcmltYXJ5X3dhc19lbmFibGVkID0gaW50ZWxfY3J0Yy0+cHJpbWFyeV9lbmFibGVk Owo+ICsKPiArCQlpbnRlbF9jcnRjLT5wcmltYXJ5X2VuYWJsZWQgPSBwcmltYXJ5X2VuYWJsZWQ7 Cj4gKwo+ICsJCWlmIChwcmltYXJ5X3dhc19lbmFibGVkICYmICFwcmltYXJ5X2VuYWJsZWQpCj4g KwkJCWludGVsX3ByZV9kaXNhYmxlX3ByaW1hcnkoY3J0Yyk7Cj4gIAo+ICAJCWlmICh2aXNpYmxl KQo+ICAJCQlpbnRlbF9wbGFuZS0+dXBkYXRlX3BsYW5lKHBsYW5lLCBjcnRjLCBmYiwgb2JqLAo+ IEBAIC05NTEsOCArOTYzLDggQEAgaW50ZWxfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUg KnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAkJZWxzZQo+ICAJCQlpbnRlbF9wbGFu ZS0+ZGlzYWJsZV9wbGFuZShwbGFuZSwgY3J0Yyk7Cj4gIAo+IC0JCWlmIChkaXNhYmxlX3ByaW1h cnkpCj4gLQkJCWludGVsX2Rpc2FibGVfcHJpbWFyeShjcnRjKTsKPiArCQlpZiAoIXByaW1hcnlf d2FzX2VuYWJsZWQgJiYgcHJpbWFyeV9lbmFibGVkKQo+ICsJCQlpbnRlbF9wb3N0X2VuYWJsZV9w cmltYXJ5KGNydGMpOwo+ICAJfQo+ICAKPiAgCS8qIFVucGluIG9sZCBvYmogYWZ0ZXIgbmV3IG9u ZSBpcyBhY3RpdmUgdG8gYXZvaWQgdWdsaW5lc3MgKi8KPiBAQCAtOTkwLDggKzEwMDIsMTQgQEAg aW50ZWxfZGlzYWJsZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKPiAgCWludGVsX2Ny dGMgPSB0b19pbnRlbF9jcnRjKHBsYW5lLT5jcnRjKTsKPiAgCj4gIAlpZiAoaW50ZWxfY3J0Yy0+ YWN0aXZlKSB7Cj4gLQkJaW50ZWxfZW5hYmxlX3ByaW1hcnkocGxhbmUtPmNydGMpOwo+ICsJCWJv b2wgcHJpbWFyeV93YXNfZW5hYmxlZCA9IGludGVsX2NydGMtPnByaW1hcnlfZW5hYmxlZDsKPiAr Cj4gKwkJaW50ZWxfY3J0Yy0+cHJpbWFyeV9lbmFibGVkID0gdHJ1ZTsKPiArCj4gIAkJaW50ZWxf cGxhbmUtPmRpc2FibGVfcGxhbmUocGxhbmUsIHBsYW5lLT5jcnRjKTsKPiArCj4gKwkJaWYgKCFw cmltYXJ5X3dhc19lbmFibGVkICYmIGludGVsX2NydGMtPnByaW1hcnlfZW5hYmxlZCkKPiArCQkJ aW50ZWxfcG9zdF9lbmFibGVfcHJpbWFyeShwbGFuZS0+Y3J0Yyk7Cj4gIAl9Cj4gIAo+ICAJaWYg KGludGVsX3BsYW5lLT5vYmopIHsKClJldmlld2VkLWJ5OiBKZXNzZSBCYXJuZXMgPGpiYXJuZXNA dmlydHVvdXNnZWVrLm9yZz4KCi0tIApKZXNzZSBCYXJuZXMsIEludGVsIE9wZW4gU291cmNlIFRl Y2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==