From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: Re: [PATCH v3 4/7] drm/fb-helper: Apply panel orientation connector prop to the primary plane Date: Mon, 30 Oct 2017 12:09:27 +0100 Message-ID: <873cb3a6-342f-a1aa-0569-874d86f320b3@redhat.com> References: <20171023071425.5090-1-hdegoede@redhat.com> <20171023071425.5090-5-hdegoede@redhat.com> <20171030095212.fuglrxyc3jpfrnjg@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171030095212.fuglrxyc3jpfrnjg@phenom.ffwll.local> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter , Hans de Goede Cc: linux-fbdev@vger.kernel.org, Bartlomiej Zolnierkiewicz , David Airlie , intel-gfx , Daniel Drake , dri-devel@lists.freedesktop.org, Bastien Nocera , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org SGksCgpPbiAzMC0xMC0xNyAxMDo1MiwgRGFuaWVsIFZldHRlciB3cm90ZToKPiBPbiBNb24sIE9j dCAyMywgMjAxNyBhdCAwOToxNDoyMkFNICswMjAwLCBIYW5zIGRlIEdvZWRlIHdyb3RlOgo+PiBB cHBseSB0aGUgInBhbmVsIG9yaWVudGF0aW9uIiBkcm0gY29ubmVjdG9yIHByb3AgdG8gdGhlIHBy aW1hcnkgcGxhbmUgc28KPj4gdGhhdCBmYmNvbiBhbmQgZmJkZXYgdXNpbmcgdXNlcnNwYWNlIHBy b2dyYW1zIGRpc3BsYXkgdGhlIHJpZ2h0IHdheSB1cC4KPj4KPj4gRml4ZXM6IGh0dHBzOi8vYnVn cy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTk0ODk0Cj4+IFNpZ25lZC1vZmYtYnk6 IEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+Cj4+IC0tLQo+PiBDaGFuZ2VzIGlu IHYyOgo+PiAtTmV3IHBhdGNoIGluIHYyIG9mIHRoaXMgcGF0Y2gtc2V0Cj4+Cj4+IENoYW5nZXMg aW4gdjM6Cj4+IC1Vc2UgYSByb3RhdGlvbiBtZW1iZXIgaW4gc3RydWN0IGRybV9mYl9oZWxwZXJf Y3J0YyBhbmQgc2V0IHRoYXQgZnJvbQo+PiAgIGRybV9zZXR1cF9jcnRjcyBpbnN0ZWFkIG9mIGxv b3Bpbmcgb3ZlciBhbGwgY3J0YydzIHRvIGZpbmQgdGhlIHJpZ2h0IG9uZQo+PiAgIGxhdGVyCj4+ IC1TaW5jZSB3ZSBub3cgbm8gbG9uZ2VyIGxvb2sgYXQgcm90YXRpb24gcXVpcmtzIGRpcmVjdGx5 IGluIHRoZSBmYmNvbiBjb2RlLAo+PiAgIHNldCBmYl9pbmZvLmZiY29uX3JvdGF0ZV9oaW50IHdo ZW4gdGhlIHBhbmVsIGlzIG5vdCBtb3VudGVkIHVwcmlnaHQgYW5kCj4+ICAgd2UgY2Fubm90IHVz ZSBoYXJkd2FyZSByb3RhdGlvbgo+PiAtLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hl bHBlci5jIHwgNzYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KPj4g ICBpbmNsdWRlL2RybS9kcm1fZmJfaGVscGVyLmggICAgIHwgIDggKysrKysKPj4gICAyIGZpbGVz IGNoYW5nZWQsIDgyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9mYl9oZWxwZXIuYwo+PiBpbmRleCAxMTZkMWYxMzM3YzcuLmUwZjk1ZjJjYzUyZiAxMDA2NDQK Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwo+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCj4+IEBAIC00MSw2ICs0MSw3IEBACj4+ICAgI2luY2x1 ZGUgPGRybS9kcm1fYXRvbWljLmg+Cj4+ICAgI2luY2x1ZGUgPGRybS9kcm1fYXRvbWljX2hlbHBl ci5oPgo+PiAgIAo+PiArI2luY2x1ZGUgImRybV9jcnRjX2ludGVybmFsLmgiCj4+ICAgI2luY2x1 ZGUgImRybV9jcnRjX2hlbHBlcl9pbnRlcm5hbC5oIgo+PiAgIAo+PiAgIHN0YXRpYyBib29sIGRy bV9mYmRldl9lbXVsYXRpb24gPSB0cnVlOwo+PiBAQCAtMzUwLDYgKzM1MSw3IEBAIEVYUE9SVF9T WU1CT0woZHJtX2ZiX2hlbHBlcl9kZWJ1Z19sZWF2ZSk7Cj4+ICAgc3RhdGljIGludCByZXN0b3Jl X2ZiZGV2X21vZGVfYXRvbWljKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsIGJvb2wg YWN0aXZlKQo+PiAgIHsKPj4gICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGZiX2hlbHBlci0+ ZGV2Owo+PiArCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlOwo+PiAgIAlzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZTsKPj4gICAJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRl Owo+PiAgIAlpbnQgaSwgcmV0Owo+PiBAQCAtMzY4LDggKzM3MCw2IEBAIHN0YXRpYyBpbnQgcmVz dG9yZV9mYmRldl9tb2RlX2F0b21pYyhzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLCBi b29sIGFjdGl2Cj4+ICAgcmV0cnk6Cj4+ICAgCXBsYW5lX21hc2sgPSAwOwo+PiAgIAlkcm1fZm9y X2VhY2hfcGxhbmUocGxhbmUsIGRldikgewo+PiAtCQlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpw bGFuZV9zdGF0ZTsKPj4gLQo+PiAgIAkJcGxhbmVfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9wbGFu ZV9zdGF0ZShzdGF0ZSwgcGxhbmUpOwo+PiAgIAkJaWYgKElTX0VSUihwbGFuZV9zdGF0ZSkpIHsK Pj4gICAJCQlyZXQgPSBQVFJfRVJSKHBsYW5lX3N0YXRlKTsKPj4gQEAgLTM5Miw2ICszOTIsMTEg QEAgc3RhdGljIGludCByZXN0b3JlX2ZiZGV2X21vZGVfYXRvbWljKHN0cnVjdCBkcm1fZmJfaGVs cGVyICpmYl9oZWxwZXIsIGJvb2wgYWN0aXYKPj4gICAKPj4gICAJZm9yIChpID0gMDsgaSA8IGZi X2hlbHBlci0+Y3J0Y19jb3VudDsgaSsrKSB7Cj4+ICAgCQlzdHJ1Y3QgZHJtX21vZGVfc2V0ICpt b2RlX3NldCA9ICZmYl9oZWxwZXItPmNydGNfaW5mb1tpXS5tb2RlX3NldDsKPj4gKwkJc3RydWN0 IGRybV9wbGFuZSAqcHJpbWFyeSA9IG1vZGVfc2V0LT5jcnRjLT5wcmltYXJ5Owo+PiArCj4+ICsJ CS8qIENhbm5vdCBmYWlsIGFzIHdlJ3ZlIGFscmVhZHkgZ290dGVuIHRoZSBwbGFuZSBzdGF0ZSBh Ym92ZSAqLwo+PiArCQlwbGFuZV9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X25ld19wbGFuZV9zdGF0 ZShzdGF0ZSwgcHJpbWFyeSk7Cj4+ICsJCXBsYW5lX3N0YXRlLT5yb3RhdGlvbiA9IGZiX2hlbHBl ci0+Y3J0Y19pbmZvW2ldLnJvdGF0aW9uOwo+PiAgIAo+PiAgIAkJcmV0ID0gX19kcm1fYXRvbWlj X2hlbHBlcl9zZXRfY29uZmlnKG1vZGVfc2V0LCBzdGF0ZSk7Cj4+ICAgCQlpZiAocmV0ICE9IDAp Cj4+IEBAIC0yMzM0LDYgKzIzMzksNTcgQEAgc3RhdGljIGludCBkcm1fcGlja19jcnRjcyhzdHJ1 Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLAo+PiAgIAlyZXR1cm4gYmVzdF9zY29yZTsKPj4g ICB9Cj4+ICAgCj4+ICsvKgo+PiArICogVGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgcm90YXRpb24g aXMgbmVjZXNzYXJ5IGJlY2F1c2Ugb2YgcGFuZWwgb3JpZW50YXRpb24KPj4gKyAqIGFuZCBpZiBp dCBpcywgaWYgaXQgaXMgc3VwcG9ydGVkLgo+PiArICogSWYgcm90YXRpb24gaXMgbmVjZXNzYXJ5 IGFuZCBzdXBwb3J0ZWQsIGl0cyBnZXRzIHNldCBpbiBmYl9jcnRjLnJvdGF0aW9uLgo+PiArICog SWYgcm90YXRpb24gaXMgbmVjZXNzYXJ5IGJ1dCBub3Qgc3VwcG9ydGVkLCBhIERSTV9NT0RFX1JP VEFURV8qIGZsYWcgZ2V0cwo+PiArICogb3ItZWQgaW50byBmYl9oZWxwZXItPnJvdGF0aW9ucy4g SW4gZHJtX3NldHVwX2NydGNzX2ZiKCkgd2UgY2hlY2sgaWYgb25seQo+PiArICogb25lIGJpdCBp cyBzZXQgYW5kIHRoZW4gd2Ugc2V0IGZiX2luZm8uZmJjb25fcm90YXRlX2hpbnQgdG8gbWFrZSBm YmNvbiBkbwo+PiArICogdGhlIHVuc3VwcG9ydGVkIHJvdGF0aW9uLgo+PiArICovCj4+ICtzdGF0 aWMgdm9pZCBkcm1fc2V0dXBfY3J0Y19yb3RhdGlvbihzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJf aGVscGVyLAo+PiArCQkJCSAgICBzdHJ1Y3QgZHJtX2ZiX2hlbHBlcl9jcnRjICpmYl9jcnRjLAo+ PiArCQkJCSAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+PiArewo+PiArCXN0 cnVjdCBkcm1fcGxhbmUgKnBsYW5lID0gZmJfY3J0Yy0+bW9kZV9zZXQuY3J0Yy0+cHJpbWFyeTsK Pj4gKwl1aW50NjRfdCB2YWxpZF9tYXNrID0gMDsKPj4gKwlpbnQgaSwgcm90YXRpb247Cj4+ICsK Pj4gKwlmYl9jcnRjLT5yb3RhdGlvbiA9IERSTV9NT0RFX1JPVEFURV8wOwo+PiArCj4+ICsJc3dp dGNoIChjb25uZWN0b3ItPmRpc3BsYXlfaW5mby5wYW5lbF9vcmllbnRhdGlvbikgewo+PiArCWNh c2UgRFJNX01PREVfUEFORUxfT1JJRU5UQVRJT05fQk9UVE9NX1VQOgo+PiArCQlyb3RhdGlvbiA9 IERSTV9NT0RFX1JPVEFURV8xODA7Cj4+ICsJCWJyZWFrOwo+PiArCWNhc2UgRFJNX01PREVfUEFO RUxfT1JJRU5UQVRJT05fTEVGVF9VUDoKPj4gKwkJcm90YXRpb24gPSBEUk1fTU9ERV9ST1RBVEVf OTA7Cj4+ICsJCWJyZWFrOwo+PiArCWNhc2UgRFJNX01PREVfUEFORUxfT1JJRU5UQVRJT05fUklH SFRfVVA6Cj4+ICsJCXJvdGF0aW9uID0gRFJNX01PREVfUk9UQVRFXzI3MDsKPj4gKwkJYnJlYWs7 Cj4gCj4gRm9yIDkwLzI3MCBodyByb3RhdGlvbiB5b3UgbmVlZCB0byBmbGlwIHRoZSBjb29yZGlu YXRlcy9zaXplcyBvZiB0aGUgZmIuCgpZb3UncmUgcHJvYmFibHkgcmlnaHQsIEkgZG9uJ3QgaGF2 ZSBhbnkgaGFyZHdhcmUgc3VwcG9ydGluZwoyNzAgZGVncmVlIHJvdGF0aW9uIHRvIHRlc3QgdGhp cyB3aXRoLgoKPj4gKwlkZWZhdWx0Ogo+PiArCQlyb3RhdGlvbiA9IERSTV9NT0RFX1JPVEFURV8w Owo+PiArCX0KPj4gKwo+PiArCWlmIChyb3RhdGlvbiA9PSBEUk1fTU9ERV9ST1RBVEVfMCB8fCAh cGxhbmUtPnJvdGF0aW9uX3Byb3BlcnR5KSB7Cj4+ICsJCWZiX2hlbHBlci0+cm90YXRpb25zIHw9 IHJvdGF0aW9uOwo+PiArCQlyZXR1cm47Cj4+ICsJfQo+PiArCj4+ICsJZm9yIChpID0gMDsgaSA8 IHBsYW5lLT5yb3RhdGlvbl9wcm9wZXJ0eS0+bnVtX3ZhbHVlczsgaSsrKQo+PiArCQl2YWxpZF9t YXNrIHw9ICgxVUxMIDw8IHBsYW5lLT5yb3RhdGlvbl9wcm9wZXJ0eS0+dmFsdWVzW2ldKTsKPiAK PiBUaGlzIGlzbid0IGEgZ29vZCBlbm91Z2ggY2hlY2sgZm9yIGF0b21pYyBkcml2ZXJzIChhbmQg bm90IGZvciBnZW45KyBpbnRlbAo+IGh3KSwgc2luY2Ugd2UgbWlnaHQgZXhwb3NlIDkwwrAgcm90 YXRpb25zLCBidXQgaXQgb25seSB3b3JrcyBpZiB5b3UgaGF2ZQo+IHRoZSBjb3JyZWN0IHRpbGlu ZyBmb3JtYXQuCj4gCj4gRm9yIGF0b21pYyBkcml2ZXJzIGl0J2QgYmUgcmVhbGx5IGdvb2QgaWYg d2UgY291bGQgZG8gYSBURVNUX09OTFkgY29tbWl0Cj4gZmlyc3QsIGFuZCBpZiB0aGF0IGZhaWxz LCBmYWxsIGJhY2sgdG8gc3cgcm90YXRpb24uCj4gCj4gQnV0IHRoYXQgcG9zZXMgYSBiaXQgYSBj aGlja2VuJmVnZyB3aXRoIGNyZWF0aW5nIHRoZSBmcmFtZWJ1ZmZlciAod2UgbmVlZAo+IG9uZSBm b3IgdGhlIFRFU1RfT05MWSksIHNvIHByb2JhYmx5IGEgYml0IHRvbyBtdWNoIG1vcmUgZm9yIHRo aXMuIEFuZAo+IGFmYWl1aSB5b3VyIHF1aXJrIGxpc3Qgb25seSBhcHBsaWVzIHRvIG9sZGVyIHN0 dWZmLgo+IAo+IEF0IGxlYXN0IGFkZCBhIEZJWE1FIG1lYW53aGlsZT8gSW4gYSB3YXkgd2UgaGF2 ZSBhIEZJWE1FIGFscmVhZHkgZm9yCj4gbXVsdGktcGlwZSwgc2luY2Ugd2UgZG9uJ3QgdHJ5IHRv IGZhbGwgYmFjayB0byBmZXdlciBwaXBlcyBpZiB0aGUgc2luZ2xlCj4gYXRvbWljIGNvbW1pdCBm YWlsZWQuCj4gCj4gT3IgbWF5YmUganVzdCBkb24ndCB1c2UgOTAvMjcwIGh3IHJvdGF0aW9uIGZv ciBub3cgc2luY2UgaXQgc2VlbXMgYnVnZ3kgaW4KPiB5b3VyIGNvZGUgYW55d2F5LgoKSSB3YXMg d29uZGVyaW5nIGFib3V0IHRoaXMgKG5lZWQgZm9yIHNwZWNpYWwgZmIgbGF5b3V0KSBteXNlbGYg dG9vLCBJCmFncmVlIGFsc28gZ2l2ZW4gdGhlIGFib3ZlIGNvbW1lbnQgdGhhdCBpdCBpcyBwcm9i YWJseSBiZXN0IHRvIG9ubHkKc3VwcG9ydCAwLzE4MCBkZWdyZWUgaGFyZHdhcmUgcm90YXRpb24g Zm9yIG5vdywgSSB3aWxsIGRvIGZvciB0aGUgbmV4dAp2ZXJzaW9uIChhbmQgYWRkIGEgVE9ETyBj b21tZW50KS4KCgo+PiArCj4+ICsJaWYgKCEocm90YXRpb24gJiB2YWxpZF9tYXNrKSkgewo+PiAr CQlmYl9oZWxwZXItPnJvdGF0aW9ucyB8PSByb3RhdGlvbjsKPj4gKwkJcmV0dXJuOwo+PiArCX0K Pj4gKwo+PiArCWZiX2NydGMtPnJvdGF0aW9uID0gcm90YXRpb247Cj4+ICsJLyogUm90YXRpbmcg aW4gaGFyZHdhcmUsIGZiY29uIHNob3VsZCBub3Qgcm90YXRlICovCj4+ICsJZmJfaGVscGVyLT5y b3RhdGlvbnMgfD0gRFJNX01PREVfUk9UQVRFXzA7Cj4gCj4gV3JvbmcgYml0b3B0IEkgdGhpbmsu CgpObyB0aGlzIGlzIGludGVudGlvbmFsLCBpZiB3ZSd2ZSBhIHBhbmVsIHJlcXVpcmluZyBzYXkg OTAgZGVncmVlIHJvdGF0aW9uCndoaWNoIHdlIHdpbGwgZG8gaW4gc29mdHdhcmUgYW5kIGFub3Ro ZXIgcGFuZWwgKHdlaXJkIGV4YW1wbGUpIGRvaW5nIDE4MApkZWdyZWUgcm90YXRpb24gaW4gaGFy ZHdhcmUsIHRoZW4gd2Ugd2FudCB0byBvciBib3RoCkRSTV9NT0RFX1JPVEFURV85MCBhbmQgRFJN X01PREVfUk9UQVRFXzAgaW50byB0aGUgcm90YXRpb25zIGJpdG1hc2sKKDAgc2luY2UgdGhlIGhh cmR3YXJlIHJvdGF0aW9uIHJlcXVpcmVzIG5vIHN3IHJvdGF0aW9uKS4KVGhlIHJvdGF0aW9ucyBi aXRtYXNrIGlzIHRoZSAqY29tYmluYXRpb24qIG9mIGFsbCByb3RhdGlvbnMgd2UgbmVlZApmYmNv biB0byBkbyBpbiBzb2Z0d2FyZSBhbmQgd2hlbiB0aGF0IGVuZHMgdXAgYmVpbmcgbW9yZSB0aGVu IG9uZQpyb3RhdGlvbiB3ZSBjaGlja2VuIG91dCBhbmQganVzdCBkb24ndCBkbyBhbnkgc29mdHdh cmUgcm90YXRpb24sCm1heWJlIEkgc2hvdWxkIHJlbmFtZSByb3RhdGlvbnMgdG8gc3dfcm90YXRp b25zPwoKQSBiZXR0ZXIgcmVhbCB3b3JsZCBleGFtcGxlIGlzIGEgOTAgZGVncmVlIHJvdGF0ZWQg cGFuZWwgd2l0aAphbiBleHRlcm5hbCBtb25pdG9yLCBpbiB0aGF0IGNhc2UgZm9yIHRoZSBwYW5l bCB3ZSBoaXQ6CgoJaWYgKCEocm90YXRpb24gJiB2YWxpZF9tYXNrKSkgewoJCWZiX2hlbHBlci0+ cm90YXRpb25zIHw9IHJvdGF0aW9uOwoJCXJldHVybjsKCX0KCk9yLWluZyBpbiB0aGUgcGFuZWwn cyBEUk1fTU9ERV9ST1RBVEVfOTAuCgpBbmQgZm9yIHRoZSBtb25pdG9yIHdlIGhpdDoKCglpZiAo cm90YXRpb24gPT0gRFJNX01PREVfUk9UQVRFXzAgfHwgIXBsYW5lLT5yb3RhdGlvbl9wcm9wZXJ0 eSkgewoJCWZiX2hlbHBlci0+cm90YXRpb25zIHw9IHJvdGF0aW9uOwoJCXJldHVybjsKCX0KCk9y LWluZyBpbiB0aGUgbW9uaXRvcnMncyBEUk1fTU9ERV9ST1RBVEVfMC4KClNvIHdlIGVuZCB1cCB3 aXRoIDIgYml0cyBzZXQgaW4gZmJfaGVscGVyLT5yb3RhdGlvbnMsIGhpdHRpbmcgdGhlCmRlZmF1 bHQgaW4gdGhlIHN3aXRjaCBjYXNlIGFuZCBwaWNraW5nIEZCX1JPVEFURV9VUiwgc2luY2Ugd2Ug Y2Fubm90CnNhdGlzZnkgYm90aCByb3RhdGlvbnMgaW4gZmJjb24gYXQgdGhlIHNhbWUgdGltZS4K Cgo+IE9yIHlvdSdyZSBkb2luZyBzb21lIHJlYWxseSBmdW5ueSBjb250cm9sIGxvZ2ljIGJ5IG9y aW5nIGluIGFub3RoZXIgdmFsdWUKPiB0byBoaXQgdGhlIGRlZmF1bHQgY2FzZSBiZWxvdyB3aGlj aCBkb2Vzbid0IHJvdGF0ZSBhbnl0aGluZy4gSSB0aGluayB0aGF0Cj4gc2hvdWxkIGJlIGRvbmUg ZXhwbGljaXRseSwgYnkgZXhwbGljaXRseSBzZXR0aW5nIHRvIHJvdGF0aW9uIHRvIFJPVEFURV8w Cj4gaW5zdGVhZCBvZiB0aGlzLiBTYW1lIGZvciB0aGUgY2hlY2sgYWJvdmUuCgpJIGhvcGUgbXkg ZXhwbGFuYXRpb24gYWJvdmUgZXhwbGFpbnMgd2h5IEknbSBvci1pbmcgdG9nZXRoZXIgcm90YXRp b25zLApiYXNpY2FsbHkgSSB3YW50IHRvIGRldGVjdCBpZiB3ZSBuZWVkIG1vcmUgdGhlbiAxIHR5 cGUgb2Ygc29mdHdhcmUtcm90YXRpb24KaW4gZmJjb24gYW5kIGluIHRoYXQgY2FzZSBiYWlsIG91 dCBhbmQgZmFsbGJhY2sgdG8gRkJfUk9UQVRFX1VSLgoKUmVnYXJkcywKCkhhbnMKCgo+IAo+PiAr fQo+PiArCj4+ICAgc3RhdGljIHZvaWQgZHJtX3NldHVwX2NydGNzKHN0cnVjdCBkcm1fZmJfaGVs cGVyICpmYl9oZWxwZXIsCj4+ICAgCQkJICAgIHUzMiB3aWR0aCwgdTMyIGhlaWdodCkKPj4gICB7 Cj4+IEBAIC0yMzkzLDYgKzI0NDksNyBAQCBzdGF0aWMgdm9pZCBkcm1fc2V0dXBfY3J0Y3Moc3Ry dWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwKPj4gICAJCWRybV9mYl9oZWxwZXJfbW9kZXNl dF9yZWxlYXNlKGZiX2hlbHBlciwKPj4gICAJCQkJCSAgICAgICZmYl9oZWxwZXItPmNydGNfaW5m b1tpXS5tb2RlX3NldCk7Cj4+ICAgCj4+ICsJZmJfaGVscGVyLT5yb3RhdGlvbnMgPSAwOwo+PiAg IAlkcm1fZmJfaGVscGVyX2Zvcl9lYWNoX2Nvbm5lY3RvcihmYl9oZWxwZXIsIGkpIHsKPj4gICAJ CXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlID0gbW9kZXNbaV07Cj4+ICAgCQlzdHJ1Y3Qg ZHJtX2ZiX2hlbHBlcl9jcnRjICpmYl9jcnRjID0gY3J0Y3NbaV07Cj4+IEBAIC0yNDEyLDYgKzI0 NjksNyBAQCBzdGF0aWMgdm9pZCBkcm1fc2V0dXBfY3J0Y3Moc3RydWN0IGRybV9mYl9oZWxwZXIg KmZiX2hlbHBlciwKPj4gICAJCQltb2Rlc2V0LT5tb2RlID0gZHJtX21vZGVfZHVwbGljYXRlKGRl diwKPj4gICAJCQkJCQkJICAgZmJfY3J0Yy0+ZGVzaXJlZF9tb2RlKTsKPj4gICAJCQlkcm1fY29u bmVjdG9yX2dldChjb25uZWN0b3IpOwo+PiArCQkJZHJtX3NldHVwX2NydGNfcm90YXRpb24oZmJf aGVscGVyLCBmYl9jcnRjLCBjb25uZWN0b3IpOwo+PiAgIAkJCW1vZGVzZXQtPmNvbm5lY3RvcnNb bW9kZXNldC0+bnVtX2Nvbm5lY3RvcnMrK10gPSBjb25uZWN0b3I7Cj4+ICAgCQkJbW9kZXNldC0+ eCA9IG9mZnNldC0+eDsKPj4gICAJCQltb2Rlc2V0LT55ID0gb2Zmc2V0LT55Owo+PiBAQCAtMjQ1 Myw2ICsyNTExLDIwIEBAIHN0YXRpYyB2b2lkIGRybV9zZXR1cF9jcnRjc19mYihzdHJ1Y3QgZHJt X2ZiX2hlbHBlciAqZmJfaGVscGVyKQo+PiAgIAkJfQo+PiAgIAl9Cj4+ICAgCW11dGV4X3VubG9j aygmZmJfaGVscGVyLT5kZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKPj4gKwo+PiArCXN3aXRjaCAo ZmJfaGVscGVyLT5yb3RhdGlvbnMpIHsKPj4gKwljYXNlIERSTV9NT0RFX1JPVEFURV85MDoKPj4g KwkJaW5mby0+ZmJjb25fcm90YXRlX2hpbnQgPSBGQl9ST1RBVEVfQ0NXOwo+PiArCQlicmVhazsK Pj4gKwljYXNlIERSTV9NT0RFX1JPVEFURV8xODA6Cj4+ICsJCWluZm8tPmZiY29uX3JvdGF0ZV9o aW50ID0gRkJfUk9UQVRFX1VEOwo+PiArCQlicmVhazsKPj4gKwljYXNlIERSTV9NT0RFX1JPVEFU RV8yNzA6Cj4+ICsJCWluZm8tPmZiY29uX3JvdGF0ZV9oaW50ID0gRkJfUk9UQVRFX0NXOwo+PiAr CQlicmVhazsKPj4gKwlkZWZhdWx0Ogo+PiArCQlpbmZvLT5mYmNvbl9yb3RhdGVfaGludCA9IEZC X1JPVEFURV9VUjsKPj4gKwl9Cj4+ICAgfQo+PiAgIAo+PiAgIC8qIE5vdGU6IERyb3BzIGZiX2hl bHBlci0+bG9jayBiZWZvcmUgcmV0dXJuaW5nLiAqLwo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9k cm0vZHJtX2ZiX2hlbHBlci5oIGIvaW5jbHVkZS9kcm0vZHJtX2ZiX2hlbHBlci5oCj4+IGluZGV4 IDMzZmU5NTkyNzc0Mi4uNGVlODM0YTA3N2EyIDEwMDY0NAo+PiAtLS0gYS9pbmNsdWRlL2RybS9k cm1fZmJfaGVscGVyLmgKPj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2ZiX2hlbHBlci5oCj4+IEBA IC00OCw2ICs0OCw3IEBAIHN0cnVjdCBkcm1fZmJfaGVscGVyX2NydGMgewo+PiAgIAlzdHJ1Y3Qg ZHJtX21vZGVfc2V0IG1vZGVfc2V0Owo+PiAgIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZGVz aXJlZF9tb2RlOwo+PiAgIAlpbnQgeCwgeTsKPj4gKwlpbnQgcm90YXRpb247Cj4+ICAgfTsKPj4g ICAKPj4gICAvKioKPj4gQEAgLTE1OCw2ICsxNTksMTMgQEAgc3RydWN0IGRybV9mYl9oZWxwZXIg ewo+PiAgIAlzdHJ1Y3QgZHJtX2ZiX2hlbHBlcl9jcnRjICpjcnRjX2luZm87Cj4+ICAgCWludCBj b25uZWN0b3JfY291bnQ7Cj4+ICAgCWludCBjb25uZWN0b3JfaW5mb19hbGxvY19jb3VudDsKPj4g KwkvKioKPj4gKwkgKiBAcm90YXRpb25zOgo+PiArCSAqIEJpdG1hc2sgb2YgYWxsIHJvdGF0aW9u cyByZXF1ZXN0ZWQgZm9yIHBhbmVsLW9yaWVudGF0aW9uIHdoaWNoCj4+ICsJICogY291bGQgbm90 IGJlIGhhbmRsZWQgaW4gaGFyZHdhcmUuIElmIG9ubHkgb25lIGJpdCBpcyBzZXQKPj4gKwkgKiBm YmRldi0+ZmJjb25fcm90YXRlX2hpbnQgZ2V0cyBzZXQgdG8gdGhlIHJlcXVlc3RlZCByb3RhdGlv bi4KPj4gKwkgKi8KPj4gKwlpbnQgcm90YXRpb25zOwo+PiAgIAkvKioKPj4gICAJICogQGNvbm5l Y3Rvcl9pbmZvOgo+PiAgIAkgKgo+PiAtLSAKPj4gMi4xNC4yCj4+Cj4+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+IEludGVsLWdmeCBtYWlsaW5nIGxp c3QKPj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+PiBodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+IApfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK