From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 1/5] drm/atomic: Add drm_crtc_state->active Date: Thu, 22 Jan 2015 17:56:54 +0200 Message-ID: <20150122155654.GQ19354@intel.com> References: <1421940985-5961-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1421940985-5961-1-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Daniel Vetter , Intel Graphics Development , DRI Development List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBKYW4gMjIsIDIwMTUgYXQgMDQ6MzY6MjFQTSArMDEwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBUaGlzIGlzIHRoZSBpbmZyYXN0cnVjdHVyZSBmb3IgRFBNUyBwb3J0ZWQgdG8gdGhl IGF0b21pYyB3b3JsZC4KPiBGdW5kYW1lbnRhbCBjaGFuZ2VzIGNvbXBhcmUgdG8gbGVnYWN5IERQ TVMgYXJlOgo+IAo+IC0gTm8gbW9yZSBwZXItY29ubmVjdG9yIGRwbXMgc3RhdGUsIGluc3RlYWQg dGhlcmUncyBqdXN0IG9uZSBwZXIgZWFjaAo+ICAgZGlzcGxheSBwaXBlbGluZS4gU28gaWYgeW91 IGNsb25lIGVpdGhlciB5b3UgaGF2ZSB0byB1bmNsb25lIGZpcnN0Cj4gICBpZiB5b3Ugb25seSB3 YW50IHRvIHN3aXRjaCBvZmYgb25lIHNjcmVlbiwgb3IgeW91IGp1c3Qgc3dpdGNoIG9mCj4gICBl dmVyeXRoaW5nIChsaWtlIGFsbCBkZXNrdG9wcyBkbykuIFRoaXMgbWFzc2l2ZWx5IHJlZHVjZXMg Y29tcGxleGl0eQo+ICAgZm9yIGNsb25pbmcgc2luY2Ugbm93IHRoZXJlJ3Mgbm8gbW9yZSBoYWxm LWVuYWJsZWQgY2xvbmVkIGNvbmZpZ3MgdG8KPiAgIGNvbnNpZGVyLgo+IAo+IC0gT25seSBvbi9v ZmYsIGRwbXMgc3RhbmRieS9zdXNwZW5kIGFyZSBhcyBkZWFkIGFzIHJlYWwgQ1JUcy4gQWdhaW4K PiAgIHJlZHVjZXMgY29tcGxleGl0eSBhIGxvdC4KPiAKPiBOb3cgZXNwZWNpYWxseSBmb3IgYmFj a3dhcmRzIGNvbXBhdCB0aGUgcmVhbGx5IGltcG9ydGFudCBwYXJ0IGZvciBkcG1zCj4gc3VwcG9y dCBpcyB0aGF0IGRwbXMgb24gYWx3YXlzIHN1Y2NlZWRzIChleGNlcHQgZm9yIGh3IGRlYXRoIGFu ZAo+IHVucGx1Z2dlZCBjYWJsZXMgb2ZjKS4gV2hpY2ggbWVhbnMgZXZlcnl0aGluZyB0aGF0IGNv dWxkIGZhaWwgKGxpa2UKPiBjb25maWd1cmF0aW9uIGNoZWNraW5nLCByZXNvdXJjZXMgYXNzaWdu bWVudHMgYW5kIGJ1ZmZlciBtYW5hZ2VtZW50KQo+IG11c3QgYmUgZG9uZSBpcnJlc3BlY3RpdmUg ZnJvbSAtPmFjdGl2ZS4gLT5hY3RpdmUgaXMgcmVhbGx5IG9ubHkgYQo+IHRvZ2dsZSB0byBjaGFu Z2UgdGhlIGhhcmR3YXJlIHN0YXRlLiBNb3JlIHByZWNpc2VseToKPiAKPiAtIERyaXZlcnMgTVVT VCBOT1QgbG9vayBhdCAtPmFjdGl2ZSBpbiB0aGVpciAtPmF0b21pY19jaGVjayBjYWxsYmFja3Mu Cj4gICBDaGFuZ2VzIHRvIC0+YWN0aXZlIE1VU1QgYWx3YXlzIHN1Y2VlZCBpZiBub3RoaW5nIGVs c2UgY2hhbmdlcy4KPiAKPiAtIERyaXZlcnMgdXNpbmcgdGhlIGF0b21pYyBoZWxwZXJzIE1VU1Qg Tk9UIGxvb2sgYXQgLT5hY3RpdmUgYW55d2hlcmUsCj4gICBwZXJpb2QuIFRoZSBoZWxwZXJzIHdp bGwgdGFrZSBjYXJlIG9mIGNhbGxpbmcgdGhlIHJlc3BlY3RpdmUKPiAgIGVuYWJsZS9tb2Rlc2V0 L2Rpc2FibGUgaG9va3MgYXMgbmVjZXNzYXJ5LiBBcyBiZWZvcmUgdGhlIGhlbHBlcnMKPiAgIHdp bGwgY2FyZWZ1bGx5IGtlZXAgdHJhY2sgb2YgdGhlIHN0YXRlIGFuZCBub3QgY2FsbCBhbnkgaG9v a3MKPiAgIHVuZWNlc3NhcmlseSwgc28gc3RpbGwgbm8gZG91YmxlLWRpc2FibGVzIG9yIGVuYWJs ZXMgbGlrZSB3aXRoIGNydGMKPiAgIGhlbHBlcnMuCj4gCj4gLSAtPm1vZGVfc2V0IGhvb2tzIGFy ZSBvbmx5IGNhbGxlZCB3aGVuIHRoZSBtb2RlIG9yIG91dHB1dAo+ICAgY29uZmlndXJhdGlvbiBj aGFuZ2VzLCBub3QgZm9yIGNoYW5nZXMgaW4gLT5hY3RpdmUgc3RhdGUuCj4gCj4gLSBEcml2ZXJz IHdoaWNoIHJlY29uc3RydWN0IHRoZSBzdGF0ZSBvYmplY3RzIGluIHRoZWlyIC0+cmVzZXQgaG9v a3MKPiAgIG9yIHRocm91Z2ggc29tZSBvdGhlciBodyBzdGF0ZSByZWFkb3V0IGluZnJhc3RydWN0 dXJlIG11c3QgZW5zdXJlCj4gICB0aGF0IC0+YWN0aXZlIHJlZmxlY3RzIGFjdHVhbCBodyBzdGF0 ZS4KPiAKPiBUaGlzIGp1c3QgaW1wbGVtZW50cyB0aGUgY29yZSBiaXRzIGFuZCBoZWxwZXIgbG9n aWMsIGEgc3Vic2VxdWVudAo+IHBhdGNoIHdpbGwgaW1wbGVtZW50IHRoZSBoZWxwZXIgY29kZSB0 byBpbXBsZW1lbnQgbGVnYWN5IGRwbXMgd2l0aAo+IHRoaXMuCgpTbyB3ZSBub3cgaGF2ZSBtdWx0 aXBsZSBjb25mbGljdGluZyBwcm9wZXJ0aWVzIGZvciB0aGUgc2FtZSB0aGluZz8gSQpkb24ndCBw YXJ0aWN1bGFybHkgcmVsaXNoIHRoYXQgaWRlYS4KCkkgc3VwcG9zZSBhIHJhdGhlciBlYXN5IHdh eSB0byB3YXkgdG8gZGVhbCB3aXRoIHRoYXQgd291bGQgYmUgdG8gaGlkZQp0aGUgZHBtcyBwcm9w ZXJ0aWVzIGZyb20gbm9uLWF0b21pYyBjbGllbnRzLCBhbmQgY29udmVyc2x5IGhpZGUgdGhlCmFj dGl2ZSBwcm9wZXJ0eSBmcm9tIGxlZ2FjeSBjbGllbnRzLgoKPiAKPiB2MjogUmViYXNlIG9uIHRv cCBvZiB0aGUgZHJtIGlvY3RsIHdvcms6Cj4gLSBNb3ZlIGNydGMgY2hlY2tzIHRvIHRoZSBjb3Jl IGNoZWNrIGZ1bmN0aW9uLgo+IC0gQWxzbyBjaGVjayBmb3IgLT5hY3RpdmVfY2hhbmdlZCB3aGVu IGRlY2lkaW5nIHdoZXRoZXIgYSBtb2Rlc2V0Cj4gICBtaWdodCBoYXBwZW4gKGZvciB0aGUgQUxM T1dfTU9ERVNFVCBtb2RlKS4KPiAtIEV4cG9zZSB0aGUgLT5hY3RpdmUgc3RhdGUgd2l0aCBhbiBh dG9taWMgcHJvcC4KPiAKPiB2MzogUmV2aWV3IGZyb20gUm9iCj4gLSBTcGVsbGluZyBmaXggaW4g Y29tbWVudC4KPiAtIEV4dHJhY3QgbmVlZHNfbW9kZXNldCBoZWxwZXIgdG8gY29uc29saWRhdGUg dGhlIC0+bW9kZV9jaGFuZ2VkIHx8Cj4gICAtPmFjdGl2ZV9jaGFuZ2VkIGNoZWNrcy4KPiAKPiB2 NDogRml4dXAgZnVtYmxlIGJldHdlZW4gY3J0Yy0+c3RhdGUgYW5kIGNydGNfc3RhdGUuCj4gCj4g Q2M6IFJvYiBDbGFyayA8cm9iZGNsYXJrQGdtYWlsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBEYW5p ZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWMuYyAgICAgICAgfCAxOCArKysrKysrKysrKy0tCj4gIGRyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIHwgNTQgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYyAgICAgICAgICB8IDEwICsr KysrKysKPiAgaW5jbHVkZS9kcm0vZHJtX2NydGMuaCAgICAgICAgICAgICAgfCAgMyArKysKPiAg NCBmaWxlcyBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQo+IAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWMuYwo+IGluZGV4IDFlMzhkZmM4ZTQ2Mi4uZWU2ODI2N2JiMzI2IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pYy5jCj4gQEAgLTI0MSw3ICsyNDEsMTMgQEAgaW50IGRybV9hdG9taWNfY3J0 Y19zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJCXN0cnVjdCBkcm1fY3J0 Y19zdGF0ZSAqc3RhdGUsIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAo+ICAJCXVpbnQ2 NF90IHZhbCkKPiAgewo+IC0JaWYgKGNydGMtPmZ1bmNzLT5hdG9taWNfc2V0X3Byb3BlcnR5KQo+ ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiArCXN0cnVjdCBkcm1fbW9k ZV9jb25maWcgKmNvbmZpZyA9ICZkZXYtPm1vZGVfY29uZmlnOwo+ICsKPiArCS8qIEZJWE1FOiBN b2RlIHByb3AgaXMgbWlzc2luZywgd2hpY2ggYWxzbyBjb250cm9scyAtPmVuYWJsZS4gKi8KPiAr CWlmIChwcm9wZXJ0eSA9PSBjb25maWctPnByb3BfYWN0aXZlKSB7Cj4gKwkJc3RhdGUtPmFjdGl2 ZSA9IHZhbDsKPiArCX0gZWxzZSBpZiAoY3J0Yy0+ZnVuY3MtPmF0b21pY19zZXRfcHJvcGVydHkp Cj4gIAkJcmV0dXJuIGNydGMtPmZ1bmNzLT5hdG9taWNfc2V0X3Byb3BlcnR5KGNydGMsIHN0YXRl LCBwcm9wZXJ0eSwgdmFsKTsKPiAgCXJldHVybiAtRUlOVkFMOwo+ICB9Cj4gQEAgLTI4Miw2ICsy ODgsMTMgQEAgc3RhdGljIGludCBkcm1fYXRvbWljX2NydGNfY2hlY2soc3RydWN0IGRybV9jcnRj ICpjcnRjLAo+ICAJICoKPiAgCSAqIFRPRE86IEFkZCBnZW5lcmljIG1vZGVzZXQgc3RhdGUgY2hl Y2tzIG9uY2Ugd2Ugc3VwcG9ydCB0aG9zZS4KPiAgCSAqLwo+ICsKPiArCWlmIChzdGF0ZS0+YWN0 aXZlICYmICFzdGF0ZS0+ZW5hYmxlKSB7Cj4gKwkJRFJNX0RFQlVHX0tNUygiW0NSVEM6JWRdIGFj dGl2ZSB3aXRob3V0IGVuYWJsZWRcbiIsCj4gKwkJCSAgICAgIGNydGMtPmJhc2UuaWQpOwo+ICsJ CXJldHVybiAtRUlOVkFMOwo+ICsJfQo+ICsKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IEBAIC05 NzYsNyArOTg5LDggQEAgaW50IGRybV9hdG9taWNfY2hlY2tfb25seShzdHJ1Y3QgZHJtX2F0b21p Y19zdGF0ZSAqc3RhdGUpCj4gIAkJCWlmICghY3J0YykKPiAgCQkJCWNvbnRpbnVlOwo+ICAKPiAt CQkJaWYgKGNydGNfc3RhdGUtPm1vZGVfY2hhbmdlZCkgewo+ICsJCQlpZiAoY3J0Y19zdGF0ZS0+ bW9kZV9jaGFuZ2VkIHx8Cj4gKwkJCSAgICBjcnRjX3N0YXRlLT5hY3RpdmVfY2hhbmdlZCkgewo+ ICAJCQkJRFJNX0RFQlVHX0tNUygiW0NSVEM6JWRdIHJlcXVpcmVzIGZ1bGwgbW9kZXNldFxuIiwK PiAgCQkJCQkgICAgICBjcnRjLT5iYXNlLmlkKTsKPiAgCQkJCXJldHVybiAtRUlOVkFMOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gaW5kZXggNTQxYmE4MzNlZDM2Li4zZjE3OTMz YjFkMmMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+IEBAIC0zMzAsNiAr MzMwLDEyIEBAIG1vZGVfZml4dXAoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICAJ cmV0dXJuIDA7Cj4gIH0KPiAgCj4gK3N0YXRpYyBib29sCj4gK25lZWRzX21vZGVzZXQoc3RydWN0 IGRybV9jcnRjX3N0YXRlICpzdGF0ZSkKPiArewo+ICsJcmV0dXJuIHN0YXRlLT5tb2RlX2NoYW5n ZWQgfHwgc3RhdGUtPmFjdGl2ZV9jaGFuZ2VkOwo+ICt9Cj4gKwo+ICAvKioKPiAgICogZHJtX2F0 b21pY19oZWxwZXJfY2hlY2sgLSB2YWxpZGF0ZSBzdGF0ZSBvYmplY3QgZm9yIG1vZGVzZXQgY2hh bmdlcwo+ICAgKiBAZGV2OiBEUk0gZGV2aWNlCj4gQEAgLTQwNCwxMiArNDEwLDI3IEBAIGRybV9h dG9taWNfaGVscGVyX2NoZWNrX21vZGVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQlj cnRjID0gc3RhdGUtPmNydGNzW2ldOwo+ICAJCWNydGNfc3RhdGUgPSBzdGF0ZS0+Y3J0Y19zdGF0 ZXNbaV07Cj4gIAo+IC0JCWlmICghY3J0YyB8fCAhY3J0Y19zdGF0ZS0+bW9kZV9jaGFuZ2VkKQo+ ICsJCWlmICghY3J0YykKPiAgCQkJY29udGludWU7Cj4gIAo+IC0JCURSTV9ERUJVR19LTVMoIltD UlRDOiVkXSBuZWVkcyBmdWxsIG1vZGVzZXQsIGVuYWJsZTogJWNcbiIsCj4gKwkJLyoKPiArCQkg KiBXZSBtdXN0IHNldCAtPmFjdGl2ZV9jaGFuZ2VkIGFmdGVyIHdhbGtpbmcgY29ubmVjdG9ycyBm b3IKPiArCQkgKiBvdGhlcndpc2UgYW4gdXBkYXRlIHRoYXQgb25seSBjaGFuZ2VzIGFjdGl2ZSB3 b3VsZCByZXN1bHQgaW4KPiArCQkgKiBhIGZ1bGwgbW9kZXNldCBiZWNhdXNlIHVwZGF0ZV9jb25u ZWN0b3Jfcm91dGluZyBmb3JjZSB0aGF0Lgo+ICsJCSAqLwo+ICsJCWlmIChjcnRjLT5zdGF0ZS0+ YWN0aXZlICE9IGNydGNfc3RhdGUtPmFjdGl2ZSkgewo+ICsJCQlEUk1fREVCVUdfS01TKCJbQ1JU QzolZF0gYWN0aXZlIGNoYW5nZWRcbiIsCj4gKwkJCQkgICAgICBjcnRjLT5iYXNlLmlkKTsKPiAr CQkJY3J0Y19zdGF0ZS0+YWN0aXZlX2NoYW5nZWQgPSB0cnVlOwo+ICsJCX0KPiArCj4gKwkJaWYg KCFuZWVkc19tb2Rlc2V0KGNydGNfc3RhdGUpKQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJRFJN X0RFQlVHX0tNUygiW0NSVEM6JWRdIG5lZWRzIGFsbCBjb25uZWN0b3JzLCBlbmFibGU6ICVjLCBh Y3RpdmU6ICVjXG4iLAo+ICAJCQkgICAgICBjcnRjLT5iYXNlLmlkLAo+IC0JCQkgICAgICBjcnRj X3N0YXRlLT5lbmFibGUgPyAneScgOiAnbicpOwo+ICsJCQkgICAgICBjcnRjX3N0YXRlLT5lbmFi bGUgPyAneScgOiAnbicsCj4gKwkJCSAgICAgIGNydGNfc3RhdGUtPmFjdGl2ZSA/ICd5JyA6ICdu Jyk7Cj4gIAo+ICAJCXJldCA9IGRybV9hdG9taWNfYWRkX2FmZmVjdGVkX2Nvbm5lY3RvcnMoc3Rh dGUsIGNydGMpOwo+ICAJCWlmIChyZXQgIT0gMCkKPiBAQCAtNTQ1LDYgKzU2Niw3IEBAIGRpc2Fi bGVfb3V0cHV0cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqb2xkX3N0YXRlKQo+ICAJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7Cj4gIAkJ c3RydWN0IGRybV9lbmNvZGVyX2hlbHBlcl9mdW5jcyAqZnVuY3M7Cj4gIAkJc3RydWN0IGRybV9l bmNvZGVyICplbmNvZGVyOwo+ICsJCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3Rh dGU7Cj4gIAo+ICAJCW9sZF9jb25uX3N0YXRlID0gb2xkX3N0YXRlLT5jb25uZWN0b3Jfc3RhdGVz W2ldOwo+ICAJCWNvbm5lY3RvciA9IG9sZF9zdGF0ZS0+Y29ubmVjdG9yc1tpXTsKPiBAQCAtNTU0 LDYgKzU3NiwxMSBAQCBkaXNhYmxlX291dHB1dHMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3Ry dWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkKPiAgCQlpZiAoIW9sZF9jb25uX3N0YXRl IHx8ICFvbGRfY29ubl9zdGF0ZS0+Y3J0YykKPiAgCQkJY29udGludWU7Cj4gIAo+ICsJCW9sZF9j cnRjX3N0YXRlID0gb2xkX3N0YXRlLT5jcnRjX3N0YXRlc1tkcm1fY3J0Y19pbmRleChvbGRfY29u bl9zdGF0ZS0+Y3J0YyldOwo+ICsKPiArCQlpZiAoIW9sZF9jcnRjX3N0YXRlLT5hY3RpdmUpCj4g KwkJCWNvbnRpbnVlOwo+ICsKPiAgCQllbmNvZGVyID0gb2xkX2Nvbm5fc3RhdGUtPmJlc3RfZW5j b2RlcjsKPiAgCj4gIAkJLyogV2Ugc2hvdWxkbid0IGdldCB0aGlzIGZhciBpZiB3ZSBkaWRuJ3Qg cHJldmlvdXNseSBoYXZlCj4gQEAgLTU4NiwxMSArNjEzLDE2IEBAIGRpc2FibGVfb3V0cHV0cyhz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRl KQo+ICAJZm9yIChpID0gMDsgaSA8IG5jcnRjczsgaSsrKSB7Cj4gIAkJc3RydWN0IGRybV9jcnRj X2hlbHBlcl9mdW5jcyAqZnVuY3M7Cj4gIAkJc3RydWN0IGRybV9jcnRjICpjcnRjOwo+ICsJCXN0 cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGU7Cj4gIAo+ICAJCWNydGMgPSBvbGRf c3RhdGUtPmNydGNzW2ldOwo+ICsJCW9sZF9jcnRjX3N0YXRlID0gb2xkX3N0YXRlLT5jcnRjX3N0 YXRlc1tpXTsKPiAgCj4gIAkJLyogU2h1dCBkb3duIGV2ZXJ5dGhpbmcgdGhhdCBuZWVkcyBhIGZ1 bGwgbW9kZXNldC4gKi8KPiAtCQlpZiAoIWNydGMgfHwgIWNydGMtPnN0YXRlLT5tb2RlX2NoYW5n ZWQpCj4gKwkJaWYgKCFjcnRjIHx8ICFuZWVkc19tb2Rlc2V0KGNydGMtPnN0YXRlKSkKPiArCQkJ Y29udGludWU7Cj4gKwo+ICsJCWlmICghb2xkX2NydGNfc3RhdGUtPmFjdGl2ZSkKPiAgCQkJY29u dGludWU7Cj4gIAo+ICAJCWZ1bmNzID0gY3J0Yy0+aGVscGVyX3ByaXZhdGU7Cj4gQEAgLTY5Nyw2 ICs3MjksOSBAQCBjcnRjX3NldF9tb2RlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBk cm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpCj4gIAkJbW9kZSA9ICZuZXdfY3J0Y19zdGF0ZS0+ bW9kZTsKPiAgCQlhZGp1c3RlZF9tb2RlID0gJm5ld19jcnRjX3N0YXRlLT5hZGp1c3RlZF9tb2Rl Owo+ICAKPiArCQlpZiAoIW5ld19jcnRjX3N0YXRlLT5tb2RlX2NoYW5nZWQpCj4gKwkJCWNvbnRp bnVlOwo+ICsKPiAgCQkvKgo+ICAJCSAqIEVhY2ggZW5jb2RlciBoYXMgYXQgbW9zdCBvbmUgY29u bmVjdG9yIChzaW5jZSB3ZSBhbHdheXMgc3RlYWwKPiAgCQkgKiBpdCBhd2F5KSwgc28gd2Ugd29u J3QgY2FsbCBjYWxsIG1vZGVfc2V0IGhvb2tzIHR3aWNlLgo+IEBAIC03NDksNyArNzg0LDEwIEBA IHZvaWQgZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X3Bvc3RfcGxhbmVzKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCj4gIAkJY3J0YyA9IG9sZF9zdGF0ZS0+Y3J0Y3NbaV07Cj4gIAo+ICAJCS8qIE5l ZWQgdG8gZmlsdGVyIG91dCBDUlRDcyB3aGVyZSBvbmx5IHBsYW5lcyBjaGFuZ2UuICovCj4gLQkJ aWYgKCFjcnRjIHx8ICFjcnRjLT5zdGF0ZS0+bW9kZV9jaGFuZ2VkKQo+ICsJCWlmICghY3J0YyB8 fCAhbmVlZHNfbW9kZXNldChjcnRjLT5zdGF0ZSkpCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiArCQlp ZiAoIWNydGMtPnN0YXRlLT5hY3RpdmUpCj4gIAkJCWNvbnRpbnVlOwo+ICAKPiAgCQlmdW5jcyA9 IGNydGMtPmhlbHBlcl9wcml2YXRlOwo+IEBAIC03NjgsNiArODA2LDkgQEAgdm9pZCBkcm1fYXRv bWljX2hlbHBlcl9jb21taXRfcG9zdF9wbGFuZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAg CQlpZiAoIWNvbm5lY3RvciB8fCAhY29ubmVjdG9yLT5zdGF0ZS0+YmVzdF9lbmNvZGVyKQo+ICAJ CQljb250aW51ZTsKPiAgCj4gKwkJaWYgKCFjb25uZWN0b3ItPnN0YXRlLT5jcnRjLT5zdGF0ZS0+ YWN0aXZlKQo+ICsJCQljb250aW51ZTsKPiArCj4gIAkJZW5jb2RlciA9IGNvbm5lY3Rvci0+c3Rh dGUtPmJlc3RfZW5jb2RlcjsKPiAgCQlmdW5jcyA9IGVuY29kZXItPmhlbHBlcl9wcml2YXRlOwo+ ICAKPiBAQCAtMTUxOCw2ICsxNTU5LDcgQEAgcmV0cnk6Cj4gIAkJV0FSTl9PTihzZXQtPm51bV9j b25uZWN0b3JzKTsKPiAgCj4gIAkJY3J0Y19zdGF0ZS0+ZW5hYmxlID0gZmFsc2U7Cj4gKwkJY3J0 Y19zdGF0ZS0+YWN0aXZlID0gZmFsc2U7Cj4gIAo+ICAJCXJldCA9IGRybV9hdG9taWNfc2V0X2Ny dGNfZm9yX3BsYW5lKHByaW1hcnlfc3RhdGUsIE5VTEwpOwo+ICAJCWlmIChyZXQgIT0gMCkKPiBA QCAtMTUzMiw2ICsxNTc0LDcgQEAgcmV0cnk6Cj4gIAlXQVJOX09OKCFzZXQtPm51bV9jb25uZWN0 b3JzKTsKPiAgCj4gIAljcnRjX3N0YXRlLT5lbmFibGUgPSB0cnVlOwo+ICsJY3J0Y19zdGF0ZS0+ YWN0aXZlID0gdHJ1ZTsKPiAgCWRybV9tb2RlX2NvcHkoJmNydGNfc3RhdGUtPm1vZGUsIHNldC0+ bW9kZSk7Cj4gIAo+ICAJcmV0ID0gZHJtX2F0b21pY19zZXRfY3J0Y19mb3JfcGxhbmUocHJpbWFy eV9zdGF0ZSwgY3J0Yyk7Cj4gQEAgLTE4OTQsNiArMTkzNyw3IEBAIGRybV9hdG9taWNfaGVscGVy X2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCj4gIAlpZiAo c3RhdGUpIHsKPiAgCQlzdGF0ZS0+bW9kZV9jaGFuZ2VkID0gZmFsc2U7Cj4gKwkJc3RhdGUtPmFj dGl2ZV9jaGFuZ2VkID0gZmFsc2U7Cj4gIAkJc3RhdGUtPnBsYW5lc19jaGFuZ2VkID0gZmFsc2U7 Cj4gIAkJc3RhdGUtPmV2ZW50ID0gTlVMTDsKPiAgCX0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwo+IGluZGV4IDU2 ZTMyNTZkNTI0OS4uMzBhMTM2YjhhNGZjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMKPiBAQCAtNjkxLDYg KzY5MSwxMCBAQCBpbnQgZHJtX2NydGNfaW5pdF93aXRoX3BsYW5lcyhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAlpZiAoY3Vyc29yKQo+ICAJCWN1cnNv ci0+cG9zc2libGVfY3J0Y3MgPSAxIDw8IGRybV9jcnRjX2luZGV4KGNydGMpOwo+ICAKPiArCWlm IChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0FUT01JQykpIHsKPiArCQlkcm1f b2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY3J0Yy0+YmFzZSwgY29uZmlnLT5wcm9wX2FjdGl2ZSwg MCk7Cj4gKwl9Cj4gKwo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fY3J0 Y19pbml0X3dpdGhfcGxhbmVzKTsKPiBAQCAtMTM5MSw2ICsxMzk1LDEyIEBAIHN0YXRpYyBpbnQg ZHJtX21vZGVfY3JlYXRlX3N0YW5kYXJkX3Byb3BlcnRpZXMoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKPiAgCQlyZXR1cm4gLUVOT01FTTsKPiAgCWRldi0+bW9kZV9jb25maWcucHJvcF9jcnRjX2lk ID0gcHJvcDsKPiAgCj4gKwlwcm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9ib29sKGRldiwgRFJN X01PREVfUFJPUF9BVE9NSUMsCj4gKwkJCSJBQ1RJVkUiKTsKPiArCWlmICghcHJvcCkKPiArCQly ZXR1cm4gLUVOT01FTTsKPiArCWRldi0+bW9kZV9jb25maWcucHJvcF9hY3RpdmUgPSBwcm9wOwo+ ICsKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1f Y3J0Yy5oIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAo+IGluZGV4IDgwMjJhYjExOTU4YS4uNGQz ZjNiODc0ZGQ2IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKPiArKysgYi9p bmNsdWRlL2RybS9kcm1fY3J0Yy5oCj4gQEAgLTI0OSw2ICsyNDksNyBAQCBzdHJ1Y3QgZHJtX2F0 b21pY19zdGF0ZTsKPiAgICogQGVuYWJsZTogd2hldGhlciB0aGUgQ1JUQyBzaG91bGQgYmUgZW5h YmxlZCwgZ2F0ZXMgYWxsIG90aGVyIHN0YXRlCj4gICAqIEBhY3RpdmU6IHdoZXRoZXIgdGhlIENS VEMgaXMgYWN0aXZlbHkgZGlzcGxheWluZyAodXNlZCBmb3IgRFBNUykKPiAgICogQG1vZGVfY2hh bmdlZDogZm9yIHVzZSBieSBoZWxwZXJzIGFuZCBkcml2ZXJzIHdoZW4gY29tcHV0aW5nIHN0YXRl IHVwZGF0ZXMKPiArICogQGFjdGl2ZV9jaGFuZ2VkOiBmb3IgdXNlIGJ5IGhlbHBlcnMgYW5kIGRy aXZlcnMgd2hlbiBjb21wdXRpbmcgc3RhdGUgdXBkYXRlcwo+ICAgKiBAcGxhbmVfbWFzazogYml0 bWFzayBvZiAoMSA8PCBkcm1fcGxhbmVfaW5kZXgocGxhbmUpKSBvZiBhdHRhY2hlZCBwbGFuZXMK PiAgICogQGxhc3RfdmJsYW5rX2NvdW50OiBmb3IgaGVscGVycyBhbmQgZHJpdmVycyB0byBjYXB0 dXJlIHRoZSB2Ymxhbmsgb2YgdGhlCj4gICAqIAl1cGRhdGUgdG8gZW5zdXJlIGZyYW1lYnVmZmVy IGNsZWFudXAgaXNuJ3QgZG9uZSB0b28gZWFybHkKPiBAQCAtMjc0LDYgKzI3NSw3IEBAIHN0cnVj dCBkcm1fY3J0Y19zdGF0ZSB7Cj4gIAkvKiBjb21wdXRlZCBzdGF0ZSBiaXRzIHVzZWQgYnkgaGVs cGVycyBhbmQgZHJpdmVycyAqLwo+ICAJYm9vbCBwbGFuZXNfY2hhbmdlZCA6IDE7Cj4gIAlib29s IG1vZGVfY2hhbmdlZCA6IDE7Cj4gKwlib29sIGFjdGl2ZV9jaGFuZ2VkIDogMTsKPiAgCj4gIAkv KiBhdHRhY2hlZCBwbGFuZXMgYml0bWFzazoKPiAgCSAqIFdBUk5JTkc6IHRyYW5zaXRpb25hbCBo ZWxwZXJzIGRvIG5vdCBtYWludGFpbiBwbGFuZV9tYXNrIHNvCj4gQEAgLTExMjgsNiArMTEzMCw3 IEBAIHN0cnVjdCBkcm1fbW9kZV9jb25maWcgewo+ICAJc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJv cF9jcnRjX2g7Cj4gIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wX2ZiX2lkOwo+ICAJc3RydWN0 IGRybV9wcm9wZXJ0eSAqcHJvcF9jcnRjX2lkOwo+ICsJc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJv cF9hY3RpdmU7Cj4gIAo+ICAJLyogRFZJLUkgcHJvcGVydGllcyAqLwo+ICAJc3RydWN0IGRybV9w cm9wZXJ0eSAqZHZpX2lfc3ViY29ubmVjdG9yX3Byb3BlcnR5Owo+IC0tIAo+IDIuMS40Cj4gCj4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBkcmktZGV2 ZWwgbWFpbGluZyBsaXN0Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKCi0tIApW aWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVsCg==