From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v3 5/8] drm: Handle aspect ratio info in atomic and legacy modeset paths Date: Thu, 1 Feb 2018 14:54:37 +0200 Message-ID: <20180201125437.GN5453@intel.com> References: <1515738096-16892-1-git-send-email-ankit.k.nautiyal@intel.com> <1515738096-16892-6-git-send-email-ankit.k.nautiyal@intel.com> <20180129185321.GU5453@intel.com> <2a237194-9136-1b9e-7df2-9f4056dde68d@intel.com> <20180131130911.GJ5453@intel.com> <9cbf55ba-79ac-b2be-7847-84b7a58b7b3c@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4AD0E6ED95 for ; Thu, 1 Feb 2018 12:54:42 +0000 (UTC) Content-Disposition: inline In-Reply-To: <9cbf55ba-79ac-b2be-7847-84b7a58b7b3c@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 T24gVGh1LCBGZWIgMDEsIDIwMTggYXQgMDQ6MzU6MjJQTSArMDUzMCwgTmF1dGl5YWwsIEFua2l0 IEsgd3JvdGU6Cj4gSGkgVmlsbGUsCj4gCj4gQXBwcmVjaWF0ZSB5b3VyIHRpbWUgYW5kIHRoZSBz dWdnZXN0aW9ucy4KPiBQbGVhc2UgZmluZCBteSByZXNwb25zZSBpbmxpbmU6Cj4gCj4gT24gMS8z MS8yMDE4IDY6MzkgUE0sIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToKPiA+IE9uIFdlZCwgSmFuIDMx LCAyMDE4IGF0IDEyOjA0OjUyUE0gKzA1MzAsIE5hdXRpeWFsLCBBbmtpdCBLIHdyb3RlOgo+ID4+ Cj4gPj4gT24gMS8zMC8yMDE4IDEyOjIzIEFNLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4gPj4+ IE9uIEZyaSwgSmFuIDEyLCAyMDE4IGF0IDExOjUxOjMzQU0gKzA1MzAsIE5hdXRpeWFsLCBBbmtp dCBLIHdyb3RlOgo+ID4+Pj4gRnJvbTogQW5raXQgTmF1dGl5YWwgPGFua2l0LmsubmF1dGl5YWxA aW50ZWwuY29tPgo+ID4+Pj4KPiA+Pj4+IElmIHRoZSB1c2VyIG1vZGUgZG9lcyBub3Qgc3VwcG9y dCBhc3BlY3QtcmF0aW8sIGFuZCByZXF1ZXN0cyBmb3IKPiA+Pj4+IGEgbW9kZXNldCwgdGhlbiB0 aGUgZmxhZyBiaXRzIHJlcHJlc2VudGluZyBhc3BlY3QgcmF0aW8gaW4gdGhlCj4gPj4+PiBnaXZl biB1c2VyLW1vZGUgbXVzdCBiZSByZWplY3RlZC4KPiA+Pj4+IFNpbWlsYXJseSwgd2hpbGUgcHJl cGFyaW5nIGEgdXNlci1tb2RlIGZyb20ga2VybmVsIG1vZGUsIHRoZQo+ID4+Pj4gYXNwZWN0LXJh dGlvIGluZm8gbXVzdCBub3QgYmUgZ2l2ZW4sIGlmIGFzcGVjdC1yYXRpbyBpcyBub3QKPiA+Pj4+ IHN1cHBvcnRlZCBieSB0aGUgdXNlci4KPiA+Pj4+Cj4gPj4+PiBUaGlzIHBhdGNoOgo+ID4+Pj4g MS4gYWRkcyBhIG5ldyBiaXQgZmllbGQgYXNwZWN0X3JhdGlvX2FsbG93ZWQgaW4gZHJtX2F0b21p Y19zdGF0ZSwKPiA+Pj4+IHdoaWNoIGlzIHNldCBvbmx5IGlmIHRoZSBhc3BlY3QtcmF0aW8gaXMg c3VwcG9ydGVkIGJ5IHRoZSB1c2VyLgo+ID4+Pj4gMi4gZGlzY2FyZHMgdGhlIGFzcGVjdC1yYXRp byBpbmZvIGZyb20gdGhlIHVzZXIgbW9kZSB3aGlsZQo+ID4+Pj4gcHJlcGFyaW5nIGtlcm5lbCBt b2RlIHN0cnVjdHVyZSwgZHVyaW5nIG1vZGVzZXQsIGlmIHRoZQo+ID4+Pj4gdXNlciBkb2VzIG5v dCBzdXBwb3J0IGFzcGVjdCByYXRpby4KPiA+Pj4+IDMuIGF2b2lkcyBzZXR0aW5nIHRoZSBhc3Bl Y3QtcmF0aW8gaW5mbyBpbiB1c2VyLW1vZGUsIHdoaWxlCj4gPj4+PiBjb252ZXJ0aW5nIHVzZXIt bW9kZSBmcm9tIHRoZSBrZXJuZWwtbW9kZS4KPiA+Pj4+Cj4gPj4+PiBTaWduZWQtb2ZmLWJ5OiBB bmtpdCBOYXV0aXlhbCA8YW5raXQuay5uYXV0aXlhbEBpbnRlbC5jb20+Cj4gPj4+Pgo+ID4+Pj4g VjM6IEFkZHJlc3NlZCByZXZpZXcgY29tbWVudHMgZnJvbSBWaWxsZToKPiA+Pj4+IC1EbyBub3Qg Y29ycnVwdCB0aGUgY3VycmVudCBjcnRjIHN0YXRlIGJ5IHVwZGF0aW5nIGFzcGVjdCByYXRpbwo+ ID4+Pj4gb24gdGhlIGZseS4KPiA+Pj4+IC0tLQo+ID4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2Ry bV9hdG9taWMuYyB8IDYxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tCj4gPj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYyAgIHwgMTkgKysrKysrKysr KysrKysKPiA+Pj4+ICAgIGluY2x1ZGUvZHJtL2RybV9hdG9taWMuaCAgICAgfCAgMiArKwo+ID4+ Pj4gICAgMyBmaWxlcyBjaGFuZ2VkLCA3OSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQo+ ID4+Pj4KPiA+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ID4+Pj4gaW5kZXggNjlmZjc2My4uMzkzMTNl MiAxMDA2NDQKPiA+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiA+Pj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiA+Pj4+IEBAIC0zMTYsNiArMzE2 LDM1IEBAIHN0YXRpYyBzMzIgX191c2VyICpnZXRfb3V0X2ZlbmNlX2Zvcl9jcnRjKHN0cnVjdCBk cm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiA+Pj4+ICAgIAo+ID4+Pj4gICAgCXJldHVybiBmZW5j ZV9wdHI7Cj4gPj4+PiAgICB9Cj4gPj4+PiArLyoqCj4gPj4+PiArICogZHJtX2F0b21pY19hbGxv d19hc3BlY3RfcmF0aW9fZm9yX2ttb2RlCj4gPj4+PiArICogQHN0YXRlOiB0aGUgY3J0YyBzdGF0 ZQo+ID4+Pj4gKyAqIEBtb2RlOiBrZXJuZWwtaW50ZXJuYWwgbW9kZSwgd2hpY2ggaXMgdXNlZCB0 byBjcmVhdGUgYSBkdXBsaWNhdGUgbW9kZSwKPiA+Pj4+ICsgKiB3aXRoIHVwZGF0ZWQgcGljdHVy ZSBhc3BlY3QgcmF0aW8uCj4gPj4+PiArICoKPiA+Pj4+ICsgKiBBbGxvdyB0aGUgYXNwZWN0IHJh dGlvIGluZm8gaW4gdGhlIGtlcm5lbCBtb2RlIG9ubHkgaWYgYXNwZWN0IHJhdGlvIGlzCj4gPj4+ PiArICogc3VwcG9ydGVkLgo+ID4+Pj4gKyAqCj4gPj4+PiArICogUkVUVVJOUzoKPiA+Pj4+ICsg KiBrZXJuZWwtaW50ZXJuYWwgbW9kZSB3aXRoIHVwZGF0ZWQgcGljdHVyZSBhc3BlY3QgcmF0aW8g dmFsdWUuCj4gPj4+PiArICovCj4gPj4+PiArCj4gPj4+PiArc3RydWN0IGRybV9kaXNwbGF5X21v ZGUqCj4gPj4+PiArZHJtX2F0b21pY19hbGxvd19hc3BlY3RfcmF0aW9fZm9yX2ttb2RlKHN0cnVj dCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUsCj4gPj4+PiArCQkJCQljb25zdCBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSkKPiA+Pj4+ICt7Cj4gPj4+PiArCXN0cnVjdCBkcm1fYXRvbWljX3N0 YXRlICphdG9taWNfc3RhdGUgPSBzdGF0ZS0+c3RhdGU7Cj4gPj4+PiArCXN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICphcl9rbW9kZTsKPiA+Pj4+ICsKPiA+Pj4+ICsJYXJfa21vZGUgPSBkcm1fbW9k ZV9kdXBsaWNhdGUoc3RhdGUtPmNydGMtPmRldiwgbW9kZSk7Cj4gPj4+PiArCS8qCj4gPj4+PiAr CSAqIElmIGFzcGVjdCByYXRpbyBpcyBub3Qgc3VwcG9ydGVkLCBzZXQgdGhlIHBpY3R1cmUgYXNw ZWN0IHJhdGlvIGFzCj4gPj4+PiArCSAqIE5PTkUuCj4gPj4+PiArCSAqLwo+ID4+Pj4gKwlpZiAo YXRvbWljX3N0YXRlICYmICFhdG9taWNfc3RhdGUtPmFsbG93X2FzcGVjdF9yYXRpbykKPiA+Pj4+ ICsJCWFyX2ttb2RlLT5waWN0dXJlX2FzcGVjdF9yYXRpbyA9IEhETUlfUElDVFVSRV9BU1BFQ1Rf Tk9ORTsKPiA+Pj4+ICsJcmV0dXJuIGFyX2ttb2RlOwo+ID4+Pj4gK30KPiA+Pj4+ICAgIAo+ID4+ Pj4gICAgLyoqCj4gPj4+PiAgICAgKiBkcm1fYXRvbWljX3NldF9tb2RlX2Zvcl9jcnRjIC0gc2V0 IG1vZGUgZm9yIENSVEMKPiA+Pj4+IEBAIC0zNDEsNyArMzcwLDEwIEBAIGludCBkcm1fYXRvbWlj X3NldF9tb2RlX2Zvcl9jcnRjKHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUsCj4gPj4+PiAg ICAJc3RhdGUtPm1vZGVfYmxvYiA9IE5VTEw7Cj4gPj4+PiAgICAKPiA+Pj4+ICAgIAlpZiAobW9k ZSkgewo+ID4+Pj4gLQkJZHJtX21vZGVfY29udmVydF90b191bW9kZSgmdW1vZGUsIG1vZGUpOwo+ ID4+Pj4gKwkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFyX21vZGU7Cj4gPj4+PiArCj4gPj4+ PiArCQlhcl9tb2RlID0gZHJtX2F0b21pY19hbGxvd19hc3BlY3RfcmF0aW9fZm9yX2ttb2RlKHN0 YXRlLCBtb2RlKTsKPiA+Pj4+ICsJCWRybV9tb2RlX2NvbnZlcnRfdG9fdW1vZGUoJnVtb2RlLCBh cl9tb2RlKTsKPiA+Pj4gVGhpcyBzdGlsbCBsb29rcyBza2V0Y2h5Lgo+ID4+Pgo+ID4+PiBJIGJl bGlldmUgdGhlcmUgYXJlIGp1c3QgdHdvIHBsYWNlcyB3aGVyZSB3ZSBuZWVkIHRvIGZpbHRlciBv dXQgdGhlCj4gPj4+IGFzcGVjdCByYXRpbyBmbGFncyBmcm9tIHRoZSB1bW9kZSwgbmFtZWx5IHRo ZSBnZXRibG9iIGFuZCBnZXRjcnRjCj4gPj4+IGlvY3Rscy4KPiA+PiBBRkFJSyBUaGUgZ2V0Ymxv YiBpb2N0bCBjYW4gYmUgY2FsbGVkIGZvciBlZGlkIGJsb2IsIGdhbW1hLCBjdG0gYmxvYiwKPiA+ PiBldGMuIGFwYXJ0IGZyb20gdGhlIG1vZGUgYmxvYi4KPiA+PiBJcyB0aGVyZSBhbnkgd2F5IHRv IGNoZWNrIGZyb20gYmxvYiBpZCAob3IgYnkgYW55IG90aGVyIG1lYW5zKSwKPiA+PiBpZiB0aGUg ZGF0YSBpcyBmb3IgdGhlIG1vZGUsIG9yIGVkaWQsIG9yIGdhbW1hIGV0Yy4KPiA+IEkgdGhpbmsg d2UnZCBoYXZlIHRvIHNvbWVob3cgbWFyayB0aGUgbW9kZSBibG9icyBhcyBzcGVjaWFsLiBVbnRp bCB3ZQo+ID4gaGF2ZSBtb3JlIG5lZWQgZm9yIGNsZWFuaW5nIHVwIGJsb2JzIGJlZm9yZSByZXR1 cm5pbmcgdGhlbSB0byB1c2Vyc3BhY2UKPiA+IEkgdGhpbmsgYSBzaW1wbGUgZmxhZyBzaG91bGQg ZG8uIElmIHdlIGNvbWUgdXAgd2l0aCBtb3JlIHVzZXMgbGlrZSB0aGlzCj4gPiB0aGVuIGl0IG1p Z2h0IG1ha2Ugc2Vuc2UgdG8gaW50cm9kdWNlIHNvbWUga2luZCBvZiBvcHRpb25hbCBmaWx0ZXIK PiA+IGZ1bmN0aW9uIGZvciBibG9icy4KPiBJZiBteSB1bmRlcnN0YW5kaW5nIGlzIGNvcnJlY3Qs Cj4gMS4gVG8gYmUgYWJsZSB0byBkbyB0aGlzLCB3ZSBuZWVkIHRvIGNoYW5nZSBpbiB1YXBpLgoK V2Ugc2hvdWxkIGJlIGZpbmUgd2l0aCBhbiBpbnRlcm5hbCBmbGFnLiBPYnZpb3VzbHkgaXQgd29u J3QgYmUgc2V0CmZvciBibG9icyBmcmVzaGx5IGNyZWF0ZWQgYnkgdXNlcnNwYWNlLCBidXQgdGhh dCdzIGZpbmUgYmVjYXVzZSB3ZQpkbyBubyBvdGhlciBlcnJvciBjaGVja2luZyBmb3IgdGhlbSBl aXRoZXIuIFRoZSBlcnJvciBjaGVja2luZyB3aWxsCmhhcHBlbiB3aGVuIHRoZSB1c2VyIHRyaWVz IHRvIGFjdHVhbGx5IHVzZSB0aGUgYmxvYi4KCj4gMi4gV2hlbmV2ZXIgdGhlIHVzZXJzcGFjZSBj cmVhdGVzIGEgYmxvYiBmb3IgbW9kZSwgdGhlIG5ldyBmbGFnL2NsYXNzIAo+IGZvciBibG9iIHR5 cGUgbmVlZHMgdG8gYmUgc2V0Lgo+IAo+IERvIHlvdSB0aGluayB0aGF0IGl0J3Mgd29ydGggdGhl IGVmZm9ydD8KPiA+PiBJZiB3ZSBjYW4gY2hlY2sgdGhhdCwgSSBjYW4gbWFrZSBzdXJlIHRoYXQg YXNwZWN0LXJhdGlvIGZsYWdzIGFyZSB0YWtlbgo+ID4+IGNhcmUgb2YsIGlmIHRoZSBibG9iIGlz IGZvciBtb2RlLAo+ID4+IGFuZCB0aGUgYXNwZWN0IHJhdGlvIGlzIG5vdCBzdXBwb3J0ZWQuCj4g Pj4KPiA+Pj4gQW5kIGZvciBjaGVja2luZyB0aGUgdXNlciBpbnB1dCBJIHRoaW5rIHdlIHNob3Vs ZCBwcm9iYWJseSBqdXN0Cj4gPj4+IHN0aWNrIHRoYXQgaW50byBkcm1fbW9kZV9jb252ZXJ0X3Vt b2RlKCkuIExvb2tzIGxpa2Ugd2UgbmV2ZXIgY2FsbAo+ID4+PiB0aGF0IGZyb20gYW55d2hlcmUg YnV0IHRoZSBhdG9taWMvc2V0cHJvcCBhbmQgc2V0Y3J0YyBwYXRocyB3aXRoCj4gPj4+IGEgbm9u LU5VTEwgYXJndW1lbnQuCj4gPj4+Cj4gPj4+IEkgKnRoaW5rKiB0aG9zZSB0aHJlZSBwbGFjZXMg c2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gY292ZXIgZXZlcnl0aGluZy4KPiA+PiBBZ3JlZWQuIElu ZmFjdCBJIHRyaWVkIHRvIGRvIHRoYXQgZmlyc3QsIGJ1dCB0aGUgb25seSBwcm9ibGVtIHdlIGhh dmUKPiA+PiBoZXJlLCBpcyB0aGF0LCB0aGUgZmlsZV9wcml2Cj4gPj4gd2hpY2ggaGFzIHRoZSBh c3BlY3QgcmF0aW8gY2FwYWJpbGl0eSBpbmZvcm1hdGlvbiBpcyBub3Qgc3VwcGxpZWQgdG8gdGhl Cj4gPj4gZHJtX21vZGVfY29udmVydF91bW9kZSgpCj4gPj4gb3IgdGhlIGZ1bmN0aW9ucyBjYWxs aW5nLCBkcm1fbW9kZV9jb252ZXJfdW1vZGUoKS4gQXQgYmVzdCB3ZSBoYXZlCj4gPj4gZHJtX2Ny dGNfc3RhdGUuCj4gPiBTaW1wbHkgcGFzc2luZyB0aGUgZmlsZV9wcml2IGRvd24gd291bGQgc2Vl bSBsaWtlIHRoZSBtb3N0IG9idmlvdXMKPiA+IHNvbHV0aW9uLgo+IAo+IFRoaXMgbWVhbnMgd2Ug aGF2ZSB0byBtYWtlIGNoYW5nZSBpbiB2YXJpb3VzIGRyaXZlcnMgYW5kIHdlIGhhdmUgdG8gcHVs bCAKPiB0aGUgZmlsZV9wcml2Cj4gcGFyYW1ldGVyIHRocmVlIGxldmVscyBkb3duLiBTaG91bGQg d2UgdGhpbmsgb2YgYSBiZXR0ZXIgd2F5IGZvciBkb2luZyB0aGlzPwoKQ29jY2luZWxsZSBpcyBw cmV0dHkgZ29vZCBhdCBtb2RpZnlpbmcgZnVuY3Rpb24gcGFyYW1ldGVycy4KCj4gCj4gPj4gSSBo YXZlIGFkZGVkIGFuIGFzcGVjdCByYXRpbyBhbGxvd2VkIGZsYWcgIGluIGRybV9jcnRjX3N0YXRl LT5zdGF0ZSBzbwo+ID4+IHRoYXQgaXRzIGF2YWlsYWJsZSBpbiB0aGUKPiA+PiBmdW5jdGlvbnMg Y2FsbGluZyBkcm1fbW9kZV9jb252ZXJ0X3Vtb2RlLgo+ID4+Cj4gPj4gSSBhbSBvcGVuIHRvIHN1 Z2dlc3Rpb24gdG8gYXZvaWQgYWRkaW5nIGEgbmV3IGZsYWcgaW4gZHJtX2F0b21pY19zdGF0ZSwK PiA+PiBpZiB0aGVyZSBpcyBhIGJldHRlcgo+ID4+IHdheSB0byBsZXQgdGhlIGRybV9tb2RlX2Nv bnZlcnRfdW1vZGUoICkga25vdyB0aGF0IHVzZXIgc3VwcG9ydHMgYXNwZWN0Cj4gPj4gcmF0aW8g Y2FwYWJpbGl0eS4KPiA+Pj4+ICAgIAkJc3RhdGUtPm1vZGVfYmxvYiA9Cj4gPj4+PiAgICAJCQlk cm1fcHJvcGVydHlfY3JlYXRlX2Jsb2Ioc3RhdGUtPmNydGMtPmRldiwKPiA+Pj4+ICAgIAkJICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHVtb2RlKSwKPiA+Pj4+IEBAIC0z NDksMTAgKzM4MSwxMSBAQCBpbnQgZHJtX2F0b21pY19zZXRfbW9kZV9mb3JfY3J0YyhzdHJ1Y3Qg ZHJtX2NydGNfc3RhdGUgKnN0YXRlLAo+ID4+Pj4gICAgCQlpZiAoSVNfRVJSKHN0YXRlLT5tb2Rl X2Jsb2IpKQo+ID4+Pj4gICAgCQkJcmV0dXJuIFBUUl9FUlIoc3RhdGUtPm1vZGVfYmxvYik7Cj4g Pj4+PiAgICAKPiA+Pj4+IC0JCWRybV9tb2RlX2NvcHkoJnN0YXRlLT5tb2RlLCBtb2RlKTsKPiA+ Pj4+ICsJCWRybV9tb2RlX2NvcHkoJnN0YXRlLT5tb2RlLCBhcl9tb2RlKTsKPiA+Pj4+ICAgIAkJ c3RhdGUtPmVuYWJsZSA9IHRydWU7Cj4gPj4+PiAgICAJCURSTV9ERUJVR19BVE9NSUMoIlNldCBb TU9ERTolc10gZm9yIENSVEMgc3RhdGUgJXBcbiIsCj4gPj4+PiAtCQkJCSBtb2RlLT5uYW1lLCBz dGF0ZSk7Cj4gPj4+PiArCQkJCSBhcl9tb2RlLT5uYW1lLCBzdGF0ZSk7Cj4gPj4+PiArCQlkcm1f bW9kZV9kZXN0cm95KHN0YXRlLT5jcnRjLT5kZXYsIGFyX21vZGUpOwo+ID4+Pj4gICAgCX0gZWxz ZSB7Cj4gPj4+PiAgICAJCW1lbXNldCgmc3RhdGUtPm1vZGUsIDAsIHNpemVvZihzdGF0ZS0+bW9k ZSkpOwo+ID4+Pj4gICAgCQlzdGF0ZS0+ZW5hYmxlID0gZmFsc2U7Cj4gPj4+PiBAQCAtNDM2LDYg KzQ2OSwyNSBAQCBkcm1fYXRvbWljX3JlcGxhY2VfcHJvcGVydHlfYmxvYl9mcm9tX2lkKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCj4gPj4+PiAgICB9Cj4gPj4+PiAgICAKPiA+Pj4+ICAgIC8qKgo+ ID4+Pj4gKyAqIGRybV9hdG9taWNfYWxsb3dfYXNwZWN0X3JhdGlvX2Zvcl91bW9kZQo+ID4+Pj4g KyAqIEBzdGF0ZTogdGhlIGNydGMgc3RhdGUKPiA+Pj4+ICsgKiBAdW1vZGU6IHVzZXJzcGFjZSBt b2RlLCB3aG9zZSBhc3BlY3QgcmF0aW8gZmxhZyBiaXRzIGFyZSB0byBiZSB1cGRhdGVkLgo+ID4+ Pj4gKyAqCj4gPj4+PiArICogQWxsb3cgdGhlIGFzcGVjdCByYXRpbyBpbmZvIGluIHRoZSB1c2Vy c3BhY2UgbW9kZSBvbmx5IGlmIGFzcGVjdCByYXRpbyBpcwo+ID4+Pj4gKyAqIHN1cHBvcnRlZC4K PiA+Pj4+ICsgKi8KPiA+Pj4+ICt2b2lkCj4gPj4+PiArZHJtX2F0b21pY19hbGxvd19hc3BlY3Rf cmF0aW9fZm9yX3Vtb2RlKHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUsCj4gPj4+PiArCQkJ CQlzdHJ1Y3QgZHJtX21vZGVfbW9kZWluZm8gKnVtb2RlKQo+ID4+Pj4gK3sKPiA+Pj4+ICsJc3Ry dWN0IGRybV9hdG9taWNfc3RhdGUgKmF0b21pY19zdGF0ZSA9IHN0YXRlLT5zdGF0ZTsKPiA+Pj4+ ICsKPiA+Pj4+ICsJLyogUmVzZXQgdGhlIGFzcGVjdCByYXRpbyBmbGFncyBpZiBhc3BlY3QgcmF0 aW8gaXMgbm90IHN1cHBvcnRlZCAqLwo+ID4+Pj4gKwlpZiAoYXRvbWljX3N0YXRlICYmICFhdG9t aWNfc3RhdGUtPmFsbG93X2FzcGVjdF9yYXRpbykKPiA+Pj4+ICsJCXVtb2RlLT5mbGFncyAmPSAo fkRSTV9NT0RFX0ZMQUdfUElDX0FSX01BU0spOwo+ID4+Pj4gK30KPiA+Pj4+ICsKPiA+Pj4+ICsv KioKPiA+Pj4+ICAgICAqIGRybV9hdG9taWNfY3J0Y19zZXRfcHJvcGVydHkgLSBzZXQgcHJvcGVy dHkgb24gQ1JUQwo+ID4+Pj4gICAgICogQGNydGM6IHRoZSBkcm0gQ1JUQyB0byBzZXQgYSBwcm9w ZXJ0eSBvbgo+ID4+Pj4gICAgICogQHN0YXRlOiB0aGUgc3RhdGUgb2JqZWN0IHRvIHVwZGF0ZSB3 aXRoIHRoZSBuZXcgcHJvcGVydHkgdmFsdWUKPiA+Pj4+IEBAIC00NjQsNiArNTE2LDkgQEAgaW50 IGRybV9hdG9taWNfY3J0Y19zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4+ Pj4gICAgCWVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+cHJvcF9tb2RlX2lkKSB7Cj4gPj4+ PiAgICAJCXN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqbW9kZSA9Cj4gPj4+PiAgICAJCQlkcm1f cHJvcGVydHlfbG9va3VwX2Jsb2IoZGV2LCB2YWwpOwo+ID4+Pj4gKwkJZHJtX2F0b21pY19hbGxv d19hc3BlY3RfcmF0aW9fZm9yX3Vtb2RlKHN0YXRlLAo+ID4+Pj4gKwkJCQkJKHN0cnVjdCBkcm1f bW9kZV9tb2RlaW5mbyAqKQo+ID4+Pj4gKwkJCQkJbW9kZS0+ZGF0YSk7Cj4gPj4+PiAgICAJCXJl dCA9IGRybV9hdG9taWNfc2V0X21vZGVfcHJvcF9mb3JfY3J0YyhzdGF0ZSwgbW9kZSk7Cj4gPj4+ PiAgICAJCWRybV9wcm9wZXJ0eV9ibG9iX3B1dChtb2RlKTsKPiA+Pj4+ICAgIAkJcmV0dXJuIHJl dDsKPiA+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fY3J0Yy5jCj4gPj4+PiBpbmRleCBmMDU1NmU2Li5hMmQzNGZhIDEwMDY0 NAo+ID4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMKPiA+Pj4+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jCj4gPj4+PiBAQCAtNDI1LDYgKzQyNSwxMyBAQCBpbnQg ZHJtX21vZGVfZ2V0Y3J0YyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4+Pj4gICAgCWRybV9t b2Rlc2V0X2xvY2soJmNydGMtPm11dGV4LCBOVUxMKTsKPiA+Pj4+ICAgIAlpZiAoY3J0Yy0+c3Rh dGUpIHsKPiA+Pj4+ICAgIAkJaWYgKGNydGMtPnN0YXRlLT5lbmFibGUpIHsKPiA+Pj4+ICsJCQkv Kgo+ID4+Pj4gKwkJCSAqIElmIHRoZSBhc3BlY3QtcmF0aW8gaXMgbm90IHJlcXVpcmVkIGJ5IHRo ZSwKPiA+Pj4+ICsJCQkgKiB1c2Vyc3BhY2UsIGRvIG5vdCBzZXQgdGhlIGFzcGVjdC1yYXRpbyBm bGFncy4KPiA+Pj4+ICsJCQkgKi8KPiA+Pj4+ICsJCQlpZiAoIWZpbGVfcHJpdi0+YXNwZWN0X3Jh dGlvX2FsbG93ZWQpCj4gPj4+PiArCQkJCWNydGMtPnN0YXRlLT5tb2RlLnBpY3R1cmVfYXNwZWN0 X3JhdGlvID0KPiA+Pj4+ICsJCQkJCUhETUlfUElDVFVSRV9BU1BFQ1RfTk9ORTsKPiA+Pj4gVGhl c2Ugd291bGQgc3RpbGwgY2xvYmJlciB0aGUgY3VycmVudCBjcnRjIHN0YXRlLiBTbyBkZWZpbml0 ZWx5IGRvbid0Cj4gPj4+IHdhbnQgdG8gZG8gdGhpcy4KPiA+PiBBbHJpZ2h0LCBzbyBhbHRlcm5h dGl2ZSB3YXkgb2YgZG9pbmcgdGhpcyB3aWxsIGJlOgo+ID4+IEF2b2lkIGNoYW5naW5nIHRoZSBj cnRjLT5zdGF0ZS0+bW9kZS5waWN0dXJlX2FzcGVjdF9yYXRpbyBpLmUga2VybmVsCj4gPj4gbW9k ZSBzdHJ1Y3R1cmUsCj4gPj4gYnV0IHNldCB0aGUgYXNwZWN0IHJhdGlvIGZsYWdzIGluIHRoZSB1 c2VybW9kZSB0byBub25lLCBhZnRlciBjYWxsaW5nIHRoZQo+ID4+IGRybV9tb2RlX2NvbnZlcnRf dG9fdW1vZGUoKS4KPiA+Pgo+ID4+IFdpbGwgdGFrZSBjYXJlIG9mIHRoaXMgaW4gdGhlIG5leHQg cGF0Y2hzZXQuCj4gCj4gSSBnYXZlIGEgdGhvdWdodCBhYm91dCBpdCBhZ2Fpbi4gQXMgeW91IGhh dmUgbWVudGlvbmVkIGVhcmxpZXIgdGhhdCAKPiBnZXRfY3J0YyBpcyBvbmUgb2YgdGhlCj4gcGxh Y2Ugd2hlcmUgdGhlIHVzZXIgbW9kZSBhc3BlY3QgcmF0aW8gZmxhZ3MgbXVzdCBiZSBmaWx0ZXJl ZCBvdXQsIGlzIAo+IHRoaXMgd2hhdCB5b3UgaGF2ZQo+IGluIG1pbmQuIEkgaG9wZSBJIGRpZCBu b3QgbWlzdW5kZXJzdGFuZC4KPiAKPiBDaGFuZ2luZyB0aGUgdXNlcm1vZGUgYXNwZWN0IHJhdGlv IGZsYWcgYml0cywgd2l0aG91dCBjaGFuZ2UgaW4gdGhlIAo+IHBpY3R1cmVfYXNwZWN0X3JhdGlv Cj4ga2VybmVsIG1vZGUgd2lsbCBub3QgcmVzdWx0IGluIGJvdGggc3RydWN0dXJlcyBvdXQgb2Yg c3luYz8KCkkgZG9uJ3QgdGhpbmsgdGhhdCBzaG91bGQgcmVhbGx5IG1hdHRlci4gSSBzdXBwb3Nl IHdlIG1pZ2h0IGdldCBvbmUKZXh0cmEgbW9kZXNldCB3aGVuIHRoZSB1c2VyIGZlZWRzIHRoYXQg bW9kZSBiYWNrIHZpYSBzZXRjcnRjL2F0b21pYywgYnV0Cm1laC4gQW5kIGFjdHVhbGx5IHRoZSBh c3BlY3QgcmF0aW8gc2hvdWxkIG9ubHkgYWZmZWN0IHRoZSBpbmZvZnJhbWUsIHNvCndlIHNob3Vs ZCBiZSBhYmxlIHRvIGV2ZW50dWFsbHkgZWxpbWluYXRlIHRoYXQgZXh0cmEgbW9kZXNldCBhbmQg anVzdAp1cGRhdGUgdGhlIGluZm9mcmFtZSBpbnN0ZWFkLgoKPiAKPiA+Pgo+ID4+Pj4gICAgCQkJ ZHJtX21vZGVfY29udmVydF90b191bW9kZSgmY3J0Y19yZXNwLT5tb2RlLCAmY3J0Yy0+c3RhdGUt Pm1vZGUpOwo+ID4+Pj4gICAgCQkJY3J0Y19yZXNwLT5tb2RlX3ZhbGlkID0gMTsKPiA+Pj4+ICAg IAo+ID4+Pj4gQEAgLTQzNSw2ICs0NDIsMTMgQEAgaW50IGRybV9tb2RlX2dldGNydGMoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKPiA+Pj4+ICAgIAkJY3J0Y19yZXNwLT54ID0gY3J0Yy0+eDsKPiA+ Pj4+ICAgIAkJY3J0Y19yZXNwLT55ID0gY3J0Yy0+eTsKPiA+Pj4+ICAgIAkJaWYgKGNydGMtPmVu YWJsZWQpIHsKPiA+Pj4+ICsJCQkvKgo+ID4+Pj4gKwkJCSAqIElmIHRoZSBhc3BlY3QtcmF0aW8g aXMgbm90IHJlcXVpcmVkIGJ5IHRoZSwKPiA+Pj4+ICsJCQkgKiB1c2Vyc3BhY2UsIGRvIG5vdCBz ZXQgdGhlIGFzcGVjdC1yYXRpbyBmbGFncy4KPiA+Pj4+ICsJCQkgKi8KPiA+Pj4+ICsJCQlpZiAo IWZpbGVfcHJpdi0+YXNwZWN0X3JhdGlvX2FsbG93ZWQpCj4gPj4+PiArCQkJCWNydGMtPm1vZGUu cGljdHVyZV9hc3BlY3RfcmF0aW8gPQo+ID4+Pj4gKwkJCQkJSERNSV9QSUNUVVJFX0FTUEVDVF9O T05FOwo+ID4+Pj4gICAgCQkJZHJtX21vZGVfY29udmVydF90b191bW9kZSgmY3J0Y19yZXNwLT5t b2RlLCAmY3J0Yy0+bW9kZSk7Cj4gPj4+PiAgICAJCQljcnRjX3Jlc3AtPm1vZGVfdmFsaWQgPSAx Owo+ID4+Pj4gICAgCj4gPj4+PiBAQCAtNjEwLDYgKzYyNCwxMSBAQCBpbnQgZHJtX21vZGVfc2V0 Y3J0YyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ID4+Pj4gICAgCQkJZ290 byBvdXQ7Cj4gPj4+PiAgICAJCX0KPiA+Pj4+ICAgIAo+ID4+Pj4gKwkJLyogSWYgdGhlIHVzZXIg ZG9lcyBub3QgYXNrIGZvciBhc3BlY3QgcmF0aW8sIHJlc2V0IHRoZSBhc3BlY3QKPiA+Pj4+ICsJ CSAqIHJhdGlvIGJpdHMgaW4gdGhlIHVzZXJtb2RlLgo+ID4+Pj4gKwkJICovCj4gPj4+PiArCQlp ZiAoIWZpbGVfcHJpdi0+YXNwZWN0X3JhdGlvX2FsbG93ZWQpCj4gPj4+PiArCQkJY3J0Y19yZXEt Pm1vZGUuZmxhZ3MgJj0gKH5EUk1fTU9ERV9GTEFHX1BJQ19BUl9NQVNLKTsKPiA+Pj4+ICAgIAkJ cmV0ID0gZHJtX21vZGVfY29udmVydF91bW9kZShtb2RlLCAmY3J0Y19yZXEtPm1vZGUpOwo+ID4+ Pj4gICAgCQlpZiAocmV0KSB7Cj4gPj4+PiAgICAJCQlEUk1fREVCVUdfS01TKCJJbnZhbGlkIG1v ZGVcbiIpOwo+ID4+Pj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9hdG9taWMuaCBiL2lu Y2x1ZGUvZHJtL2RybV9hdG9taWMuaAo+ID4+Pj4gaW5kZXggMWMyNzUyNi4uMTMwZGFkOSAxMDA2 NDQKPiA+Pj4+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9hdG9taWMuaAo+ID4+Pj4gKysrIGIvaW5j bHVkZS9kcm0vZHJtX2F0b21pYy5oCj4gPj4+PiBAQCAtMjM3LDYgKzIzNyw3IEBAIHN0cnVjdCBf X2RybV9wcml2YXRlX29ianNfc3RhdGUgewo+ID4+Pj4gICAgICogQHJlZjogY291bnQgb2YgYWxs IHJlZmVyZW5jZXMgdG8gdGhpcyBzdGF0ZSAod2lsbCBub3QgYmUgZnJlZWQgdW50aWwgemVybykK PiA+Pj4+ICAgICAqIEBkZXY6IHBhcmVudCBEUk0gZGV2aWNlCj4gPj4+PiAgICAgKiBAYWxsb3df bW9kZXNldDogYWxsb3cgZnVsbCBtb2Rlc2V0Cj4gPj4+PiArICogQGFsbG93X2FzcGVjdF9yYXRp bzogYWxsb3cgdGhlIGFzcGVjdCByYXRpbyBpbmZvIHRvIGJlIHBhc3NlcyB0byB1c2VyCj4gPj4+ PiAgICAgKiBAbGVnYWN5X2N1cnNvcl91cGRhdGU6IGhpbnQgdG8gZW5mb3JjZSBsZWdhY3kgY3Vy c29yIElPQ1RMIHNlbWFudGljcwo+ID4+Pj4gICAgICogQGFzeW5jX3VwZGF0ZTogaGludCBmb3Ig YXN5bmNocm9ub3VzIHBsYW5lIHVwZGF0ZQo+ID4+Pj4gICAgICogQHBsYW5lczogcG9pbnRlciB0 byBhcnJheSBvZiBzdHJ1Y3R1cmVzIHdpdGggcGVyLXBsYW5lIGRhdGEKPiA+Pj4+IEBAIC0yNTYs NiArMjU3LDcgQEAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgewo+ID4+Pj4gICAgCj4gPj4+PiAg ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldjsKPiA+Pj4+ICAgIAlib29sIGFsbG93X21vZGVzZXQg OiAxOwo+ID4+Pj4gKwlib29sIGFsbG93X2FzcGVjdF9yYXRpbyA6IDE7Cj4gPj4+PiAgICAJYm9v bCBsZWdhY3lfY3Vyc29yX3VwZGF0ZSA6IDE7Cj4gPj4+PiAgICAJYm9vbCBhc3luY191cGRhdGUg OiAxOwo+ID4+Pj4gICAgCXN0cnVjdCBfX2RybV9wbGFuZXNfc3RhdGUgKnBsYW5lczsKPiA+Pj4+ IC0tIAo+ID4+Pj4gMi43LjQKPiA+Pj4+Cj4gPj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwo+ID4+Pj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+ID4+ Pj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4+Pj4gaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKPiBSZWdhcmRzLAo+IEFu a2l0CgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWwK