From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 15/23] drm: Stop updating plane->crtc/fb/old_fb on atomic drivers Date: Tue, 27 Mar 2018 09:57:41 +0200 Message-ID: <20180327075741.GL14155@phenom.ffwll.local> References: <20180322152313.6561-1-ville.syrjala@linux.intel.com> <20180322152313.6561-16-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20180322152313.6561-16-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 Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBNYXIgMjIsIDIwMTggYXQgMDU6MjM6MDVQTSArMDIwMCwgVmlsbGUgU3lyamFsYSB3 cm90ZToKPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+IAo+IFN0b3AgcGxheWluZyBhcm91bmQgd2l0aCBwbGFuZS0+Y3J0Yy9mYi9vbGRfZmIg d2l0aCBhdG9taWMKPiBkcml2ZXJzLiBNYWtlIGxpZmUgYSBsb3Qgc2ltcGxlciB3aGVuIHdlIGRv bid0IGhhdmUgdG8gZG8gdGhlCj4gbWFnaWMgb2xkX2ZiIHZzLiBmYiBkYW5jZSBhcm91bmQgcGxh bmUgdXBkYXRlcy4gVGhhdCB3YXkgd2UKPiBjYW4ndCByaXNrIHBsYW5lLT5mYiBnZXR0aW5nIG91 dCBvZiBzeW5jIHdpdGggcGxhbmUtPnN0YXRlLT5mYgo+IGFuZCB3ZSdyZSBsZXNzIGxpa2VseSB0 byBsZWFrIGFueSByZWZjb3VudHMgYXMgd2VsbC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBT eXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgoKV2hhdCdzIHRoZSByZWFz b24gZm9yIHRoaXMgcGF0Y2ggYmVpbmcgaW4gdGhlIG1pZGRsZSBvZiB0aGUgcGF0Y2ggc2VyaWVz PwpJIGZpZ3VyZWQgaXQncyBzYXZlc3QgaWYgd2UgcHV0IHRoaXMgYXQgdGhlIGVuZD8gSWYgeW91 IG5lZWQgcGFydHMgb2YgdGhpcwpoZXJlLCB3ZSBkZWZpbml0ZWx5IG5lZWQgdG8gc3BsaXQgb3V0 IHRoZSBXQVJOX09OIGh1bmssIHNpbmNlIHlvdSBoYXZlbid0CmZpeGVkIHVwIGV2ZXJ5dGhpbmcg eWV0IGF0IHRoaXMgcG9pbnQgaGVyZS4KLURhbmllbAoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWMuYyAgICAgICAgfCA1NSArKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIHwgMTUgKy0tLS0t LS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYyAgICAgICAgICB8ICA4ICsrKystLQo+ ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jICAgICB8ICA3IC0tLS0tCj4gIGRyaXZl cnMvZ3B1L2RybS9kcm1fZnJhbWVidWZmZXIuYyAgIHwgIDUgLS0tLQo+ICBkcml2ZXJzL2dwdS9k cm0vZHJtX3BsYW5lLmMgICAgICAgICB8IDE0ICsrKysrKy0tLS0KPiAgZHJpdmVycy9ncHUvZHJt L2RybV9wbGFuZV9oZWxwZXIuYyAgfCAgNCArKy0KPiAgaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5o ICAgICAgICAgICAgfCAgMyAtLQo+ICA4IGZpbGVzIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyks IDg3IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+IGluZGV4IDdkMjVjNDJmMjJk Yi4uYjE2Y2MzN2UyYWRmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWlj LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gQEAgLTY5Miw2ICs2OTIs MTEgQEAgZHJtX2F0b21pY19nZXRfcGxhbmVfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YXRlLAo+ICAKPiAgCVdBUk5fT04oIXN0YXRlLT5hY3F1aXJlX2N0eCk7Cj4gIAo+ICsJLyog dGhlIGxlZ2FjeSBwb2ludGVycyBzaG91bGQgbmV2ZXIgYmUgc2V0ICovCj4gKwlXQVJOX09OKHBs YW5lLT5mYik7Cj4gKwlXQVJOX09OKHBsYW5lLT5vbGRfZmIpOwo+ICsJV0FSTl9PTihwbGFuZS0+ Y3J0Yyk7Cj4gKwo+ICAJcGxhbmVfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9leGlzdGluZ19wbGFu ZV9zdGF0ZShzdGF0ZSwgcGxhbmUpOwo+ICAJaWYgKHBsYW5lX3N0YXRlKQo+ICAJCXJldHVybiBw bGFuZV9zdGF0ZTsKPiBAQCAtMjAyMSw0NSArMjAyNiw2IEBAIGludCBkcm1fYXRvbWljX3NldF9w cm9wZXJ0eShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gIAlyZXR1cm4gcmV0Owo+ ICB9Cj4gIAo+IC0vKioKPiAtICogZHJtX2F0b21pY19jbGVhbl9vbGRfZmIgLS0gVW5zZXQgb2xk X2ZiIHBvaW50ZXJzIGFuZCBzZXQgcGxhbmUtPmZiIHBvaW50ZXJzLgo+IC0gKgo+IC0gKiBAZGV2 OiBkcm0gZGV2aWNlIHRvIGNoZWNrLgo+IC0gKiBAcGxhbmVfbWFzazogcGxhbmUgbWFzayBmb3Ig cGxhbmVzIHRoYXQgd2VyZSB1cGRhdGVkLgo+IC0gKiBAcmV0OiByZXR1cm4gdmFsdWUsIGNhbiBi ZSAtRURFQURMSyBmb3IgYSByZXRyeS4KPiAtICoKPiAtICogQmVmb3JlIGRvaW5nIGFuIHVwZGF0 ZSAmZHJtX3BsYW5lLm9sZF9mYiBpcyBzZXQgdG8gJmRybV9wbGFuZS5mYiwgYnV0IGJlZm9yZQo+ IC0gKiBkcm9wcGluZyB0aGUgbG9ja3Mgb2xkX2ZiIG5lZWRzIHRvIGJlIHNldCB0byBOVUxMIGFu ZCBwbGFuZS0+ZmIgdXBkYXRlZC4gVGhpcwo+IC0gKiBpcyBhIGNvbW1vbiBvcGVyYXRpb24gZm9y IGVhY2ggYXRvbWljIHVwZGF0ZSwgc28gdGhpcyBjYWxsIGlzIHNwbGl0IG9mZiBhcyBhCj4gLSAq IGhlbHBlci4KPiAtICovCj4gLXZvaWQgZHJtX2F0b21pY19jbGVhbl9vbGRfZmIoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKPiAtCQkJICAgICB1bnNpZ25lZCBwbGFuZV9tYXNrLAo+IC0JCQkgICAg IGludCByZXQpCj4gLXsKPiAtCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lOwo+IC0KPiAtCS8qIGlm IHN1Y2NlZWRlZCwgZml4dXAgbGVnYWN5IHBsYW5lIGNydGMvZmIgcHRycyBiZWZvcmUgZHJvcHBp bmcKPiAtCSAqIGxvY2tzIChpZS4gd2hpbGUgaXQgaXMgc3RpbGwgc2FmZSB0byBkZXJlZiBwbGFu ZS0+c3RhdGUpLiAgV2UKPiAtCSAqIG5lZWQgdG8gZG8gdGhpcyBoZXJlIGJlY2F1c2UgdGhlIGRy aXZlciBlbnRyeSBwb2ludHMgY2Fubm90Cj4gLQkgKiBkaXN0aW5ndWlzaCBiZXR3ZWVuIGxlZ2Fj eSBhbmQgYXRvbWljIGlvY3Rscy4KPiAtCSAqLwo+IC0JZHJtX2Zvcl9lYWNoX3BsYW5lX21hc2so cGxhbmUsIGRldiwgcGxhbmVfbWFzaykgewo+IC0JCWlmIChyZXQgPT0gMCkgewo+IC0JCQlzdHJ1 Y3QgZHJtX2ZyYW1lYnVmZmVyICpuZXdfZmIgPSBwbGFuZS0+c3RhdGUtPmZiOwo+IC0JCQlpZiAo bmV3X2ZiKQo+IC0JCQkJZHJtX2ZyYW1lYnVmZmVyX2dldChuZXdfZmIpOwo+IC0JCQlwbGFuZS0+ ZmIgPSBuZXdfZmI7Cj4gLQkJCXBsYW5lLT5jcnRjID0gcGxhbmUtPnN0YXRlLT5jcnRjOwo+IC0K PiAtCQkJaWYgKHBsYW5lLT5vbGRfZmIpCj4gLQkJCQlkcm1fZnJhbWVidWZmZXJfcHV0KHBsYW5l LT5vbGRfZmIpOwo+IC0JCX0KPiAtCQlwbGFuZS0+b2xkX2ZiID0gTlVMTDsKPiAtCX0KPiAtfQo+ IC1FWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfY2xlYW5fb2xkX2ZiKTsKPiAtCj4gIC8qKgo+ICAg KiBET0M6IGV4cGxpY2l0IGZlbmNpbmcgcHJvcGVydGllcwo+ICAgKgo+IEBAIC0yMjgwLDkgKzIy NDYsNyBAQCBpbnQgZHJtX21vZGVfYXRvbWljX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs Cj4gIAl1bnNpZ25lZCBpbnQgY29waWVkX29ianMsIGNvcGllZF9wcm9wczsKPiAgCXN0cnVjdCBk cm1fYXRvbWljX3N0YXRlICpzdGF0ZTsKPiAgCXN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0 eCBjdHg7Cj4gLQlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKPiAgCXN0cnVjdCBkcm1fb3V0X2Zl bmNlX3N0YXRlICpmZW5jZV9zdGF0ZTsKPiAtCXVuc2lnbmVkIHBsYW5lX21hc2s7Cj4gIAlpbnQg cmV0ID0gMDsKPiAgCXVuc2lnbmVkIGludCBpLCBqLCBudW1fZmVuY2VzOwo+ICAKPiBAQCAtMjMy Miw3ICsyMjg2LDYgQEAgaW50IGRybV9tb2RlX2F0b21pY19pb2N0bChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAo+ICAJc3RhdGUtPmFsbG93X21vZGVzZXQgPSAhIShhcmctPmZsYWdzICYgRFJNX01P REVfQVRPTUlDX0FMTE9XX01PREVTRVQpOwo+ICAKPiAgcmV0cnk6Cj4gLQlwbGFuZV9tYXNrID0g MDsKPiAgCWNvcGllZF9vYmpzID0gMDsKPiAgCWNvcGllZF9wcm9wcyA9IDA7Cj4gIAlmZW5jZV9z dGF0ZSA9IE5VTEw7Cj4gQEAgLTIzOTMsMTIgKzIzNTYsNiBAQCBpbnQgZHJtX21vZGVfYXRvbWlj X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJCWNvcGllZF9wcm9wcysrOwo+ICAJ CX0KPiAgCj4gLQkJaWYgKG9iai0+dHlwZSA9PSBEUk1fTU9ERV9PQkpFQ1RfUExBTkUgJiYgY291 bnRfcHJvcHMgJiYKPiAtCQkgICAgIShhcmctPmZsYWdzICYgRFJNX01PREVfQVRPTUlDX1RFU1Rf T05MWSkpIHsKPiAtCQkJcGxhbmUgPSBvYmpfdG9fcGxhbmUob2JqKTsKPiAtCQkJcGxhbmVfbWFz ayB8PSAoMSA8PCBkcm1fcGxhbmVfaW5kZXgocGxhbmUpKTsKPiAtCQkJcGxhbmUtPm9sZF9mYiA9 IHBsYW5lLT5mYjsKPiAtCQl9Cj4gIAkJZHJtX21vZGVfb2JqZWN0X3B1dChvYmopOwo+ICAJfQo+ ICAKPiBAQCAtMjQxOSw4ICsyMzc2LDYgQEAgaW50IGRybV9tb2RlX2F0b21pY19pb2N0bChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJfQo+ICAKPiAgb3V0Ogo+IC0JZHJtX2F0b21pY19jbGVh bl9vbGRfZmIoZGV2LCBwbGFuZV9tYXNrLCByZXQpOwo+IC0KPiAgCWNvbXBsZXRlX2NydGNfc2ln bmFsaW5nKGRldiwgc3RhdGUsIGZlbmNlX3N0YXRlLCBudW1fZmVuY2VzLCAhcmV0KTsKPiAgCj4g IAlpZiAocmV0ID09IC1FREVBRExLKSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMK PiBpbmRleCAwZTgwNmYwNzBkMDAuLmQ0MmQ4OGI5NzM5NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX2hlbHBlci5jCj4gQEAgLTI4OTIsNyArMjg5Miw2IEBAIHN0YXRpYyBpbnQgX19kcm1f YXRvbWljX2hlbHBlcl9kaXNhYmxlX2FsbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmU7Cj4gIAlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3Rh dGU7Cj4gIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4gLQl1bnNpZ25lZCBpbnQgcGxhbmVfbWFz ayA9IDA7Cj4gIAlpbnQgcmV0LCBpOwo+ICAKPiAgCXN0YXRlID0gZHJtX2F0b21pY19zdGF0ZV9h bGxvYyhkZXYpOwo+IEBAIC0yOTM1LDE3ICsyOTM0LDEwIEBAIHN0YXRpYyBpbnQgX19kcm1fYXRv bWljX2hlbHBlcl9kaXNhYmxlX2FsbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJCQlnb3Rv IGZyZWU7Cj4gIAo+ICAJCWRybV9hdG9taWNfc2V0X2ZiX2Zvcl9wbGFuZShwbGFuZV9zdGF0ZSwg TlVMTCk7Cj4gLQo+IC0JCWlmIChjbGVhbl9vbGRfZmJzKSB7Cj4gLQkJCXBsYW5lLT5vbGRfZmIg PSBwbGFuZS0+ZmI7Cj4gLQkJCXBsYW5lX21hc2sgfD0gQklUKGRybV9wbGFuZV9pbmRleChwbGFu ZSkpOwo+IC0JCX0KPiAgCX0KPiAgCj4gIAlyZXQgPSBkcm1fYXRvbWljX2NvbW1pdChzdGF0ZSk7 Cj4gIGZyZWU6Cj4gLQlkcm1fYXRvbWljX2NsZWFuX29sZF9mYihkZXYsIHBsYW5lX21hc2ssIHJl dCk7Cj4gLQo+ICAJZHJtX2F0b21pY19zdGF0ZV9wdXQoc3RhdGUpOwo+ICAJcmV0dXJuIHJldDsK PiAgfQo+IEBAIC0zMTA2LDEzICszMDk4LDggQEAgaW50IGRybV9hdG9taWNfaGVscGVyX2NvbW1p dF9kdXBsaWNhdGVkX3N0YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiAgCj4g IAlzdGF0ZS0+YWNxdWlyZV9jdHggPSBjdHg7Cj4gIAo+IC0JZm9yX2VhY2hfbmV3X3BsYW5lX2lu X3N0YXRlKHN0YXRlLCBwbGFuZSwgbmV3X3BsYW5lX3N0YXRlLCBpKSB7Cj4gLQkJV0FSTl9PTihw bGFuZS0+Y3J0YyAhPSBuZXdfcGxhbmVfc3RhdGUtPmNydGMpOwo+IC0JCVdBUk5fT04ocGxhbmUt PmZiICE9IG5ld19wbGFuZV9zdGF0ZS0+ZmIpOwo+IC0JCVdBUk5fT04ocGxhbmUtPm9sZF9mYik7 Cj4gLQo+ICsJZm9yX2VhY2hfbmV3X3BsYW5lX2luX3N0YXRlKHN0YXRlLCBwbGFuZSwgbmV3X3Bs YW5lX3N0YXRlLCBpKQo+ICAJCXN0YXRlLT5wbGFuZXNbaV0ub2xkX3N0YXRlID0gcGxhbmUtPnN0 YXRlOwo+IC0JfQo+ICAKPiAgCWZvcl9lYWNoX25ld19jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRj LCBuZXdfY3J0Y19zdGF0ZSwgaSkKPiAgCQlzdGF0ZS0+Y3J0Y3NbaV0ub2xkX3N0YXRlID0gY3J0 Yy0+c3RhdGU7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jIGIvZHJp dmVycy9ncHUvZHJtL2RybV9jcnRjLmMKPiBpbmRleCBhMjMxZGQ1ZGNlMTYuLjRlM2MxYThkMTE4 YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fY3J0Yy5jCj4gQEAgLTQ3NCw4ICs0NzQsMTIgQEAgc3RhdGljIGludCBf X2RybV9tb2RlX3NldF9jb25maWdfaW50ZXJuYWwoc3RydWN0IGRybV9tb2RlX3NldCAqc2V0LAo+ ICAKPiAgCXJldCA9IGNydGMtPmZ1bmNzLT5zZXRfY29uZmlnKHNldCwgY3R4KTsKPiAgCWlmIChy ZXQgPT0gMCkgewo+IC0JCWNydGMtPnByaW1hcnktPmNydGMgPSBmYiA/IGNydGMgOiBOVUxMOwo+ IC0JCWNydGMtPnByaW1hcnktPmZiID0gZmI7Cj4gKwkJc3RydWN0IGRybV9wbGFuZSAqcGxhbmUg PSBjcnRjLT5wcmltYXJ5Owo+ICsKPiArCQlpZiAoIXBsYW5lLT5zdGF0ZSkgewo+ICsJCQlwbGFu ZS0+Y3J0YyA9IGZiID8gY3J0YyA6IE5VTEw7Cj4gKwkJCXBsYW5lLT5mYiA9IGZiOwo+ICsJCX0K PiAgCX0KPiAgCj4gIAlkcm1fZm9yX2VhY2hfY3J0Yyh0bXAsIGNydGMtPmRldikgewo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJt L2RybV9mYl9oZWxwZXIuYwo+IGluZGV4IDA2NDZiMTA4MDMwYi4uNTYzOWU4MDRhMGNkIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCj4gQEAgLTM2OCw3ICszNjgsNiBAQCBzdGF0aWMgaW50 IHJlc3RvcmVfZmJkZXZfbW9kZV9hdG9taWMoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBl ciwgYm9vbCBhY3Rpdgo+ICAJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7Cj4gIAlzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGU7Cj4gIAlpbnQgaSwgcmV0Owo+IC0JdW5zaWduZWQgaW50IHBs YW5lX21hc2s7Cj4gIAlzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggY3R4Owo+ICAKPiAg CWRybV9tb2Rlc2V0X2FjcXVpcmVfaW5pdCgmY3R4LCAwKTsKPiBAQCAtMzgxLDcgKzM4MCw2IEBA IHN0YXRpYyBpbnQgcmVzdG9yZV9mYmRldl9tb2RlX2F0b21pYyhzdHJ1Y3QgZHJtX2ZiX2hlbHBl ciAqZmJfaGVscGVyLCBib29sIGFjdGl2Cj4gIAo+ICAJc3RhdGUtPmFjcXVpcmVfY3R4ID0gJmN0 eDsKPiAgcmV0cnk6Cj4gLQlwbGFuZV9tYXNrID0gMDsKPiAgCWRybV9mb3JfZWFjaF9wbGFuZShw bGFuZSwgZGV2KSB7Cj4gIAkJcGxhbmVfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9wbGFuZV9zdGF0 ZShzdGF0ZSwgcGxhbmUpOwo+ICAJCWlmIChJU19FUlIocGxhbmVfc3RhdGUpKSB7Cj4gQEAgLTM5 MSw5ICszODksNiBAQCBzdGF0aWMgaW50IHJlc3RvcmVfZmJkZXZfbW9kZV9hdG9taWMoc3RydWN0 IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwgYm9vbCBhY3Rpdgo+ICAKPiAgCQlwbGFuZV9zdGF0 ZS0+cm90YXRpb24gPSBEUk1fTU9ERV9ST1RBVEVfMDsKPiAgCj4gLQkJcGxhbmUtPm9sZF9mYiA9 IHBsYW5lLT5mYjsKPiAtCQlwbGFuZV9tYXNrIHw9IDEgPDwgZHJtX3BsYW5lX2luZGV4KHBsYW5l KTsKPiAtCj4gIAkJLyogZGlzYWJsZSBub24tcHJpbWFyeTogKi8KPiAgCQlpZiAocGxhbmUtPnR5 cGUgPT0gRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSkKPiAgCQkJY29udGludWU7Cj4gQEAgLTQzMCw4 ICs0MjUsNiBAQCBzdGF0aWMgaW50IHJlc3RvcmVfZmJkZXZfbW9kZV9hdG9taWMoc3RydWN0IGRy bV9mYl9oZWxwZXIgKmZiX2hlbHBlciwgYm9vbCBhY3Rpdgo+ICAJcmV0ID0gZHJtX2F0b21pY19j b21taXQoc3RhdGUpOwo+ICAKPiAgb3V0X3N0YXRlOgo+IC0JZHJtX2F0b21pY19jbGVhbl9vbGRf ZmIoZGV2LCBwbGFuZV9tYXNrLCByZXQpOwo+IC0KPiAgCWlmIChyZXQgPT0gLUVERUFETEspCj4g IAkJZ290byBiYWNrb2ZmOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9m cmFtZWJ1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZlci5jCj4gaW5kZXgg YWQ2NzIwM2RlNzE1Li40MjFhNzdjMmE0YWMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2RybV9mcmFtZWJ1ZmZlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZl ci5jCj4gQEAgLTgzNSw4ICs4MzUsNiBAQCBzdGF0aWMgaW50IGF0b21pY19yZW1vdmVfZmIoc3Ry dWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpCj4gIAkJCWdvdG8gdW5sb2NrOwo+ICAKPiAgCQlwbGFu ZV9tYXNrIHw9IEJJVChkcm1fcGxhbmVfaW5kZXgocGxhbmUpKTsKPiAtCj4gLQkJcGxhbmUtPm9s ZF9mYiA9IHBsYW5lLT5mYjsKPiAgCX0KPiAgCj4gIAkvKiBUaGlzIGxpc3QgaXMgb25seSBmaWxs ZWQgd2hlbiBkaXNhYmxlX2NydGNzIGlzIHNldC4gKi8KPiBAQCAtODUxLDkgKzg0OSw2IEBAIHN0 YXRpYyBpbnQgYXRvbWljX3JlbW92ZV9mYihzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYikKPiAg CQlyZXQgPSBkcm1fYXRvbWljX2NvbW1pdChzdGF0ZSk7Cj4gIAo+ICB1bmxvY2s6Cj4gLQlpZiAo cGxhbmVfbWFzaykKPiAtCQlkcm1fYXRvbWljX2NsZWFuX29sZF9mYihkZXYsIHBsYW5lX21hc2ss IHJldCk7Cj4gLQo+ICAJaWYgKHJldCA9PSAtRURFQURMSykgewo+ICAJCWRybV9hdG9taWNfc3Rh dGVfY2xlYXIoc3RhdGUpOwo+ICAJCWRybV9tb2Rlc2V0X2JhY2tvZmYoJmN0eCk7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f cGxhbmUuYwo+IGluZGV4IDAzNTA1NDQ1NTMwMS4uMTQzMDQxNjY2MDk2IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f cGxhbmUuYwo+IEBAIC02NTAsOSArNjUwLDExIEBAIHN0YXRpYyBpbnQgX19zZXRwbGFuZV9pbnRl cm5hbChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAgCQkJCQkgY3J0Y194LCBjcnRjX3ksIGNy dGNfdywgY3J0Y19oLAo+ICAJCQkJCSBzcmNfeCwgc3JjX3ksIHNyY193LCBzcmNfaCwgY3R4KTsK PiAgCWlmICghcmV0KSB7Cj4gLQkJcGxhbmUtPmNydGMgPSBjcnRjOwo+IC0JCXBsYW5lLT5mYiA9 IGZiOwo+IC0JCWRybV9mcmFtZWJ1ZmZlcl9nZXQocGxhbmUtPmZiKTsKPiArCQlpZiAoIXBsYW5l LT5zdGF0ZSkgewo+ICsJCQlwbGFuZS0+Y3J0YyA9IGNydGM7Cj4gKwkJCXBsYW5lLT5mYiA9IGZi Owo+ICsJCQlkcm1fZnJhbWVidWZmZXJfZ2V0KHBsYW5lLT5mYik7Cj4gKwkJfQo+ICAJfSBlbHNl IHsKPiAgCQlwbGFuZS0+b2xkX2ZiID0gTlVMTDsKPiAgCX0KPiBAQCAtMTA5Miw4ICsxMDk0LDEw IEBAIGludCBkcm1fbW9kZV9wYWdlX2ZsaXBfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK PiAgCQkvKiBLZWVwIHRoZSBvbGQgZmIsIGRvbid0IHVucmVmIGl0LiAqLwo+ICAJCXBsYW5lLT5v bGRfZmIgPSBOVUxMOwo+ICAJfSBlbHNlIHsKPiAtCQlwbGFuZS0+ZmIgPSBmYjsKPiAtCQlkcm1f ZnJhbWVidWZmZXJfZ2V0KGZiKTsKPiArCQlpZiAoIXBsYW5lLT5zdGF0ZSkgewo+ICsJCQlwbGFu ZS0+ZmIgPSBmYjsKPiArCQkJZHJtX2ZyYW1lYnVmZmVyX2dldChmYik7Cj4gKwkJfQo+ICAJfQo+ ICAKPiAgb3V0Ogo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lX2hlbHBl ci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZV9oZWxwZXIuYwo+IGluZGV4IGY4OGY2ODE2 MTUxOS4uMjAxMDc5NDk0M2JjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxh bmVfaGVscGVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lX2hlbHBlci5jCj4g QEAgLTUwMiw2ICs1MDIsNyBAQCBFWFBPUlRfU1lNQk9MKGRybV9wbGFuZV9oZWxwZXJfdXBkYXRl KTsKPiAgaW50IGRybV9wbGFuZV9oZWxwZXJfZGlzYWJsZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFu ZSkKPiAgewo+ICAJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGU7Cj4gKwlzdHJ1 Y3QgZHJtX2ZyYW1lYnVmZmVyICpvbGRfZmI7Cj4gIAo+ICAJLyogY3J0YyBoZWxwZXJzIGxvdmUg dG8gY2FsbCBkaXNhYmxlIGZ1bmN0aW9ucyBmb3IgYWxyZWFkeSBkaXNhYmxlZCBodwo+ICAJICog ZnVuY3Rpb25zLiBTbyBjb3BlIHdpdGggdGhhdC4gKi8KPiBAQCAtNTIxLDggKzUyMiw5IEBAIGlu dCBkcm1fcGxhbmVfaGVscGVyX2Rpc2FibGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCj4gIAlw bGFuZV9zdGF0ZS0+cGxhbmUgPSBwbGFuZTsKPiAgCj4gIAlwbGFuZV9zdGF0ZS0+Y3J0YyA9IE5V TEw7Cj4gKwlvbGRfZmIgPSBwbGFuZV9zdGF0ZS0+ZmI7Cj4gIAlkcm1fYXRvbWljX3NldF9mYl9m b3JfcGxhbmUocGxhbmVfc3RhdGUsIE5VTEwpOwo+ICAKPiAtCXJldHVybiBkcm1fcGxhbmVfaGVs cGVyX2NvbW1pdChwbGFuZSwgcGxhbmVfc3RhdGUsIHBsYW5lLT5mYik7Cj4gKwlyZXR1cm4gZHJt X3BsYW5lX2hlbHBlcl9jb21taXQocGxhbmUsIHBsYW5lX3N0YXRlLCBvbGRfZmIpOwo+ICB9Cj4g IEVYUE9SVF9TWU1CT0woZHJtX3BsYW5lX2hlbHBlcl9kaXNhYmxlKTsKPiBkaWZmIC0tZ2l0IGEv aW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oCj4gaW5k ZXggYTU3YThhYTkwZmZiLi5jYTQ2MWI2Y2Y3MWYgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0v ZHJtX2F0b21pYy5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oCj4gQEAgLTYwMSw5 ICs2MDEsNiBAQCBpbnQgX19tdXN0X2NoZWNrCj4gIGRybV9hdG9taWNfYWRkX2FmZmVjdGVkX3Bs YW5lcyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gIAkJCSAgICAgICBzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMpOwo+ICAKPiAtdm9pZAo+IC1kcm1fYXRvbWljX2NsZWFuX29sZF9mYihz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBwbGFuZV9tYXNrLCBpbnQgcmV0KTsKPiAt Cj4gIGludCBfX211c3RfY2hlY2sgZHJtX2F0b21pY19jaGVja19vbmx5KHN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpzdGF0ZSk7Cj4gIGludCBfX211c3RfY2hlY2sgZHJtX2F0b21pY19jb21taXQo c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKPiAgaW50IF9fbXVzdF9jaGVjayBkcm1f YXRvbWljX25vbmJsb2NraW5nX2NvbW1pdChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUp Owo+IC0tIAo+IDIuMTYuMQo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIElu dGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=