From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH v5 2/3] drm/atomic-helper: Implement subsystem-level suspend/resume Date: Wed, 2 Dec 2015 16:06:34 -0800 Message-ID: <20151203000634.GF13669@intel.com> References: <1449075005-13937-1-git-send-email-thierry.reding@gmail.com> <1449075005-13937-2-git-send-email-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 76A7D6EB25 for ; Wed, 2 Dec 2015 16:06:35 -0800 (PST) Content-Disposition: inline In-Reply-To: <1449075005-13937-2-git-send-email-thierry.reding@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding Cc: Daniel Vetter , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBEZWMgMDIsIDIwMTUgYXQgMDU6NTA6MDRQTSArMDEwMCwgVGhpZXJyeSBSZWRpbmcg d3JvdGU6Cj4gRnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KPiAKPiBQ cm92aWRlIHN1YnN5c3RlbS1sZXZlbCBzdXNwZW5kIGFuZCByZXN1bWUgaGVscGVycyB0aGF0IGNh biBiZSB1c2VkIHRvCj4gaW1wbGVtZW50IHN1c3BlbmQvcmVzdW1lIG9uIGF0b21pYyBtb2RlLXNl dHRpbmcgZW5hYmxlZCBkcml2ZXJzLgo+IAo+IHYyOiBzaW1wbGlmeSBsb2NraW5nLCBlbmhhbmNl IGtlcm5lbGRvYyBjb21tZW50cwo+IHYzOiBwYXNzIGxvY2sgYWNxdWlzaXRpb24gY29udGV4dCBi eSBwYXJhbWV0ZXIsIGltcHJvdmUga2VybmVsZG9jCj4gdjQ6IC0gcmVtb3ZlIHJlZHVuZGFudCBj b2RlIChhbHJlYWR5IHByb3ZpZGVkIGJ5IGF0b21pYyBoZWxwZXJzKQo+ICAgICAgIChNYWFydGVu IExhbmtob3JzdCkKPiAgICAgLSBtb3ZlIGJhY2tvZmYgZGFuY2UgZnJvbSBkcm1fbW9kZXNldF9s b2NrX2FsbF9jdHgoKSBpbnRvIHN1c3BlbmQKPiAgICAgICBoZWxwZXIgKERhbmllbCBWZXR0ZXIp Cj4gdjU6IGhhbmRsZSBwb3RlbnRpYWwgRURFQURMSyBmcm9tIGRybV9hdG9taWNfaGVscGVyX2R1 cGxpY2F0ZV9zdGF0ZSgpCj4gICAgIGFuZCBkcm1fYXRvbWljX2hlbHBlcl9kaXNhYmxlX2FsbCgp IChEYW5pZWwgVmV0dGVyKQo+IAo+IFNpZ25lZC1vZmYtYnk6IFRoaWVycnkgUmVkaW5nIDx0cmVk aW5nQG52aWRpYS5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBl ci5jIHwgMTYyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ICBkcml2ZXJz L2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMgICB8ICAgNiArKwo+ICBpbmNsdWRlL2RybS9kcm1f YXRvbWljX2hlbHBlci5oICAgICB8ICAgNiArKwo+ICAzIGZpbGVzIGNoYW5nZWQsIDE3MyBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVy LmMKPiBpbmRleCAzNzMxYTI2OTc5YmMuLmNlMmNmZWYwODc0MiAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX2hlbHBlci5jCj4gQEAgLTE4MTgsNiArMTgxOCwxNjEgQEAgY29tbWl0Ogo+ICB9 Cj4gIAo+ICAvKioKPiArICogZHJtX2F0b21pY19oZWxwZXJfZGlzYWJsZV9hbGwgLSBkaXNhYmxl IGFsbCBjdXJyZW50bHkgYWN0aXZlIG91dHB1dHMKPiArICogQGRldjogRFJNIGRldmljZQo+ICsg KiBAY3R4OiBsb2NrIGFjcXVpc2l0aW9uIGNvbnRleHQKPiArICoKPiArICogTG9vcHMgdGhyb3Vn aCBhbGwgY29ubmVjdG9ycywgZmluZGluZyB0aG9zZSB0aGF0IGFyZW4ndCB0dXJuZWQgb2ZmIGFu ZCB0aGVuCj4gKyAqIHR1cm5zIHRoZW0gb2ZmIGJ5IHNldHRpbmcgdGhlaXIgRFBNUyBtb2RlIHRv IE9GRiBhbmQgZGVhY3RpdmF0aW5nIHRoZSBDUlRDCj4gKyAqIHRoYXQgdGhleSBhcmUgY29ubmVj dGVkIHRvLgo+ICsgKgo+ICsgKiBUaGlzIGlzIHVzZWQgZm9yIGV4YW1wbGUgaW4gc3VzcGVuZC9y ZXN1bWUgdG8gZGlzYWJsZSBhbGwgY3VycmVudGx5IGFjdGl2ZQo+ICsgKiBmdW5jdGlvbnMgd2hl biBzdXNwZW5kaW5nLgo+ICsgKgo+ICsgKiBOb3RlIHRoYXQgaWYgY2FsbGVycyBoYXZlbid0IGFs cmVhZHkgYWNxdWlyZWQgYWxsIG1vZGVzZXQgbG9ja3MgdGhpcyBtaWdodAo+ICsgKiByZXR1cm4g LUVERUFETEssIHdoaWNoIG11c3QgYmUgaGFuZGxlZCBieSBjYWxsaW5nIGRybV9tb2Rlc2V0X2Jh Y2tvZmYoKS4KPiArICoKPiArICogUmV0dXJuczoKPiArICogMCBvbiBzdWNjZXNzIG9yIGEgbmVn YXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgo+ICsgKgo+ICsgKiBTZWUgYWxzbzoKPiArICog ZHJtX2F0b21pY19oZWxwZXJfc3VzcGVuZCgpLCBkcm1fYXRvbWljX2hlbHBlcl9yZXN1bWUoKQo+ ICsgKi8KPiAraW50IGRybV9hdG9taWNfaGVscGVyX2Rpc2FibGVfYWxsKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCj4gKwkJCQkgIHN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4KQo+ ICt7Cj4gKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7Cj4gKwlzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubjsKPiArCWludCBlcnI7Cj4gKwo+ICsJc3RhdGUgPSBkcm1fYXRvbWljX3N0 YXRlX2FsbG9jKGRldik7Cj4gKwlpZiAoIXN0YXRlKQo+ICsJCXJldHVybiAtRU5PTUVNOwo+ICsK PiArCXN0YXRlLT5hY3F1aXJlX2N0eCA9IGN0eDsKPiArCj4gKwlkcm1fZm9yX2VhY2hfY29ubmVj dG9yKGNvbm4sIGRldikgewoKVGhpcyBpdGVyYXRvciB3aWxsIHJhaXNlIGEgV0FSTigpIGlmIHRo ZSBjYWxsZXIgaXNuJ3QgYWxyZWFkeSBob2xkaW5nCmVpdGhlciBtb2RlX2NvbmZpZy0+bXV0ZXgg b3IgbW9kZV9jb25maWctPmNvbm5lY3Rpb25fbXV0ZXguICBTaG91bGQgYQpub3RlIGFib3V0IHRo YXQgYmUgYWRkZWQgdG8gdGhlIGtlcm5lbGRvYyBhYm92ZSB3aGVyZSB5b3UncmUgdGFsa2luZwph Ym91dCBsb2Nrcz8gIERpdHRvIGZvciB0aGUgaXRlcmF0b3IgaW4KZHJtX2F0b21pY19oZWxwZXJf ZHVwbGljYXRlX3N0YXRlKCkuCgoKTWF0dAoKPiArCQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBj b25uLT5zdGF0ZS0+Y3J0YzsKPiArCQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7 Cj4gKwo+ICsJCWlmICghY3J0YyB8fCBjb25uLT5kcG1zICE9IERSTV9NT0RFX0RQTVNfT04pCj4g KwkJCWNvbnRpbnVlOwo+ICsKPiArCQljcnRjX3N0YXRlID0gZHJtX2F0b21pY19nZXRfY3J0Y19z dGF0ZShzdGF0ZSwgY3J0Yyk7Cj4gKwkJaWYgKElTX0VSUihjcnRjX3N0YXRlKSkgewo+ICsJCQll cnIgPSBQVFJfRVJSKGNydGNfc3RhdGUpOwo+ICsJCQlnb3RvIGZyZWU7Cj4gKwkJfQo+ICsKPiAr CQljcnRjX3N0YXRlLT5hY3RpdmUgPSBmYWxzZTsKPiArCX0KPiArCj4gKwllcnIgPSBkcm1fYXRv bWljX2NvbW1pdChzdGF0ZSk7Cj4gKwo+ICtmcmVlOgo+ICsJaWYgKGVyciA8IDApCj4gKwkJZHJt X2F0b21pY19zdGF0ZV9mcmVlKHN0YXRlKTsKPiArCj4gKwlyZXR1cm4gZXJyOwo+ICt9Cj4gK0VY UE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfZGlzYWJsZV9hbGwpOwo+ICsKPiArLyoqCj4g KyAqIGRybV9hdG9taWNfaGVscGVyX3N1c3BlbmQgLSBzdWJzeXN0ZW0tbGV2ZWwgc3VzcGVuZCBo ZWxwZXIKPiArICogQGRldjogRFJNIGRldmljZQo+ICsgKgo+ICsgKiBEdXBsaWNhdGVzIHRoZSBj dXJyZW50IGF0b21pYyBzdGF0ZSwgZGlzYWJsZXMgYWxsIGFjdGl2ZSBvdXRwdXRzIGFuZCB0aGVu Cj4gKyAqIHJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBvcmlnaW5hbCBhdG9taWMgc3RhdGUgdG8g dGhlIGNhbGxlci4gRHJpdmVycyBjYW4KPiArICogcGFzcyB0aGlzIHBvaW50ZXIgdG8gdGhlIGRy bV9hdG9taWNfaGVscGVyX3Jlc3VtZSgpIGhlbHBlciB1cG9uIHJlc3VtZSB0bwo+ICsgKiByZXN0 b3JlIHRoZSBvdXRwdXQgY29uZmlndXJhdGlvbiB0aGF0IHdhcyBhY3RpdmUgYXQgdGhlIHRpbWUg dGhlIHN5c3RlbQo+ICsgKiBlbnRlcmVkIHN1c3BlbmQuCj4gKyAqCj4gKyAqIE5vdGUgdGhhdCBp dCBpcyBwb3RlbnRpYWxseSB1bnNhZmUgdG8gdXNlIHRoaXMuIFRoZSBhdG9taWMgc3RhdGUgb2Jq ZWN0Cj4gKyAqIHJldHVybmVkIGJ5IHRoaXMgZnVuY3Rpb24gaXMgYXNzdW1lZCB0byBiZSBwZXJz aXN0ZW50LiBEcml2ZXJzIG11c3QgZW5zdXJlCj4gKyAqIHRoYXQgdGhpcyBob2xkcyB0cnVlLiBC ZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLCBkcml2ZXJzIG11c3QgbWFrZSBzdXJlCj4gKyAq IHRvIHN1c3BlbmQgZmJkZXYgZW11bGF0aW9uIHNvIHRoYXQgbm90aGluZyBjYW4gYmUgdXNpbmcg dGhlIGRldmljZS4KPiArICoKPiArICogUmV0dXJuczoKPiArICogQSBwb2ludGVyIHRvIGEgY29w eSBvZiB0aGUgc3RhdGUgYmVmb3JlIHN1c3BlbmQgb24gc3VjY2VzcyBvciBhbiBFUlJfUFRSKCkt Cj4gKyAqIGVuY29kZWQgZXJyb3IgY29kZSBvbiBmYWlsdXJlLiBEcml2ZXJzIHNob3VsZCBzdG9y ZSB0aGUgcmV0dXJuZWQgYXRvbWljCj4gKyAqIHN0YXRlIG9iamVjdCBhbmQgcGFzcyBpdCB0byB0 aGUgZHJtX2F0b21pY19oZWxwZXJfcmVzdW1lKCkgaGVscGVyIHVwb24KPiArICogcmVzdW1lLgo+ ICsgKgo+ICsgKiBTZWUgYWxzbzoKPiArICogZHJtX2F0b21pY19oZWxwZXJfZHVwbGljYXRlX3N0 YXRlKCksIGRybV9hdG9taWNfaGVscGVyX2Rpc2FibGVfYWxsKCksCj4gKyAqIGRybV9hdG9taWNf aGVscGVyX3Jlc3VtZSgpCj4gKyAqLwo+ICtzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqZHJtX2F0 b21pY19oZWxwZXJfc3VzcGVuZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICt7Cj4gKwlzdHJ1 Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggY3R4Owo+ICsJc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnN0YXRlOwo+ICsJaW50IGVycjsKPiArCj4gKwlkcm1fbW9kZXNldF9hY3F1aXJlX2luaXQo JmN0eCwgMCk7Cj4gKwo+ICtyZXRyeToKPiArCWVyciA9IGRybV9tb2Rlc2V0X2xvY2tfYWxsX2N0 eChkZXYsICZjdHgpOwo+ICsJaWYgKGVyciA8IDApIHsKPiArCQlzdGF0ZSA9IEVSUl9QVFIoZXJy KTsKPiArCQlnb3RvIHVubG9jazsKPiArCX0KPiArCj4gKwlzdGF0ZSA9IGRybV9hdG9taWNfaGVs cGVyX2R1cGxpY2F0ZV9zdGF0ZShkZXYsICZjdHgpOwo+ICsJaWYgKElTX0VSUihzdGF0ZSkpCj4g KwkJZ290byB1bmxvY2s7Cj4gKwo+ICsJZXJyID0gZHJtX2F0b21pY19oZWxwZXJfZGlzYWJsZV9h bGwoZGV2LCAmY3R4KTsKPiArCWlmIChlcnIgPCAwKSB7Cj4gKwkJZHJtX2F0b21pY19zdGF0ZV9m cmVlKHN0YXRlKTsKPiArCQlzdGF0ZSA9IEVSUl9QVFIoZXJyKTsKPiArCQlnb3RvIHVubG9jazsK PiArCX0KPiArCj4gK3VubG9jazoKPiArCWlmIChQVFJfRVJSKHN0YXRlKSA9PSAtRURFQURMSykg ewo+ICsJCWRybV9tb2Rlc2V0X2JhY2tvZmYoJmN0eCk7Cj4gKwkJZ290byByZXRyeTsKPiArCX0K PiArCj4gKwlkcm1fbW9kZXNldF9kcm9wX2xvY2tzKCZjdHgpOwo+ICsJZHJtX21vZGVzZXRfYWNx dWlyZV9maW5pKCZjdHgpOwo+ICsJcmV0dXJuIHN0YXRlOwo+ICt9Cj4gK0VYUE9SVF9TWU1CT0wo ZHJtX2F0b21pY19oZWxwZXJfc3VzcGVuZCk7Cj4gKwo+ICsvKioKPiArICogZHJtX2F0b21pY19o ZWxwZXJfcmVzdW1lIC0gc3Vic3lzdGVtLWxldmVsIHJlc3VtZSBoZWxwZXIKPiArICogQGRldjog RFJNIGRldmljZQo+ICsgKiBAc3RhdGU6IGF0b21pYyBzdGF0ZSB0byByZXN1bWUgdG8KPiArICoK PiArICogQ2FsbHMgZHJtX21vZGVfY29uZmlnX3Jlc2V0KCkgdG8gc3luY2hyb25pemUgaGFyZHdh cmUgYW5kIHNvZnR3YXJlIHN0YXRlcywKPiArICogZ3JhYnMgYWxsIG1vZGVzZXQgbG9ja3MgYW5k IGNvbW1pdHMgdGhlIGF0b21pYyBzdGF0ZSBvYmplY3QuIFRoaXMgY2FuIGJlCj4gKyAqIHVzZWQg aW4gY29uanVuY3Rpb24gd2l0aCB0aGUgZHJtX2F0b21pY19oZWxwZXJfc3VzcGVuZCgpIGhlbHBl ciB0bwo+ICsgKiBpbXBsZW1lbnQgc3VzcGVuZC9yZXN1bWUgZm9yIGRyaXZlcnMgdGhhdCBzdXBw b3J0IGF0b21pYyBtb2RlLXNldHRpbmcuCj4gKyAqCj4gKyAqIFJldHVybnM6Cj4gKyAqIDAgb24g c3VjY2VzcyBvciBhIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KPiArICoKPiArICog U2VlIGFsc286Cj4gKyAqIGRybV9hdG9taWNfaGVscGVyX3N1c3BlbmQoKQo+ICsgKi8KPiAraW50 IGRybV9hdG9taWNfaGVscGVyX3Jlc3VtZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICsJCQkg ICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiArewo+ICsJc3RydWN0IGRybV9t b2RlX2NvbmZpZyAqY29uZmlnID0gJmRldi0+bW9kZV9jb25maWc7Cj4gKwlpbnQgZXJyOwo+ICsK PiArCWRybV9tb2RlX2NvbmZpZ19yZXNldChkZXYpOwo+ICsJZHJtX21vZGVzZXRfbG9ja19hbGwo ZGV2KTsKPiArCXN0YXRlLT5hY3F1aXJlX2N0eCA9IGNvbmZpZy0+YWNxdWlyZV9jdHg7Cj4gKwll cnIgPSBkcm1fYXRvbWljX2NvbW1pdChzdGF0ZSk7Cj4gKwlkcm1fbW9kZXNldF91bmxvY2tfYWxs KGRldik7Cj4gKwo+ICsJcmV0dXJuIGVycjsKPiArfQo+ICtFWFBPUlRfU1lNQk9MKGRybV9hdG9t aWNfaGVscGVyX3Jlc3VtZSk7Cj4gKwo+ICsvKioKPiAgICogZHJtX2F0b21pY19oZWxwZXJfY3J0 Y19zZXRfcHJvcGVydHkgLSBoZWxwZXIgZm9yIGNydGMgcHJvcGVydGllcwo+ICAgKiBAY3J0Yzog RFJNIGNydGMKPiAgICogQHByb3BlcnR5OiBEUk0gcHJvcGVydHkKPiBAQCAtMjQyOSw3ICsyNTg0 LDkgQEAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZHVwbGljYXRl X3N0YXRlKTsKPiAgICogQGN0eDogbG9jayBhY3F1aXNpdGlvbiBjb250ZXh0Cj4gICAqCj4gICAq IE1ha2VzIGEgY29weSBvZiB0aGUgY3VycmVudCBhdG9taWMgc3RhdGUgYnkgbG9vcGluZyBvdmVy IGFsbCBvYmplY3RzIGFuZAo+IC0gKiBkdXBsaWNhdGluZyB0aGVpciByZXNwZWN0aXZlIHN0YXRl cy4KPiArICogZHVwbGljYXRpbmcgdGhlaXIgcmVzcGVjdGl2ZSBzdGF0ZXMuIFRoaXMgaXMgdXNl ZCBmb3IgZXhhbXBsZSBieSBzdXNwZW5kLwo+ICsgKiByZXN1bWUgc3VwcG9ydCBjb2RlIHRvIHNh dmUgdGhlIHN0YXRlIHByaW9yIHRvIHN1c3BlbmQgc3VjaCB0aGF0IGl0IGNhbgo+ICsgKiBiZSBy ZXN0b3JlZCB1cG9uIHJlc3VtZS4KPiAgICoKPiAgICogTm90ZSB0aGF0IHRoaXMgdHJlYXRzIGF0 b21pYyBzdGF0ZSBhcyBwZXJzaXN0ZW50IGJldHdlZW4gc2F2ZSBhbmQgcmVzdG9yZS4KPiAgICog RHJpdmVycyBtdXN0IG1ha2Ugc3VyZSB0aGF0IHRoaXMgaXMgcG9zc2libGUgYW5kIHdvbid0IHJl c3VsdCBpbiBjb25mdXNpb24KPiBAQCAtMjQ0MSw2ICsyNTk4LDkgQEAgRVhQT1JUX1NZTUJPTChk cm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZHVwbGljYXRlX3N0YXRlKTsKPiAgICogUmV0dXJu czoKPiAgICogQSBwb2ludGVyIHRvIHRoZSBjb3B5IG9mIHRoZSBhdG9taWMgc3RhdGUgb2JqZWN0 IG9uIHN1Y2Nlc3Mgb3IgYW4KPiAgICogRVJSX1BUUigpLWVuY29kZWQgZXJyb3IgY29kZSBvbiBm YWlsdXJlLgo+ICsgKgo+ICsgKiBTZWUgYWxzbzoKPiArICogZHJtX2F0b21pY19oZWxwZXJfc3Vz cGVuZCgpLCBkcm1fYXRvbWljX2hlbHBlcl9yZXN1bWUoKQo+ICAgKi8KPiAgc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKgo+ICBkcm1fYXRvbWljX2hlbHBlcl9kdXBsaWNhdGVfc3RhdGUoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRj X2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2hlbHBlci5jCj4gaW5kZXggNmI0 Y2YyNWZlZDEyLi4xMGQwOTg5ZGIyNzMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9jcnRjX2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2hlbHBlci5j Cj4gQEAgLTg1NSw2ICs4NTUsMTIgQEAgRVhQT1JUX1NZTUJPTChkcm1faGVscGVyX21vZGVfZmls bF9mYl9zdHJ1Y3QpOwo+ICAgKiBkdWUgdG8gc2xpZ2h0IGRpZmZlcmVuY2VzIGluIGFsbG9jYXRp bmcgc2hhcmVkIHJlc291cmNlcyB3aGVuIHRoZQo+ICAgKiBjb25maWd1cmF0aW9uIGlzIHJlc3Rv cmVkIGluIGEgZGlmZmVyZW50IG9yZGVyIHRoYW4gd2hlbiB1c2Vyc3BhY2Ugc2V0IGl0IHVwKQo+ ICAgKiBuZWVkIHRvIHVzZSB0aGVpciBvd24gcmVzdG9yZSBsb2dpYy4KPiArICoKPiArICogVGhp cyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkLiBOZXcgZHJpdmVycyBzaG91bGQgaW1wbGVtZW50IGF0 b21pYyBtb2RlLQo+ICsgKiBzZXR0aW5nIGFuZCB1c2UgdGhlIGF0b21pYyBzdXNwZW5kL3Jlc3Vt ZSBoZWxwZXJzLgo+ICsgKgo+ICsgKiBTZWUgYWxzbzoKPiArICogZHJtX2F0b21pY19oZWxwZXJf c3VzcGVuZCgpLCBkcm1fYXRvbWljX2hlbHBlcl9yZXN1bWUoKQo+ICAgKi8KPiAgdm9pZCBkcm1f aGVscGVyX3Jlc3VtZV9mb3JjZV9tb2RlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIHsKPiBk aWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pY19oZWxwZXIuaCBiL2luY2x1ZGUvZHJt L2RybV9hdG9taWNfaGVscGVyLmgKPiBpbmRleCA4Y2JhNTRhMmEwYTAuLjgwNDVjZGVhOGNjOSAx MDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fYXRvbWljX2hlbHBlci5oCj4gKysrIGIvaW5j bHVkZS9kcm0vZHJtX2F0b21pY19oZWxwZXIuaAo+IEBAIC04MSw2ICs4MSwxMiBAQCBpbnQgZHJt X2F0b21pY19oZWxwZXJfc2V0X2NvbmZpZyhzdHJ1Y3QgZHJtX21vZGVfc2V0ICpzZXQpOwo+ICBp bnQgX19kcm1fYXRvbWljX2hlbHBlcl9zZXRfY29uZmlnKHN0cnVjdCBkcm1fbW9kZV9zZXQgKnNl dCwKPiAgCQlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+ICAKPiAraW50IGRybV9h dG9taWNfaGVscGVyX2Rpc2FibGVfYWxsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gKwkJCQkg IHN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4KTsKPiArc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKmRybV9hdG9taWNfaGVscGVyX3N1c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRl dik7Cj4gK2ludCBkcm1fYXRvbWljX2hlbHBlcl9yZXN1bWUoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKPiArCQkJICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+ICsKPiAgaW50 IGRybV9hdG9taWNfaGVscGVyX2NydGNfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywKPiAgCQkJCQlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwKPiAgCQkJCQl1aW50NjRf dCB2YWwpOwo+IC0tIAo+IDIuNS4wCj4gCgotLSAKTWF0dCBSb3BlcgpHcmFwaGljcyBTb2Z0d2Fy ZSBFbmdpbmVlcgpJb1RHIFBsYXRmb3JtIEVuYWJsaW5nICYgRGV2ZWxvcG1lbnQKSW50ZWwgQ29y cG9yYXRpb24KKDkxNikgMzU2LTI3OTUKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9kcmktZGV2ZWwK