From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH] drm/i915: Allow DBLSCAN user modes with eDP/LVDS/DSI Date: Wed, 13 Jun 2018 16:48:29 +0200 Message-ID: References: <20180524125403.23445-1-ville.syrjala@linux.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 CCCA36E0A1 for ; Wed, 13 Jun 2018 14:48:31 +0000 (UTC) In-Reply-To: <20180524125403.23445-1-ville.syrjala@linux.intel.com> 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: Ville Syrjala , intel-gfx@lists.freedesktop.org Cc: Vito Caputo List-Id: intel-gfx@lists.freedesktop.org T3AgMjQtMDUtMTggb20gMTQ6NTQgc2NocmVlZiBWaWxsZSBTeXJqYWxhOgo+IEZyb206IFZpbGxl IFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4KPiBXaGVuIGVuY291 bnRlcmluZyBhIGNvbm5lY3RvciB3aXRoIHRoZSBzY2FsaW5nIG1vZGUgcHJvcGVydHkgYm90aAo+ IGludGVsIGFuZCBtb2Rlc2V0dGluZyBkZHhzIHNvbWV0aW1lcyBhZGQgdG9ucyBvZiBEQkxTQ0FO IG1vZGVzCj4gdG8gdGhlIG91dHB1dCdzIG1vZGUgbGlzdC4gVGhlIGlkZWEgcHJlc3VtYWJseSBi ZWluZyB0aGF0IHNpbmNlIHRoZQo+IG91dHB1dCB3aWxsIGJlIGdvaW5nIHRocm91Z2ggdGhlIHBh bmVsIGZpdHRlciBhbnl3YXkgd2UgY2FuIHByZXRlbmQKPiB0byB1c2UgYW55IGtpbmQgb2YgbW9k ZS4KPgo+IFNhZGx5IHRoYXQgbWVhbnMgd2UgY2FuJ3QgcmVqZWN0IHVzZXIgbW9kZXMgd2l0aCB0 aGUgREJMU0NBTiBmbGFnCj4gdW50aWwgd2Uga25vdyB3aGV0aGVyIHdlJ3JlIGdvaW5nIHRvIGJl IHVzaW5nIHRoZSBwYW5lbCdzIG5hdGl2ZQo+IG1vZGUgb3IgdGhlIHVzZXIgbW9kZSBkaXJlY3Rs eS4gRG9pbmcgb3RoZXJ3aXNlIG1lYW5zIFggY2xpZW50cyB1c2luZwo+IHhmODZ2aWRtb2RlL3hy YW5kciB3aWxsIGdldCBhIHByb3RvY29sIGVycm9yIChhbmQgb2Z0ZW4gc2VsZgo+IHRlcm1pbmF0 ZSBhcyBhIHJlc3VsdCkgd2hlbiB0aGUga2VybmVsIHJlZnVzZXMgdG8gdXNlIHRoZSByZXF1ZXN0 ZWQKPiBtb2RlIHdpdGggdGhlIERCTFNDQU4gZmxhZy4KPgo+IFRvIHVuZG8gdGhlIHJlZ3Jlc3Np b24gd2UnbGwgbW92ZSB0aGUgREJMU0NBTiBjaGVja3MgaW50byB0aGUKPiBjb25uZWN0b3ItPm1v ZGVfdmFsaWQoKSBhbmQgZW5jb2Rlci0+Y29tcHV0ZV9jb25maWcoKSBob29rcy4KPgo+IENjOiBW aXRvIENhcHV0byA8dmNhcHV0b0BwZW5nYXJ1LmNvbT4KPiBSZXBvcnRlZC1ieTogVml0byBDYXB1 dG8gPHZjYXB1dG9AcGVuZ2FydS5jb20+Cj4gRml4ZXM6IGU5OTVjYTBiODEzOSAoImRybS9pOTE1 OiBQcm92aWRlIGEgZGV2aWNlIGxldmVsIC5tb2RlX3ZhbGlkKCkgaG9vayIpCj4gUmVmZXJlbmNl czogaHR0cHM6Ly9sa21sLm9yZy9sa21sLzIwMTgvNS8yMS83MTUKPiBTaWduZWQtb2ZmLWJ5OiBW aWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IC0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYyAgICAgfCAyMCArKysrKysrKysrKysrKysr KysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAxNiArKysrKysr KysrKysrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgICB8ICA2ICsr KysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYyAgfCAgNiArKysrKysK PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMgICAgIHwgIDYgKysrKysrCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5jICAgICB8ICA2ICsrKysrKwo+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgICAgfCAgNiArKysrKysKPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHZkcy5jICAgIHwgIDUgKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfc2R2by5jICAgIHwgIDYgKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3R2LmMgICAgICB8IDEyICsrKysrKysrKystLQo+ICAxMCBmaWxlcyBjaGFuZ2VkLCA4NCBp bnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2NydC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMK PiBpbmRleCAyMTFkNjAxY2QxYjEuLjk1YWEyOWNmMmQ5YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2NydC5jCj4gQEAgLTMwNCw2ICszMDQsOSBAQCBpbnRlbF9jcnRfbW9kZV92YWxpZChzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAJaW50IG1heF9kb3RjbGsgPSBkZXZfcHJp di0+bWF4X2RvdGNsa19mcmVxOwo+ICAJaW50IG1heF9jbG9jazsKPiAgCj4gKwlpZiAobW9kZS0+ ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0RCTFNDQU4pCj4gKwkJcmV0dXJuIE1PREVfTk9fREJMRVND QU47Cj4gKwo+ICAJaWYgKG1vZGUtPmNsb2NrIDwgMjUwMDApCj4gIAkJcmV0dXJuIE1PREVfQ0xP Q0tfTE9XOwo+ICAKPiBAQCAtMzM3LDYgKzM0MCwxMiBAQCBzdGF0aWMgYm9vbCBpbnRlbF9jcnRf Y29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCQkgICAg IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiAgCQkJCSAgICAgc3RydWN0 IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCj4gIHsKPiArCXN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KPiArCQkmcGlwZV9jb25maWctPmJhc2UuYWRqdXN0 ZWRfbW9kZTsKPiArCj4gKwlpZiAoYWRqdXN0ZWRfbW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFH X0RCTFNDQU4pCj4gKwkJcmV0dXJuIGZhbHNlOwo+ICsKPiAgCXJldHVybiB0cnVlOwo+ICB9Cj4g IAo+IEBAIC0zNDQsNiArMzUzLDEyIEBAIHN0YXRpYyBib29sIHBjaF9jcnRfY29tcHV0ZV9jb25m aWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCQkgICBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCj4gIAkJCQkgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9z dGF0ZSAqY29ubl9zdGF0ZSkKPiAgewo+ICsJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVz dGVkX21vZGUgPQo+ICsJCSZwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+ICsKPiAr CWlmIChhZGp1c3RlZF9tb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfREJMU0NBTikKPiArCQly ZXR1cm4gZmFsc2U7Cj4gKwo+ICAJcGlwZV9jb25maWctPmhhc19wY2hfZW5jb2RlciA9IHRydWU7 Cj4gIAo+ICAJcmV0dXJuIHRydWU7Cj4gQEAgLTM1NCw2ICszNjksMTEgQEAgc3RhdGljIGJvb2wg aHN3X2NydF9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAg CQkJCSAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQo+ICB7Cj4gIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2Uu ZGV2KTsKPiArCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KPiArCQkm cGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiArCj4gKwlpZiAoYWRqdXN0ZWRfbW9k ZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0RCTFNDQU4pCj4gKwkJcmV0dXJuIGZhbHNlOwo+ICAK PiAgCXBpcGVfY29uZmlnLT5oYXNfcGNoX2VuY29kZXIgPSB0cnVlOwo+ICAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXggOGIzODUxNzZjZTNjLi4wMjY1MTI5OGE5OWIg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTE0NDQzLDEyICsx NDQ0MywyMiBAQCBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMKPiAgaW50ZWxfbW9kZV92YWxp ZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJCSBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqbW9kZSkKPiAgewo+ICsJLyoKPiArCSAqIENhbid0IHJlamVjdCBEQkxTQ0FOIGhlcmUg YmVjYXVzZSBYb3JnIGRkeGVuIGNhbiBhZGQgcGlsZXMKPiArCSAqIG9mIERCTFNDQU4gbW9kZXMg dG8gdGhlIG91dHB1dCdzIG1vZGUgbGlzdCB3aGVuIHRoZXkgZGV0ZWN0Cj4gKwkgKiB0aGUgc2Nh bGluZyBtb2RlIHByb3BlcnR5IG9uIHRoZSBjb25uZWN0b3IuIEFuZCB0aGV5IGRvbid0Cj4gKwkg KiBhc2sgdGhlIGtlcm5lbCB0byB2YWxpZGF0ZSB0aG9zZSBtb2RlcyBpbiBhbnkgd2F5IHVudGls Cj4gKwkgKiBtb2Rlc2V0IHRpbWUgYXQgd2hpY2ggcG9pbnQgdGhlIGNsaWVudCBnZXRzIGEgcHJv dG9jb2wgZXJyb3IuCj4gKwkgKiBTbyBpbiBvcmRlciB0byBub3QgdXBzZXQgdGhvc2UgY2xpZW50 cyB3ZSBzaWxlbnRseSBpZ25vcmUgdGhlCj4gKwkgKiBEQkxTQ0FOIGZsYWcgb24gc3VjaCBjb25u ZWN0b3JzLiBGb3Igb3RoZXIgY29ubmVjdG9ycyB3ZSB3aWxsCj4gKwkgKiByZWplY3QgbW9kZXMg d2l0aCB0aGUgREJMU0NBTiBmbGFnIGluIGVuY29kZXItPmNvbXB1dGVfY29uZmlnKCkuCj4gKwkg KiBBbmQgd2UgYWx3YXlzIHJlamVjdCBEQkxTQ0FOIG1vZGVzIGluIGNvbm5lY3Rvci0+bW9kZV92 YWxpZCgpCj4gKwkgKiBhcyB3ZSBuZXZlciB3YW50IHN1Y2ggbW9kZXMgb24gdGhlIGNvbm5lY3Rv cidzIG1vZGUgbGlzdC4KPiArCSAqLwo+ICsKPiAgCWlmIChtb2RlLT52c2NhbiA+IDEpCj4gIAkJ cmV0dXJuIE1PREVfTk9fVlNDQU47Cj4gIAo+IC0JaWYgKG1vZGUtPmZsYWdzICYgRFJNX01PREVf RkxBR19EQkxTQ0FOKQo+IC0JCXJldHVybiBNT0RFX05PX0RCTEVTQ0FOOwo+IC0KPiAgCWlmICht b2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfSFNLRVcpCj4gIAkJcmV0dXJuIE1PREVfSF9JTExF R0FMOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiBpbmRleCBjZTA3YmQ3OTRhZWQuLjkx ODg1ZjI1MDBhZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+IEBAIC00MjAsNiArNDIw LDkgQEAgaW50ZWxfZHBfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LAo+ICAJaW50IG1heF9yYXRlLCBtb2RlX3JhdGUsIG1heF9sYW5lcywgbWF4X2xpbmtfY2xvY2s7 Cj4gIAlpbnQgbWF4X2RvdGNsazsKPiAgCj4gKwlpZiAobW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9G TEFHX0RCTFNDQU4pCj4gKwkJcmV0dXJuIE1PREVfTk9fREJMRVNDQU47Cj4gKwo+ICAJbWF4X2Rv dGNsayA9IGludGVsX2RwX2Rvd25zdHJlYW1fbWF4X2RvdGNsb2NrKGludGVsX2RwKTsKPiAgCj4g IAlpZiAoaW50ZWxfZHBfaXNfZWRwKGludGVsX2RwKSAmJiBmaXhlZF9tb2RlKSB7Cj4gQEAgLTE4 NjIsNiArMTg2NSw5IEBAIGludGVsX2RwX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAo+ICAJCQkJCQljb25uX3N0YXRlLT5zY2FsaW5nX21vZGUpOwo+ICAJfQo+ ICAKPiArCWlmIChhZGp1c3RlZF9tb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfREJMU0NBTikK PiArCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ICAJaWYgKChJU19WQUxMRVlWSUVXKGRldl9wcml2KSB8 fCBJU19DSEVSUllWSUVXKGRldl9wcml2KSkgJiYKPiAgCSAgICBhZGp1c3RlZF9tb2RlLT5mbGFn cyAmIERSTV9NT0RFX0ZMQUdfSU5URVJMQUNFKQo+ICAJCXJldHVybiBmYWxzZTsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcF9tc3QuYwo+IGluZGV4IDllNjk1NmMwODY4OC4uNTg5MDUwMGEzYThi IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKPiBAQCAtNDgsNiArNDgsOSBA QCBzdGF0aWMgYm9vbCBpbnRlbF9kcF9tc3RfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCj4gIAlib29sIHJlZHVjZV9tX24gPSBkcm1fZHBfaGFzX3F1aXJrKCZp bnRlbF9kcC0+ZGVzYywKPiAgCQkJCQkgICBEUF9EUENEX1FVSVJLX0xJTUlURURfTV9OKTsKPiAg Cj4gKwlpZiAoYWRqdXN0ZWRfbW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0RCTFNDQU4pCj4g KwkJcmV0dXJuIGZhbHNlOwo+ICsKPiAgCXBpcGVfY29uZmlnLT5oYXNfcGNoX2VuY29kZXIgPSBm YWxzZTsKPiAgCWJwcCA9IDI0Owo+ICAJaWYgKGludGVsX2RwLT5jb21wbGlhbmNlLnRlc3RfZGF0 YS5icGMpIHsKPiBAQCAtMzY2LDYgKzM2OSw5IEBAIGludGVsX2RwX21zdF9tb2RlX3ZhbGlkKHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIAlpZiAoIWludGVsX2RwKQo+ICAJCXJl dHVybiBNT0RFX0VSUk9SOwo+ICAKPiArCWlmIChtb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdf REJMU0NBTikKPiArCQlyZXR1cm4gTU9ERV9OT19EQkxFU0NBTjsKPiArCj4gIAltYXhfbGlua19j bG9jayA9IGludGVsX2RwX21heF9saW5rX3JhdGUoaW50ZWxfZHApOwo+ICAJbWF4X2xhbmVzID0g aW50ZWxfZHBfbWF4X2xhbmVfY291bnQoaW50ZWxfZHApOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kc2kuYwo+IGluZGV4IGNmMzljYTkwZDg4Ny4uZjM0OWIzOTIwMTk5IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHNpLmMKPiBAQCAtMzI2LDYgKzMyNiw5IEBAIHN0YXRpYyBib29sIGludGVs X2RzaV9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJ CQkJY29ubl9zdGF0ZS0+c2NhbGluZ19tb2RlKTsKPiAgCX0KPiAgCj4gKwlpZiAoYWRqdXN0ZWRf bW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0RCTFNDQU4pCj4gKwkJcmV0dXJuIGZhbHNlOwo+ ICsKPiAgCS8qIERTSSB1c2VzIHNob3J0IHBhY2tldHMgZm9yIHN5bmMgZXZlbnRzLCBzbyBjbGVh ciBtb2RlIGZsYWdzIGZvciBEU0kgKi8KPiAgCWFkanVzdGVkX21vZGUtPmZsYWdzID0gMDsKPiAg Cj4gQEAgLTEyNjYsNiArMTI2OSw5IEBAIGludGVsX2RzaV9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IsCj4gIAo+ICAJRFJNX0RFQlVHX0tNUygiXG4iKTsKPiAgCj4g KwlpZiAobW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0RCTFNDQU4pCj4gKwkJcmV0dXJuIE1P REVfTk9fREJMRVNDQU47Cj4gKwo+ICAJaWYgKGZpeGVkX21vZGUpIHsKPiAgCQlpZiAobW9kZS0+ aGRpc3BsYXkgPiBmaXhlZF9tb2RlLT5oZGlzcGxheSkKPiAgCQkJcmV0dXJuIE1PREVfUEFORUw7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHZvLmMKPiBpbmRleCA3Yjk0MmI2YzE3MDAuLjI3ZjE2ZGI4 OTUzYSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5jCj4gQEAgLTIxNSw2ICsyMTUsOSBA QCBpbnRlbF9kdm9fbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ ICAJaW50IG1heF9kb3RjbGsgPSB0b19pOTE1KGNvbm5lY3Rvci0+ZGV2KS0+bWF4X2RvdGNsa19m cmVxOwo+ICAJaW50IHRhcmdldF9jbG9jayA9IG1vZGUtPmNsb2NrOwo+ICAKPiArCWlmIChtb2Rl LT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfREJMU0NBTikKPiArCQlyZXR1cm4gTU9ERV9OT19EQkxF U0NBTjsKPiArCj4gIAkvKiBYWFg6IFZhbGlkYXRlIGNsb2NrIHJhbmdlICovCj4gIAo+ICAJaWYg KGZpeGVkX21vZGUpIHsKPiBAQCAtMjUwLDYgKzI1Myw5IEBAIHN0YXRpYyBib29sIGludGVsX2R2 b19jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCWlmIChm aXhlZF9tb2RlKQo+ICAJCWludGVsX2ZpeGVkX3BhbmVsX21vZGUoZml4ZWRfbW9kZSwgYWRqdXN0 ZWRfbW9kZSk7Cj4gIAo+ICsJaWYgKGFkanVzdGVkX21vZGUtPmZsYWdzICYgRFJNX01PREVfRkxB R19EQkxTQ0FOKQo+ICsJCXJldHVybiBmYWxzZTsKPiArCj4gIAlyZXR1cm4gdHJ1ZTsKPiAgfQo+ ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gaW5kZXggMGNhNGNjODc3NTIwLi40N2U2 Y2NhM2UyMDggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gQEAgLTE1NDQsNiAr MTU0NCw5IEBAIGludGVsX2hkbWlfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yLAo+ICAJYm9vbCBmb3JjZV9kdmkgPQo+ICAJCVJFQURfT05DRSh0b19pbnRlbF9kaWdp dGFsX2Nvbm5lY3Rvcl9zdGF0ZShjb25uZWN0b3ItPnN0YXRlKS0+Zm9yY2VfYXVkaW8pID09IEhE TUlfQVVESU9fT0ZGX0RWSTsKPiAgCj4gKwlpZiAobW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFH X0RCTFNDQU4pCj4gKwkJcmV0dXJuIE1PREVfTk9fREJMRVNDQU47Cj4gKwo+ICAJY2xvY2sgPSBt b2RlLT5jbG9jazsKPiAgCj4gIAlpZiAoKG1vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR18zRF9N QVNLKSA9PSBEUk1fTU9ERV9GTEFHXzNEX0ZSQU1FX1BBQ0tJTkcpCj4gQEAgLTE2NjQsNiArMTY2 Nyw5IEBAIGJvb2wgaW50ZWxfaGRtaV9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKPiAgCWludCBkZXNpcmVkX2JwcDsKPiAgCWJvb2wgZm9yY2VfZHZpID0gaW50 ZWxfY29ubl9zdGF0ZS0+Zm9yY2VfYXVkaW8gPT0gSERNSV9BVURJT19PRkZfRFZJOwo+ICAKPiAr CWlmIChhZGp1c3RlZF9tb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfREJMU0NBTikKPiArCQly ZXR1cm4gZmFsc2U7Cj4gKwo+ICAJcGlwZV9jb25maWctPmhhc19oZG1pX3NpbmsgPSAhZm9yY2Vf ZHZpICYmIGludGVsX2hkbWktPmhhc19oZG1pX3Npbms7Cj4gIAo+ICAJaWYgKHBpcGVfY29uZmln LT5oYXNfaGRtaV9zaW5rKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMKPiBpbmRleCBiYWNh ZDg4YWQ3YWUuLjViNGEzNTI5OTUzMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9sdmRzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMK PiBAQCAtMzc4LDYgKzM3OCw4IEBAIGludGVsX2x2ZHNfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yLAo+ICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmZpeGVkX21v ZGUgPSBpbnRlbF9jb25uZWN0b3ItPnBhbmVsLmZpeGVkX21vZGU7Cj4gIAlpbnQgbWF4X3BpeGNs ayA9IHRvX2k5MTUoY29ubmVjdG9yLT5kZXYpLT5tYXhfZG90Y2xrX2ZyZXE7Cj4gIAo+ICsJaWYg KG1vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR19EQkxTQ0FOKQo+ICsJCXJldHVybiBNT0RFX05P X0RCTEVTQ0FOOwo+ICAJaWYgKG1vZGUtPmhkaXNwbGF5ID4gZml4ZWRfbW9kZS0+aGRpc3BsYXkp Cj4gIAkJcmV0dXJuIE1PREVfUEFORUw7Cj4gIAlpZiAobW9kZS0+dmRpc3BsYXkgPiBmaXhlZF9t b2RlLT52ZGlzcGxheSkKPiBAQCAtNDI3LDYgKzQyOSw5IEBAIHN0YXRpYyBib29sIGludGVsX2x2 ZHNfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIsCj4g IAlpbnRlbF9maXhlZF9wYW5lbF9tb2RlKGludGVsX2Nvbm5lY3Rvci0+cGFuZWwuZml4ZWRfbW9k ZSwKPiAgCQkJICAgICAgIGFkanVzdGVkX21vZGUpOwo+ICAKPiArCWlmIChhZGp1c3RlZF9tb2Rl LT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfREJMU0NBTikKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ ICAJaWYgKEhBU19QQ0hfU1BMSVQoZGV2X3ByaXYpKSB7Cj4gIAkJcGlwZV9jb25maWctPmhhc19w Y2hfZW5jb2RlciA9IHRydWU7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9zZHZvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKPiBpbmRl eCBhMDJlNGQ3M2M3YTQuLmU2YTY0YjNlY2Q5MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9zZHZvLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9z ZHZvLmMKPiBAQCAtMTE2MCw2ICsxMTYwLDkgQEAgc3RhdGljIGJvb2wgaW50ZWxfc2R2b19jb21w dXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJCQkJCSAgIGFk anVzdGVkX21vZGUpOwo+ICAJfQo+ICAKPiArCWlmIChhZGp1c3RlZF9tb2RlLT5mbGFncyAmIERS TV9NT0RFX0ZMQUdfREJMU0NBTikKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ICAJLyoKPiAgCSAq IE1ha2UgdGhlIENSVEMgY29kZSBmYWN0b3IgaW4gdGhlIFNEVk8gcGl4ZWwgbXVsdGlwbGllci4g IFRoZQo+ICAJICogU0RWTyBkZXZpY2Ugd2lsbCBmYWN0b3Igb3V0IHRoZSBtdWx0aXBsaWVyIGR1 cmluZyBtb2RlX3NldC4KPiBAQCAtMTYzMSw2ICsxNjM0LDkgQEAgaW50ZWxfc2R2b19tb2RlX3Zh bGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIAlzdHJ1Y3QgaW50ZWxfc2R2 byAqaW50ZWxfc2R2byA9IGludGVsX2F0dGFjaGVkX3Nkdm8oY29ubmVjdG9yKTsKPiAgCWludCBt YXhfZG90Y2xrID0gdG9faTkxNShjb25uZWN0b3ItPmRldiktPm1heF9kb3RjbGtfZnJlcTsKPiAg Cj4gKwlpZiAobW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0RCTFNDQU4pCj4gKwkJcmV0dXJu IE1PREVfTk9fREJMRVNDQU47Cj4gKwo+ICAJaWYgKGludGVsX3Nkdm8tPnBpeGVsX2Nsb2NrX21p biA+IG1vZGUtPmNsb2NrKQo+ICAJCXJldHVybiBNT0RFX0NMT0NLX0xPVzsKPiAgCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3R2LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF90di5jCj4gaW5kZXggOTliYzIzNjhkZGEwLi4yNGRjMzY4ZmRhYTEgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdHYuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3R2LmMKPiBAQCAtODQ2LDYgKzg0Niw5IEBAIGludGVsX3R2X21v ZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCWNvbnN0IHN0cnVj dCB0dl9tb2RlICp0dl9tb2RlID0gaW50ZWxfdHZfbW9kZV9maW5kKGNvbm5lY3Rvci0+c3RhdGUp Owo+ICAJaW50IG1heF9kb3RjbGsgPSB0b19pOTE1KGNvbm5lY3Rvci0+ZGV2KS0+bWF4X2RvdGNs a19mcmVxOwo+ICAKPiArCWlmIChtb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfREJMU0NBTikK PiArCQlyZXR1cm4gTU9ERV9OT19EQkxFU0NBTjsKPiArCj4gIAlpZiAobW9kZS0+Y2xvY2sgPiBt YXhfZG90Y2xrKQo+ICAJCXJldHVybiBNT0RFX0NMT0NLX0hJR0g7Cj4gIAo+IEBAIC04NzMsMTYg Kzg3NiwyMSBAQCBpbnRlbF90dl9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKPiAgCQkJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCj4g IHsKPiAgCWNvbnN0IHN0cnVjdCB0dl9tb2RlICp0dl9tb2RlID0gaW50ZWxfdHZfbW9kZV9maW5k KGNvbm5fc3RhdGUpOwo+ICsJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUg PQo+ICsJCSZwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+ICAKPiAgCWlmICghdHZf bW9kZSkKPiAgCQlyZXR1cm4gZmFsc2U7Cj4gIAo+IC0JcGlwZV9jb25maWctPmJhc2UuYWRqdXN0 ZWRfbW9kZS5jcnRjX2Nsb2NrID0gdHZfbW9kZS0+Y2xvY2s7Cj4gKwlpZiAoYWRqdXN0ZWRfbW9k ZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0RCTFNDQU4pCj4gKwkJcmV0dXJuIGZhbHNlOwo+ICsK PiArCWFkanVzdGVkX21vZGUtPmNydGNfY2xvY2sgPSB0dl9tb2RlLT5jbG9jazsKPiAgCURSTV9E RUJVR19LTVMoImZvcmNpbmcgYnBjIHRvIDggZm9yIFRWXG4iKTsKPiAgCXBpcGVfY29uZmlnLT5w aXBlX2JwcCA9IDgqMzsKPiAgCj4gIAkvKiBUViBoYXMgaXQncyBvd24gbm90aW9uIG9mIHN5bmMg YW5kIG90aGVyIG1vZGUgZmxhZ3MsIHNvIGNsZWFyIHRoZW0uICovCj4gLQlwaXBlX2NvbmZpZy0+ YmFzZS5hZGp1c3RlZF9tb2RlLmZsYWdzID0gMDsKPiArCWFkanVzdGVkX21vZGUtPmZsYWdzID0g MDsKPiAgCj4gIAkvKgo+ICAJICogRklYTUU6IFdlIGRvbid0IGNoZWNrIHdoZXRoZXIgdGhlIGlu cHV0IG1vZGUgaXMgYWN0dWFsbHkgd2hhdCB3ZSB3YW50CgoKUmV2aWV3ZWQtYnk6IE1hYXJ0ZW4g TGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+CgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK