From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v5 2/3] drm/atomic-helper: Implement subsystem-level suspend/resume Date: Wed, 2 Dec 2015 23:12:19 +0100 Message-ID: <20151202221219.GA10243@phenom.ffwll.local> 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 mail-wm0-f45.google.com (mail-wm0-f45.google.com [74.125.82.45]) by gabe.freedesktop.org (Postfix) with ESMTPS id 37DCE6EAF7 for ; Wed, 2 Dec 2015 14:13:00 -0800 (PST) Received: by wmww144 with SMTP id w144so76434136wmw.0 for ; Wed, 02 Dec 2015 14:12:58 -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+CgpQYXRjaGVzIDEmMiBhcHBsaWVkIHRvIGRybS1taXNjLCB0aGFua3Mg YSBsb3QuIElmIHlvdSB3YW50IEkgY2FuIGFsc28KYXBwbHkgdGhlIHRlZ3JhIG9uZSB0aGVyZSwg b3IgeW91J2xsIGp1c3Qgd2FpdCB1bnRpbCB0aGlzIGxhbmRzIGluCmRybS1uZXh0IGFuZCByZWJh c2UgLSBJIHBsYW4gdG8gc2VuZCBhbm90aGVyIGRybS1taXNjIHB1bGwgdG9tb3Jyb3cgYW55d2F5 CnNvIEkgY2FuIGdldCBhdCB0aGVzZSBnb29kaWVzIGZvciBpOTE1LgoKQ2hlZXJzLCBEYW5pZWwK Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIHwgMTYyICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2Ny dGNfaGVscGVyLmMgICB8ICAgNiArKwo+ICBpbmNsdWRlL2RybS9kcm1fYXRvbWljX2hlbHBlci5o ICAgICB8ICAgNiArKwo+ICAzIGZpbGVzIGNoYW5nZWQsIDE3MyBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hl bHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiBpbmRleCAzNzMx YTI2OTc5YmMuLmNlMmNmZWYwODc0MiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pY19oZWxwZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBl ci5jCj4gQEAgLTE4MTgsNiArMTgxOCwxNjEgQEAgY29tbWl0Ogo+ICB9Cj4gIAo+ICAvKioKPiAr ICogZHJtX2F0b21pY19oZWxwZXJfZGlzYWJsZV9hbGwgLSBkaXNhYmxlIGFsbCBjdXJyZW50bHkg YWN0aXZlIG91dHB1dHMKPiArICogQGRldjogRFJNIGRldmljZQo+ICsgKiBAY3R4OiBsb2NrIGFj cXVpc2l0aW9uIGNvbnRleHQKPiArICoKPiArICogTG9vcHMgdGhyb3VnaCBhbGwgY29ubmVjdG9y cywgZmluZGluZyB0aG9zZSB0aGF0IGFyZW4ndCB0dXJuZWQgb2ZmIGFuZCB0aGVuCj4gKyAqIHR1 cm5zIHRoZW0gb2ZmIGJ5IHNldHRpbmcgdGhlaXIgRFBNUyBtb2RlIHRvIE9GRiBhbmQgZGVhY3Rp dmF0aW5nIHRoZSBDUlRDCj4gKyAqIHRoYXQgdGhleSBhcmUgY29ubmVjdGVkIHRvLgo+ICsgKgo+ ICsgKiBUaGlzIGlzIHVzZWQgZm9yIGV4YW1wbGUgaW4gc3VzcGVuZC9yZXN1bWUgdG8gZGlzYWJs ZSBhbGwgY3VycmVudGx5IGFjdGl2ZQo+ICsgKiBmdW5jdGlvbnMgd2hlbiBzdXNwZW5kaW5nLgo+ ICsgKgo+ICsgKiBOb3RlIHRoYXQgaWYgY2FsbGVycyBoYXZlbid0IGFscmVhZHkgYWNxdWlyZWQg YWxsIG1vZGVzZXQgbG9ja3MgdGhpcyBtaWdodAo+ICsgKiByZXR1cm4gLUVERUFETEssIHdoaWNo IG11c3QgYmUgaGFuZGxlZCBieSBjYWxsaW5nIGRybV9tb2Rlc2V0X2JhY2tvZmYoKS4KPiArICoK PiArICogUmV0dXJuczoKPiArICogMCBvbiBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29k ZSBvbiBmYWlsdXJlLgo+ICsgKgo+ICsgKiBTZWUgYWxzbzoKPiArICogZHJtX2F0b21pY19oZWxw ZXJfc3VzcGVuZCgpLCBkcm1fYXRvbWljX2hlbHBlcl9yZXN1bWUoKQo+ICsgKi8KPiAraW50IGRy bV9hdG9taWNfaGVscGVyX2Rpc2FibGVfYWxsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gKwkJ CQkgIHN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4KQo+ICt7Cj4gKwlzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7Cj4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubjsK PiArCWludCBlcnI7Cj4gKwo+ICsJc3RhdGUgPSBkcm1fYXRvbWljX3N0YXRlX2FsbG9jKGRldik7 Cj4gKwlpZiAoIXN0YXRlKQo+ICsJCXJldHVybiAtRU5PTUVNOwo+ICsKPiArCXN0YXRlLT5hY3F1 aXJlX2N0eCA9IGN0eDsKPiArCj4gKwlkcm1fZm9yX2VhY2hfY29ubmVjdG9yKGNvbm4sIGRldikg ewo+ICsJCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGNvbm4tPnN0YXRlLT5jcnRjOwo+ICsJCXN0 cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKPiArCj4gKwkJaWYgKCFjcnRjIHx8IGNv bm4tPmRwbXMgIT0gRFJNX01PREVfRFBNU19PTikKPiArCQkJY29udGludWU7Cj4gKwo+ICsJCWNy dGNfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9jcnRjX3N0YXRlKHN0YXRlLCBjcnRjKTsKPiArCQlp ZiAoSVNfRVJSKGNydGNfc3RhdGUpKSB7Cj4gKwkJCWVyciA9IFBUUl9FUlIoY3J0Y19zdGF0ZSk7 Cj4gKwkJCWdvdG8gZnJlZTsKPiArCQl9Cj4gKwo+ICsJCWNydGNfc3RhdGUtPmFjdGl2ZSA9IGZh bHNlOwo+ICsJfQo+ICsKPiArCWVyciA9IGRybV9hdG9taWNfY29tbWl0KHN0YXRlKTsKPiArCj4g K2ZyZWU6Cj4gKwlpZiAoZXJyIDwgMCkKPiArCQlkcm1fYXRvbWljX3N0YXRlX2ZyZWUoc3RhdGUp Owo+ICsKPiArCXJldHVybiBlcnI7Cj4gK30KPiArRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hl bHBlcl9kaXNhYmxlX2FsbCk7Cj4gKwo+ICsvKioKPiArICogZHJtX2F0b21pY19oZWxwZXJfc3Vz cGVuZCAtIHN1YnN5c3RlbS1sZXZlbCBzdXNwZW5kIGhlbHBlcgo+ICsgKiBAZGV2OiBEUk0gZGV2 aWNlCj4gKyAqCj4gKyAqIER1cGxpY2F0ZXMgdGhlIGN1cnJlbnQgYXRvbWljIHN0YXRlLCBkaXNh YmxlcyBhbGwgYWN0aXZlIG91dHB1dHMgYW5kIHRoZW4KPiArICogcmV0dXJucyBhIHBvaW50ZXIg dG8gdGhlIG9yaWdpbmFsIGF0b21pYyBzdGF0ZSB0byB0aGUgY2FsbGVyLiBEcml2ZXJzIGNhbgo+ ICsgKiBwYXNzIHRoaXMgcG9pbnRlciB0byB0aGUgZHJtX2F0b21pY19oZWxwZXJfcmVzdW1lKCkg aGVscGVyIHVwb24gcmVzdW1lIHRvCj4gKyAqIHJlc3RvcmUgdGhlIG91dHB1dCBjb25maWd1cmF0 aW9uIHRoYXQgd2FzIGFjdGl2ZSBhdCB0aGUgdGltZSB0aGUgc3lzdGVtCj4gKyAqIGVudGVyZWQg c3VzcGVuZC4KPiArICoKPiArICogTm90ZSB0aGF0IGl0IGlzIHBvdGVudGlhbGx5IHVuc2FmZSB0 byB1c2UgdGhpcy4gVGhlIGF0b21pYyBzdGF0ZSBvYmplY3QKPiArICogcmV0dXJuZWQgYnkgdGhp cyBmdW5jdGlvbiBpcyBhc3N1bWVkIHRvIGJlIHBlcnNpc3RlbnQuIERyaXZlcnMgbXVzdCBlbnN1 cmUKPiArICogdGhhdCB0aGlzIGhvbGRzIHRydWUuIEJlZm9yZSBjYWxsaW5nIHRoaXMgZnVuY3Rp b24sIGRyaXZlcnMgbXVzdCBtYWtlIHN1cmUKPiArICogdG8gc3VzcGVuZCBmYmRldiBlbXVsYXRp b24gc28gdGhhdCBub3RoaW5nIGNhbiBiZSB1c2luZyB0aGUgZGV2aWNlLgo+ICsgKgo+ICsgKiBS ZXR1cm5zOgo+ICsgKiBBIHBvaW50ZXIgdG8gYSBjb3B5IG9mIHRoZSBzdGF0ZSBiZWZvcmUgc3Vz cGVuZCBvbiBzdWNjZXNzIG9yIGFuIEVSUl9QVFIoKS0KPiArICogZW5jb2RlZCBlcnJvciBjb2Rl IG9uIGZhaWx1cmUuIERyaXZlcnMgc2hvdWxkIHN0b3JlIHRoZSByZXR1cm5lZCBhdG9taWMKPiAr ICogc3RhdGUgb2JqZWN0IGFuZCBwYXNzIGl0IHRvIHRoZSBkcm1fYXRvbWljX2hlbHBlcl9yZXN1 bWUoKSBoZWxwZXIgdXBvbgo+ICsgKiByZXN1bWUuCj4gKyAqCj4gKyAqIFNlZSBhbHNvOgo+ICsg KiBkcm1fYXRvbWljX2hlbHBlcl9kdXBsaWNhdGVfc3RhdGUoKSwgZHJtX2F0b21pY19oZWxwZXJf ZGlzYWJsZV9hbGwoKSwKPiArICogZHJtX2F0b21pY19oZWxwZXJfcmVzdW1lKCkKPiArICovCj4g K3N0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpkcm1fYXRvbWljX2hlbHBlcl9zdXNwZW5kKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCj4gK3sKPiArCXN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0 eCBjdHg7Cj4gKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7Cj4gKwlpbnQgZXJyOwo+ ICsKPiArCWRybV9tb2Rlc2V0X2FjcXVpcmVfaW5pdCgmY3R4LCAwKTsKPiArCj4gK3JldHJ5Ogo+ ICsJZXJyID0gZHJtX21vZGVzZXRfbG9ja19hbGxfY3R4KGRldiwgJmN0eCk7Cj4gKwlpZiAoZXJy IDwgMCkgewo+ICsJCXN0YXRlID0gRVJSX1BUUihlcnIpOwo+ICsJCWdvdG8gdW5sb2NrOwo+ICsJ fQo+ICsKPiArCXN0YXRlID0gZHJtX2F0b21pY19oZWxwZXJfZHVwbGljYXRlX3N0YXRlKGRldiwg JmN0eCk7Cj4gKwlpZiAoSVNfRVJSKHN0YXRlKSkKPiArCQlnb3RvIHVubG9jazsKPiArCj4gKwll cnIgPSBkcm1fYXRvbWljX2hlbHBlcl9kaXNhYmxlX2FsbChkZXYsICZjdHgpOwo+ICsJaWYgKGVy ciA8IDApIHsKPiArCQlkcm1fYXRvbWljX3N0YXRlX2ZyZWUoc3RhdGUpOwo+ICsJCXN0YXRlID0g RVJSX1BUUihlcnIpOwo+ICsJCWdvdG8gdW5sb2NrOwo+ICsJfQo+ICsKPiArdW5sb2NrOgo+ICsJ aWYgKFBUUl9FUlIoc3RhdGUpID09IC1FREVBRExLKSB7Cj4gKwkJZHJtX21vZGVzZXRfYmFja29m ZigmY3R4KTsKPiArCQlnb3RvIHJldHJ5Owo+ICsJfQo+ICsKPiArCWRybV9tb2Rlc2V0X2Ryb3Bf bG9ja3MoJmN0eCk7Cj4gKwlkcm1fbW9kZXNldF9hY3F1aXJlX2ZpbmkoJmN0eCk7Cj4gKwlyZXR1 cm4gc3RhdGU7Cj4gK30KPiArRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9zdXNwZW5k KTsKPiArCj4gKy8qKgo+ICsgKiBkcm1fYXRvbWljX2hlbHBlcl9yZXN1bWUgLSBzdWJzeXN0ZW0t bGV2ZWwgcmVzdW1lIGhlbHBlcgo+ICsgKiBAZGV2OiBEUk0gZGV2aWNlCj4gKyAqIEBzdGF0ZTog YXRvbWljIHN0YXRlIHRvIHJlc3VtZSB0bwo+ICsgKgo+ICsgKiBDYWxscyBkcm1fbW9kZV9jb25m aWdfcmVzZXQoKSB0byBzeW5jaHJvbml6ZSBoYXJkd2FyZSBhbmQgc29mdHdhcmUgc3RhdGVzLAo+ ICsgKiBncmFicyBhbGwgbW9kZXNldCBsb2NrcyBhbmQgY29tbWl0cyB0aGUgYXRvbWljIHN0YXRl IG9iamVjdC4gVGhpcyBjYW4gYmUKPiArICogdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBk cm1fYXRvbWljX2hlbHBlcl9zdXNwZW5kKCkgaGVscGVyIHRvCj4gKyAqIGltcGxlbWVudCBzdXNw ZW5kL3Jlc3VtZSBmb3IgZHJpdmVycyB0aGF0IHN1cHBvcnQgYXRvbWljIG1vZGUtc2V0dGluZy4K PiArICoKPiArICogUmV0dXJuczoKPiArICogMCBvbiBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgZXJy b3IgY29kZSBvbiBmYWlsdXJlLgo+ICsgKgo+ICsgKiBTZWUgYWxzbzoKPiArICogZHJtX2F0b21p Y19oZWxwZXJfc3VzcGVuZCgpCj4gKyAqLwo+ICtpbnQgZHJtX2F0b21pY19oZWxwZXJfcmVzdW1l KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gKwkJCSAgICAgc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnN0YXRlKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX21vZGVfY29uZmlnICpjb25maWcgPSAmZGV2 LT5tb2RlX2NvbmZpZzsKPiArCWludCBlcnI7Cj4gKwo+ICsJZHJtX21vZGVfY29uZmlnX3Jlc2V0 KGRldik7Cj4gKwlkcm1fbW9kZXNldF9sb2NrX2FsbChkZXYpOwo+ICsJc3RhdGUtPmFjcXVpcmVf Y3R4ID0gY29uZmlnLT5hY3F1aXJlX2N0eDsKPiArCWVyciA9IGRybV9hdG9taWNfY29tbWl0KHN0 YXRlKTsKPiArCWRybV9tb2Rlc2V0X3VubG9ja19hbGwoZGV2KTsKPiArCj4gKwlyZXR1cm4gZXJy Owo+ICt9Cj4gK0VYUE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfcmVzdW1lKTsKPiArCj4g Ky8qKgo+ICAgKiBkcm1fYXRvbWljX2hlbHBlcl9jcnRjX3NldF9wcm9wZXJ0eSAtIGhlbHBlciBm b3IgY3J0YyBwcm9wZXJ0aWVzCj4gICAqIEBjcnRjOiBEUk0gY3J0Ywo+ICAgKiBAcHJvcGVydHk6 IERSTSBwcm9wZXJ0eQo+IEBAIC0yNDI5LDcgKzI1ODQsOSBAQCBFWFBPUlRfU1lNQk9MKGRybV9h dG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUpOwo+ICAgKiBAY3R4OiBsb2Nr IGFjcXVpc2l0aW9uIGNvbnRleHQKPiAgICoKPiAgICogTWFrZXMgYSBjb3B5IG9mIHRoZSBjdXJy ZW50IGF0b21pYyBzdGF0ZSBieSBsb29waW5nIG92ZXIgYWxsIG9iamVjdHMgYW5kCj4gLSAqIGR1 cGxpY2F0aW5nIHRoZWlyIHJlc3BlY3RpdmUgc3RhdGVzLgo+ICsgKiBkdXBsaWNhdGluZyB0aGVp ciByZXNwZWN0aXZlIHN0YXRlcy4gVGhpcyBpcyB1c2VkIGZvciBleGFtcGxlIGJ5IHN1c3BlbmQv Cj4gKyAqIHJlc3VtZSBzdXBwb3J0IGNvZGUgdG8gc2F2ZSB0aGUgc3RhdGUgcHJpb3IgdG8gc3Vz cGVuZCBzdWNoIHRoYXQgaXQgY2FuCj4gKyAqIGJlIHJlc3RvcmVkIHVwb24gcmVzdW1lLgo+ICAg Kgo+ICAgKiBOb3RlIHRoYXQgdGhpcyB0cmVhdHMgYXRvbWljIHN0YXRlIGFzIHBlcnNpc3RlbnQg YmV0d2VlbiBzYXZlIGFuZCByZXN0b3JlLgo+ICAgKiBEcml2ZXJzIG11c3QgbWFrZSBzdXJlIHRo YXQgdGhpcyBpcyBwb3NzaWJsZSBhbmQgd29uJ3QgcmVzdWx0IGluIGNvbmZ1c2lvbgo+IEBAIC0y NDQxLDYgKzI1OTgsOSBAQCBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rv cl9kdXBsaWNhdGVfc3RhdGUpOwo+ICAgKiBSZXR1cm5zOgo+ICAgKiBBIHBvaW50ZXIgdG8gdGhl IGNvcHkgb2YgdGhlIGF0b21pYyBzdGF0ZSBvYmplY3Qgb24gc3VjY2VzcyBvciBhbgo+ICAgKiBF UlJfUFRSKCktZW5jb2RlZCBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCj4gKyAqCj4gKyAqIFNlZSBh bHNvOgo+ICsgKiBkcm1fYXRvbWljX2hlbHBlcl9zdXNwZW5kKCksIGRybV9hdG9taWNfaGVscGVy X3Jlc3VtZSgpCj4gICAqLwo+ICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqCj4gIGRybV9hdG9t aWNfaGVscGVyX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2NydGNfaGVscGVyLmMKPiBpbmRleCA2YjRjZjI1ZmVkMTIuLjEwZDA5ODlkYjI3MyAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMKPiBAQCAtODU1LDYgKzg1NSwxMiBAQCBF WFBPUlRfU1lNQk9MKGRybV9oZWxwZXJfbW9kZV9maWxsX2ZiX3N0cnVjdCk7Cj4gICAqIGR1ZSB0 byBzbGlnaHQgZGlmZmVyZW5jZXMgaW4gYWxsb2NhdGluZyBzaGFyZWQgcmVzb3VyY2VzIHdoZW4g dGhlCj4gICAqIGNvbmZpZ3VyYXRpb24gaXMgcmVzdG9yZWQgaW4gYSBkaWZmZXJlbnQgb3JkZXIg dGhhbiB3aGVuIHVzZXJzcGFjZSBzZXQgaXQgdXApCj4gICAqIG5lZWQgdG8gdXNlIHRoZWlyIG93 biByZXN0b3JlIGxvZ2ljLgo+ICsgKgo+ICsgKiBUaGlzIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQu IE5ldyBkcml2ZXJzIHNob3VsZCBpbXBsZW1lbnQgYXRvbWljIG1vZGUtCj4gKyAqIHNldHRpbmcg YW5kIHVzZSB0aGUgYXRvbWljIHN1c3BlbmQvcmVzdW1lIGhlbHBlcnMuCj4gKyAqCj4gKyAqIFNl ZSBhbHNvOgo+ICsgKiBkcm1fYXRvbWljX2hlbHBlcl9zdXNwZW5kKCksIGRybV9hdG9taWNfaGVs cGVyX3Jlc3VtZSgpCj4gICAqLwo+ICB2b2lkIGRybV9oZWxwZXJfcmVzdW1lX2ZvcmNlX21vZGUo c3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgewo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9k cm1fYXRvbWljX2hlbHBlci5oIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pY19oZWxwZXIuaAo+IGlu ZGV4IDhjYmE1NGEyYTBhMC4uODA0NWNkZWE4Y2M5IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJt L2RybV9hdG9taWNfaGVscGVyLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fYXRvbWljX2hlbHBl ci5oCj4gQEAgLTgxLDYgKzgxLDEyIEBAIGludCBkcm1fYXRvbWljX2hlbHBlcl9zZXRfY29uZmln KHN0cnVjdCBkcm1fbW9kZV9zZXQgKnNldCk7Cj4gIGludCBfX2RybV9hdG9taWNfaGVscGVyX3Nl dF9jb25maWcoc3RydWN0IGRybV9tb2RlX3NldCAqc2V0LAo+ICAJCXN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlICpzdGF0ZSk7Cj4gIAo+ICtpbnQgZHJtX2F0b21pY19oZWxwZXJfZGlzYWJsZV9hbGwo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiArCQkJCSAgc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVp cmVfY3R4ICpjdHgpOwo+ICtzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqZHJtX2F0b21pY19oZWxw ZXJfc3VzcGVuZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiAraW50IGRybV9hdG9taWNfaGVs cGVyX3Jlc3VtZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICsJCQkgICAgIHN0cnVjdCBkcm1f YXRvbWljX3N0YXRlICpzdGF0ZSk7Cj4gKwo+ICBpbnQgZHJtX2F0b21pY19oZWxwZXJfY3J0Y19z ZXRfcHJvcGVydHkoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJCQkJCXN0cnVjdCBkcm1fcHJv cGVydHkgKnByb3BlcnR5LAo+ICAJCQkJCXVpbnQ2NF90IHZhbCk7Cj4gLS0gCj4gMi41LjAKPiAK Ci0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpo dHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo=