From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v4 5/9] drm/client: Add client callbacks Date: Tue, 3 Jul 2018 09:46:05 +0200 Message-ID: <20180703074605.GF7880@phenom.ffwll.local> References: <20180702135433.7960-1-noralf@tronnes.org> <20180702135433.7960-6-noralf@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20180702135433.7960-6-noralf@tronnes.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Noralf =?iso-8859-1?Q?Tr=F8nnes?= Cc: intel-gfx@lists.freedesktop.org, laurent.pinchart@ideasonboard.com, dri-devel@lists.freedesktop.org, david@lechnology.com List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBKdWwgMDIsIDIwMTggYXQgMDM6NTQ6MjlQTSArMDIwMCwgTm9yYWxmIFRyw7hubmVz IHdyb3RlOgo+IEFkZCBjbGllbnQgY2FsbGJhY2tzIGFuZCBob29rIHRoZW0gdXAuCj4gQWRkIGEg bGlzdCBvZiBjbGllbnRzIHBlciBkcm1fZGV2aWNlLgo+IAo+IFNpZ25lZC1vZmYtYnk6IE5vcmFs ZiBUcsO4bm5lcyA8bm9yYWxmQHRyb25uZXMub3JnPgoKYnR3IGZvciByZXZpZXdpbmcgaXQnZCBi ZSBzaW1wbGVyIGlmIHlvdSBtZXJnZSB0aGUgMiBwYXRjaGVzIHRoYXQgYWRkIHRoZQpjbGllbnQg bGlicmFyeSwgYXZvaWRzIG1lIGhhdmluZyB0byBqdW1wIGJhY2smZm9ydGggLi4KCkJ1bmNoIG9m IGNvbW1lbnRzIGJlbG93IHN0aWxsLgotRGFuaWVsCgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v ZHJtX2NsaWVudC5jICAgICAgICB8IDkyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYyAgICAgICAgICAgfCAgNyArKysKPiAg ZHJpdmVycy9ncHUvZHJtL2RybV9mYl9jbWFfaGVscGVyLmMgfCAgMiArLQo+ICBkcml2ZXJzL2dw dS9kcm0vZHJtX2ZiX2hlbHBlci5jICAgICB8IDExICsrKystCj4gIGRyaXZlcnMvZ3B1L2RybS9k cm1fZmlsZS5jICAgICAgICAgIHwgIDMgKysKPiAgZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9o ZWxwZXIuYyAgfCAgMyArKwo+ICBpbmNsdWRlL2RybS9kcm1fY2xpZW50LmggICAgICAgICAgICB8 IDc1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ICBpbmNsdWRlL2RybS9kcm1fZGV2 aWNlLmggICAgICAgICAgICB8IDE0ICsrKysrKwo+ICA4IGZpbGVzIGNoYW5nZWQsIDIwMSBpbnNl cnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2NsaWVudC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jbGllbnQuYwo+IGluZGV4IDlj OWI4YWM3YWVhMy4uZjA1ZWU5OGJkMTBjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fY2xpZW50LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NsaWVudC5jCj4gQEAgLTQs NiArNCw3IEBACj4gICAqLwo+ICAKPiAgI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KPiArI2luY2x1 ZGUgPGxpbnV4L21vZHVsZS5oPgo+ICAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KPiAgI2luY2x1 ZGUgPGxpbnV4L3NlcV9maWxlLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+Cj4gQEAgLTY2 LDYgKzY3LDcgQEAgRVhQT1JUX1NZTUJPTChkcm1fY2xpZW50X2Nsb3NlKTsKPiAgICogQGRldjog RFJNIGRldmljZQo+ICAgKiBAY2xpZW50OiBEUk0gY2xpZW50Cj4gICAqIEBuYW1lOiBDbGllbnQg bmFtZQo+ICsgKiBAZnVuY3M6IERSTSBjbGllbnQgZnVuY3Rpb25zIChvcHRpb25hbCkKPiAgICoK PiAgICogVXNlIGRybV9jbGllbnRfcHV0KCkgdG8gZnJlZSB0aGUgY2xpZW50Lgo+ICAgKgo+IEBA IC03MywyNCArNzUsNDcgQEAgRVhQT1JUX1NZTUJPTChkcm1fY2xpZW50X2Nsb3NlKTsKPiAgICog WmVybyBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KPiAgICov Cj4gIGludCBkcm1fY2xpZW50X25ldyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJt X2NsaWVudF9kZXYgKmNsaWVudCwKPiAtCQkgICBjb25zdCBjaGFyICpuYW1lKQo+ICsJCSAgIGNv bnN0IGNoYXIgKm5hbWUsIGNvbnN0IHN0cnVjdCBkcm1fY2xpZW50X2Z1bmNzICpmdW5jcykKPiAg ewo+ICsJYm9vbCByZWdpc3RlcmVkOwo+ICAJaW50IHJldDsKPiAgCj4gIAlpZiAoIWRybV9jb3Jl X2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkgfHwKPiAgCSAgICAhZGV2LT5kcml2 ZXItPmR1bWJfY3JlYXRlIHx8ICFkZXYtPmRyaXZlci0+Z2VtX3ByaW1lX3ZtYXApCj4gIAkJcmV0 dXJuIC1FTk9UU1VQUDsKPiAgCj4gKwlpZiAoZnVuY3MgJiYgIXRyeV9tb2R1bGVfZ2V0KGZ1bmNz LT5vd25lcikpCj4gKwkJcmV0dXJuIC1FTk9ERVY7Cj4gKwo+ICAJY2xpZW50LT5kZXYgPSBkZXY7 Cj4gIAljbGllbnQtPm5hbWUgPSBuYW1lOwo+ICsJY2xpZW50LT5mdW5jcyA9IGZ1bmNzOwo+ICAK PiAgCXJldCA9IGRybV9jbGllbnRfb3BlbihjbGllbnQpOwo+ICAJaWYgKHJldCkKPiAtCQlyZXR1 cm4gcmV0Owo+ICsJCWdvdG8gZXJyX3B1dF9tb2R1bGU7Cj4gKwo+ICsJbXV0ZXhfbG9jaygmZGV2 LT5jbGllbnRsaXN0X211dGV4KTsKPiArCXJlZ2lzdGVyZWQgPSBkZXYtPnJlZ2lzdGVyZWQ7Cj4g KwlpZiAocmVnaXN0ZXJlZCkKPiArCQlsaXN0X2FkZCgmY2xpZW50LT5saXN0LCAmZGV2LT5jbGll bnRsaXN0KTsKPiArCW11dGV4X3VubG9jaygmZGV2LT5jbGllbnRsaXN0X211dGV4KTsKPiArCWlm ICghcmVnaXN0ZXJlZCkgewo+ICsJCXJldCA9IC1FTk9ERVY7Cj4gKwkJZ290byBlcnJfY2xvc2U7 Cj4gKwl9Cj4gIAo+ICAJZHJtX2Rldl9nZXQoZGV2KTsKClRoaXMgb25seSB3b3JrcyBpZiB0aGUg Y2FsbGVyIGhvbGRzIGEgcmVmZXJlbmNlIGZvciB1cyBvbiBkZXYgYWxyZWFkeSwgb3IKaGFzIHNv bWUgb3RoZXIgZ3VhcmFudGVlIHRoYXQgaXQgd29uJ3QgZGlzYXBwZWFyLiBXb3VsZCBiZSBnb29k IHRvIG1lbnRpb24KdGhpcyBpbiB0aGUga2VybmVsZG9jLgoKPiAgCXJldHVybiAwOwo+ICsKPiAr ZXJyX2Nsb3NlOgo+ICsJZHJtX2NsaWVudF9jbG9zZShjbGllbnQpOwo+ICtlcnJfcHV0X21vZHVs ZToKPiArCWlmIChmdW5jcykKPiArCQltb2R1bGVfcHV0KGZ1bmNzLT5vd25lcik7Cj4gKwo+ICsJ cmV0dXJuIHJldDsKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9jbGllbnRfbmV3KTsKPiAgCj4g QEAgLTExNiw5ICsxNDEsNzIgQEAgdm9pZCBkcm1fY2xpZW50X3JlbGVhc2Uoc3RydWN0IGRybV9j bGllbnRfZGV2ICpjbGllbnQpCj4gIAo+ICAJZHJtX2NsaWVudF9jbG9zZShjbGllbnQpOwo+ICAJ ZHJtX2Rldl9wdXQoZGV2KTsKPiArCWlmIChjbGllbnQtPmZ1bmNzKQo+ICsJCW1vZHVsZV9wdXQo Y2xpZW50LT5mdW5jcy0+b3duZXIpOwo+ICB9Cj4gIEVYUE9SVF9TWU1CT0woZHJtX2NsaWVudF9y ZWxlYXNlKTsKPiAgCj4gK3ZvaWQgZHJtX2NsaWVudF9kZXZfdW5yZWdpc3RlcihzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2NsaWVudF9kZXYgKmNsaWVudCwgKnRt cDsKPiArCj4gKwlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNF VCkpCj4gKwkJcmV0dXJuOwo+ICsKPiArCW11dGV4X2xvY2soJmRldi0+Y2xpZW50bGlzdF9tdXRl eCk7Cj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoY2xpZW50LCB0bXAsICZkZXYtPmNsaWVu dGxpc3QsIGxpc3QpIHsKPiArCQlsaXN0X2RlbCgmY2xpZW50LT5saXN0KTsKPiArCQlpZiAoY2xp ZW50LT5mdW5jcyAmJiBjbGllbnQtPmZ1bmNzLT51bnJlZ2lzdGVyKSB7Cj4gKwkJCWNsaWVudC0+ ZnVuY3MtPnVucmVnaXN0ZXIoY2xpZW50KTsKCkhtLCBub3QgLT51bnJlZ2lzdGVyIGlzIGNhbGxl ZCB3aGlsZSBob2xkaW5nIHRoZSBsb2NrLiBJIHRob3VnaHQgdGhhdApibG93cyB1cCBmb3IgeW91 PwoKPiArCQl9IGVsc2Ugewo+ICsJCQlkcm1fY2xpZW50X3JlbGVhc2UoY2xpZW50KTsKPiArCQkJ a2ZyZWUoY2xpZW50KTsKPiArCQl9Cj4gKwl9Cj4gKwltdXRleF91bmxvY2soJmRldi0+Y2xpZW50 bGlzdF9tdXRleCk7Cj4gK30KPiArCgpOZWVkcyBhIGJpdCBvZiBrZXJuZWxkb2MgaGVyZSBzaW5j ZSBleHBvcnRlZCBmdW5jdGlvbi4gRHJpdmVycyBtaWdodCBhbHNvCndhbnQgdG8gY2FsbCB0aGlz IGZyb20gdGhlaXIgb3duIGhvdHBsdWcgaGFuZGxpbmcuCgo+ICt2b2lkIGRybV9jbGllbnRfZGV2 X2hvdHBsdWcoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiArewo+ICsJc3RydWN0IGRybV9jbGll bnRfZGV2ICpjbGllbnQ7Cj4gKwlpbnQgcmV0Owo+ICsKPiArCWlmICghZHJtX2NvcmVfY2hlY2tf ZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiArCQlyZXR1cm47Cj4gKwo+ICsJbXV0ZXhf bG9jaygmZGV2LT5jbGllbnRsaXN0X211dGV4KTsKPiArCWxpc3RfZm9yX2VhY2hfZW50cnkoY2xp ZW50LCAmZGV2LT5jbGllbnRsaXN0LCBsaXN0KSB7Cj4gKwkJaWYgKCFjbGllbnQtPmZ1bmNzIHx8 ICFjbGllbnQtPmZ1bmNzLT5ob3RwbHVnKQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJcmV0ID0g Y2xpZW50LT5mdW5jcy0+aG90cGx1ZyhjbGllbnQpOwo+ICsJCURSTV9ERVZfREVCVUdfS01TKGRl di0+ZGV2LCAiJXM6IHJldD0lZFxuIiwgY2xpZW50LT5uYW1lLCByZXQpOwo+ICsJfQo+ICsJbXV0 ZXhfdW5sb2NrKCZkZXYtPmNsaWVudGxpc3RfbXV0ZXgpOwo+ICt9Cj4gK0VYUE9SVF9TWU1CT0wo ZHJtX2NsaWVudF9kZXZfaG90cGx1Zyk7Cj4gKwo+ICt2b2lkIGRybV9jbGllbnRfZGV2X3Jlc3Rv cmUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiArewo+ICsJc3RydWN0IGRybV9jbGllbnRfZGV2 ICpjbGllbnQ7Cj4gKwlpbnQgcmV0Owo+ICsKPiArCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVy ZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiArCQlyZXR1cm47Cj4gKwo+ICsJbXV0ZXhfbG9jaygm ZGV2LT5jbGllbnRsaXN0X211dGV4KTsKPiArCWxpc3RfZm9yX2VhY2hfZW50cnkoY2xpZW50LCAm ZGV2LT5jbGllbnRsaXN0LCBsaXN0KSB7Cj4gKwkJaWYgKCFjbGllbnQtPmZ1bmNzIHx8ICFjbGll bnQtPmZ1bmNzLT5yZXN0b3JlKQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJcmV0ID0gY2xpZW50 LT5mdW5jcy0+cmVzdG9yZShjbGllbnQpOwo+ICsJCURSTV9ERVZfREVCVUdfS01TKGRldi0+ZGV2 LCAiJXM6IHJldD0lZFxuIiwgY2xpZW50LT5uYW1lLCByZXQpOwo+ICsJCWlmICghcmV0KSAvKiBU aGUgZmlyc3Qgb25lIHRvIHJldHVybiB6ZXJvIGdldHMgdGhlIHByaXZpbGVnZSB0byByZXN0b3Jl ICovCj4gKwkJCWJyZWFrOwo+ICsJfQo+ICsJbXV0ZXhfdW5sb2NrKCZkZXYtPmNsaWVudGxpc3Rf bXV0ZXgpOwo+ICt9Cj4gKwo+ICBzdGF0aWMgdm9pZCBkcm1fY2xpZW50X2J1ZmZlcl9kZWxldGUo c3RydWN0IGRybV9jbGllbnRfYnVmZmVyICpidWZmZXIpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBidWZmZXItPmNsaWVudC0+ZGV2Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYwo+IGluZGV4IGU3ZmYw YjAzMzI4Yi4uNmViOTM1YmIyZjkyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f ZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jCj4gQEAgLTM0LDYgKzM0LDcg QEAKPiAgI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3NyY3UuaD4K PiAgCj4gKyNpbmNsdWRlIDxkcm0vZHJtX2NsaWVudC5oPgo+ICAjaW5jbHVkZSA8ZHJtL2RybV9k cnYuaD4KPiAgI2luY2x1ZGUgPGRybS9kcm1QLmg+Cj4gIAo+IEBAIC01MDYsNiArNTA3LDcgQEAg aW50IGRybV9kZXZfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAKPiAgCUlOSVRfTElT VF9IRUFEKCZkZXYtPmZpbGVsaXN0KTsKPiAgCUlOSVRfTElTVF9IRUFEKCZkZXYtPmZpbGVsaXN0 X2ludGVybmFsKTsKPiArCUlOSVRfTElTVF9IRUFEKCZkZXYtPmNsaWVudGxpc3QpOwo+ICAJSU5J VF9MSVNUX0hFQUQoJmRldi0+Y3R4bGlzdCk7Cj4gIAlJTklUX0xJU1RfSEVBRCgmZGV2LT52bWFs aXN0KTsKPiAgCUlOSVRfTElTVF9IRUFEKCZkZXYtPm1hcGxpc3QpOwo+IEBAIC01MTUsNiArNTE3 LDcgQEAgaW50IGRybV9kZXZfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJc3Bpbl9s b2NrX2luaXQoJmRldi0+ZXZlbnRfbG9jayk7Cj4gIAltdXRleF9pbml0KCZkZXYtPnN0cnVjdF9t dXRleCk7Cj4gIAltdXRleF9pbml0KCZkZXYtPmZpbGVsaXN0X211dGV4KTsKPiArCW11dGV4X2lu aXQoJmRldi0+Y2xpZW50bGlzdF9tdXRleCk7Cj4gIAltdXRleF9pbml0KCZkZXYtPmN0eGxpc3Rf bXV0ZXgpOwo+ICAJbXV0ZXhfaW5pdCgmZGV2LT5tYXN0ZXJfbXV0ZXgpOwo+ICAKPiBAQCAtNTcw LDYgKzU3Myw3IEBAIGludCBkcm1fZGV2X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAg ZXJyX2ZyZWU6Cj4gIAltdXRleF9kZXN0cm95KCZkZXYtPm1hc3Rlcl9tdXRleCk7Cj4gIAltdXRl eF9kZXN0cm95KCZkZXYtPmN0eGxpc3RfbXV0ZXgpOwo+ICsJbXV0ZXhfZGVzdHJveSgmZGV2LT5j bGllbnRsaXN0X211dGV4KTsKPiAgCW11dGV4X2Rlc3Ryb3koJmRldi0+ZmlsZWxpc3RfbXV0ZXgp Owo+ICAJbXV0ZXhfZGVzdHJveSgmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ICAJcmV0dXJuIHJldDsK PiBAQCAtNjA0LDYgKzYwOCw3IEBAIHZvaWQgZHJtX2Rldl9maW5pKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCj4gIAo+ICAJbXV0ZXhfZGVzdHJveSgmZGV2LT5tYXN0ZXJfbXV0ZXgpOwo+ICAJbXV0 ZXhfZGVzdHJveSgmZGV2LT5jdHhsaXN0X211dGV4KTsKPiArCW11dGV4X2Rlc3Ryb3koJmRldi0+ Y2xpZW50bGlzdF9tdXRleCk7Cj4gIAltdXRleF9kZXN0cm95KCZkZXYtPmZpbGVsaXN0X211dGV4 KTsKPiAgCW11dGV4X2Rlc3Ryb3koJmRldi0+c3RydWN0X211dGV4KTsKPiAgCWtmcmVlKGRldi0+ dW5pcXVlKTsKPiBAQCAtODU5LDYgKzg2NCw4IEBAIHZvaWQgZHJtX2Rldl91bnJlZ2lzdGVyKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAo+ICAJZGV2LT5yZWdpc3RlcmVkID0gZmFsc2U7Cj4g IAo+ICsJZHJtX2NsaWVudF9kZXZfdW5yZWdpc3RlcihkZXYpOwo+ICsKPiAgCWlmIChkcm1fY29y ZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQo+ICAJCWRybV9tb2Rlc2V0X3Vu cmVnaXN0ZXJfYWxsKGRldik7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2ZiX2NtYV9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfY21hX2hlbHBlci5jCj4g aW5kZXggNTc2MmE3YzQ0MWU5Li43MThjN2Y5NjFkOGEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2RybV9mYl9jbWFfaGVscGVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Zi X2NtYV9oZWxwZXIuYwo+IEBAIC0xODEsNyArMTgxLDcgQEAgc3RydWN0IGRybV9mYmRldl9jbWEg KmRybV9mYmRldl9jbWFfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAKPiAgCWZiX2hl bHBlciA9ICZmYmRldl9jbWEtPmZiX2hlbHBlcjsKPiAgCj4gLQlyZXQgPSBkcm1fY2xpZW50X25l dyhkZXYsICZmYl9oZWxwZXItPmNsaWVudCwgImZiZGV2Iik7Cj4gKwlyZXQgPSBkcm1fY2xpZW50 X25ldyhkZXYsICZmYl9oZWxwZXItPmNsaWVudCwgImZiZGV2IiwgTlVMTCk7Cj4gIAlpZiAocmV0 KQo+ICAJCWdvdG8gZXJyX2ZyZWU7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2ZiX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwo+IGluZGV4 IDBhMGE1NzdlYmMzYy4uYmVhM2EwY2IzMjRhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fZmJfaGVscGVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5j Cj4gQEAgLTI5ODksOCArMjk4OSwxNSBAQCBzdGF0aWMgdm9pZCBkcm1fZmJkZXZfZmJfZGVzdHJv eShzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKPiAgCX0KPiAgCj4gIAlkcm1fY2xpZW50X2ZyYW1lYnVm ZmVyX2RlbGV0ZShmYl9oZWxwZXItPmJ1ZmZlcik7Cj4gLQlkcm1fY2xpZW50X3JlbGVhc2UoJmZi X2hlbHBlci0+Y2xpZW50KTsKPiAtCWtmcmVlKGZiX2hlbHBlcik7Cj4gKwkvKgo+ICsJICogRklY TUU6Cj4gKwkgKiBSZW1vdmUgY29uZGl0aW9uYWwgd2hlbiBhbGwgQ01BIGRyaXZlcnMgaGF2ZSBi ZWVuIG1vdmVkIG92ZXIgdG8gdXNpbmcKPiArCSAqIGRybV9mYmRldl9nZW5lcmljX3NldHVwKCku Cj4gKwkgKi8KPiArCWlmIChmYl9oZWxwZXItPmNsaWVudC5mdW5jcykgewo+ICsJCWRybV9jbGll bnRfcmVsZWFzZSgmZmJfaGVscGVyLT5jbGllbnQpOwo+ICsJCWtmcmVlKGZiX2hlbHBlcik7Cj4g Kwl9Cj4gIH0KPiAgCj4gIHN0YXRpYyBpbnQgZHJtX2ZiZGV2X2ZiX21tYXAoc3RydWN0IGZiX2lu Zm8gKmluZm8sIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2ZpbGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmlsZS5jCj4gaW5k ZXggNjZiYjQwM2RjOGFiLi5mZmE4ZGMzNTUxNWYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2RybV9maWxlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZpbGUuYwo+IEBAIC0z NSw2ICszNSw3IEBACj4gICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+Cj4gICNpbmNsdWRlIDxsaW51 eC9tb2R1bGUuaD4KPiAgCj4gKyNpbmNsdWRlIDxkcm0vZHJtX2NsaWVudC5oPgo+ICAjaW5jbHVk ZSA8ZHJtL2RybV9maWxlLmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJtUC5oPgo+ICAKPiBAQCAtNDQ0 LDYgKzQ0NSw4IEBAIHZvaWQgZHJtX2xhc3RjbG9zZShzdHJ1Y3QgZHJtX2RldmljZSAqIGRldikK PiAgCj4gIAlpZiAoZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ ICAJCWRybV9sZWdhY3lfZGV2X3JlaW5pdChkZXYpOwo+ICsKPiArCWRybV9jbGllbnRfZGV2X3Jl c3RvcmUoZGV2KTsKPiAgfQo+ICAKPiAgLyoqCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fcHJvYmVfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2JlX2hlbHBlci5j Cj4gaW5kZXggNTI3NzQzMzk0MTUwLi4yNmJlNTdlMjhhOWQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2RybV9wcm9iZV9oZWxwZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f cHJvYmVfaGVscGVyLmMKPiBAQCAtMzMsNiArMzMsNyBAQAo+ICAjaW5jbHVkZSA8bGludXgvbW9k dWxlcGFyYW0uaD4KPiAgCj4gICNpbmNsdWRlIDxkcm0vZHJtUC5oPgo+ICsjaW5jbHVkZSA8ZHJt L2RybV9jbGllbnQuaD4KPiAgI2luY2x1ZGUgPGRybS9kcm1fY3J0Yy5oPgo+ICAjaW5jbHVkZSA8 ZHJtL2RybV9mb3VyY2MuaD4KPiAgI2luY2x1ZGUgPGRybS9kcm1fY3J0Y19oZWxwZXIuaD4KPiBA QCAtNTYzLDYgKzU2NCw4IEBAIHZvaWQgZHJtX2ttc19oZWxwZXJfaG90cGx1Z19ldmVudChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJZHJtX3N5c2ZzX2hvdHBsdWdfZXZlbnQoZGV2KTsKPiAg CWlmIChkZXYtPm1vZGVfY29uZmlnLmZ1bmNzLT5vdXRwdXRfcG9sbF9jaGFuZ2VkKQo+ICAJCWRl di0+bW9kZV9jb25maWcuZnVuY3MtPm91dHB1dF9wb2xsX2NoYW5nZWQoZGV2KTsKPiArCj4gKwlk cm1fY2xpZW50X2Rldl9ob3RwbHVnKGRldik7Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fa21z X2hlbHBlcl9ob3RwbHVnX2V2ZW50KTsKPiAgCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2Ry bV9jbGllbnQuaCBiL2luY2x1ZGUvZHJtL2RybV9jbGllbnQuaAo+IGluZGV4IGUzNjZmOTVkNDQx NC4uMDJjYmIwMjcxNGQ4IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9jbGllbnQuaAo+ ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9jbGllbnQuaAo+IEBAIC01LDEwICs1LDY2IEBACj4gIAo+ ICAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KPiAgCj4gK3N0cnVjdCBkcm1fY2xpZW50X2RldjsK PiAgc3RydWN0IGRybV9kZXZpY2U7Cj4gIHN0cnVjdCBkcm1fZmlsZTsKPiAgc3RydWN0IGRybV9m cmFtZWJ1ZmZlcjsKPiAgc3RydWN0IGRybV9nZW1fb2JqZWN0Owo+ICtzdHJ1Y3QgbW9kdWxlOwo+ ICsKPiArLyoqCj4gKyAqIHN0cnVjdCBkcm1fY2xpZW50X2Z1bmNzIC0gRFJNIGNsaWVudCBjYWxs YmFja3MKPiArICovCj4gK3N0cnVjdCBkcm1fY2xpZW50X2Z1bmNzIHsKPiArCS8qKgo+ICsJICog QG93bmVyOiBUaGUgbW9kdWxlIG93bmVyCj4gKwkgKi8KPiArCXN0cnVjdCBtb2R1bGUgKm93bmVy Owo+ICsKPiArCS8qKgo+ICsJICogQHJlbGVhc2U6Cj4gKwkgKgo+ICsJICogQ2FsbGVkIHdoZW4g dGhlIHJlZmVyZW5jZSBjb3VudCBpcyBkcm9wcGVkIHRvIHplcm8uIFVzZXJzIG9mIHRoaXMKPiAr CSAqIGNhbGxiYWNrIGlzIHJlc3BvbnNpYmxlIGZvciBjYWxsaW5nIGRybV9jbGllbnRfY2xvc2Uo KSBhbmQgZnJlZWluZwo+ICsJICogdGhlIGNsaWVudCBzdHJ1Y3R1cmUuCj4gKwkgKgo+ICsJICog VGhpcyBjYWxsYmFjayBpcyBvcHRpb25hbC4KPiArCSAqLwo+ICsJdm9pZCAoKnJlbGVhc2UpKHN0 cnVjdCBkcm1fY2xpZW50X2RldiAqY2xpZW50KTsKCkhtLCBpcyB0aGlzIG5vIGxvbmdlciBpbiB1 c2U/Cgo+ICsKPiArCS8qKgo+ICsJICogQHVucmVnaXN0ZXI6Cj4gKwkgKgo+ICsJICogQ2FsbGVk IHdoZW4gJmRybV9kZXZpY2UgaXMgdW5yZWdpc3RlcmVkLiBUaGUgY2xpZW50IHNob3VsZCByZXNw b25kIGJ5Cj4gKwkgKiByZWxlYXNpbmcgaXQncyByZXNvdXJjZXMgdXNpbmcgZHJtX2NsaWVudF9w dXQoKS4gSWYgaXQgY2FuJ3QgZG8gc28KPiArCSAqIGR1ZSB0byByZXNvcnVjZXMgYmVpbmcgdGll ZCB1cCwgbGlrZSBmYmRldiB3aXRoIG9wZW4gZmlsZSBoYW5kbGVzLAo+ICsJICogaXQgc2hvdWxk IHJlbGVhc2UgaXQncyByZXNvdXJjZXMgYXMgc29vbiBhcyBwb3NzaWJsZS4KClRoaXMgc3RpbGwg dGFsa3MgYWJvdXQgcmVmY291bnRpbmcgYW5kIF9wdXQgLi4uIG5lZWRzIGEgcmVmcmVzaGVyLgoK PiArCSAqCj4gKwkgKiBUaGlzIGNhbGxiYWNrIGlzIG9wdGlvbmFsLgo+ICsJICovCj4gKwl2b2lk ICgqdW5yZWdpc3Rlcikoc3RydWN0IGRybV9jbGllbnRfZGV2ICpjbGllbnQpOwo+ICsKPiArCS8q Kgo+ICsJICogQHJlc3RvcmU6Cj4gKwkgKgo+ICsJICogQ2FsbGVkIG9uIGRybV9sYXN0Y2xvc2Uo KS4gVGhlIGZpcnN0IGNsaWVudCBpbnN0YW5jZSBpbiB0aGUgbGlzdCB0aGF0Cj4gKwkgKiByZXR1 cm5zIHplcm8gZ2V0cyB0aGUgcHJpdmlsZWdlIHRvIHJlc3RvcmUgYW5kIG5vIG1vcmUgY2xpZW50 cyBhcmUKPiArCSAqIGNhbGxlZC4gVGhpcyBjYWxsYmFjayBpcyBub3QgY2FsbGVkIGFmdGVyIEB1 bnJlZ2lzdGVyIGhhcyBiZWVuIGNhbGxlZC4KPiArCSAqCj4gKwkgKiBUaGlzIGNhbGxiYWNrIGlz IG9wdGlvbmFsLgo+ICsJICovCj4gKwlpbnQgKCpyZXN0b3JlKShzdHJ1Y3QgZHJtX2NsaWVudF9k ZXYgKmNsaWVudCk7Cj4gKwo+ICsJLyoqCj4gKwkgKiBAaG90cGx1ZzoKPiArCSAqCj4gKwkgKiBD YWxsZWQgb24gZHJtX2ttc19oZWxwZXJfaG90cGx1Z19ldmVudCgpLgo+ICsJICogVGhpcyBjYWxs YmFjayBpcyBub3QgY2FsbGVkIGFmdGVyIEB1bnJlZ2lzdGVyIGhhcyBiZWVuIGNhbGxlZC4KPiAr CSAqCj4gKwkgKiBUaGlzIGNhbGxiYWNrIGlzIG9wdGlvbmFsLgo+ICsJICovCj4gKwlpbnQgKCpo b3RwbHVnKShzdHJ1Y3QgZHJtX2NsaWVudF9kZXYgKmNsaWVudCk7Cj4gK307Cj4gIAo+ICAvKioK PiAgICogc3RydWN0IGRybV9jbGllbnRfZGV2IC0gRFJNIGNsaWVudCBpbnN0YW5jZQo+IEBAIC0y NCw2ICs4MCwxOSBAQCBzdHJ1Y3QgZHJtX2NsaWVudF9kZXYgewo+ICAJICovCj4gIAljb25zdCBj aGFyICpuYW1lOwo+ICAKPiArCS8qKgo+ICsJICogQGxpc3Q6Cj4gKwkgKgo+ICsJICogTGlzdCBv ZiBhbGwgY2xpZW50cyBvZiBhIERSTSBkZXZpY2UsIGxpbmtlZCBpbnRvCj4gKwkgKiAmZHJtX2Rl dmljZS5jbGllbnRsaXN0LiBQcm90ZWN0ZWQgYnkgJmRybV9kZXZpY2UuY2xpZW50bGlzdF9tdXRl eC4KPiArCSAqLwo+ICsJc3RydWN0IGxpc3RfaGVhZCBsaXN0Owo+ICsKPiArCS8qKgo+ICsJICog QGZ1bmNzOiBEUk0gY2xpZW50IGZ1bmN0aW9ucyAob3B0aW9uYWwpCj4gKwkgKi8KPiArCWNvbnN0 IHN0cnVjdCBkcm1fY2xpZW50X2Z1bmNzICpmdW5jczsKPiArCj4gIAkvKioKPiAgCSAqIEBmaWxl OiBEUk0gZmlsZQo+ICAJICovCj4gQEAgLTMxLDkgKzEwMCwxMyBAQCBzdHJ1Y3QgZHJtX2NsaWVu dF9kZXYgewo+ICB9Owo+ICAKPiAgaW50IGRybV9jbGllbnRfbmV3KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHN0cnVjdCBkcm1fY2xpZW50X2RldiAqY2xpZW50LAo+IC0JCSAgIGNvbnN0IGNoYXIg Km5hbWUpOwo+ICsJCSAgIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IHN0cnVjdCBkcm1fY2xpZW50 X2Z1bmNzICpmdW5jcyk7Cj4gIHZvaWQgZHJtX2NsaWVudF9yZWxlYXNlKHN0cnVjdCBkcm1fY2xp ZW50X2RldiAqY2xpZW50KTsKPiAgCj4gK3ZvaWQgZHJtX2NsaWVudF9kZXZfdW5yZWdpc3Rlcihz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiArdm9pZCBkcm1fY2xpZW50X2Rldl9ob3RwbHVnKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICt2b2lkIGRybV9jbGllbnRfZGV2X3Jlc3RvcmUoc3Ry dWN0IGRybV9kZXZpY2UgKmRldik7Cj4gKwo+ICAvKioKPiAgICogc3RydWN0IGRybV9jbGllbnRf YnVmZmVyIC0gRFJNIGNsaWVudCBidWZmZXIKPiAgICovCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUv ZHJtL2RybV9kZXZpY2UuaCBiL2luY2x1ZGUvZHJtL2RybV9kZXZpY2UuaAo+IGluZGV4IDllMjk5 NzZkNGU5OC4uZjljNmUwZTNhZWM3IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9kZXZp Y2UuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9kZXZpY2UuaAo+IEBAIC04MSw2ICs4MSwyMCBA QCBzdHJ1Y3QgZHJtX2RldmljZSB7Cj4gIAkgKi8KPiAgCXN0cnVjdCBsaXN0X2hlYWQgZmlsZWxp c3RfaW50ZXJuYWw7Cj4gIAo+ICsJLyoqCj4gKwkgKiBAY2xpZW50bGlzdF9tdXRleDoKPiArCSAq Cj4gKwkgKiBQcm90ZWN0cyBAY2xpZW50bGlzdCBhY2Nlc3MuCj4gKwkgKi8KPiArCXN0cnVjdCBt dXRleCBjbGllbnRsaXN0X211dGV4Owo+ICsKPiArCS8qKgo+ICsJICogQGNsaWVudGxpc3Q6Cj4g KwkgKgo+ICsJICogTGlzdCBvZiBpbi1rZXJuZWwgY2xpZW50cy4gUHJvdGVjdGVkIGJ5IEBjbGll bnRsaXN0X211dGV4Lgo+ICsJICovCj4gKwlzdHJ1Y3QgbGlzdF9oZWFkIGNsaWVudGxpc3Q7Cj4g Kwo+ICAJLyoqIFxuYW1lIE1lbW9yeSBtYW5hZ2VtZW50ICovCj4gIAkvKkB7ICovCj4gIAlzdHJ1 Y3QgbGlzdF9oZWFkIG1hcGxpc3Q7CS8qKjwgTGlua2VkIGxpc3Qgb2YgcmVnaW9ucyAqLwo+IC0t IAo+IDIuMTUuMQo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENv cnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2RyaS1kZXZlbAo=