From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 3/5] drm/i915: Remove the 8bpc shackles from DP MST Date: Tue, 26 Mar 2019 12:43:23 +0200 Message-ID: <87k1gl531w.fsf@intel.com> References: <20190308192409.5804-1-ville.syrjala@linux.intel.com> <20190308192409.5804-3-ville.syrjala@linux.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 851CD6E7E0 for ; Tue, 26 Mar 2019 10:40:40 +0000 (UTC) In-Reply-To: <20190308192409.5804-3-ville.syrjala@linux.intel.com> 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 List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAwOCBNYXIgMjAxOSwgVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+IHdyb3RlOgo+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20+Cj4KPiBBbGxvdyBEUCBNU1QgdG8gb3V0cHV0IGFueSBjb2xvciBkZXB0 aC4gVGhpcyBtZWFucyBkZWVwIGNvbG9yIGFzCj4gd2VsbCBhcyBmYWxsaW5nIGJhY2sgdG8gNmJw YyBpZiB3ZSB3b3VsZCBvdGhlcndpc2UgcmVxdWlyZSB0b28KPiBtdWNoIGJhbmR3aWR0aC4KPgo+ IFRPRE86IFdlIHNob3VsZCBwcm9iYWJseSBleHRlbmQgYndfY29udHN0cmFpbmVkIHNjaGVtZSB0 byBmb3JjZQo+IGFsbCBzdHJlYW1zIG9uIHRoZSBsaW5rIHRvIDZicGMgaWYgd2UgY2FuJ3QgZml0 IHRoZSBuZXcgc3RyZWFtKHMpCj4gb3RoZXJ3aXNlLgo+Cj4gU2lnbmVkLW9mZi1ieTogVmlsbGUg U3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICAgfCAgIDggKy0KPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHBfbXN0LmMgfCAxMjAgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQo+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICB8ICAgOCArKwo+ICAzIGZpbGVz IGNoYW5nZWQsIDgzIGluc2VydGlvbnMoKyksIDUzIGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcC5jCj4gaW5kZXggZjQwYjMzNDJkODJhLi5lMWFiNTA5ODBiODMgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwLmMKPiBAQCAtMTcyNCwxMiArMTcyNCw2IEBAIHZvaWQgaW50ZWxf ZHBfY29tcHV0ZV9yYXRlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIGludCBwb3J0X2Nsb2Nr LAo+ICAJfQo+ICB9Cj4gIAo+IC1zdHJ1Y3QgbGlua19jb25maWdfbGltaXRzIHsKPiAtCWludCBt aW5fY2xvY2ssIG1heF9jbG9jazsKPiAtCWludCBtaW5fbGFuZV9jb3VudCwgbWF4X2xhbmVfY291 bnQ7Cj4gLQlpbnQgbWluX2JwcCwgbWF4X2JwcDsKPiAtfTsKPiAtCj4gIHN0YXRpYyBib29sIGlu dGVsX2RwX3NvdXJjZV9zdXBwb3J0c19mZWMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPiAg CQkJCQkgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+ICB7Cj4g QEAgLTE3OTIsNyArMTc4Niw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfZHBfY29tcHV0ZV9icHAoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCwKPiAgfQo+ICAKPiAgLyogQWRqdXN0IGxpbmsgY29uZmln IGxpbWl0cyBiYXNlZCBvbiBjb21wbGlhbmNlIHRlc3QgcmVxdWVzdHMuICovCj4gLXN0YXRpYyB2 b2lkCj4gK3ZvaWQKPiAgaW50ZWxfZHBfYWRqdXN0X2NvbXBsaWFuY2VfY29uZmlnKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHAsCj4gIAkJCQkgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBl X2NvbmZpZywKPiAgCQkJCSAgc3RydWN0IGxpbmtfY29uZmlnX2xpbWl0cyAqbGltaXRzKQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCj4gaW5kZXggZjljZTllODdkMzViLi5kZjhiMzk2 Y2JjZGMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYwo+IEBAIC0yOSw0MSAr MjksODEgQEAKPiAgI2luY2x1ZGUgPGRybS9kcm1fZWRpZC5oPgo+ICAjaW5jbHVkZSA8ZHJtL2Ry bV9wcm9iZV9oZWxwZXIuaD4KPiAgCj4gK3N0YXRpYyBpbnQgaW50ZWxfZHBfbXN0X2NvbXB1dGVf bGlua19jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gKwkJCQkJICAgIHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICsJCQkJCSAgICBzdHJ1Y3QgZHJt X2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSwKPiArCQkJCQkgICAgc3RydWN0IGxpbmtfY29u ZmlnX2xpbWl0cyAqbGltaXRzKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3Rh dGUgPSBjcnRjX3N0YXRlLT5iYXNlLnN0YXRlOwo+ICsJc3RydWN0IGludGVsX2RwX21zdF9lbmNv ZGVyICppbnRlbF9tc3QgPSBlbmNfdG9fbXN0KCZlbmNvZGVyLT5iYXNlKTsKPiArCXN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHAgPSAmaW50ZWxfbXN0LT5wcmltYXJ5LT5kcDsKPiArCXN0cnVjdCBp bnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciA9Cj4gKwkJdG9faW50ZWxfY29ubmVjdG9yKGNvbm5f c3RhdGUtPmNvbm5lY3Rvcik7Cj4gKwljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRq dXN0ZWRfbW9kZSA9Cj4gKwkJJmNydGNfc3RhdGUtPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiArCXZv aWQgKnBvcnQgPSBjb25uZWN0b3ItPnBvcnQ7Cj4gKwlib29sIGNvbnN0YW50X24gPSBkcm1fZHBf aGFzX3F1aXJrKCZpbnRlbF9kcC0+ZGVzYywKPiArCQkJCQkgICBEUF9EUENEX1FVSVJLX0NPTlNU QU5UX04pOwo+ICsJaW50IHNsb3RzOwo+ICsKPiArCWZvciAoOzspIHsKCkknbSBub3QgcGFydGlj dWxhcmx5IGZvbmQgb2YgaGF2aW5nIHRoZSBsb29wIGNvbmRpdGlvbnMgc3ByaW5rbGVkIGluIHRo ZQpibG9jay4gQnV0IGxvb2tzIGNvcnJlY3QuCgpSZXZpZXdlZC1ieTogSmFuaSBOaWt1bGEgPGph bmkubmlrdWxhQGludGVsLmNvbT4KCgoKPiArCQljcnRjX3N0YXRlLT5sYW5lX2NvdW50ID0gbGlt aXRzLT5tYXhfbGFuZV9jb3VudDsKPiArCQljcnRjX3N0YXRlLT5wb3J0X2Nsb2NrID0gbGltaXRz LT5tYXhfY2xvY2s7Cj4gKwkJY3J0Y19zdGF0ZS0+cGlwZV9icHAgPSBsaW1pdHMtPm1heF9icHA7 Cj4gKwo+ICsJCWNydGNfc3RhdGUtPnBibiA9IGRybV9kcF9jYWxjX3Bibl9tb2RlKGFkanVzdGVk X21vZGUtPmNydGNfY2xvY2ssCj4gKwkJCQkJCSAgICAgICBjcnRjX3N0YXRlLT5waXBlX2JwcCk7 Cj4gKwo+ICsJCXNsb3RzID0gZHJtX2RwX2F0b21pY19maW5kX3ZjcGlfc2xvdHMoc3RhdGUsICZp bnRlbF9kcC0+bXN0X21nciwKPiArCQkJCQkJICAgICAgcG9ydCwgY3J0Y19zdGF0ZS0+cGJuKTsK PiArCQlpZiAoc2xvdHMgPT0gLUVERUFETEspCj4gKwkJCXJldHVybiBzbG90czsKPiArCQlpZiAo c2xvdHMgPj0gMCkKPiArCQkJYnJlYWs7Cj4gKwo+ICsJCWlmIChsaW1pdHMtPm1heF9icHAgPiBs aW1pdHMtPm1pbl9icHApIHsKPiArCQkJbGltaXRzLT5tYXhfYnBwIC09IDIgKiAzOwo+ICsJCQlj b250aW51ZTsKPiArCQl9Cj4gKwo+ICsJCURSTV9ERUJVR19LTVMoImZhaWxlZCBmaW5kaW5nIHZj cGkgc2xvdHM6JWRcbiIsIHNsb3RzKTsKPiArCj4gKwkJcmV0dXJuIHNsb3RzOwo+ICsJfQo+ICsK PiArCWludGVsX2xpbmtfY29tcHV0ZV9tX24oY3J0Y19zdGF0ZS0+cGlwZV9icHAsCj4gKwkJCSAg ICAgICBjcnRjX3N0YXRlLT5sYW5lX2NvdW50LAo+ICsJCQkgICAgICAgYWRqdXN0ZWRfbW9kZS0+ Y3J0Y19jbG9jaywKPiArCQkJICAgICAgIGNydGNfc3RhdGUtPnBvcnRfY2xvY2ssCj4gKwkJCSAg ICAgICAmY3J0Y19zdGF0ZS0+ZHBfbV9uLAo+ICsJCQkgICAgICAgY29uc3RhbnRfbik7Cj4gKwlj cnRjX3N0YXRlLT5kcF9tX24udHUgPSBzbG90czsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsK PiAgc3RhdGljIGludCBpbnRlbF9kcF9tc3RfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCj4gIAkJCQkgICAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBp cGVfY29uZmlnLAo+ICAJCQkJICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25u X3N0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPiAgCXN0cnVjdCBpbnRlbF9kcF9tc3RfZW5jb2RlciAq aW50ZWxfbXN0ID0gZW5jX3RvX21zdCgmZW5jb2Rlci0+YmFzZSk7Cj4gLQlzdHJ1Y3QgaW50ZWxf ZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGludGVsX21zdC0+cHJpbWFyeTsKPiAtCXN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSAmaW50ZWxfZGlnX3BvcnQtPmRwOwo+IC0Jc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9IGNvbm5fc3RhdGUtPmNvbm5lY3RvcjsKPiArCXN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSAmaW50ZWxfbXN0LT5wcmltYXJ5LT5kcDsKPiArCXN0 cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciA9Cj4gKwkJdG9faW50ZWxfY29ubmVjdG9y KGNvbm5fc3RhdGUtPmNvbm5lY3Rvcik7Cj4gIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9jb25uZWN0 b3Jfc3RhdGUgKmludGVsX2Nvbm5fc3RhdGUgPQo+ICAJCXRvX2ludGVsX2RpZ2l0YWxfY29ubmVj dG9yX3N0YXRlKGNvbm5fc3RhdGUpOwo+IC0Jdm9pZCAqcG9ydCA9IHRvX2ludGVsX2Nvbm5lY3Rv cihjb25uZWN0b3IpLT5wb3J0Owo+IC0Jc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlID0g cGlwZV9jb25maWctPmJhc2Uuc3RhdGU7Cj4gLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBwaXBl X2NvbmZpZy0+YmFzZS5jcnRjOwo+IC0Jc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfY3J0Y19z dGF0ZSA9Cj4gLQkJZHJtX2F0b21pY19nZXRfb2xkX2NydGNfc3RhdGUoc3RhdGUsIGNydGMpOwo+ IC0JaW50IGJwcDsKPiAtCWludCBsYW5lX2NvdW50LCBzbG90cyA9Cj4gLQkJdG9faW50ZWxfY3J0 Y19zdGF0ZShvbGRfY3J0Y19zdGF0ZSktPmRwX21fbi50dTsKPiAtCWNvbnN0IHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJnBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVk X21vZGU7Cj4gLQlpbnQgbXN0X3BibjsKPiAtCWJvb2wgY29uc3RhbnRfbiA9IGRybV9kcF9oYXNf cXVpcmsoJmludGVsX2RwLT5kZXNjLAo+IC0JCQkJCSAgIERQX0RQQ0RfUVVJUktfQ09OU1RBTlRf Tik7Cj4gKwljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9Cj4g KwkJJnBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7Cj4gKwl2b2lkICpwb3J0ID0gY29u bmVjdG9yLT5wb3J0Owo+ICsJc3RydWN0IGxpbmtfY29uZmlnX2xpbWl0cyBsaW1pdHM7Cj4gKwlp bnQgcmV0Owo+ICAKPiAgCWlmIChhZGp1c3RlZF9tb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdf REJMU0NBTikKPiAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgCj4gIAlwaXBlX2NvbmZpZy0+b3V0cHV0 X2Zvcm1hdCA9IElOVEVMX09VVFBVVF9GT1JNQVRfUkdCOwo+ICAJcGlwZV9jb25maWctPmhhc19w Y2hfZW5jb2RlciA9IGZhbHNlOwo+IC0JYnBwID0gMjQ7Cj4gLQlpZiAoaW50ZWxfZHAtPmNvbXBs aWFuY2UudGVzdF9kYXRhLmJwYykgewo+IC0JCWJwcCA9IGludGVsX2RwLT5jb21wbGlhbmNlLnRl c3RfZGF0YS5icGMgKiAzOwo+IC0JCURSTV9ERUJVR19LTVMoIlNldHRpbmcgcGlwZSBicHAgdG8g JWRcbiIsCj4gLQkJCSAgICAgIGJwcCk7Cj4gLQl9Cj4gIAo+ICAJaWYgKGludGVsX2Nvbm5fc3Rh dGUtPmZvcmNlX2F1ZGlvID09IEhETUlfQVVESU9fQVVUTykKPiAgCQlwaXBlX2NvbmZpZy0+aGFz X2F1ZGlvID0KPiBAQCAtNzYsMTMgKzExNiwyMSBAQCBzdGF0aWMgaW50IGludGVsX2RwX21zdF9j b21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCSAqIGZvciBN U1Qgd2UgYWx3YXlzIGNvbmZpZ3VyZSBtYXggbGluayBidyAtIHRoZSBzcGVjIGRvZXNuJ3QKPiAg CSAqIHNlZW0gdG8gc3VnZ2VzdCB3ZSBzaG91bGQgZG8gb3RoZXJ3aXNlLgo+ICAJICovCj4gLQls YW5lX2NvdW50ID0gaW50ZWxfZHBfbWF4X2xhbmVfY291bnQoaW50ZWxfZHApOwo+ICsJbGltaXRz Lm1pbl9jbG9jayA9Cj4gKwlsaW1pdHMubWF4X2Nsb2NrID0gaW50ZWxfZHBfbWF4X2xpbmtfcmF0 ZShpbnRlbF9kcCk7Cj4gKwo+ICsJbGltaXRzLm1pbl9sYW5lX2NvdW50ID0KPiArCWxpbWl0cy5t YXhfbGFuZV9jb3VudCA9IGludGVsX2RwX21heF9sYW5lX2NvdW50KGludGVsX2RwKTsKPiAgCj4g LQlwaXBlX2NvbmZpZy0+bGFuZV9jb3VudCA9IGxhbmVfY291bnQ7Cj4gKwlsaW1pdHMubWluX2Jw cCA9IDYgKiAzOwo+ICsJbGltaXRzLm1heF9icHAgPSBwaXBlX2NvbmZpZy0+cGlwZV9icHA7Cj4g IAo+IC0JcGlwZV9jb25maWctPnBpcGVfYnBwID0gYnBwOwo+ICsJaW50ZWxfZHBfYWRqdXN0X2Nv bXBsaWFuY2VfY29uZmlnKGludGVsX2RwLCBwaXBlX2NvbmZpZywgJmxpbWl0cyk7Cj4gIAo+IC0J cGlwZV9jb25maWctPnBvcnRfY2xvY2sgPSBpbnRlbF9kcF9tYXhfbGlua19yYXRlKGludGVsX2Rw KTsKPiArCXJldCA9IGludGVsX2RwX21zdF9jb21wdXRlX2xpbmtfY29uZmlnKGVuY29kZXIsIHBp cGVfY29uZmlnLAo+ICsJCQkJCSAgICAgICBjb25uX3N0YXRlLCAmbGltaXRzKTsKPiArCWlmIChy ZXQpCj4gKwkJcmV0dXJuIHJldDsKPiAgCj4gIAlpZiAoaW50ZWxfY29ubl9zdGF0ZS0+YnJvYWRj YXN0X3JnYiA9PSBJTlRFTF9CUk9BRENBU1RfUkdCX0FVVE8pIHsKPiAgCQkvKgo+IEBAIC05OSwy NSArMTQ3LDYgQEAgc3RhdGljIGludCBpbnRlbF9kcF9tc3RfY29tcHV0ZV9jb25maWcoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCWludGVsX2Nvbm5fc3RhdGUtPmJyb2FkY2Fz dF9yZ2IgPT0gSU5URUxfQlJPQURDQVNUX1JHQl9MSU1JVEVEOwo+ICAJfQo+ICAKPiAtCW1zdF9w Ym4gPSBkcm1fZHBfY2FsY19wYm5fbW9kZShhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2NrLCBicHAp Owo+IC0JcGlwZV9jb25maWctPnBibiA9IG1zdF9wYm47Cj4gLQo+IC0Jc2xvdHMgPSBkcm1fZHBf YXRvbWljX2ZpbmRfdmNwaV9zbG90cyhzdGF0ZSwgJmludGVsX2RwLT5tc3RfbWdyLCBwb3J0LAo+ IC0JCQkJCSAgICAgIG1zdF9wYm4pOwo+IC0JaWYgKHNsb3RzIDwgMCkgewo+IC0JCURSTV9ERUJV R19LTVMoImZhaWxlZCBmaW5kaW5nIHZjcGkgc2xvdHM6JWRcbiIsCj4gLQkJCSAgICAgIHNsb3Rz KTsKPiAtCQlyZXR1cm4gc2xvdHM7Cj4gLQl9Cj4gLQo+IC0JaW50ZWxfbGlua19jb21wdXRlX21f bihicHAsIGxhbmVfY291bnQsCj4gLQkJCSAgICAgICBhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2Nr LAo+IC0JCQkgICAgICAgcGlwZV9jb25maWctPnBvcnRfY2xvY2ssCj4gLQkJCSAgICAgICAmcGlw ZV9jb25maWctPmRwX21fbiwKPiAtCQkJICAgICAgIGNvbnN0YW50X24pOwo+IC0KPiAtCXBpcGVf Y29uZmlnLT5kcF9tX24udHUgPSBzbG90czsKPiAtCj4gIAlpZiAoSVNfR0VOOV9MUChkZXZfcHJp dikpCj4gIAkJcGlwZV9jb25maWctPmxhbmVfbGF0X29wdGltX21hc2sgPQo+ICAJCQlieHRfZGRp X3BoeV9jYWxjX2xhbmVfbGF0X29wdGltX21hc2socGlwZV9jb25maWctPmxhbmVfY291bnQpOwo+ IEBAIC00MDEsNyArNDMwLDYgQEAgaW50ZWxfZHBfbXN0X21vZGVfdmFsaWQoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nv bm5lY3RvciA9IHRvX2ludGVsX2Nvbm5lY3Rvcihjb25uZWN0b3IpOwo+ICAJc3RydWN0IGludGVs X2RwICppbnRlbF9kcCA9IGludGVsX2Nvbm5lY3Rvci0+bXN0X3BvcnQ7Cj4gIAlpbnQgbWF4X2Rv dGNsayA9IHRvX2k5MTUoY29ubmVjdG9yLT5kZXYpLT5tYXhfZG90Y2xrX2ZyZXE7Cj4gLQlpbnQg YnBwID0gMjQ7IC8qIE1TVCB1c2VzIGZpeGVkIGJwcCAqLwo+ICAJaW50IG1heF9yYXRlLCBtb2Rl X3JhdGUsIG1heF9sYW5lcywgbWF4X2xpbmtfY2xvY2s7Cj4gIAo+ICAJaWYgKGRybV9jb25uZWN0 b3JfaXNfdW5yZWdpc3RlcmVkKGNvbm5lY3RvcikpCj4gQEAgLTQxNCw3ICs0NDIsNyBAQCBpbnRl bF9kcF9tc3RfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAJ bWF4X2xhbmVzID0gaW50ZWxfZHBfbWF4X2xhbmVfY291bnQoaW50ZWxfZHApOwo+ICAKPiAgCW1h eF9yYXRlID0gaW50ZWxfZHBfbWF4X2RhdGFfcmF0ZShtYXhfbGlua19jbG9jaywgbWF4X2xhbmVz KTsKPiAtCW1vZGVfcmF0ZSA9IGludGVsX2RwX2xpbmtfcmVxdWlyZWQobW9kZS0+Y2xvY2ssIGJw cCk7Cj4gKwltb2RlX3JhdGUgPSBpbnRlbF9kcF9saW5rX3JlcXVpcmVkKG1vZGUtPmNsb2NrLCAx OCk7Cj4gIAo+ICAJLyogVE9ETyAtIHZhbGlkYXRlIG1vZGUgYWdhaW5zdCBhdmFpbGFibGUgUEJO IGZvciBsaW5rICovCj4gIAlpZiAobW9kZS0+Y2xvY2sgPCAxMDAwMCkKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAo+IGluZGV4IDQwZWJjOTRiMjE4Ny4uZmUwNWVkN2ZmNzQ5IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtMTkwNCw2ICsxOTA0LDE0IEBAIHZvaWQgaW50ZWxf Y3NyX3Vjb2RlX3N1c3BlbmQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKik7Cj4gIHZvaWQgaW50 ZWxfY3NyX3Vjb2RlX3Jlc3VtZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqKTsKPiAgCj4gIC8q IGludGVsX2RwLmMgKi8KPiArc3RydWN0IGxpbmtfY29uZmlnX2xpbWl0cyB7Cj4gKwlpbnQgbWlu X2Nsb2NrLCBtYXhfY2xvY2s7Cj4gKwlpbnQgbWluX2xhbmVfY291bnQsIG1heF9sYW5lX2NvdW50 Owo+ICsJaW50IG1pbl9icHAsIG1heF9icHA7Cj4gK307Cj4gK3ZvaWQgaW50ZWxfZHBfYWRqdXN0 X2NvbXBsaWFuY2VfY29uZmlnKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4gKwkJCQkgICAg ICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+ICsJCQkJICAgICAgIHN0 cnVjdCBsaW5rX2NvbmZpZ19saW1pdHMgKmxpbWl0cyk7Cj4gIGJvb2wgaW50ZWxfZHBfcG9ydF9l bmFibGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkJICAgaTkxNV9y ZWdfdCBkcF9yZWcsIGVudW0gcG9ydCBwb3J0LAo+ICAJCQkgICBlbnVtIHBpcGUgKnBpcGUpOwoK LS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBHcmFwaGljcyBDZW50ZXIKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4