From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 2/7] drm/i915: Always call the adjusted mode 'adjusted_mode' Date: Mon, 28 Sep 2015 10:03:31 +0200 Message-ID: <20150928080331.GN3383@phenom.ffwll.local> References: <1441708851-24646-1-git-send-email-ville.syrjala@linux.intel.com> <1441708851-24646-3-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f182.google.com (mail-wi0-f182.google.com [209.85.212.182]) by gabe.freedesktop.org (Postfix) with ESMTPS id C10B56E00F for ; Mon, 28 Sep 2015 01:00:38 -0700 (PDT) Received: by wiclk2 with SMTP id lk2so92616258wic.0 for ; Mon, 28 Sep 2015 01:00:37 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1441708851-24646-3-git-send-email-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@linux.intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBTZXAgMDgsIDIwMTUgYXQgMDE6NDA6NDVQTSArMDMwMCwgdmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20gd3JvdGU6Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbT4KPiAKPiBBbHdheXMgbmFtZSBhbnkgdmFyaWFibGUgcG9pbnRp bmcgYXQgdGhlIGFkanVzdGVkIG1vZGUgYXMKPiAnYWRqdXN0ZWFkX21vZGUnLiBUaGlzIHdpbGwg bWFrZSBpdCBtdWNoIGVhc2llciB0byBpZGVudGlmeQo+IHdoZW4gd2Ugc2hvdWxkIHVzZSB0aGUg Y3J0Y18gdGltaW5ncyBhbmQgd2hlbiB3ZSBzaG91ZGxuJ3QuCj4gCj4gQ29udmVyc2lvbiB3YXMg cGVyZm9ybWVkIHdpdGggY29jY2luZWxsZToKPiBAQAo+IGV4cHJlc3Npb24gRTsKPiBpZGVudGlm aWVyIEk7Cj4gQEAKPiAtIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpJID0gJkUuYWRqdXN0ZWRf bW9kZTsKPiArIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJkUuYWRq dXN0ZWRfbW9kZTsKPiA8Li4uCj4gLSBJCj4gKyBhZGp1c3RlZF9tb2RlCj4gLi4uPgo+IAo+IFNp Z25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5j b20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMgICB8ICA3ICsr KystLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMTIgKysrKyst LS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jICAgICB8IDEzICsrKysr Ky0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jICAgIHwgIDkgKysr LS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYyAgICB8ICAzICstLQo+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAgICAgfCAxNCArKysrKystLS0tLS0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMgICAgfCAgMyArLS0KPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgIHwgIDggKysrKy0tLS0KPiAgOCBmaWxl cyBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCAzOSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2F1ZGlvLmMKPiBpbmRleCBmNzNkZTBiLi5jZjRmNWQxIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jCj4gQEAgLTM5Niw3ICszOTYsNyBAQCB2b2lkIGludGVs X2F1ZGlvX2NvZGVjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikK PiAgewo+ICAJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyID0gJmludGVsX2VuY29kZXItPmJh c2U7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoZW5jb2Rlci0+ Y3J0Yyk7Cj4gLQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9ICZjcnRjLT5jb25maWct PmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiArCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3Rl ZF9tb2RlID0gJmNydGMtPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+ICAJc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNv ZGVyLT5kZXY7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRl dl9wcml2YXRlOwoKSSBoYXZlIGEgZHJtX3NlbGVjdF9lbGQgY2FsbCBoZXJlIGluIGJldHdlZW4g d2hpY2ggYWxzbyB1c2VzIG1vZGUgYW5kIGl0J3MKbm90IG5ldy4gSSBmaXhlZCBpdCB1cCwgYnV0 IHdoeSBpcyB0aGlzIG5vdCBzaG93aW5nIHVwIGluIHRoZQpjb2NjaS1nZW5lcmF0ZWQgcGF0Y2g/ IEFuZCB3aHkgZGlkIGl0IGNvbXBpbGUgb24geW91ciBlbmQ/Ci1EYW5pZWwKCj4gQEAgLTQxOSwx MCArNDE5LDExIEBAIHZvaWQgaW50ZWxfYXVkaW9fY29kZWNfZW5hYmxlKHN0cnVjdCBpbnRlbF9l bmNvZGVyICppbnRlbF9lbmNvZGVyKQo+ICAJaWYgKGludGVsX3BpcGVfaGFzX3R5cGUoY3J0Yywg SU5URUxfT1VUUFVUX0RJU1BMQVlQT1JUKSkKPiAgCQljb25uZWN0b3ItPmVsZFs1XSB8PSAoMSA8 PCAyKTsKPiAgCj4gLQljb25uZWN0b3ItPmVsZFs2XSA9IGRybV9hdl9zeW5jX2RlbGF5KGNvbm5l Y3RvciwgbW9kZSkgLyAyOwo+ICsJY29ubmVjdG9yLT5lbGRbNl0gPSBkcm1fYXZfc3luY19kZWxh eShjb25uZWN0b3IsIGFkanVzdGVkX21vZGUpIC8gMjsKPiAgCj4gIAlpZiAoZGV2X3ByaXYtPmRp c3BsYXkuYXVkaW9fY29kZWNfZW5hYmxlKQo+IC0JCWRldl9wcml2LT5kaXNwbGF5LmF1ZGlvX2Nv ZGVjX2VuYWJsZShjb25uZWN0b3IsIGludGVsX2VuY29kZXIsIG1vZGUpOwo+ICsJCWRldl9wcml2 LT5kaXNwbGF5LmF1ZGlvX2NvZGVjX2VuYWJsZShjb25uZWN0b3IsIGludGVsX2VuY29kZXIsCj4g KwkJCQkJCSAgICAgYWRqdXN0ZWRfbW9kZSk7Cj4gIAo+ICAJaWYgKGFjb21wICYmIGFjb21wLT5h dWRpb19vcHMgJiYgYWNvbXAtPmF1ZGlvX29wcy0+cGluX2VsZF9ub3RpZnkpCj4gIAkJYWNvbXAt PmF1ZGlvX29wcy0+cGluX2VsZF9ub3RpZnkoYWNvbXAtPmF1ZGlvX29wcy0+YXVkaW9fcHRyLCAo aW50KSBwb3J0KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXggZTYy OWExYi4uYjhiNzU0MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBA QCAtNDM0OCw4ICs0MzQ4LDcgQEAgc2tsX3VwZGF0ZV9zY2FsZXIoc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsIGJvb2wgZm9yY2VfZGV0YWNoLAo+ICBpbnQgc2tsX3VwZGF0ZV9z Y2FsZXJfY3J0YyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqc3RhdGUpCj4gIHsKPiAgCXN0cnVj dCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhzdGF0ZS0+YmFzZS5jcnRj KTsKPiAtCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KPiAtCQkmc3Rh dGUtPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiArCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1 c3RlZF9tb2RlID0gJnN0YXRlLT5iYXNlLmFkanVzdGVkX21vZGU7Cj4gIAo+ICAJRFJNX0RFQlVH X0tNUygiVXBkYXRpbmcgc2NhbGVyIGZvciBbQ1JUQzolaV0gc2NhbGVyX3VzZXIgaW5kZXggJXUu JXVcbiIsCj4gIAkJICAgICAgaW50ZWxfY3J0Yy0+YmFzZS5iYXNlLmlkLCBpbnRlbF9jcnRjLT5w aXBlLCBTS0xfQ1JUQ19JTkRFWCk7Cj4gQEAgLTc1NzUsOCArNzU3NCw3IEBAIHN0YXRpYyB2b2lk IGludGVsX3NldF9waXBlX3RpbWluZ3Moc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMpCj4g IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ ICAJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwo+ICAJZW51bSB0cmFuc2NvZGVy IGNwdV90cmFuc2NvZGVyID0gaW50ZWxfY3J0Yy0+Y29uZmlnLT5jcHVfdHJhbnNjb2RlcjsKPiAt CXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KPiAtCQkmaW50ZWxfY3J0 Yy0+Y29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7Cj4gKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqYWRqdXN0ZWRfbW9kZSA9ICZpbnRlbF9jcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9k ZTsKPiAgCXVpbnQzMl90IGNydGNfdnRvdGFsLCBjcnRjX3ZibGFua19lbmQ7Cj4gIAlpbnQgdnN5 bmNzaGlmdCA9IDA7Cj4gIAo+IEBAIC0xMjc2NywxMSArMTI3NjUsMTEgQEAgc3RhdGljIHZvaWQg dXBkYXRlX3NjYW5saW5lX29mZnNldChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgCSAqIG9u ZSB0byB0aGUgdmFsdWUuCj4gIAkgKi8KPiAgCWlmIChJU19HRU4yKGRldikpIHsKPiAtCQljb25z dCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9ICZjcnRjLT5jb25maWctPmJhc2UuYWRq dXN0ZWRfbW9kZTsKPiArCQljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRf bW9kZSA9ICZjcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiAgCQlpbnQgdnRvdGFs Owo+ICAKPiAtCQl2dG90YWwgPSBtb2RlLT5jcnRjX3Z0b3RhbDsKPiAtCQlpZiAobW9kZS0+Zmxh Z3MgJiBEUk1fTU9ERV9GTEFHX0lOVEVSTEFDRSkKPiArCQl2dG90YWwgPSBhZGp1c3RlZF9tb2Rl LT5jcnRjX3Z0b3RhbDsKPiArCQlpZiAoYWRqdXN0ZWRfbW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9G TEFHX0lOVEVSTEFDRSkKPiAgCQkJdnRvdGFsIC89IDI7Cj4gIAo+ICAJCWNydGMtPnNjYW5saW5l X29mZnNldCA9IHZ0b3RhbCAtIDE7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RzaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKPiBpbmRleCA3 ODFjMjY3Li4wYzI2YmE1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RzaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKPiBAQCAtNzU5 LDggKzc1OSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RzaV9wcmVwYXJlKHN0cnVjdCBpbnRlbF9l bmNvZGVyICppbnRlbF9lbmNvZGVyKQo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRj ID0gdG9faW50ZWxfY3J0YyhlbmNvZGVyLT5jcnRjKTsKPiAgCXN0cnVjdCBpbnRlbF9kc2kgKmlu dGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koZW5jb2Rlcik7Cj4gLQlzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9Cj4gLQkJJmludGVsX2NydGMtPmNvbmZpZy0+YmFzZS5h ZGp1c3RlZF9tb2RlOwo+ICsJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUg PSAmaW50ZWxfY3J0Yy0+Y29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7Cj4gIAllbnVtIHBvcnQg cG9ydDsKPiAgCXVuc2lnbmVkIGludCBicHAgPSBpbnRlbF9jcnRjLT5jb25maWctPnBpcGVfYnBw Owo+ICAJdTMyIHZhbCwgdG1wOwo+IEBAIC04NDIsMTQgKzg0MSwxNCBAQCBzdGF0aWMgdm9pZCBp bnRlbF9kc2lfcHJlcGFyZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKPiAg CQkJaW50ZWxfZHNpLT52aWRlb19tb2RlX2Zvcm1hdCA9PSBWSURFT19NT0RFX0JVUlNUKSB7Cj4g IAkJCUk5MTVfV1JJVEUoTUlQSV9IU19UWF9USU1FT1VUKHBvcnQpLAo+ICAJCQkJdHhieXRlY2xr aHMoYWRqdXN0ZWRfbW9kZS0+aHRvdGFsLCBicHAsCj4gLQkJCQkJaW50ZWxfZHNpLT5sYW5lX2Nv dW50LAo+IC0JCQkJCWludGVsX2RzaS0+YnVyc3RfbW9kZV9yYXRpbykgKyAxKTsKPiArCQkJCQkg ICAgaW50ZWxfZHNpLT5sYW5lX2NvdW50LAo+ICsJCQkJCSAgICBpbnRlbF9kc2ktPmJ1cnN0X21v ZGVfcmF0aW8pICsgMSk7Cj4gIAkJfSBlbHNlIHsKPiAgCQkJSTkxNV9XUklURShNSVBJX0hTX1RY X1RJTUVPVVQocG9ydCksCj4gIAkJCQl0eGJ5dGVjbGtocyhhZGp1c3RlZF9tb2RlLT52dG90YWwg Kgo+IC0JCQkJCWFkanVzdGVkX21vZGUtPmh0b3RhbCwKPiAtCQkJCQlicHAsIGludGVsX2RzaS0+ bGFuZV9jb3VudCwKPiAtCQkJCQlpbnRlbF9kc2ktPmJ1cnN0X21vZGVfcmF0aW8pICsgMSk7Cj4g KwkJCQkJICAgIGFkanVzdGVkX21vZGUtPmh0b3RhbCwKPiArCQkJCQkgICAgYnBwLCBpbnRlbF9k c2ktPmxhbmVfY291bnQsCj4gKwkJCQkJICAgIGludGVsX2RzaS0+YnVyc3RfbW9kZV9yYXRpbykg KyAxKTsKPiAgCQl9Cj4gIAkJSTkxNV9XUklURShNSVBJX0xQX1JYX1RJTUVPVVQocG9ydCksIGlu dGVsX2RzaS0+bHBfcnhfdGltZW91dCk7Cj4gIAkJSTkxNV9XUklURShNSVBJX1RVUk5fQVJPVU5E X1RJTUVPVVQocG9ydCksCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+IGluZGV4IGZlYjMx ZDguLjBiMjU2YzkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRt aS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gQEAgLTE1MjMs OCArMTUyMyw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2hkbWlfcHJlX2VuYWJsZShzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlcikKPiAgewo+ICAJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hk bWkgPSBlbmNfdG9faW50ZWxfaGRtaSgmZW5jb2Rlci0+YmFzZSk7Cj4gIAlzdHJ1Y3QgaW50ZWxf Y3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoZW5jb2Rlci0+YmFzZS5jcnRjKTsKPiAt CXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KPiAtCQkmaW50ZWxfY3J0 Yy0+Y29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7Cj4gKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqYWRqdXN0ZWRfbW9kZSA9ICZpbnRlbF9jcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9k ZTsKPiAgCj4gIAlpbnRlbF9oZG1pX3ByZXBhcmUoZW5jb2Rlcik7Cj4gIAo+IEBAIC0xNTQxLDgg KzE1NDAsNyBAQCBzdGF0aWMgdm9pZCB2bHZfaGRtaV9wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyKQo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g ZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0KPiAg CQl0b19pbnRlbF9jcnRjKGVuY29kZXItPmJhc2UuY3J0Yyk7Cj4gLQlzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9Cj4gLQkJJmludGVsX2NydGMtPmNvbmZpZy0+YmFzZS5h ZGp1c3RlZF9tb2RlOwo+ICsJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUg PSAmaW50ZWxfY3J0Yy0+Y29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7Cj4gIAllbnVtIGRwaW9f Y2hhbm5lbCBwb3J0ID0gdmx2X2Rwb3J0X3RvX2NoYW5uZWwoZHBvcnQpOwo+ICAJaW50IHBpcGUg PSBpbnRlbF9jcnRjLT5waXBlOwo+ICAJdTMyIHZhbDsKPiBAQCAtMTgwOCw4ICsxODA2LDcgQEAg c3RhdGljIHZvaWQgY2h2X2hkbWlfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlcikKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3By aXZhdGU7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9Cj4gIAkJdG9faW50ZWxf Y3J0YyhlbmNvZGVyLT5iYXNlLmNydGMpOwo+IC0Jc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFk anVzdGVkX21vZGUgPQo+IC0JCSZpbnRlbF9jcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9k ZTsKPiArCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJmludGVsX2Ny dGMtPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+ICAJZW51bSBkcGlvX2NoYW5uZWwgY2gg PSB2bHZfZHBvcnRfdG9fY2hhbm5lbChkcG9ydCk7Cj4gIAlpbnQgcGlwZSA9IGludGVsX2NydGMt PnBpcGU7Cj4gIAlpbnQgZGF0YSwgaSwgc3RhZ2dlcjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZk cy5jCj4gaW5kZXggMmMyZDFmMC4uNWU3MGFjZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9sdmRzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s dmRzLmMKPiBAQCAtMTM5LDggKzEzOSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3ByZV9lbmFibGVf bHZkcyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiAgCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9 IHRvX2ludGVsX2NydGMoZW5jb2Rlci0+YmFzZS5jcnRjKTsKPiAtCWNvbnN0IHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KPiAtCQkmY3J0Yy0+Y29uZmlnLT5iYXNlLmFk anVzdGVkX21vZGU7Cj4gKwljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRf bW9kZSA9ICZjcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiAgCWludCBwaXBlID0g Y3J0Yy0+cGlwZTsKPiAgCXUzMiB0ZW1wOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiBp bmRleCA2NGJjNzdlLi43YWE5YTRlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gQEAg LTE1MDAsOCArMTUwMCw3IEBAIHN0YXRpYyB2b2lkIGk5NjVfdXBkYXRlX3dtKHN0cnVjdCBkcm1f Y3J0YyAqdW51c2VkX2NydGMpCj4gIAlpZiAoY3J0Yykgewo+ICAJCS8qIHNlbGYtcmVmcmVzaCBo YXMgbXVjaCBoaWdoZXIgbGF0ZW5jeSAqLwo+ICAJCXN0YXRpYyBjb25zdCBpbnQgc3JfbGF0ZW5j eV9ucyA9IDEyMDAwOwo+IC0JCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3Rl ZF9tb2RlID0KPiAtCQkJJnRvX2ludGVsX2NydGMoY3J0YyktPmNvbmZpZy0+YmFzZS5hZGp1c3Rl ZF9tb2RlOwo+ICsJCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2Rl ID0gJnRvX2ludGVsX2NydGMoY3J0YyktPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+ICAJ CWludCBjbG9jayA9IGFkanVzdGVkX21vZGUtPmNydGNfY2xvY2s7Cj4gIAkJaW50IGh0b3RhbCA9 IGFkanVzdGVkX21vZGUtPmNydGNfaHRvdGFsOwo+ICAJCWludCBoZGlzcGxheSA9IHRvX2ludGVs X2NydGMoY3J0YyktPmNvbmZpZy0+cGlwZV9zcmNfdzsKPiBAQCAtMTY0OCw4ICsxNjQ3LDcgQEAg c3RhdGljIHZvaWQgaTl4eF91cGRhdGVfd20oc3RydWN0IGRybV9jcnRjICp1bnVzZWRfY3J0YykK PiAgCWlmIChIQVNfRldfQkxDKGRldikgJiYgZW5hYmxlZCkgewo+ICAJCS8qIHNlbGYtcmVmcmVz aCBoYXMgbXVjaCBoaWdoZXIgbGF0ZW5jeSAqLwo+ICAJCXN0YXRpYyBjb25zdCBpbnQgc3JfbGF0 ZW5jeV9ucyA9IDYwMDA7Cj4gLQkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVz dGVkX21vZGUgPQo+IC0JCQkmdG9faW50ZWxfY3J0YyhlbmFibGVkKS0+Y29uZmlnLT5iYXNlLmFk anVzdGVkX21vZGU7Cj4gKwkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVk X21vZGUgPSAmdG9faW50ZWxfY3J0YyhlbmFibGVkKS0+Y29uZmlnLT5iYXNlLmFkanVzdGVkX21v ZGU7Cj4gIAkJaW50IGNsb2NrID0gYWRqdXN0ZWRfbW9kZS0+Y3J0Y19jbG9jazsKPiAgCQlpbnQg aHRvdGFsID0gYWRqdXN0ZWRfbW9kZS0+Y3J0Y19odG90YWw7Cj4gIAkJaW50IGhkaXNwbGF5ID0g dG9faW50ZWxfY3J0YyhlbmFibGVkKS0+Y29uZmlnLT5waXBlX3NyY193Owo+IEBAIC0yMDg2LDcg KzIwODQsNyBAQCBoc3dfY29tcHV0ZV9saW5ldGltZV93bShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gLQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqbW9kZSA9ICZpbnRlbF9jcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiArCXN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJmludGVsX2NydGMtPmNvbmZp Zy0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+ICAJdTMyIGxpbmV0aW1lLCBpcHNfbGluZXRpbWU7Cj4g IAo+ICAJaWYgKCFpbnRlbF9jcnRjLT5hY3RpdmUpCj4gQEAgLTIwOTUsOSArMjA5Myw5IEBAIGhz d19jb21wdXRlX2xpbmV0aW1lX3dtKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1f Y3J0YyAqY3J0YykKPiAgCS8qIFRoZSBXTSBhcmUgY29tcHV0ZWQgd2l0aCBiYXNlIG9uIGhvdyBs b25nIGl0IHRha2VzIHRvIGZpbGwgYSBzaW5nbGUKPiAgCSAqIHJvdyBhdCB0aGUgZ2l2ZW4gY2xv Y2sgcmF0ZSwgbXVsdGlwbGllZCBieSA4Lgo+ICAJICogKi8KPiAtCWxpbmV0aW1lID0gRElWX1JP VU5EX0NMT1NFU1QobW9kZS0+Y3J0Y19odG90YWwgKiAxMDAwICogOCwKPiAtCQkJCSAgICAgbW9k ZS0+Y3J0Y19jbG9jayk7Cj4gLQlpcHNfbGluZXRpbWUgPSBESVZfUk9VTkRfQ0xPU0VTVChtb2Rl LT5jcnRjX2h0b3RhbCAqIDEwMDAgKiA4LAo+ICsJbGluZXRpbWUgPSBESVZfUk9VTkRfQ0xPU0VT VChhZGp1c3RlZF9tb2RlLT5jcnRjX2h0b3RhbCAqIDEwMDAgKiA4LAo+ICsJCQkJICAgICBhZGp1 c3RlZF9tb2RlLT5jcnRjX2Nsb2NrKTsKPiArCWlwc19saW5ldGltZSA9IERJVl9ST1VORF9DTE9T RVNUKGFkanVzdGVkX21vZGUtPmNydGNfaHRvdGFsICogMTAwMCAqIDgsCj4gIAkJCQkJIGRldl9w cml2LT5jZGNsa19mcmVxKTsKPiAgCj4gIAlyZXR1cm4gUElQRV9XTV9MSU5FVElNRV9JUFNfTElO RVRJTUUoaXBzX2xpbmV0aW1lKSB8Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3Nkdm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYwo+IGluZGV4 IGNhM2RkN2MuLjNhNzBjMmYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfc2R2by5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jCj4gQEAg LTExODksOCArMTE4OSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3Nkdm9fcHJlX2VuYWJsZShzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBpbnRlbF9lbmNvZGVyLT5iYXNlLmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMoaW50ZWxfZW5jb2Rlci0+YmFzZS5jcnRjKTsKPiAtCXN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KPiAtCQkmY3J0Yy0+Y29uZmlnLT5iYXNl LmFkanVzdGVkX21vZGU7Cj4gKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9k ZSA9ICZjcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiAgCXN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICptb2RlID0gJmNydGMtPmNvbmZpZy0+YmFzZS5tb2RlOwo+ICAJc3RydWN0IGlu dGVsX3Nkdm8gKmludGVsX3Nkdm8gPSB0b19zZHZvKGludGVsX2VuY29kZXIpOwo+ICAJdTMyIHNk dm94Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gaW5kZXggY2E3ZTI2NC4uYTVl NTk5YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gQEAgLTc5LDE5ICs3 OSwxOSBAQCBzdGF0aWMgaW50IHVzZWNzX3RvX3NjYW5saW5lcyhjb25zdCBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSwgaW50IHVzZWNzKQo+ICB2b2lkIGludGVsX3BpcGVfdXBkYXRlX3N0 YXJ0KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gY3J0Yy0+YmFzZS5kZXY7Cj4gLQljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq bW9kZSA9ICZjcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiArCWNvbnN0IHN0cnVj dCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJmNydGMtPmNvbmZpZy0+YmFzZS5h ZGp1c3RlZF9tb2RlOwo+ICAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOwo+ICAJbG9uZyB0 aW1lb3V0ID0gbXNlY3NfdG9famlmZmllc190aW1lb3V0KDEpOwo+ICAJaW50IHNjYW5saW5lLCBt aW4sIG1heCwgdmJsYW5rX3N0YXJ0Owo+ICAJd2FpdF9xdWV1ZV9oZWFkX3QgKndxID0gZHJtX2Ny dGNfdmJsYW5rX3dhaXRxdWV1ZSgmY3J0Yy0+YmFzZSk7Cj4gIAlERUZJTkVfV0FJVCh3YWl0KTsK PiAgCj4gLQl2Ymxhbmtfc3RhcnQgPSBtb2RlLT5jcnRjX3ZibGFua19zdGFydDsKPiAtCWlmICht b2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfSU5URVJMQUNFKQo+ICsJdmJsYW5rX3N0YXJ0ID0g YWRqdXN0ZWRfbW9kZS0+Y3J0Y192Ymxhbmtfc3RhcnQ7Cj4gKwlpZiAoYWRqdXN0ZWRfbW9kZS0+ ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0lOVEVSTEFDRSkKPiAgCQl2Ymxhbmtfc3RhcnQgPSBESVZf Uk9VTkRfVVAodmJsYW5rX3N0YXJ0LCAyKTsKPiAgCj4gIAkvKiBGSVhNRSBuZWVkcyB0byBiZSBj YWxpYnJhdGVkIHNlbnNpYmx5ICovCj4gLQltaW4gPSB2Ymxhbmtfc3RhcnQgLSB1c2Vjc190b19z Y2FubGluZXMobW9kZSwgMTAwKTsKPiArCW1pbiA9IHZibGFua19zdGFydCAtIHVzZWNzX3RvX3Nj YW5saW5lcyhhZGp1c3RlZF9tb2RlLCAxMDApOwo+ICAJbWF4ID0gdmJsYW5rX3N0YXJ0IC0gMTsK PiAgCj4gIAlsb2NhbF9pcnFfZGlzYWJsZSgpOwo+IC0tIAo+IDIuNC42Cj4gCj4gX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGlu ZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApEYW5pZWwgVmV0 dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZnds bC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=