From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [CI 08/12] drm/i915: Perform manual conversions for plane uapi/hw split, v2. Date: Thu, 31 Oct 2019 12:30:42 +0200 Message-ID: <20191031103042.GV1208@intel.com> References: <20191030142657.22405-1-maarten.lankhorst@linux.intel.com> <20191030142657.22405-8-maarten.lankhorst@linux.intel.com> <20191030161916.GM1208@intel.com> <15ec192f-a1b3-bae7-41a8-e79ea43ceb3b@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 539E189428 for ; Thu, 31 Oct 2019 10:30:46 +0000 (UTC) Content-Disposition: inline In-Reply-To: <15ec192f-a1b3-bae7-41a8-e79ea43ceb3b@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Maarten Lankhorst Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBPY3QgMzEsIDIwMTkgYXQgMTA6MTU6NDFBTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gT3AgMzAtMTAtMjAxOSBvbSAxNzoxOSBzY2hyZWVmIFZpbGxlIFN5cmrDpGzD pDoKPiA+IE9uIFdlZCwgT2N0IDMwLCAyMDE5IGF0IDAzOjI2OjUzUE0gKzAxMDAsIE1hYXJ0ZW4g TGFua2hvcnN0IHdyb3RlOgo+ID4+IGdldF9jcnRjX2Zyb21fc3RhdGVzKCkgaXMgY2FsbGVkIGJl Zm9yZSBwbGFuZV9zdGF0ZSBpcyBjb3BpZWQgdG8gdWFwaSwKPiA+PiBzbyB1c2UgdGhlIHVhcGkg c3RhdGUgdGhlcmUuCj4gPj4KPiA+PiBpbnRlbF9sZWdhY3lfY3Vyc29yX3VwZGF0ZSgpIGNvdWxk IHByb2JhYmx5IGdldCBhd2F5IHdpdGggbG9va2luZyBhdAo+ID4+IHRoZSBodyBzdGF0ZSwgYnV0 IGZvciBjbGFyaXR5IGFsd2F5cyBsb29rIGF0IHRoZSB1YXBpIHN0YXRlLgo+ID4+Cj4gPj4gQ2hh bmdlcyBzaW5jZSB2MToKPiA+PiAtIENvbnZlcnQgZW50aXJldHkgb2YgaW50ZWxfbGVnYWN5X2N1 cnNvcl91cGRhdGUgKFZpbGxlKS4KPiA+Pgo+ID4+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFu a2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gPj4gLS0tCj4gPj4g IC4uLi9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWNfcGxhbmUuYyB8ICA4ICsrLS0K PiA+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgIHwgNDUg KysrKysrKysrKy0tLS0tLS0tLQo+ID4+ICAyIGZpbGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMo KyksIDI2IGRlbGV0aW9ucygtKQo+ID4+Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2F0b21pY19wbGFuZS5jCj4gPj4gaW5kZXggMzkzZmI5N2EzZGNhLi40 MTZjZmE0MzlmMzMgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9hdG9taWNfcGxhbmUuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmMKPiA+PiBAQCAtMjI1LDExICsyMjUsMTEgQEAgc3Rh dGljIHN0cnVjdCBpbnRlbF9jcnRjICoKPiA+PiAgZ2V0X2NydGNfZnJvbV9zdGF0ZXMoY29uc3Qg c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpvbGRfcGxhbmVfc3RhdGUsCj4gPj4gIAkJICAgICBj b25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKm5ld19wbGFuZV9zdGF0ZSkKPiA+PiAgewo+ ID4+IC0JaWYgKG5ld19wbGFuZV9zdGF0ZS0+YmFzZS5jcnRjKQo+ID4+IC0JCXJldHVybiB0b19p bnRlbF9jcnRjKG5ld19wbGFuZV9zdGF0ZS0+YmFzZS5jcnRjKTsKPiA+PiArCWlmIChuZXdfcGxh bmVfc3RhdGUtPnVhcGkuY3J0YykKPiA+PiArCQlyZXR1cm4gdG9faW50ZWxfY3J0YyhuZXdfcGxh bmVfc3RhdGUtPnVhcGkuY3J0Yyk7Cj4gPj4gIAo+ID4+IC0JaWYgKG9sZF9wbGFuZV9zdGF0ZS0+ YmFzZS5jcnRjKQo+ID4+IC0JCXJldHVybiB0b19pbnRlbF9jcnRjKG9sZF9wbGFuZV9zdGF0ZS0+ YmFzZS5jcnRjKTsKPiA+PiArCWlmIChvbGRfcGxhbmVfc3RhdGUtPnVhcGkuY3J0YykKPiA+PiAr CQlyZXR1cm4gdG9faW50ZWxfY3J0YyhvbGRfcGxhbmVfc3RhdGUtPnVhcGkuY3J0Yyk7Cj4gPj4g IAo+ID4+ICAJcmV0dXJuIE5VTEw7Cj4gPj4gIH0KPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ID4+IGluZGV4IGUzMGY0NjdlZWM2Ny4uYjBiMmM0 NmU0YzBhIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZGlzcGxheS5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kaXNwbGF5LmMKPiA+PiBAQCAtMTUzNTcsMTIgKzE1MzU3LDEyIEBAIGludGVsX2xlZ2FjeV9j dXJzb3JfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgKl9wbGFuZSwKPiA+PiAgCSAqIHRha2UgdGhl IHNsb3dwYXRoLiBPbmx5IGNoYW5naW5nIGZiIG9yIHBvc2l0aW9uIHNob3VsZCBiZQo+ID4+ICAJ ICogaW4gdGhlIGZhc3RwYXRoLgo+ID4+ICAJICovCj4gPj4gLQlpZiAob2xkX3BsYW5lX3N0YXRl LT5iYXNlLmNydGMgIT0gJmNydGMtPmJhc2UgfHwKPiA+PiAtCSAgICBvbGRfcGxhbmVfc3RhdGUt PmJhc2Uuc3JjX3cgIT0gc3JjX3cgfHwKPiA+PiAtCSAgICBvbGRfcGxhbmVfc3RhdGUtPmJhc2Uu c3JjX2ggIT0gc3JjX2ggfHwKPiA+PiAtCSAgICBvbGRfcGxhbmVfc3RhdGUtPmJhc2UuY3J0Y193 ICE9IGNydGNfdyB8fAo+ID4+IC0JICAgIG9sZF9wbGFuZV9zdGF0ZS0+YmFzZS5jcnRjX2ggIT0g Y3J0Y19oIHx8Cj4gPj4gLQkgICAgIW9sZF9wbGFuZV9zdGF0ZS0+YmFzZS5mYiAhPSAhZmIpCj4g Pj4gKwlpZiAob2xkX3BsYW5lX3N0YXRlLT51YXBpLmNydGMgIT0gJmNydGMtPmJhc2UgfHwKPiA+ PiArCSAgICBvbGRfcGxhbmVfc3RhdGUtPnVhcGkuc3JjX3cgIT0gc3JjX3cgfHwKPiA+PiArCSAg ICBvbGRfcGxhbmVfc3RhdGUtPnVhcGkuc3JjX2ggIT0gc3JjX2ggfHwKPiA+PiArCSAgICBvbGRf cGxhbmVfc3RhdGUtPnVhcGkuY3J0Y193ICE9IGNydGNfdyB8fAo+ID4+ICsJICAgIG9sZF9wbGFu ZV9zdGF0ZS0+dWFwaS5jcnRjX2ggIT0gY3J0Y19oIHx8Cj4gPj4gKwkgICAgIW9sZF9wbGFuZV9z dGF0ZS0+dWFwaS5mYiAhPSAhZmIpCj4gPj4gIAkJZ290byBzbG93Owo+ID4+ICAKPiA+PiAgCW5l d19wbGFuZV9zdGF0ZSA9IHRvX2ludGVsX3BsYW5lX3N0YXRlKGludGVsX3BsYW5lX2R1cGxpY2F0 ZV9zdGF0ZSgmcGxhbmUtPmJhc2UpKTsKPiA+PiBAQCAtMTUzNzUsMTYgKzE1Mzc1LDE2IEBAIGlu dGVsX2xlZ2FjeV9jdXJzb3JfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgKl9wbGFuZSwKPiA+PiAg CQlnb3RvIG91dF9mcmVlOwo+ID4+ICAJfQo+ID4+ICAKPiA+PiAtCWRybV9hdG9taWNfc2V0X2Zi X2Zvcl9wbGFuZSgmbmV3X3BsYW5lX3N0YXRlLT5iYXNlLCBmYik7Cj4gPj4gKwlkcm1fYXRvbWlj X3NldF9mYl9mb3JfcGxhbmUoJm5ld19wbGFuZV9zdGF0ZS0+dWFwaSwgZmIpOwo+ID4+ICAKPiA+ PiAtCW5ld19wbGFuZV9zdGF0ZS0+YmFzZS5zcmNfeCA9IHNyY194Owo+ID4+IC0JbmV3X3BsYW5l X3N0YXRlLT5iYXNlLnNyY195ID0gc3JjX3k7Cj4gPj4gLQluZXdfcGxhbmVfc3RhdGUtPmJhc2Uu c3JjX3cgPSBzcmNfdzsKPiA+PiAtCW5ld19wbGFuZV9zdGF0ZS0+YmFzZS5zcmNfaCA9IHNyY19o Owo+ID4+IC0JbmV3X3BsYW5lX3N0YXRlLT5iYXNlLmNydGNfeCA9IGNydGNfeDsKPiA+PiAtCW5l d19wbGFuZV9zdGF0ZS0+YmFzZS5jcnRjX3kgPSBjcnRjX3k7Cj4gPj4gLQluZXdfcGxhbmVfc3Rh dGUtPmJhc2UuY3J0Y193ID0gY3J0Y193Owo+ID4+IC0JbmV3X3BsYW5lX3N0YXRlLT5iYXNlLmNy dGNfaCA9IGNydGNfaDsKPiA+PiArCW5ld19wbGFuZV9zdGF0ZS0+dWFwaS5zcmNfeCA9IHNyY194 Owo+ID4+ICsJbmV3X3BsYW5lX3N0YXRlLT51YXBpLnNyY195ID0gc3JjX3k7Cj4gPj4gKwluZXdf cGxhbmVfc3RhdGUtPnVhcGkuc3JjX3cgPSBzcmNfdzsKPiA+PiArCW5ld19wbGFuZV9zdGF0ZS0+ dWFwaS5zcmNfaCA9IHNyY19oOwo+ID4+ICsJbmV3X3BsYW5lX3N0YXRlLT51YXBpLmNydGNfeCA9 IGNydGNfeDsKPiA+PiArCW5ld19wbGFuZV9zdGF0ZS0+dWFwaS5jcnRjX3kgPSBjcnRjX3k7Cj4g Pj4gKwluZXdfcGxhbmVfc3RhdGUtPnVhcGkuY3J0Y193ID0gY3J0Y193Owo+ID4+ICsJbmV3X3Bs YW5lX3N0YXRlLT51YXBpLmNydGNfaCA9IGNydGNfaDsKPiA+PiAgCj4gPj4gIAlyZXQgPSBpbnRl bF9wbGFuZV9hdG9taWNfY2hlY2tfd2l0aF9zdGF0ZShjcnRjX3N0YXRlLCBuZXdfY3J0Y19zdGF0 ZSwKPiA+PiAgCQkJCQkJICBvbGRfcGxhbmVfc3RhdGUsIG5ld19wbGFuZV9zdGF0ZSk7Cj4gPj4g QEAgLTE1Mzk1LDEzICsxNTM5NSwxNCBAQCBpbnRlbF9sZWdhY3lfY3Vyc29yX3VwZGF0ZShzdHJ1 Y3QgZHJtX3BsYW5lICpfcGxhbmUsCj4gPj4gIAlpZiAocmV0KQo+ID4+ICAJCWdvdG8gb3V0X2Zy ZWU7Cj4gPj4gIAo+ID4+IC0JaW50ZWxfZnJvbnRidWZmZXJfZmx1c2godG9faW50ZWxfZnJvbnRi dWZmZXIobmV3X3BsYW5lX3N0YXRlLT5iYXNlLmZiKSwgT1JJR0lOX0ZMSVApOwo+ID4+IC0JaW50 ZWxfZnJvbnRidWZmZXJfdHJhY2sodG9faW50ZWxfZnJvbnRidWZmZXIob2xkX3BsYW5lX3N0YXRl LT5iYXNlLmZiKSwKPiA+PiAtCQkJCXRvX2ludGVsX2Zyb250YnVmZmVyKG5ld19wbGFuZV9zdGF0 ZS0+YmFzZS5mYiksCj4gPj4gKwlpbnRlbF9mcm9udGJ1ZmZlcl9mbHVzaCh0b19pbnRlbF9mcm9u dGJ1ZmZlcihuZXdfcGxhbmVfc3RhdGUtPmh3LmZiKSwKPiA+PiArCQkJCU9SSUdJTl9GTElQKTsK PiA+PiArCWludGVsX2Zyb250YnVmZmVyX3RyYWNrKHRvX2ludGVsX2Zyb250YnVmZmVyKG9sZF9w bGFuZV9zdGF0ZS0+aHcuZmIpLAo+ID4+ICsJCQkJdG9faW50ZWxfZnJvbnRidWZmZXIobmV3X3Bs YW5lX3N0YXRlLT5ody5mYiksCj4gPj4gIAkJCQlwbGFuZS0+ZnJvbnRidWZmZXJfYml0KTsKPiA+ PiAgCj4gPj4gIAkvKiBTd2FwIHBsYW5lIHN0YXRlICovCj4gPj4gLQlwbGFuZS0+YmFzZS5zdGF0 ZSA9ICZuZXdfcGxhbmVfc3RhdGUtPmJhc2U7Cj4gPj4gKwlwbGFuZS0+YmFzZS5zdGF0ZSA9ICZu ZXdfcGxhbmVfc3RhdGUtPnVhcGk7Cj4gPj4gIAo+ID4+ICAJLyoKPiA+PiAgCSAqIFdlIGNhbm5v dCBzd2FwIGNydGNfc3RhdGUgYXMgaXQgbWF5IGJlIGluIHVzZSBieSBhbiBhdG9taWMgY29tbWl0 IG9yCj4gPj4gQEAgLTE1NDE1LDcgKzE1NDE2LDcgQEAgaW50ZWxfbGVnYWN5X2N1cnNvcl91cGRh dGUoc3RydWN0IGRybV9wbGFuZSAqX3BsYW5lLAo+ID4+ICAJICovCj4gPj4gIAljcnRjX3N0YXRl LT5hY3RpdmVfcGxhbmVzID0gbmV3X2NydGNfc3RhdGUtPmFjdGl2ZV9wbGFuZXM7Cj4gPj4gIAo+ ID4+IC0JaWYgKG5ld19wbGFuZV9zdGF0ZS0+YmFzZS52aXNpYmxlKQo+ID4+ICsJaWYgKG5ld19w bGFuZV9zdGF0ZS0+dWFwaS52aXNpYmxlKQo+ID4gU2hvdWxkIGJlIGh3IGhlcmU/Cj4gPgo+ID4g T3RoZXJ3aXNlIGxndG0KPiA+IFJldmlld2VkLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5 cmphbGFAbGludXguaW50ZWwuY29tPgo+IAo+IE5vLCB3ZSBzdGlsbCB1c2Ugc3JjL2RzdCByZWN0 IGFuZCB2aXNpYmxlIGZyb20gdWFwaS4gU28gY29ycmVjdCBoZXJlLiA6KQoKRG9oLiBJIGtuZXcg dGhhdCB3b3VsZCB0cmlwIG1lIG92ZXIgZXZlbnR1YWxseS4KCi0tIApWaWxsZSBTeXJqw6Rsw6QK SW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 14B4ACA9EC3 for ; Thu, 31 Oct 2019 10:30:48 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E42F620873 for ; Thu, 31 Oct 2019 10:30:47 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E42F620873 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 8117989428; Thu, 31 Oct 2019 10:30:47 +0000 (UTC) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 539E189428 for ; Thu, 31 Oct 2019 10:30:46 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 31 Oct 2019 03:30:45 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,250,1569308400"; d="scan'208";a="198975006" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by fmsmga008.fm.intel.com with SMTP; 31 Oct 2019 03:30:42 -0700 Received: by stinkbox (sSMTP sendmail emulation); Thu, 31 Oct 2019 12:30:42 +0200 Date: Thu, 31 Oct 2019 12:30:42 +0200 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Maarten Lankhorst Message-ID: <20191031103042.GV1208@intel.com> References: <20191030142657.22405-1-maarten.lankhorst@linux.intel.com> <20191030142657.22405-8-maarten.lankhorst@linux.intel.com> <20191030161916.GM1208@intel.com> <15ec192f-a1b3-bae7-41a8-e79ea43ceb3b@linux.intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <15ec192f-a1b3-bae7-41a8-e79ea43ceb3b@linux.intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) Subject: Re: [Intel-gfx] [CI 08/12] drm/i915: Perform manual conversions for plane uapi/hw split, v2. X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191031103042.GaBoLC_2IOIQUUBFz49tR5U1GBSoVWJcHe8LjG6CjOw@z> T24gVGh1LCBPY3QgMzEsIDIwMTkgYXQgMTA6MTU6NDFBTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gT3AgMzAtMTAtMjAxOSBvbSAxNzoxOSBzY2hyZWVmIFZpbGxlIFN5cmrDpGzD pDoKPiA+IE9uIFdlZCwgT2N0IDMwLCAyMDE5IGF0IDAzOjI2OjUzUE0gKzAxMDAsIE1hYXJ0ZW4g TGFua2hvcnN0IHdyb3RlOgo+ID4+IGdldF9jcnRjX2Zyb21fc3RhdGVzKCkgaXMgY2FsbGVkIGJl Zm9yZSBwbGFuZV9zdGF0ZSBpcyBjb3BpZWQgdG8gdWFwaSwKPiA+PiBzbyB1c2UgdGhlIHVhcGkg c3RhdGUgdGhlcmUuCj4gPj4KPiA+PiBpbnRlbF9sZWdhY3lfY3Vyc29yX3VwZGF0ZSgpIGNvdWxk IHByb2JhYmx5IGdldCBhd2F5IHdpdGggbG9va2luZyBhdAo+ID4+IHRoZSBodyBzdGF0ZSwgYnV0 IGZvciBjbGFyaXR5IGFsd2F5cyBsb29rIGF0IHRoZSB1YXBpIHN0YXRlLgo+ID4+Cj4gPj4gQ2hh bmdlcyBzaW5jZSB2MToKPiA+PiAtIENvbnZlcnQgZW50aXJldHkgb2YgaW50ZWxfbGVnYWN5X2N1 cnNvcl91cGRhdGUgKFZpbGxlKS4KPiA+Pgo+ID4+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFu a2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gPj4gLS0tCj4gPj4g IC4uLi9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWNfcGxhbmUuYyB8ICA4ICsrLS0K PiA+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgIHwgNDUg KysrKysrKysrKy0tLS0tLS0tLQo+ID4+ICAyIGZpbGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMo KyksIDI2IGRlbGV0aW9ucygtKQo+ID4+Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2F0b21pY19wbGFuZS5jCj4gPj4gaW5kZXggMzkzZmI5N2EzZGNhLi40 MTZjZmE0MzlmMzMgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9hdG9taWNfcGxhbmUuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmMKPiA+PiBAQCAtMjI1LDExICsyMjUsMTEgQEAgc3Rh dGljIHN0cnVjdCBpbnRlbF9jcnRjICoKPiA+PiAgZ2V0X2NydGNfZnJvbV9zdGF0ZXMoY29uc3Qg c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpvbGRfcGxhbmVfc3RhdGUsCj4gPj4gIAkJICAgICBj b25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKm5ld19wbGFuZV9zdGF0ZSkKPiA+PiAgewo+ ID4+IC0JaWYgKG5ld19wbGFuZV9zdGF0ZS0+YmFzZS5jcnRjKQo+ID4+IC0JCXJldHVybiB0b19p bnRlbF9jcnRjKG5ld19wbGFuZV9zdGF0ZS0+YmFzZS5jcnRjKTsKPiA+PiArCWlmIChuZXdfcGxh bmVfc3RhdGUtPnVhcGkuY3J0YykKPiA+PiArCQlyZXR1cm4gdG9faW50ZWxfY3J0YyhuZXdfcGxh bmVfc3RhdGUtPnVhcGkuY3J0Yyk7Cj4gPj4gIAo+ID4+IC0JaWYgKG9sZF9wbGFuZV9zdGF0ZS0+ YmFzZS5jcnRjKQo+ID4+IC0JCXJldHVybiB0b19pbnRlbF9jcnRjKG9sZF9wbGFuZV9zdGF0ZS0+ YmFzZS5jcnRjKTsKPiA+PiArCWlmIChvbGRfcGxhbmVfc3RhdGUtPnVhcGkuY3J0YykKPiA+PiAr CQlyZXR1cm4gdG9faW50ZWxfY3J0YyhvbGRfcGxhbmVfc3RhdGUtPnVhcGkuY3J0Yyk7Cj4gPj4g IAo+ID4+ICAJcmV0dXJuIE5VTEw7Cj4gPj4gIH0KPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ID4+IGluZGV4IGUzMGY0NjdlZWM2Ny4uYjBiMmM0 NmU0YzBhIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZGlzcGxheS5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kaXNwbGF5LmMKPiA+PiBAQCAtMTUzNTcsMTIgKzE1MzU3LDEyIEBAIGludGVsX2xlZ2FjeV9j dXJzb3JfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgKl9wbGFuZSwKPiA+PiAgCSAqIHRha2UgdGhl IHNsb3dwYXRoLiBPbmx5IGNoYW5naW5nIGZiIG9yIHBvc2l0aW9uIHNob3VsZCBiZQo+ID4+ICAJ ICogaW4gdGhlIGZhc3RwYXRoLgo+ID4+ICAJICovCj4gPj4gLQlpZiAob2xkX3BsYW5lX3N0YXRl LT5iYXNlLmNydGMgIT0gJmNydGMtPmJhc2UgfHwKPiA+PiAtCSAgICBvbGRfcGxhbmVfc3RhdGUt PmJhc2Uuc3JjX3cgIT0gc3JjX3cgfHwKPiA+PiAtCSAgICBvbGRfcGxhbmVfc3RhdGUtPmJhc2Uu c3JjX2ggIT0gc3JjX2ggfHwKPiA+PiAtCSAgICBvbGRfcGxhbmVfc3RhdGUtPmJhc2UuY3J0Y193 ICE9IGNydGNfdyB8fAo+ID4+IC0JICAgIG9sZF9wbGFuZV9zdGF0ZS0+YmFzZS5jcnRjX2ggIT0g Y3J0Y19oIHx8Cj4gPj4gLQkgICAgIW9sZF9wbGFuZV9zdGF0ZS0+YmFzZS5mYiAhPSAhZmIpCj4g Pj4gKwlpZiAob2xkX3BsYW5lX3N0YXRlLT51YXBpLmNydGMgIT0gJmNydGMtPmJhc2UgfHwKPiA+ PiArCSAgICBvbGRfcGxhbmVfc3RhdGUtPnVhcGkuc3JjX3cgIT0gc3JjX3cgfHwKPiA+PiArCSAg ICBvbGRfcGxhbmVfc3RhdGUtPnVhcGkuc3JjX2ggIT0gc3JjX2ggfHwKPiA+PiArCSAgICBvbGRf cGxhbmVfc3RhdGUtPnVhcGkuY3J0Y193ICE9IGNydGNfdyB8fAo+ID4+ICsJICAgIG9sZF9wbGFu ZV9zdGF0ZS0+dWFwaS5jcnRjX2ggIT0gY3J0Y19oIHx8Cj4gPj4gKwkgICAgIW9sZF9wbGFuZV9z dGF0ZS0+dWFwaS5mYiAhPSAhZmIpCj4gPj4gIAkJZ290byBzbG93Owo+ID4+ICAKPiA+PiAgCW5l d19wbGFuZV9zdGF0ZSA9IHRvX2ludGVsX3BsYW5lX3N0YXRlKGludGVsX3BsYW5lX2R1cGxpY2F0 ZV9zdGF0ZSgmcGxhbmUtPmJhc2UpKTsKPiA+PiBAQCAtMTUzNzUsMTYgKzE1Mzc1LDE2IEBAIGlu dGVsX2xlZ2FjeV9jdXJzb3JfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgKl9wbGFuZSwKPiA+PiAg CQlnb3RvIG91dF9mcmVlOwo+ID4+ICAJfQo+ID4+ICAKPiA+PiAtCWRybV9hdG9taWNfc2V0X2Zi X2Zvcl9wbGFuZSgmbmV3X3BsYW5lX3N0YXRlLT5iYXNlLCBmYik7Cj4gPj4gKwlkcm1fYXRvbWlj X3NldF9mYl9mb3JfcGxhbmUoJm5ld19wbGFuZV9zdGF0ZS0+dWFwaSwgZmIpOwo+ID4+ICAKPiA+ PiAtCW5ld19wbGFuZV9zdGF0ZS0+YmFzZS5zcmNfeCA9IHNyY194Owo+ID4+IC0JbmV3X3BsYW5l X3N0YXRlLT5iYXNlLnNyY195ID0gc3JjX3k7Cj4gPj4gLQluZXdfcGxhbmVfc3RhdGUtPmJhc2Uu c3JjX3cgPSBzcmNfdzsKPiA+PiAtCW5ld19wbGFuZV9zdGF0ZS0+YmFzZS5zcmNfaCA9IHNyY19o Owo+ID4+IC0JbmV3X3BsYW5lX3N0YXRlLT5iYXNlLmNydGNfeCA9IGNydGNfeDsKPiA+PiAtCW5l d19wbGFuZV9zdGF0ZS0+YmFzZS5jcnRjX3kgPSBjcnRjX3k7Cj4gPj4gLQluZXdfcGxhbmVfc3Rh dGUtPmJhc2UuY3J0Y193ID0gY3J0Y193Owo+ID4+IC0JbmV3X3BsYW5lX3N0YXRlLT5iYXNlLmNy dGNfaCA9IGNydGNfaDsKPiA+PiArCW5ld19wbGFuZV9zdGF0ZS0+dWFwaS5zcmNfeCA9IHNyY194 Owo+ID4+ICsJbmV3X3BsYW5lX3N0YXRlLT51YXBpLnNyY195ID0gc3JjX3k7Cj4gPj4gKwluZXdf cGxhbmVfc3RhdGUtPnVhcGkuc3JjX3cgPSBzcmNfdzsKPiA+PiArCW5ld19wbGFuZV9zdGF0ZS0+ dWFwaS5zcmNfaCA9IHNyY19oOwo+ID4+ICsJbmV3X3BsYW5lX3N0YXRlLT51YXBpLmNydGNfeCA9 IGNydGNfeDsKPiA+PiArCW5ld19wbGFuZV9zdGF0ZS0+dWFwaS5jcnRjX3kgPSBjcnRjX3k7Cj4g Pj4gKwluZXdfcGxhbmVfc3RhdGUtPnVhcGkuY3J0Y193ID0gY3J0Y193Owo+ID4+ICsJbmV3X3Bs YW5lX3N0YXRlLT51YXBpLmNydGNfaCA9IGNydGNfaDsKPiA+PiAgCj4gPj4gIAlyZXQgPSBpbnRl bF9wbGFuZV9hdG9taWNfY2hlY2tfd2l0aF9zdGF0ZShjcnRjX3N0YXRlLCBuZXdfY3J0Y19zdGF0 ZSwKPiA+PiAgCQkJCQkJICBvbGRfcGxhbmVfc3RhdGUsIG5ld19wbGFuZV9zdGF0ZSk7Cj4gPj4g QEAgLTE1Mzk1LDEzICsxNTM5NSwxNCBAQCBpbnRlbF9sZWdhY3lfY3Vyc29yX3VwZGF0ZShzdHJ1 Y3QgZHJtX3BsYW5lICpfcGxhbmUsCj4gPj4gIAlpZiAocmV0KQo+ID4+ICAJCWdvdG8gb3V0X2Zy ZWU7Cj4gPj4gIAo+ID4+IC0JaW50ZWxfZnJvbnRidWZmZXJfZmx1c2godG9faW50ZWxfZnJvbnRi dWZmZXIobmV3X3BsYW5lX3N0YXRlLT5iYXNlLmZiKSwgT1JJR0lOX0ZMSVApOwo+ID4+IC0JaW50 ZWxfZnJvbnRidWZmZXJfdHJhY2sodG9faW50ZWxfZnJvbnRidWZmZXIob2xkX3BsYW5lX3N0YXRl LT5iYXNlLmZiKSwKPiA+PiAtCQkJCXRvX2ludGVsX2Zyb250YnVmZmVyKG5ld19wbGFuZV9zdGF0 ZS0+YmFzZS5mYiksCj4gPj4gKwlpbnRlbF9mcm9udGJ1ZmZlcl9mbHVzaCh0b19pbnRlbF9mcm9u dGJ1ZmZlcihuZXdfcGxhbmVfc3RhdGUtPmh3LmZiKSwKPiA+PiArCQkJCU9SSUdJTl9GTElQKTsK PiA+PiArCWludGVsX2Zyb250YnVmZmVyX3RyYWNrKHRvX2ludGVsX2Zyb250YnVmZmVyKG9sZF9w bGFuZV9zdGF0ZS0+aHcuZmIpLAo+ID4+ICsJCQkJdG9faW50ZWxfZnJvbnRidWZmZXIobmV3X3Bs YW5lX3N0YXRlLT5ody5mYiksCj4gPj4gIAkJCQlwbGFuZS0+ZnJvbnRidWZmZXJfYml0KTsKPiA+ PiAgCj4gPj4gIAkvKiBTd2FwIHBsYW5lIHN0YXRlICovCj4gPj4gLQlwbGFuZS0+YmFzZS5zdGF0 ZSA9ICZuZXdfcGxhbmVfc3RhdGUtPmJhc2U7Cj4gPj4gKwlwbGFuZS0+YmFzZS5zdGF0ZSA9ICZu ZXdfcGxhbmVfc3RhdGUtPnVhcGk7Cj4gPj4gIAo+ID4+ICAJLyoKPiA+PiAgCSAqIFdlIGNhbm5v dCBzd2FwIGNydGNfc3RhdGUgYXMgaXQgbWF5IGJlIGluIHVzZSBieSBhbiBhdG9taWMgY29tbWl0 IG9yCj4gPj4gQEAgLTE1NDE1LDcgKzE1NDE2LDcgQEAgaW50ZWxfbGVnYWN5X2N1cnNvcl91cGRh dGUoc3RydWN0IGRybV9wbGFuZSAqX3BsYW5lLAo+ID4+ICAJICovCj4gPj4gIAljcnRjX3N0YXRl LT5hY3RpdmVfcGxhbmVzID0gbmV3X2NydGNfc3RhdGUtPmFjdGl2ZV9wbGFuZXM7Cj4gPj4gIAo+ ID4+IC0JaWYgKG5ld19wbGFuZV9zdGF0ZS0+YmFzZS52aXNpYmxlKQo+ID4+ICsJaWYgKG5ld19w bGFuZV9zdGF0ZS0+dWFwaS52aXNpYmxlKQo+ID4gU2hvdWxkIGJlIGh3IGhlcmU/Cj4gPgo+ID4g T3RoZXJ3aXNlIGxndG0KPiA+IFJldmlld2VkLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5 cmphbGFAbGludXguaW50ZWwuY29tPgo+IAo+IE5vLCB3ZSBzdGlsbCB1c2Ugc3JjL2RzdCByZWN0 IGFuZCB2aXNpYmxlIGZyb20gdWFwaS4gU28gY29ycmVjdCBoZXJlLiA6KQoKRG9oLiBJIGtuZXcg dGhhdCB3b3VsZCB0cmlwIG1lIG92ZXIgZXZlbnR1YWxseS4KCi0tIApWaWxsZSBTeXJqw6Rsw6QK SW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4