From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v5 6/9] drm: Handle aspect ratio info in legacy and atomic modeset paths Date: Fri, 23 Feb 2018 16:28:45 +0200 Message-ID: <20180223142845.GL5453@intel.com> References: <1518697262-3001-1-git-send-email-ankit.k.nautiyal@intel.com> <1518697262-3001-7-git-send-email-ankit.k.nautiyal@intel.com> 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 726066F173 for ; Fri, 23 Feb 2018 14:28:49 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1518697262-3001-7-git-send-email-ankit.k.nautiyal@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Nautiyal, Ankit K" Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBGZWIgMTUsIDIwMTggYXQgMDU6NTA6NTlQTSArMDUzMCwgTmF1dGl5YWwsIEFua2l0 IEsgd3JvdGU6Cj4gRnJvbTogQW5raXQgTmF1dGl5YWwgPGFua2l0LmsubmF1dGl5YWxAaW50ZWwu Y29tPgo+IAo+IElmIHRoZSB1c2VyLXNwYWNlIGRvZXMgbm90IHN1cHBvcnQgYXNwZWN0LXJhdGlv LCBhbmQgcmVxdWVzdHMgZm9yIGEKPiBtb2Rlc2V0IHdpdGggbW9kZSBoYXZpbmcgYXNwZWN0IHJh dGlvIGJpdHMgc2V0LCB0aGVuIHRoZSBnaXZlbgo+IHVzZXItbW9kZSBtdXN0IGJlIHJlamVjdGVk LiBTZWNvbmRseSwgd2hpbGUgcHJlcGFyaW5nIGEgdXNlci1tb2RlIGZyb20KPiBrZXJuZWwgbW9k ZSwgdGhlIGFzcGVjdC1yYXRpbyBpbmZvIG11c3Qgbm90IGJlIGdpdmVuLCBpZiBhc3BlY3QtcmF0 aW8KPiBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSB1c2VyLgo+IAo+IFRoaXMgcGF0Y2g6Cj4gMS4g cGFzc2VzIHRoZSBmaWxlX3ByaXYgc3RydWN0dXJlIGZyb20gdGhlIGRybV9tb2RlX2F0b21pY19p b2N0bCB0aWxsCj4gICAgdGhlIGRybV9tb2RlX2NydGNfc2V0X21vZGVfcHJvcCwgdG8gZ2V0IHRo ZSB1c2VyIGNhcGFiaWxpdHkuCj4gMi4gcmVqZWN0cyB0aGUgbW9kZXMgd2l0aCBhc3BlY3QtcmF0 aW8gaW5mbywgZHVyaW5nIG1vZGVzZXQsIGlmIHRoZQo+ICAgIHVzZXIgZG9lcyBub3Qgc3VwcG9y dCBhc3BlY3QgcmF0aW8uCj4gMy4gZG9lcyBub3QgbG9hZCB0aGUgYXNwZWN0LXJhdGlvIGluZm8g aW4gdXNlci1tb2RlIHN0cnVjdHVyZSwgaWYKPiAgICBhc3BlY3QgcmF0aW8gaXMgbm90IHN1cHBv cnRlZC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBBbmtpdCBOYXV0aXlhbCA8YW5raXQuay5uYXV0aXlh bEBpbnRlbC5jb20+Cj4gCj4gVjM6IEFkZHJlc3NlZCByZXZpZXcgY29tbWVudHMgZnJvbSBWaWxs ZToKPiAgICAgRG8gbm90IGNvcnJ1cHQgdGhlIGN1cnJlbnQgY3J0YyBzdGF0ZSBieSB1cGRhdGlu ZyBhc3BlY3QgcmF0aW8gb24KPiAgICAgdGhlIGZseS4KPiBWNDogcmViYXNlCj4gVjU6IEFzIHN1 Z2dlc3RlZCBieSBWaWxsZSwgcmVqZWN0ZWQgdGhlIG1vZGVzZXQgY2FsbHMgZm9yIG1vZGVzIHdp dGgKPiAgICAgYXNwZWN0IHJhdGlvLCBpZiB0aGUgdXNlciBkb2VzIG5vdCBzZXQgYXNwZWN0IHJh dGlvIGNhcC4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAgfCAz MCArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWNfaGVscGVyLmMgfCAgNiArKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMg ICAgICAgICAgfCAxNSArKysrKysrKysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2RybV9jcnRj X2ludGVybmFsLmggfCAgMyArKy0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9tb2RlX29iamVjdC5j ICAgfCAgOSArKysrKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jICAgICAgICAg fCAgMSArCj4gIGluY2x1ZGUvZHJtL2RybV9hdG9taWMuaCAgICAgICAgICAgIHwgIDUgKysrLS0K PiAgNyBmaWxlcyBjaGFuZ2VkLCA1MiBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKPiAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljLmMKPiBpbmRleCA4NmI0ODNlLi43ZTc4MzA1IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pYy5jCj4gQEAgLTM2OCw2ICszNjgsNyBAQCBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNf c2V0X21vZGVfZm9yX2NydGMpOwo+ICAgKiBkcm1fYXRvbWljX3NldF9tb2RlX3Byb3BfZm9yX2Ny dGMgLSBzZXQgbW9kZSBmb3IgQ1JUQwo+ICAgKiBAc3RhdGU6IHRoZSBDUlRDIHdob3NlIGluY29t aW5nIHN0YXRlIHRvIHVwZGF0ZQo+ICAgKiBAYmxvYjogcG9pbnRlciB0byBibG9iIHByb3BlcnR5 IHRvIHVzZSBmb3IgbW9kZQo+ICsgKiBAZmlsZV9wcml2OiBmaWxlIHByaXYgc3RydWN0dXJlLCB0 byBnZXQgdGhlIHVzZXJzcGFjZSBjYXBhYmlsaXRpZXMKPiAgICoKPiAgICogU2V0IGEgbW9kZSAo b3JpZ2luYXRpbmcgZnJvbSBhIGJsb2IgcHJvcGVydHkpIG9uIHRoZSBkZXNpcmVkIENSVEMgc3Rh dGUuCj4gICAqIFRoaXMgZnVuY3Rpb24gd2lsbCB0YWtlIGEgcmVmZXJlbmNlIG9uIHRoZSBibG9i IHByb3BlcnR5IGZvciB0aGUgQ1JUQyBzdGF0ZSwKPiBAQCAtMzc4LDcgKzM3OSw4IEBAIEVYUE9S VF9TWU1CT0woZHJtX2F0b21pY19zZXRfbW9kZV9mb3JfY3J0Yyk7Cj4gICAqIFplcm8gb24gc3Vj Y2VzcywgZXJyb3IgY29kZSBvbiBmYWlsdXJlLiBDYW5ub3QgcmV0dXJuIC1FREVBRExLLgo+ICAg Ki8KPiAgaW50IGRybV9hdG9taWNfc2V0X21vZGVfcHJvcF9mb3JfY3J0YyhzdHJ1Y3QgZHJtX2Ny dGNfc3RhdGUgKnN0YXRlLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqYmxvYikKPiArCQkJCSAgICAgIHN0cnVjdCBkcm1f cHJvcGVydHlfYmxvYiAqYmxvYiwKPiArCQkJCSAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9w cml2KQo+ICB7Cj4gIAlpZiAoYmxvYiA9PSBzdGF0ZS0+bW9kZV9ibG9iKQo+ICAJCXJldHVybiAw Owo+IEBAIC0zODksMTAgKzM5MSwyMCBAQCBpbnQgZHJtX2F0b21pY19zZXRfbW9kZV9wcm9wX2Zv cl9jcnRjKHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUsCj4gIAltZW1zZXQoJnN0YXRlLT5t b2RlLCAwLCBzaXplb2Yoc3RhdGUtPm1vZGUpKTsKPiAgCj4gIAlpZiAoYmxvYikgewo+ICsJCXN0 cnVjdCBkcm1fbW9kZV9tb2RlaW5mbyAqdV9tb2RlOwo+ICsKPiArCQl1X21vZGUgPSAoc3RydWN0 IGRybV9tb2RlX21vZGVpbmZvICopIGJsb2ItPmRhdGE7Cj4gKwkJaWYgKCFmaWxlX3ByaXYtPmFz cGVjdF9yYXRpb19hbGxvd2VkICYmCj4gKwkJICAgICh1X21vZGUtPmZsYWdzICYgRFJNX01PREVf RkxBR19QSUNfQVJfTUFTSykgIT0KPiArCQkgICAgRFJNX01PREVfRkxBR19QSUNfQVJfTk9ORSkg ewo+ICsJCQlEUk1fREVCVUdfQVRPTUlDKCJVbmV4cGVjdGVkIGFzcGVjdC1yYXRpbyBmbGFnIGJp dHNcbiIpOwo+ICsJCQlyZXR1cm4gLUVJTlZBTDsKPiArCQl9CgpXZSBzaG91bGQgcHJvYmFibHkg cHVsbCB0aGlzIGxvZ2ljIGludG8gYSBzbWFsbCBoZWxwZXIgc28gdGhhdCB3ZSBkb24ndApoYXZl IHRvIGR1cGxpY2F0ZSBpdCBpbiBib3RoIHRoZSBzZXRwcm9wIGFuZCBzZXRjcnRjIGNvZGUgcGF0 aHMuCgo+ICsKPiAgCQlpZiAoYmxvYi0+bGVuZ3RoICE9IHNpemVvZihzdHJ1Y3QgZHJtX21vZGVf bW9kZWluZm8pIHx8CgpUaGUgYmxvYiBsZW5ndGggY2hlY2sgaGFzIHRvIGJlIGRvbmUgYmVmb3Jl IHlvdSBhY2Nlc3MgdGhlIGRhdGEuCgo+ICAJCSAgICBkcm1fbW9kZV9jb252ZXJ0X3Vtb2RlKHN0 YXRlLT5jcnRjLT5kZXYsICZzdGF0ZS0+bW9kZSwKPiAtCQkgICAgICAgICAgICAgICAgICAgICAg ICAgICAoY29uc3Qgc3RydWN0IGRybV9tb2RlX21vZGVpbmZvICopCj4gLQkJICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJsb2ItPmRhdGEpKQo+ICsJCQkJCSAgIChjb25zdCBzdHJ1Y3QgZHJt X21vZGVfbW9kZWluZm8gKikKPiArCQkJCQkgICB1X21vZGUpKQo+ICAJCQlyZXR1cm4gLUVJTlZB TDsKPiAgCj4gIAkJc3RhdGUtPm1vZGVfYmxvYiA9IGRybV9wcm9wZXJ0eV9ibG9iX2dldChibG9i KTsKPiBAQCAtNDQxLDYgKzQ1Myw3IEBAIGRybV9hdG9taWNfcmVwbGFjZV9wcm9wZXJ0eV9ibG9i X2Zyb21faWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgICogQHN0YXRlOiB0aGUgc3RhdGUg b2JqZWN0IHRvIHVwZGF0ZSB3aXRoIHRoZSBuZXcgcHJvcGVydHkgdmFsdWUKPiAgICogQHByb3Bl cnR5OiB0aGUgcHJvcGVydHkgdG8gc2V0Cj4gICAqIEB2YWw6IHRoZSBuZXcgcHJvcGVydHkgdmFs dWUKPiArICogQGZpbGVfcHJpdjogdGhlIGZpbGUgcHJpdmF0ZSBzdHJ1Y3R1cmUsIHRvIGdldCB0 aGUgdXNlciBjYXBhYmlsaXRpZXMKPiAgICoKPiAgICogVGhpcyBmdW5jdGlvbiBoYW5kbGVzIGdl bmVyaWMvY29yZSBwcm9wZXJ0aWVzIGFuZCBjYWxscyBvdXQgdG8gZHJpdmVyJ3MKPiAgICogJmRy bV9jcnRjX2Z1bmNzLmF0b21pY19zZXRfcHJvcGVydHkgZm9yIGRyaXZlciBwcm9wZXJ0aWVzLiBU byBlbnN1cmUKPiBAQCAtNDUyLDcgKzQ2NSw3IEBAIGRybV9hdG9taWNfcmVwbGFjZV9wcm9wZXJ0 eV9ibG9iX2Zyb21faWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgICovCj4gIGludCBkcm1f YXRvbWljX2NydGNfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCQlzdHJ1 Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwK PiAtCQl1aW50NjRfdCB2YWwpCj4gKwkJdWludDY0X3QgdmFsLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGVfcHJpdikKPiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiAg CXN0cnVjdCBkcm1fbW9kZV9jb25maWcgKmNvbmZpZyA9ICZkZXYtPm1vZGVfY29uZmlnOwo+IEBA IC00NjUsNyArNDc4LDcgQEAgaW50IGRybV9hdG9taWNfY3J0Y19zZXRfcHJvcGVydHkoc3RydWN0 IGRybV9jcnRjICpjcnRjLAo+ICAJCXN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqbW9kZSA9Cj4g IAkJCWRybV9wcm9wZXJ0eV9sb29rdXBfYmxvYihkZXYsIHZhbCk7Cj4gIAkJbW9kZS0+aXNfdmlk ZW9fbW9kZSA9IHRydWU7Cj4gLQkJcmV0ID0gZHJtX2F0b21pY19zZXRfbW9kZV9wcm9wX2Zvcl9j cnRjKHN0YXRlLCBtb2RlKTsKPiArCQlyZXQgPSBkcm1fYXRvbWljX3NldF9tb2RlX3Byb3BfZm9y X2NydGMoc3RhdGUsIG1vZGUsIGZpbGVfcHJpdik7Cj4gIAkJZHJtX3Byb3BlcnR5X2Jsb2JfcHV0 KG1vZGUpOwo+ICAJCXJldHVybiByZXQ7Cj4gIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZp Zy0+ZGVnYW1tYV9sdXRfcHJvcGVydHkpIHsKPiBAQCAtMTkxOCw3ICsxOTMxLDggQEAgaW50IGRy bV9hdG9taWNfY29ubmVjdG9yX2NvbW1pdF9kcG1zKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSwKPiAgaW50IGRybV9hdG9taWNfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fYXRvbWljX3N0 YXRlICpzdGF0ZSwKPiAgCQkJICAgIHN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iaiwKPiAgCQkJ ICAgIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3AsCj4gLQkJCSAgICB1aW50NjRfdCBwcm9wX3Zh bHVlKQo+ICsJCQkgICAgdWludDY0X3QgcHJvcF92YWx1ZSwKPiArCQkJICAgIHN0cnVjdCBkcm1f ZmlsZSAqZmlsZV9wcml2KQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX21vZGVfb2JqZWN0ICpyZWY7Cj4g IAlpbnQgcmV0Owo+IEBAIC0xOTUyLDcgKzE5NjYsNyBAQCBpbnQgZHJtX2F0b21pY19zZXRfcHJv cGVydHkoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICAJCX0KPiAgCj4gIAkJcmV0 ID0gZHJtX2F0b21pY19jcnRjX3NldF9wcm9wZXJ0eShjcnRjLAo+IC0JCQkJY3J0Y19zdGF0ZSwg cHJvcCwgcHJvcF92YWx1ZSk7Cj4gKwkJCQljcnRjX3N0YXRlLCBwcm9wLCBwcm9wX3ZhbHVlLCBm aWxlX3ByaXYpOwo+ICAJCWJyZWFrOwo+ICAJfQo+ICAJY2FzZSBEUk1fTU9ERV9PQkpFQ1RfUExB TkU6IHsKPiBAQCAtMjM0MSw3ICsyMzU1LDcgQEAgaW50IGRybV9tb2RlX2F0b21pY19pb2N0bChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJCQl9Cj4gIAo+ICAJCQlyZXQgPSBkcm1fYXRvbWlj X3NldF9wcm9wZXJ0eShzdGF0ZSwgb2JqLCBwcm9wLAo+IC0JCQkJCQkgICAgICBwcm9wX3ZhbHVl KTsKPiArCQkJCQkJICAgICAgcHJvcF92YWx1ZSwgZmlsZV9wcml2KTsKPiAgCQkJaWYgKHJldCkg ewo+ICAJCQkJZHJtX21vZGVfb2JqZWN0X3B1dChvYmopOwo+ICAJCQkJZ290byBvdXQ7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiBpbmRleCBhZTNjYmZlLi43ODFlYmQ2IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiBAQCAtMTg2LDcgKzE4Niw3IEBAIHN0 YXRpYyBpbnQgaGFuZGxlX2NvbmZsaWN0aW5nX2VuY29kZXJzKHN0cnVjdCBkcm1fYXRvbWljX3N0 YXRlICpzdGF0ZSwKPiAgCj4gIAkJaWYgKCFjcnRjX3N0YXRlLT5jb25uZWN0b3JfbWFzaykgewo+ ICAJCQlyZXQgPSBkcm1fYXRvbWljX3NldF9tb2RlX3Byb3BfZm9yX2NydGMoY3J0Y19zdGF0ZSwK PiAtCQkJCQkJCQlOVUxMKTsKPiArCQkJCQkJCQlOVUxMLCBOVUxMKTsKPiAgCQkJaWYgKHJldCA8 IDApCj4gIAkJCQlnb3RvIG91dDsKPiAgCj4gQEAgLTI3NDksNyArMjc0OSw3IEBAIHN0YXRpYyBp bnQgdXBkYXRlX291dHB1dF9zdGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4g IAo+ICAJCWlmICghbmV3X2NydGNfc3RhdGUtPmNvbm5lY3Rvcl9tYXNrKSB7Cj4gIAkJCXJldCA9 IGRybV9hdG9taWNfc2V0X21vZGVfcHJvcF9mb3JfY3J0YyhuZXdfY3J0Y19zdGF0ZSwKPiAtCQkJ CQkJCQlOVUxMKTsKPiArCQkJCQkJCQlOVUxMLCBOVUxMKTsKPiAgCQkJaWYgKHJldCA8IDApCj4g IAkJCQlyZXR1cm4gcmV0Owo+ICAKPiBAQCAtMjkzMCw3ICsyOTMwLDcgQEAgaW50IGRybV9hdG9t aWNfaGVscGVyX2Rpc2FibGVfYWxsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAo+ICAJCWNy dGNfc3RhdGUtPmFjdGl2ZSA9IGZhbHNlOwo+ICAKPiAtCQlyZXQgPSBkcm1fYXRvbWljX3NldF9t b2RlX3Byb3BfZm9yX2NydGMoY3J0Y19zdGF0ZSwgTlVMTCk7Cj4gKwkJcmV0ID0gZHJtX2F0b21p Y19zZXRfbW9kZV9wcm9wX2Zvcl9jcnRjKGNydGNfc3RhdGUsIE5VTEwsIE5VTEwpOwo+ICAJCWlm IChyZXQgPCAwKQo+ICAJCQlnb3RvIGZyZWU7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jCj4gaW5kZXggMzUz ZTI0Zi4uZTM2YTk3MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jCj4gQEAgLTQzMCw2ICs0MzAsOSBAQCBp bnQgZHJtX21vZGVfZ2V0Y3J0YyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJaWYgKGNydGMt PnN0YXRlKSB7Cj4gIAkJaWYgKGNydGMtPnN0YXRlLT5lbmFibGUpIHsKPiAgCQkJZHJtX21vZGVf Y29udmVydF90b191bW9kZSgmY3J0Y19yZXNwLT5tb2RlLCAmY3J0Yy0+c3RhdGUtPm1vZGUpOwo+ ICsJCQlpZiAoIWZpbGVfcHJpdi0+YXNwZWN0X3JhdGlvX2FsbG93ZWQpCj4gKwkJCQljcnRjLT5z dGF0ZS0+bW9kZS5mbGFncyAmPQo+ICsJCQkJKH5EUk1fTU9ERV9GTEFHX1BJQ19BUl9NQVNLKTsK ClNob3VsZCBiZSBtYW5saW5nIGNydGNfcmVzcC0+bW9kZSBpbnN0ZWFkIG9mIHRoZSBpbnRlcm5h bCBtb2RlLgoKPiAgCQkJY3J0Y19yZXNwLT5tb2RlX3ZhbGlkID0gMTsKPiAgCj4gIAkJfSBlbHNl IHsKPiBAQCAtNDQwLDYgKzQ0Myw5IEBAIGludCBkcm1fbW9kZV9nZXRjcnRjKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCj4gIAkJY3J0Y19yZXNwLT55ID0gY3J0Yy0+eTsKPiAgCQlpZiAoY3J0Yy0+ ZW5hYmxlZCkgewo+ICAJCQlkcm1fbW9kZV9jb252ZXJ0X3RvX3Vtb2RlKCZjcnRjX3Jlc3AtPm1v ZGUsICZjcnRjLT5tb2RlKTsKPiArCQkJaWYgKCFmaWxlX3ByaXYtPmFzcGVjdF9yYXRpb19hbGxv d2VkKQo+ICsJCQkJY3J0Yy0+bW9kZS5mbGFncyAmPQo+ICsJCQkJKH5EUk1fTU9ERV9GTEFHX1BJ Q19BUl9NQVNLKTsKCmRpdHRvCgpTaG91bGQgcHJvYmFibHkgcHVsbCB0aGlzIGZsYWcgZmlsdGVy aW5nIGxvZ2ljIGludG8gYSBzbWFsbCBoZWxwZXIKYXMgd2VsbC4KCj4gIAkJCWNydGNfcmVzcC0+ bW9kZV92YWxpZCA9IDE7Cj4gIAo+ICAJCX0gZWxzZSB7Cj4gQEAgLTYxNCw2ICs2MjAsMTUgQEAg aW50IGRybV9tb2RlX3NldGNydGMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwK PiAgCQkJZ290byBvdXQ7Cj4gIAkJfQo+ICAKPiArCQlpZiAoIWZpbGVfcHJpdi0+YXNwZWN0X3Jh dGlvX2FsbG93ZWQgJiYKPiArCQkgICAgKGNydGNfcmVxLT5tb2RlLmZsYWdzICYgRFJNX01PREVf RkxBR19QSUNfQVJfTUFTSykgIT0KPiArCQkgICAgRFJNX01PREVfRkxBR19QSUNfQVJfTk9ORSkg ewo+ICsJCQlEUk1fREVCVUdfS01TKCJVbmV4cGVjdGVkIGFzcGVjdC1yYXRpbyBmbGFnIGJpdHNc biIpOwo+ICsJCQlyZXQgPSAtRUlOVkFMOwo+ICsJCQlnb3RvIG91dDsKPiArCQl9Cj4gKwo+ICsK PiAgCQlyZXQgPSBkcm1fbW9kZV9jb252ZXJ0X3Vtb2RlKGRldiwgbW9kZSwgJmNydGNfcmVxLT5t b2RlKTsKPiAgCQlpZiAocmV0KSB7Cj4gIAkJCURSTV9ERUJVR19LTVMoIkludmFsaWQgbW9kZVxu Iik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19pbnRlcm5hbC5oIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2ludGVybmFsLmgKPiBpbmRleCBhZjAwZjQyLi43YzMz MzhmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19pbnRlcm5hbC5oCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2ludGVybmFsLmgKPiBAQCAtMTg2LDcgKzE4 Niw4IEBAIGludCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9jb21taXRfZHBtcyhzdHJ1Y3QgZHJtX2F0 b21pY19zdGF0ZSAqc3RhdGUsCj4gIGludCBkcm1fYXRvbWljX3NldF9wcm9wZXJ0eShzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gIAkJCSAgICBzdHJ1Y3QgZHJtX21vZGVfb2JqZWN0 ICpvYmosCj4gIAkJCSAgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wLAo+IC0JCQkgICAgdWlu dDY0X3QgcHJvcF92YWx1ZSk7Cj4gKwkJCSAgICB1aW50NjRfdCBwcm9wX3ZhbHVlLAo+ICsJCQkg ICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOwo+ICBpbnQgZHJtX2F0b21pY19nZXRfcHJv cGVydHkoc3RydWN0IGRybV9tb2RlX29iamVjdCAqb2JqLAo+ICAJCQkgICAgc3RydWN0IGRybV9w cm9wZXJ0eSAqcHJvcGVydHksIHVpbnQ2NF90ICp2YWwpOwo+ICBpbnQgZHJtX21vZGVfYXRvbWlj X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fbW9kZV9vYmplY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9vYmplY3Qu Ywo+IGluZGV4IGNlNGQyZmIuLjFjM2Q0OTggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2RybV9tb2RlX29iamVjdC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2RlX29iamVj dC5jCj4gQEAgLTQ1Miw3ICs0NTIsOCBAQCBzdGF0aWMgaW50IHNldF9wcm9wZXJ0eV9sZWdhY3ko c3RydWN0IGRybV9tb2RlX29iamVjdCAqb2JqLAo+ICAKPiAgc3RhdGljIGludCBzZXRfcHJvcGVy dHlfYXRvbWljKHN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iaiwKPiAgCQkJICAgICAgIHN0cnVj dCBkcm1fcHJvcGVydHkgKnByb3AsCj4gLQkJCSAgICAgICB1aW50NjRfdCBwcm9wX3ZhbHVlKQo+ ICsJCQkgICAgICAgdWludDY0X3QgcHJvcF92YWx1ZSwKPiArCQkJICAgICAgIHN0cnVjdCBkcm1f ZmlsZSAqZmlsZV9wcml2KQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcHJvcC0+ ZGV2Owo+ICAJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlOwo+IEBAIC00NzYsNyArNDc3 LDggQEAgc3RhdGljIGludCBzZXRfcHJvcGVydHlfYXRvbWljKHN0cnVjdCBkcm1fbW9kZV9vYmpl Y3QgKm9iaiwKPiAgCQkJCQkJICAgICAgIG9ial90b19jb25uZWN0b3Iob2JqKSwKPiAgCQkJCQkJ ICAgICAgIHByb3BfdmFsdWUpOwo+ICAJfSBlbHNlIHsKPiAtCQlyZXQgPSBkcm1fYXRvbWljX3Nl dF9wcm9wZXJ0eShzdGF0ZSwgb2JqLCBwcm9wLCBwcm9wX3ZhbHVlKTsKPiArCQlyZXQgPSBkcm1f YXRvbWljX3NldF9wcm9wZXJ0eShzdGF0ZSwgb2JqLCBwcm9wLCBwcm9wX3ZhbHVlLAo+ICsJCQkJ CSAgICAgIGZpbGVfcHJpdik7Cj4gIAkJaWYgKHJldCkKPiAgCQkJZ290byBvdXQ7Cj4gIAkJcmV0 ID0gZHJtX2F0b21pY19jb21taXQoc3RhdGUpOwo+IEBAIC01MTksNyArNTIxLDggQEAgaW50IGRy bV9tb2RlX29ial9zZXRfcHJvcGVydHlfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9p ZCAqZGF0YSwKPiAgCQlnb3RvIG91dF91bnJlZjsKPiAgCj4gIAlpZiAoZHJtX2Rydl91c2VzX2F0 b21pY19tb2Rlc2V0KHByb3BlcnR5LT5kZXYpKQo+IC0JCXJldCA9IHNldF9wcm9wZXJ0eV9hdG9t aWMoYXJnX29iaiwgcHJvcGVydHksIGFyZy0+dmFsdWUpOwo+ICsJCXJldCA9IHNldF9wcm9wZXJ0 eV9hdG9taWMoYXJnX29iaiwgcHJvcGVydHksIGFyZy0+dmFsdWUsCj4gKwkJCQkJICBmaWxlX3By aXYpOwo+ICAJZWxzZQo+ICAJCXJldCA9IHNldF9wcm9wZXJ0eV9sZWdhY3koYXJnX29iaiwgcHJv cGVydHksIGFyZy0+dmFsdWUpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9tb2Rlcy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jCj4gaW5kZXggNmNhMWYzYi4u Y2E0YzVjYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzLmMKPiBAQCAtMTYyMCw2ICsxNjIwLDcgQEAgRVhQ T1JUX1NZTUJPTChkcm1fbW9kZV9jcmVhdGVfZnJvbV9jbWRsaW5lX21vZGUpOwo+ICAgKiBkcm1f Y3J0Y19jb252ZXJ0X3RvX3Vtb2RlIC0gY29udmVydCBhIGRybV9kaXNwbGF5X21vZGUgaW50byBh IG1vZGVpbmZvCj4gICAqIEBvdXQ6IGRybV9tb2RlX21vZGVpbmZvIHN0cnVjdCB0byByZXR1cm4g dG8gdGhlIHVzZXIKPiAgICogQGluOiBkcm1fZGlzcGxheV9tb2RlIHRvIHVzZQo+ICsgKiBAZmls ZV9wcml2OiBmaWxlX3ByaXYgc3RydWN0dXJlLCB0byBnZXQgdGhlIHVzZXIgY2FwYWJpbGl0aWVz Cj4gICAqCj4gICAqIENvbnZlcnQgYSBkcm1fZGlzcGxheV9tb2RlIGludG8gYSBkcm1fbW9kZV9t b2RlaW5mbyBzdHJ1Y3R1cmUgdG8gcmV0dXJuIHRvCj4gICAqIHRoZSB1c2VyLgo+IGRpZmYgLS1n aXQgYS9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmggYi9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmgK PiBpbmRleCBjZjEzODQyLi5kM2FkNWQxIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9h dG9taWMuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9hdG9taWMuaAo+IEBAIC0zNjcsNyArMzY3 LDcgQEAgZHJtX2F0b21pY19nZXRfY3J0Y19zdGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAq c3RhdGUsCj4gIAkJCSAgc3RydWN0IGRybV9jcnRjICpjcnRjKTsKPiAgaW50IGRybV9hdG9taWNf Y3J0Y19zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJCXN0cnVjdCBkcm1f Y3J0Y19zdGF0ZSAqc3RhdGUsIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAo+IC0JCXVp bnQ2NF90IHZhbCk7Cj4gKwkJdWludDY0X3QgdmFsLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJp dik7Cj4gIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKiBfX211c3RfY2hlY2sKPiAgZHJtX2F0b21p Y19nZXRfcGxhbmVfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICAJCQkg ICBzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSk7Cj4gQEAgLTU4Myw3ICs1ODMsOCBAQCBkcm1fYXRv bWljX3NldF9tb2RlX2Zvcl9jcnRjKHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUsCj4gIAkJ CSAgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOwo+ICBpbnQgX19tdXN0 X2NoZWNrCj4gIGRybV9hdG9taWNfc2V0X21vZGVfcHJvcF9mb3JfY3J0YyhzdHJ1Y3QgZHJtX2Ny dGNfc3RhdGUgKnN0YXRlLAo+IC0JCQkJICBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2Ip Owo+ICsJCQkJICBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2IsCj4gKwkJCQkgIHN0cnVj dCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKPiAgaW50IF9fbXVzdF9jaGVjawo+ICBkcm1fYXRvbWlj X3NldF9jcnRjX2Zvcl9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSwK PiAgCQkJICAgICAgc3RydWN0IGRybV9jcnRjICpjcnRjKTsKPiAtLSAKPiAyLjcuNAoKLS0gClZp bGxlIFN5cmrDpGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVsCg==