From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH RFC] drm: Add a new connector atomic property for link status Date: Mon, 28 Nov 2016 16:59:15 -0800 Message-ID: <20161129005914.GB22681@intel.com> References: <1479864621-8105-1-git-send-email-manasi.d.navare@intel.com> <20161123080928.ywu4njrdk6s4xlsc@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20161123080928.ywu4njrdk6s4xlsc@phenom.ffwll.local> 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-devel List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBOb3YgMjMsIDIwMTYgYXQgMDk6MDk6MjhBTSArMDEwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBUdWUsIE5vdiAyMiwgMjAxNiBhdCAwOToyNzozNVBNIC0wNTAwLCBTZWFuIFBh dWwgd3JvdGU6Cj4gPiBPbiBUdWUsIE5vdiAyMiwgMjAxNiBhdCA4OjMwIFBNLCBNYW5hc2kgTmF2 YXJlCj4gPiA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4gd3JvdGU6Cj4gPiA+IFRoaXMgaXMg UkZDIHBhdGNoIGZvciBhZGRpbmcgYSBjb25uZWN0b3IgbGluay1zdGF0dXMgcHJvcGVydHkKPiA+ ID4gYW5kIG1ha2luZyBpdCBhdG9taWMgYnkgYWRkaW5nIGl0IHRvIHRoZSBkcm1fY29ubmVjdG9y X3N0YXRlLgo+ID4gPiBUaGlzIGlzIHRvIG1ha2Ugc3VyZSBpdHMgd2lyZWQgcHJvcGVybHkgaW4g ZHJtX2F0b21pY19jb25uZWN0b3Jfc2V0X3Byb3BlcnR5Cj4gPiA+IGFuZCBkcm1fYXRvbWljX2Nv bm5lY3Rvcl9nZXRfcHJvcGVydHkgZnVuY3Rpb25zLgo+ID4gPgo+ID4gCj4gPiBUaGFua3MgZm9y IHNlbmRpbmcgdGhpcy4gV2UgcmFuIGludG8gc29tZSByZS10cmFpbmluZyBhd2t3YXJkbmVzcwo+ ID4gcmVjZW50bHksIGFuZCBJCj4gPiB3YXMgaG9waW5nIGZvciBzdWNoIGEgcGF0Y2guCj4gPiAK PiA+ID4gQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiA+ IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KPiA+ID4gQ2M6IFZp bGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4gPiBDYzogQ2hy aXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gPiA+IFNpZ25lZC1vZmYtYnk6 IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+Cj4gPiA+IC0tLQo+ID4g PiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICB8ICA1ICsrKysKPiA+ID4gIGRyaXZl cnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgfCA2NSArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystLQo+ID4gPiAgaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAgICB8 IDEyICsrKysrKystCj4gPiA+ICBpbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaCAgIHwgIDUg KysrKwo+ID4gPiAgaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oICAgICB8ICA0ICsrKwo+ID4g PiAgNSBmaWxlcyBjaGFuZ2VkLCA4OCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQo+ID4g Pgo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiA+ID4gaW5kZXggODk3MzdlNC4uNjQ0ZDE5ZiAxMDA2 NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ID4gPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gPiA+IEBAIC0xMDg3LDYgKzEwODcsOSBAQCBp bnQgZHJtX2F0b21pY19jb25uZWN0b3Jfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IsCj4gPiA+ICAgICAgICAgICAgICAgICAgKiBub3c/KSBhdG9taWMgd3JpdGVz IHRvIERQTVMgcHJvcGVydHk6Cj4gPiA+ICAgICAgICAgICAgICAgICAgKi8KPiA+ID4gICAgICAg ICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+ID4gPiArICAgICAgIH0gZWxzZSBpZiAocHJvcGVy dHkgPT0gY29uZmlnLT5saW5rX3N0YXR1c19wcm9wZXJ0eSkgewo+ID4gPiArICAgICAgICAgICAg ICAgc3RhdGUtPmxpbmtfc3RhdHVzID0gdmFsOwo+IAo+IEkgdGhpbmsgd2Ugc2hvdWxkIGhhdmUg YSBjaGVjayBoZXJlIHRvIG1ha2Ugc3VyZSB1c2Vyc3BhY2UgbmV2ZXIgdHJpZXMgdG8KPiBzZXQg dGhpcyBmcm9tICJHT09EIiB0byAiQkFEIi4gIkJBRCIgdG8gIkJBRCIgd2UgbmVlZCB0byBhbGxv dywgc2luY2Ugd2l0aAo+IGF0b21pYyB1c2Vyc3BhY2UgaXMgc3VwcG9zZWQgdG8gYmUgYWJsZSB0 byBqdXN0IHJlc3RvcmUgZXZlcnl0aGluZyB0byB3aGF0Cj4gaXQgd2FzLgo+IAo+IEkgZG9uJ3Qg dGhpbmsgdHJ5aW5nIHRvIHNldCBpdCB0byAiQkFEIiBzaG91bGQgY2F1c2UgYW4gZXJyb3IgdGhv dWdoLCBqdXN0Cj4gc2lsZW50bHkga2VlcCB0aGUgbGluayBzdGF0dXMgYXQgIkdPT0ciLiBTbzoK PiAKPiAJLyogTmV2ZXIgZG93bmdyYWRlIGZyb20gR09PRCB0byBCQUQgb24gdXNlcnNwYWNlJ3Mg cmVxdWVzdCBoZXJlLAo+IAkgKiBvbmx5IGh3IGlzc3VlcyBjYW4gZG8gdGhhdC4gKi8KPiAJaWYg KHN0YXRlLT5saW5rX3N0YXR1cyA9PSBHT09EKQo+IAkJcmV0dXJuIDA7Cj4gCXN0YXRlLT5saW5r X3N0YXR1cyA9IHZhbDsKPiAJcmV0dXJuIDA7Cj4gCj4gPiA+ICsgICAgICAgICAgICAgICByZXR1 cm4gMDsKPiA+ID4gICAgICAgICB9IGVsc2UgaWYgKGNvbm5lY3Rvci0+ZnVuY3MtPmF0b21pY19z ZXRfcHJvcGVydHkpIHsKPiA+ID4gICAgICAgICAgICAgICAgIHJldHVybiBjb25uZWN0b3ItPmZ1 bmNzLT5hdG9taWNfc2V0X3Byb3BlcnR5KGNvbm5lY3RvciwKPiA+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdGF0ZSwgcHJvcGVydHksIHZhbCk7Cj4gPiA+IEBAIC0xMTM1LDYg KzExMzgsOCBAQCBzdGF0aWMgdm9pZCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9wcmludF9zdGF0ZShz dHJ1Y3QgZHJtX3ByaW50ZXIgKnAsCj4gPiA+ICAgICAgICAgICAgICAgICAqdmFsID0gKHN0YXRl LT5jcnRjKSA/IHN0YXRlLT5jcnRjLT5iYXNlLmlkIDogMDsKPiA+ID4gICAgICAgICB9IGVsc2Ug aWYgKHByb3BlcnR5ID09IGNvbmZpZy0+ZHBtc19wcm9wZXJ0eSkgewo+ID4gPiAgICAgICAgICAg ICAgICAgKnZhbCA9IGNvbm5lY3Rvci0+ZHBtczsKPiA+ID4gKyAgICAgICB9IGVsc2UgaWYgKHBy b3BlcnR5ID09IGNvbmZpZy0+bGlua19zdGF0dXNfcHJvcGVydHkpIHsKPiA+ID4gKyAgICAgICAg ICAgICAgICp2YWwgPSBzdGF0ZS0+bGlua19zdGF0dXM7Cj4gPiA+ICAgICAgICAgfSBlbHNlIGlm IChjb25uZWN0b3ItPmZ1bmNzLT5hdG9taWNfZ2V0X3Byb3BlcnR5KSB7Cj4gPiA+ICAgICAgICAg ICAgICAgICByZXR1cm4gY29ubmVjdG9yLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eShjb25u ZWN0b3IsCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUsIHByb3Bl cnR5LCB2YWwpOwo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0 b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiA+ID4gaW5kZXggNWE0NTI2 Mi4uNDU3NmM5ZiAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0 b3IuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gPiA+IEBA IC0yNDMsNiArMjQzLDEwIEBAIGludCBkcm1fY29ubmVjdG9yX2luaXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKPiA+ID4gICAgICAgICBkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVj dG9yLT5iYXNlLAo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bmZpZy0+ZHBtc19wcm9wZXJ0eSwgMCk7Cj4gPiA+Cj4gPiA+ICsgICAgICAgZHJtX29iamVjdF9h dHRhY2hfcHJvcGVydHkoJmNvbm5lY3Rvci0+YmFzZSwKPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25maWctPmxpbmtfc3RhdHVzX3Byb3BlcnR5LAo+ID4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDApOwo+ID4gPiArCj4gPiA+ICAgICAgICAg aWYgKGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfQVRPTUlDKSkgewo+ID4gPiAg ICAgICAgICAgICAgICAgZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJmNvbm5lY3Rvci0+YmFz ZSwgY29uZmlnLT5wcm9wX2NydGNfaWQsIDApOwo+ID4gPiAgICAgICAgIH0KPiA+ID4gQEAgLTUw Niw2ICs1MTAsMTIgQEAgY29uc3QgY2hhciAqZHJtX2dldF9zdWJwaXhlbF9vcmRlcl9uYW1lKGVu dW0gc3VicGl4ZWxfb3JkZXIgb3JkZXIpCj4gPiA+ICB9Owo+ID4gPiAgRFJNX0VOVU1fTkFNRV9G Tihkcm1fZ2V0X2RwbXNfbmFtZSwgZHJtX2RwbXNfZW51bV9saXN0KQo+ID4gPgo+ID4gPiArc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgZHJtX2xpbmtfc3RhdHVzX2VudW1f bGlzdFtdID0gewo+ID4gPiArICAgICAgIHsgRFJNX01PREVfTElOS19TVEFUVVNfR09PRCwgIkdv b2QiIH0sCj4gPiA+ICsgICAgICAgeyBEUk1fTU9ERV9MSU5LX1NUQVRVU19CQUQsICJCYWQiIH0s Cj4gPiA+ICt9Owo+ID4gPiArRFJNX0VOVU1fTkFNRV9GTihkcm1fZ2V0X2xpbmtfc3RhdHVzX25h bWUsIGRybV9saW5rX3N0YXR1c19lbnVtX2xpc3QpCj4gPiA+ICsKPiA+ID4gIC8qKgo+ID4gPiAg ICogZHJtX2Rpc3BsYXlfaW5mb19zZXRfYnVzX2Zvcm1hdHMgLSBzZXQgdGhlIHN1cHBvcnRlZCBi dXMgZm9ybWF0cwo+ID4gPiAgICogQGluZm86IGRpc3BsYXkgaW5mbyB0byBzdG9yZSBidXMgZm9y bWF0cyBpbgo+ID4gPiBAQCAtNjE2LDcgKzYyNiw3IEBAIGludCBkcm1fZGlzcGxheV9pbmZvX3Nl dF9idXNfZm9ybWF0cyhzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAqaW5mbywKPiA+ID4gICAqICAg ICBwYXRoIHByb3BlcnR5IHRoZSBNU1QgbWFuYWdlciBjcmVhdGVkLiBVc2Vyc3BhY2UgY2Fubm90 IGNoYW5nZSB0aGlzCj4gPiA+ICAgKiAgICAgcHJvcGVydHkuCj4gPiA+ICAgKiBUSUxFOgo+ID4g PiAtICogICAgIENvbm5lY3RvciB0aWxlIGdyb3VwIHByb3BlcnR5IHRvIGluZGljYXRlIGhvdyBh IHNldCBvZiBEUk0gY29ubmVjdG9yCj4gPiA+ICsgKiAgICAgIENvbm5lY3RvciB0aWxlIGdyb3Vw IHByb3BlcnR5IHRvIGluZGljYXRlIGhvdyBhIHNldCBvZiBEUk0gY29ubmVjdG9yCj4gPiAKPiA+ IGtleWJvYXJkIHNsaXAgaGVyZQo+ID4gCj4gPiA+ICAgKiAgICAgY29tcG9zZSB0b2dldGhlciBp bnRvIG9uZSBsb2dpY2FsIHNjcmVlbi4gVGhpcyBpcyB1c2VkIGJ5IGJvdGggaGlnaC1yZXMKPiA+ ID4gICAqICAgICBleHRlcm5hbCBzY3JlZW5zIChvZnRlbiBvbmx5IHVzaW5nIGEgc2luZ2xlIGNh YmxlLCBidXQgZXhwb3NpbmcgbXVsdGlwbGUKPiA+ID4gICAqICAgICBEUCBNU1Qgc2lua3MpLCBv ciBoaWdoLXJlcyBpbnRlZ3JhdGVkIHBhbmVscyAobGlrZSBkdWFsLWxpbmsgRFNJKSB3aGljaAo+ ID4gPiBAQCAtNjI1LDcgKzYzNSwxNCBAQCBpbnQgZHJtX2Rpc3BsYXlfaW5mb19zZXRfYnVzX2Zv cm1hdHMoc3RydWN0IGRybV9kaXNwbGF5X2luZm8gKmluZm8sCj4gPiA+ICAgKiAgICAgdGlsaW5n IGFuZCB2aXJ0dWFsaXplIGJvdGggJmRybV9jcnRjIGFuZCAmZHJtX3BsYW5lIGlmIG5lZWRlZC4g RHJpdmVycwo+ID4gPiAgICogICAgIHNob3VsZCB1cGRhdGUgdGhpcyB2YWx1ZSB1c2luZyBkcm1f bW9kZV9jb25uZWN0b3Jfc2V0X3RpbGVfcHJvcGVydHkoKS4KPiA+ID4gICAqICAgICBVc2Vyc3Bh Y2UgY2Fubm90IGNoYW5nZSB0aGlzIHByb3BlcnR5Lgo+ID4gPiAtICoKPiA+ID4gKyAqIGxpbmst c3RhdHVzOgo+ID4gPiArICogICAgICBDb25uZWN0b3IgbGluay1zdGF0dXMgcHJvcGVydHkgdG8g aW5kaWNhdGUgdGhlIHN0YXR1cyBvZiBsaW5rIGR1cmluZwo+ID4gPiArICogICAgICB0aGUgbW9k ZXNldC4gVGhlIGRlZmF1bHQgdmFsdWUgb2YgbGluay1zdGF0dXMgaXMgIkdPT0QiLiBJZiBzb21l dGhpbmcKPiA+ID4gKyAqICAgICAgZmFpbHMgZHVyaW5nIG1vZGVzZXQsIHRoZSBrZXJuZWwgZHJp dmVyIGNhbiBzZXQgdGhpcyB0byAiQkFEIiwgcHJ1bmUKPiA+ID4gKyAqICAgICAgdGhlIG1vZGUg bGlzdCBiYXNlZCBvbiBuZXcgbGluayBwYXJhbWV0ZXJzIGFuZCBzZW5kIGEgaG90cGx1ZyB1ZXZl bnQKPiA+ID4gKyAqICAgICAgdG8gbm90aWZ5IHVzZXJzcGFjZSB0byByZS1jaGVjayB0aGUgdmFs aWQgbW9kZXMgdGhyb3VnaCBHRVRfQ09OTkVDVE9SCj4gPiA+ICsgKiAgICAgIElPQ1RMIGFuZCBy ZWRvIGEgbW9kZXNldC4gRHJpdmVycyBzaG91bGQgdXBkYXRlIHRoaXMgdmFsdWUgdXNpbmcKPiA+ ID4gKyAqICAgICAgZHJtX21vZGVfY29ubmVjdG9yX3NldF9saW5rX3N0YXR1c19wcm9wZXJ0eSgp Lgo+ID4gPiAgICogQ29ubmVjdG9ycyBhbHNvIGhhdmUgb25lIHN0YW5kYXJkaXplZCBhdG9taWMg cHJvcGVydHk6Cj4gPiA+ICAgKgo+ID4gPiAgICogQ1JUQ19JRDoKPiA+ID4gQEAgLTY2Niw2ICs2 ODMsMTMgQEAgaW50IGRybV9jb25uZWN0b3JfY3JlYXRlX3N0YW5kYXJkX3Byb3BlcnRpZXMoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKPiA+ID4gICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVN Owo+ID4gPiAgICAgICAgIGRldi0+bW9kZV9jb25maWcudGlsZV9wcm9wZXJ0eSA9IHByb3A7Cj4g PiA+Cj4gPiA+ICsgICAgICAgcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfZW51bShkZXYsIERS TV9NT0RFX1BST1BfQVRPTUlDLCAibGluay1zdGF0dXMiLAo+ID4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZHJtX2xpbmtfc3RhdHVzX2VudW1fbGlzdCwKPiA+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFSUkFZX1NJWkUoZHJtX2xp bmtfc3RhdHVzX2VudW1fbGlzdCkpOwo+ID4gPiArICAgICAgIGlmICghcHJvcCkKPiA+ID4gKyAg ICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwo+ID4gPiArICAgICAgIGRldi0+bW9kZV9jb25m aWcubGlua19zdGF0dXNfcHJvcGVydHkgPSBwcm9wOwo+ID4gPiArCj4gPiA+ICAgICAgICAgcmV0 dXJuIDA7Cj4gPiA+ICB9Cj4gPiA+Cj4gPiA+IEBAIC05OTUsNiArMTAxOSw0MyBAQCBpbnQgZHJt X21vZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IsCj4gPiA+ICB9Cj4gPiA+ICBFWFBPUlRfU1lNQk9MKGRybV9tb2RlX2Nvbm5l Y3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eSk7Cj4gPiA+Cj4gPiA+ICsvKioKPiA+ID4gKyAqIGRy bV9tb2RlX2Nvbm5lY3Rvcl9zZXRfbGlua19zdGF0dXNfcHJvcGVydHkgLSBTZXQgbGluayBzdGF0 dXMgcHJvcGVydHkgb2YgYSBjb25uZWN0b3IKPiA+ID4gKyAqIEBjb25uZWN0b3I6IGRybSBjb25u ZWN0b3IKPiA+ID4gKyAqIEBsaW5rX3N0YXR1czogbmV3IHZhbHVlIG9mIGxpbmsgc3RhdHVzIHBy b3BlcnR5ICgwOiBHb29kLCAxOiBCYWQpCj4gPiA+ICsgKgo+ID4gPiArICogSW4gdXN1YWwgd29y a2luZyBzY2VuYXJpbywgdGhpcyBsaW5rIHN0YXR1cyBwcm9wZXJ0eSB3aWxsIGFsd2F5cyBiZSBz ZXQgdG8KPiA+ID4gKyAqICJHT09EIi4gSWYgc29tZXRoaW5nIGZhaWxzIGR1cmluZyBvciBhZnRl ciBhIG1vZGUgc2V0LCB0aGUga2VybmVsIGRyaXZlciBzaG91bGQKPiA+ID4gKyAqIHNldCB0aGlz IGxpbmsgc3RhdHVzIHByb3BlcnR5IHRvICJCQUQiIGFuZCBwcnVuZSB0aGUgbW9kZSBsaXN0IGJh c2VkIG9uIG5ldwo+ID4gCj4gPiBEb2VzIHRoZSBtb2RlIGxpc3QgcmVhbGx5ICpuZWVkKiB0byBi ZSBwcnVuZWQ/IEluIHRoZSBjYXNlIG9mIG5lZWRpbmcKPiA+IHRvIHJlLXRyYWluIGEgRFAgbGlu aywKPiA+IGl0IHNlZW1zIGxpa2Ugd2Ugc2hvdWxkIGJlIGFibGUgdG8gc2V0IHRoaXMgQkFEIGFu ZCBrZWVwIHRoZSBtb2RlbGlzdAo+ID4gYXMtaXMgKHNpbmNlIHRoZSBzaW5rCj4gPiBoYXNuJ3Qg Y2hhbmdlZCkKPiAKPiBXZWxsLCBpZiB5b3UgcHJ1bmUgaXQgd2l0aCB0aGUgc2FtZSBjb25zdHJh aW50cyBhcyBiZWZvcmUsIG5vIGFkZGl0aW9uYWwKPiBtb2RlcyB3aWxsIGJlIHJlbW92ZWQgYW5k IHRoZSBzYW1lIGxpc3QgaXMgdGhlcmUuIFBydW5pbmcgaGVyZSByZWZlcnMgdG8KPiB0aGUgLT5t b2RlX3ZhbGlkIHN0ZXAgYXMgZG9uZSBpbiBlLmcuIGRybV9oZWxwZXJfcHJvYmVfc2luZ2xlX2Nv bm5lY3Rvcl9tb2Rlcy4KPiAKPiBXZSBtaWdodCB3YW50IHRvIGJlIGEgYml0IG1vcmUgZXhwbGlj aXQgaGVyZSBwZXJoYXBzPyBIYXZlIHNvbWUgZ29vZAo+IHByb3Bvc2FsIHRleHQgdG8gaW5zZXJ0 Pwo+ID4KClNlYW4sIGRvIHlvdSBoYXZlIGFueSByZWNvbW1lbmRhdGlvbnMgb24gdGhlIHRleHQg dGhhdCBjYW4gZ28gaW4gdGhlIGtlcm5lbCBkb2MgZm9yCnRoaXMgcHJvcGVydHkgdG8gY2xhcmlm eSB0aGF0IGl0IGRlcGVuZHMgb24gdGhlIGtlcm5lbCBpbXBsZW1lbnRhdGlvbiB3aGV0aGVyIHdl IHdhbnQKdG8gdXNlIHRoaXMgbGluay1zdGF0dXMgcHJvcGVydHkgdG8gZG8gdGhlIHJldHJhaW5p bmcgb3Igbm90LiBMZWF2aW5nIGl0IEJBRCBhbmQgbm90IGRvaW5nCmFueXRoaW5nIHdpbGwgYmUg ZmluZSB0b28uCgpNYW5hc2kgCj4gPiA+ICsgKiBpbmZvcm1hdGlvbi4gVGhlIGNhbGxlciB0aGVu IG5lZWRzIHRvIHNlbmQgYSBob3RwbHVnIHVldmVudCBmb3IgdXNlcnNwYWNlIHRvCj4gPiA+ICsg KiAgcmUtY2hlY2sgdGhlIHZhbGlkIG1vZGVzIHRocm91Z2ggR0VUX0NPTk5FQ1RPUl9JT0NUTCBh bmQgcmV0cnkgbW9kZXNldC4KPiA+IAo+ID4gZXh0cmEgc3BhY2UKPiA+IAo+ID4gPiArICoKPiA+ ID4gKyAqIE5vdGUgdGhhdCBhIGxvdCBvZiBleGlzdGluZyB1c2Vyc3BhY2UgZG8gbm90IGhhbmRs ZSB0aGlzIHByb3BlcnR5Lgo+ID4gPiArICogRHJpdmVycyBjYW4gdGhlcmVmb3JlIG5vdCByZWx5 IG9uIHVzZXJzcGFjZSB0byBmaXggdXAgZXZlcnl0aGluZyBhbmQKPiA+ID4gKyAqIHNob3VsZCB0 cnkgdG8gaGFuZGxlIGlzc3VlcyAobGlrZSBqdXN0IHJlLXRyYWluaW5nIGEgbGluaykgd2l0aG91 dAo+ID4gPiArICogdXNlcnNwYWNlJ3MgaW50ZXJ2ZW50aW9uLiBUaGlzIHNob3VsZCBvbmx5IGJl IHVzZWQgd2hlbiB0aGUgY3VycmVudCBtb2RlCj4gPiA+ICsgKiBmYWlscyBhbmQgdXNlcnNwYWNl IG11c3Qgc2VsZWN0IGEgZGlmZmVyZW50IGRpc3BsYXkgbW9kZS4KPiA+IAo+ID4gSG1tLCBJIHN1 cHBvc2UgdGhpcyBhbnN3ZXJzIG15IGxhc3QgcXVlc3Rpb24uIEl0J3MgdG9vIGJhZCB3ZSBjYW4n dAo+ID4gcmVseSBvbiB0aGlzLCBzaW5jZSB3ZSdsbAo+ID4ganVzdCBlbmQgdXAgd2l0aCBlYWNo IGRyaXZlciByb2xsaW5nIHRoZWlyIG93biByZS10cmFpbmluZyBsb2dpYyBvbgo+ID4gdG9wIG9m IHBvc3NpYmx5IHN1cHBvcnRpbmcKPiA+IHRoaXMgKGJ1dCBwcm9iYWJseSBub3QsIHNpbmNlIGl0 J3MgcmVhbGx5IGp1c3Qgb3ZlcmhlYWQpLiBQZXJoYXBzIHRoaXMKPiA+IGlzIGFuIG92ZXJseSBw ZXNzaW1pc3RpYwo+ID4gdmlldz8KPiAKPiBZb3UgY2FuIGZvcmdvIGFueSByZS10cmFpbmluZyBv ZiBjb3Vyc2UsIHRoYXQgc2hvdWxkIHdvcmsgdG9vLiBJdCdzIGp1c3QKPiB0aGF0IERQIHNwZWMg YW5kIGV2ZXJ5b25lIGVsc2Ugc2VlbSB0byByZWNvbW1lbmQgdG8gYXQgbGVhc3QgZG8gc29tZQo+ IG1pbmltYWwgZWZmb3J0IChvciBtYXliZSBldmVuIHVwZnJvbnQgbGluayB0cmFpbmluZykgaGVy ZS4gQnV0IHRvdGFsbHkgbm90Cj4gZG9pbmcgYW55dGhpbmcgaWYgdGhlIGxpbmsgaXMgYmFkIHNo b3VsZCBiZSBvayB0b28gKGFuZCBwcm9iYWJseSByZWFsbHkKPiBzaW1wbGUgdG8gaW1wbGVtZW50 IGZvciBkcml2ZXJzLCBtYXliZSBldmVuIHdpdGggYSBkcF9ocGRfaGFuZGxlcigpIGhlbHBlcgo+ IGZ1bmN0aW9uIHdoaWNoIGNoZWNrcyBsaW5rIHN0YXR1cyBhbmQgc2V0IGxpbmstc3RhdHVzIHRv IGJhZCZmaXJlcyBvZmYgdGhlCj4gdWV2ZW50IGlmIG5lZWRlZC4KPiAKPiBBZ2FpbiwgZG8geW91 IGhhdmUgc29tZSBzYW1wbGUgcHJvc2UgdG8gYWRkIGhlcmUgdG8gY2xhcmlmeSB0aGlzPwo+IAo+ IFRoYW5rcyBmb3IgdGFraW5nIGEgbG9vayBhdCB0aGlzLgo+IAo+IENoZWVycywgRGFuaWVsCj4g Cj4gPiA+ICsgKiBUaGUgRFJNIGRyaXZlciBjYW4gY2hvc2UgdG8gbm90IG1vZGlmeSBwcm9wZXJ0 eSBhbmQga2VlcCBsaW5rIHN0YXR1cwo+ID4gPiArICogYXMgIkdPT0QiIGFsd2F5cyB0byBrZWVw IHRoZSB1c2VyIGV4cGVyaWVuY2Ugc2FtZSBhcyBpdCBjdXJyZW50bHkgaXMuCj4gPiA+ICsgKgo+ ID4gPiArICogVGhlIHJlYXNvbiBmb3IgYWRkaW5nIHRoaXMgcHJvcGVydHkgaXMgdG8gaGFuZGxl IGxpbmsgdHJhaW5pbmcgZmFpbHVyZXMsIGJ1dAo+ID4gPiArICogaXQgaXMgbm90IGxpbWl0ZWQg dG8gRFAgb3IgbGluayB0cmFpbmluZy4gRm9yIGV4YW1wbGUsIGlmIHdlIGltcGxlbWVudAo+ID4g PiArICogYXN5bmNocm9ub3VzIHNldGNydGMsIHRoaXMgcHJvcGVydHkgY2FuIGJlIHVzZWQgdG8g cmVwb3J0IGFueSBmYWlsdXJlcyBpbiB0aGF0Lgo+ID4gPiArICovCj4gPiA+ICt2b2lkIGRybV9t b2RlX2Nvbm5lY3Rvcl9zZXRfbGlua19zdGF0dXNfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciwKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVpbnQ2NF90IGxpbmtfc3RhdHVzKQo+ID4gPiArewo+ID4gPiArICAgICAg IHN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKPiA+ID4gKwo+ID4gPiAr ICAgICAgIC8qIE1ha2Ugc3VyZSB0aGUgbXV0ZXggaXMgZ3JhYmJlZCAqLwo+ID4gPiArICAgICAg IGxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldi0+bW9kZV9jb25maWcubXV0ZXgpOwo+ID4gPiArICAg ICAgIGNvbm5lY3Rvci0+bGlua19zdGF0dXMgPSBsaW5rX3N0YXR1czsKPiA+ID4gKyAgICAgICBk cm1fb2JqZWN0X3Byb3BlcnR5X3NldF92YWx1ZSgmY29ubmVjdG9yLT5iYXNlLAo+ID4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldi0+bW9kZV9jb25maWcubGlua19z dGF0dXNfcHJvcGVydHksCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbGlua19zdGF0dXMpOwo+ID4gPiArfQo+ID4gPiArRVhQT1JUX1NZTUJPTChkcm1fbW9kZV9j b25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3BlcnR5KTsKPiA+ID4gKwo+ID4gPiAgaW50IGRy bV9tb2RlX2Nvbm5lY3Rvcl9zZXRfb2JqX3Byb3Aoc3RydWN0IGRybV9tb2RlX29iamVjdCAqb2Jq LAo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX3By b3BlcnR5ICpwcm9wZXJ0eSwKPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdWludDY0X3QgdmFsdWUpCj4gPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY29u bmVjdG9yLmggYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiA+ID4gaW5kZXggMzRmOTc0 MS4uM2Q1MTNhYiAxMDA2NDQKPiA+ID4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5o Cj4gPiA+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+ID4gPiBAQCAtMjEzLDYg KzIxMyw5IEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlIHsKPiA+ID4KPiA+ID4gICAgICAg ICBzdHJ1Y3QgZHJtX2VuY29kZXIgKmJlc3RfZW5jb2RlcjsKPiA+ID4KPiA+ID4gKyAgICAgICAv KiBDb25uZWN0b3IgTGluayBzdGF0dXMgKi8KPiA+ID4gKyAgICAgICB1bnNpZ25lZCBpbnQgbGlu a19zdGF0dXM7Cj4gPiA+ICsKPiA+ID4gICAgICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAq c3RhdGU7Cj4gPiA+ICB9Owo+ID4gPgo+ID4gPiBAQCAtNjk1LDYgKzY5OCwxMiBAQCBzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciB7Cj4gPiA+ICAgICAgICAgdWludDhfdCBudW1faF90aWxlLCBudW1fdl90 aWxlOwo+ID4gPiAgICAgICAgIHVpbnQ4X3QgdGlsZV9oX2xvYywgdGlsZV92X2xvYzsKPiA+ID4g ICAgICAgICB1aW50MTZfdCB0aWxlX2hfc2l6ZSwgdGlsZV92X3NpemU7Cj4gPiA+ICsKPiA+ID4g KyAgICAgICAvKiBDb25uZWN0b3IgTGluayBzdGF0dXMKPiA+ID4gKyAgICAgICAgKiAwOiBJZiB0 aGUgbGluayBpcyBHb29kCj4gPiA+ICsgICAgICAgICogMTogSWYgdGhlIGxpbmsgaXMgQmFkCj4g PiA+ICsgICAgICAgICovCj4gPiA+ICsgICAgICAgaW50IGxpbmtfc3RhdHVzOwo+ID4gPiAgfTsK PiA+ID4KPiA+ID4gICNkZWZpbmUgb2JqX3RvX2Nvbm5lY3Rvcih4KSBjb250YWluZXJfb2YoeCwg c3RydWN0IGRybV9jb25uZWN0b3IsIGJhc2UpCj4gPiA+IEBAIC03NjcsMTIgKzc3NiwxMyBAQCBp bnQgZHJtX21vZGVfY3JlYXRlX3R2X3Byb3BlcnRpZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK PiA+ID4gIGludCBkcm1fbW9kZV9jcmVhdGVfc2NhbGluZ19tb2RlX3Byb3BlcnR5KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpOwo+ID4gPiAgaW50IGRybV9tb2RlX2NyZWF0ZV9hc3BlY3RfcmF0aW9f cHJvcGVydHkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gPiA+ICBpbnQgZHJtX21vZGVfY3Jl YXRlX3N1Z2dlc3RlZF9vZmZzZXRfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsK PiA+ID4gLQo+ID4gCj4gPiBsb3N0IGEgbGluZSBoZXJlCj4gPiAKPiA+ID4gIGludCBkcm1fbW9k ZV9jb25uZWN0b3Jfc2V0X3BhdGhfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwKPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBjaGFyICpwYXRoKTsKPiA+ID4gIGludCBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X3RpbGVfcHJv cGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4gPiA+ICBpbnQgZHJtX21v ZGVfY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IsCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3Qgc3RydWN0IGVkaWQgKmVkaWQpOwo+ID4gPiArdm9pZCBkcm1fbW9kZV9jb25uZWN0 b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IsCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50NjRfdCBsaW5rX3N0YXR1cyk7Cj4gPiA+Cj4gPiA+ICAvKioKPiA+ID4gICAqIHN0cnVj dCBkcm1fdGlsZV9ncm91cCAtIFRpbGUgZ3JvdXAgbWV0YWRhdGEKPiA+ID4gZGlmZiAtLWdpdCBh L2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29u ZmlnLmgKPiA+ID4gaW5kZXggYmY5OTkxYi4uODZmYWVlNCAxMDA2NDQKPiA+ID4gLS0tIGEvaW5j bHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgKPiA+ID4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX21v ZGVfY29uZmlnLmgKPiA+ID4gQEAgLTQzMSw2ICs0MzEsMTEgQEAgc3RydWN0IGRybV9tb2RlX2Nv bmZpZyB7Cj4gPiA+ICAgICAgICAgICovCj4gPiA+ICAgICAgICAgc3RydWN0IGRybV9wcm9wZXJ0 eSAqdGlsZV9wcm9wZXJ0eTsKPiA+ID4gICAgICAgICAvKioKPiA+ID4gKyAgICAgICAgKiBAbGlu a19zdGF0dXNfcHJvcGVydHk6IERlZmF1bHQgY29ubmVjdG9yIHByb3BlcnR5IGZvciBsaW5rIHN0 YXR1cwo+ID4gPiArICAgICAgICAqIG9mIGEgY29ubmVjdG9yCj4gPiA+ICsgICAgICAgICovCj4g PiA+ICsgICAgICAgc3RydWN0IGRybV9wcm9wZXJ0eSAqbGlua19zdGF0dXNfcHJvcGVydHk7Cj4g PiA+ICsgICAgICAgLyoqCj4gPiA+ICAgICAgICAgICogQHBsYW5lX3R5cGVfcHJvcGVydHk6IERl ZmF1bHQgcGxhbmUgcHJvcGVydHkgdG8gZGlmZmVyZW50aWF0ZQo+ID4gPiAgICAgICAgICAqIENV UlNPUiwgUFJJTUFSWSBhbmQgT1ZFUkxBWSBsZWdhY3kgdXNlcyBvZiBwbGFuZXMuCj4gPiA+ICAg ICAgICAgICovCj4gPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgg Yi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKPiA+ID4gaW5kZXggNzI4NzkwYi4uMzA5YzQ3 OCAxMDA2NDQKPiA+ID4gLS0tIGEvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oCj4gPiA+ICsr KyBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaAo+ID4gPiBAQCAtMTIzLDYgKzEyMywxMCBA QAo+ID4gPiAgI2RlZmluZSBEUk1fTU9ERV9ESVJUWV9PTiAgICAgICAxCj4gPiA+ICAjZGVmaW5l IERSTV9NT0RFX0RJUlRZX0FOTk9UQVRFIDIKPiA+ID4KPiA+ID4gKy8qIExpbmsgU3RhdHVzIG9w dGlvbnMgKi8KPiA+ID4gKyNkZWZpbmUgRFJNX01PREVfTElOS19TVEFUVVNfR09PRCAgICAgIDAK PiA+ID4gKyNkZWZpbmUgRFJNX01PREVfTElOS19TVEFUVVNfQkFEICAgICAgIDEKPiA+ID4gKwo+ ID4gPiAgc3RydWN0IGRybV9tb2RlX21vZGVpbmZvIHsKPiA+ID4gICAgICAgICBfX3UzMiBjbG9j azsKPiA+ID4gICAgICAgICBfX3UxNiBoZGlzcGxheTsKPiA+ID4gLS0KPiA+ID4gMS45LjEKPiA+ ID4KPiA+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K PiA+ID4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+ID4gPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCj4gPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwo+ID4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+ID4gZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwo+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwKPiAKPiAtLSAKPiBEYW5pZWwgVmV0dGVyCj4gU29mdHdhcmUg RW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==