From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 5/7] drm/i915: Update kerneldoc for intel_dpll_mgr.c Date: Thu, 13 Oct 2016 15:46:44 +0200 Message-ID: <20161013134644.GT20761@phenom.ffwll.local> References: <1475584337-8900-1-git-send-email-ander.conselvan.de.oliveira@intel.com> <1475584337-8900-6-git-send-email-ander.conselvan.de.oliveira@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-lf0-x241.google.com (mail-lf0-x241.google.com [IPv6:2a00:1450:4010:c07::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0EC556EA87 for ; Thu, 13 Oct 2016 13:46:49 +0000 (UTC) Received: by mail-lf0-x241.google.com with SMTP id l131so9971695lfl.0 for ; Thu, 13 Oct 2016 06:46:48 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1475584337-8900-6-git-send-email-ander.conselvan.de.oliveira@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ander Conselvan de Oliveira Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBPY3QgMDQsIDIwMTYgYXQgMDM6MzI6MTVQTSArMDMwMCwgQW5kZXIgQ29uc2VsdmFu IGRlIE9saXZlaXJhIHdyb3RlOgo+IFRoZSBkb2N1bWVudGF0aW9uIGZvciBtb3N0IG9mIHRoZSBu b24tc3RhdGljIG1lbWJlcnMgYW5kIHN0cnVjdHMgd2VyZQo+IG1pc3NpbmcuIEZpeCB0aGF0Lgo+ IAo+IHYyOiBGaXggdHlwb3MgKER1cmdhKQo+IAo+IHYzOiBSZWJhc2UuCj4gICAgIEZpeCBtYWtl IGRvY3Mgd2FybmluZ3MuCj4gICAgIERvY3VtZW50IG1vcmUuCj4gCj4gU2lnbmVkLW9mZi1ieTog QW5kZXIgQ29uc2VsdmFuIGRlIE9saXZlaXJhIDxhbmRlci5jb25zZWx2YW4uZGUub2xpdmVpcmFA aW50ZWwuY29tPgoKQXMgbWVudGlvbmVkIGluIGFuIGVhcmxpZXIgcGF0Y2gsIEkgdGhpbmsgd2Ug c2hvdWxkIGFsc28gbW92ZQppbnRlbF9hdG9taWNfZ2V0X3NoYXJlZF9kcGxsX3N0YXRlIGZyb20g aW50ZWxfYXRvbWljLmMgaW50bwppbnRlbF9kcGxsX21nci5jLiBHcm91cGluZyBmdW5jdGlvbnMg YnkgdGhlIGRhdGEgc3RydWN0dXJlcyB0aGV5IHRvdWNoCm1ha2VzIGltbyBtdWNoIG1vcmUgc2Vu c2UsIHRoYW4gZ3JvdXBpbmcgdGhlbSBieSB0b3BpYy4gVGhhdCB3YXkgYWxsIHRoZQpkcGxsIHN0 dWZmIGlzIGluIG9uZSBwbGFjZS4KCj4gLS0tCj4gIERvY3VtZW50YXRpb24vZ3B1L2k5MTUucnN0 ICAgICAgICAgICAgfCAgMTIgKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxf bWdyLmMgfCAgOTAgKysrKysrKysrKysrKysrKysrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHBsbF9tZ3IuaCB8IDE1NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t Cj4gIDMgZmlsZXMgY2hhbmdlZCwgMjM3IGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQo+ IAo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dwdS9pOTE1LnJzdCBiL0RvY3VtZW50YXRp b24vZ3B1L2k5MTUucnN0Cj4gaW5kZXggODdhYWZmYy4uYzE5ZTQzNyAxMDA2NDQKPiAtLS0gYS9E b2N1bWVudGF0aW9uL2dwdS9pOTE1LnJzdAo+ICsrKyBiL0RvY3VtZW50YXRpb24vZ3B1L2k5MTUu cnN0Cj4gQEAgLTIwNCw2ICsyMDQsMTggQEAgVmlkZW8gQklPUyBUYWJsZSAoVkJUKQo+ICAuLiBr ZXJuZWwtZG9jOjogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdmJ0X2RlZnMuaAo+ICAgICA6 aW50ZXJuYWw6Cj4gIAo+ICtEaXNwbGF5IFBMTHMKPiArLS0tLS0tLS0tLS0tCj4gKwo+ICsuLiBr ZXJuZWwtZG9jOjogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYwo+ICsgICA6 ZG9jOiBEaXNwbGF5IFBMTHMKPiArCj4gKy4uIGtlcm5lbC1kb2M6OiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcGxsX21nci5jCj4gKyAgIDppbnRlcm5hbDoKPiArCj4gKy4uIGtlcm5lbC1k b2M6OiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5oCj4gKyAgIDppbnRlcm5h bDoKPiArCj4gIE1lbW9yeSBNYW5hZ2VtZW50IGFuZCBDb21tYW5kIFN1Ym1pc3Npb24KPiAgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+ICAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwbGxfbWdyLmMKPiBpbmRleCA5NDQ2NDQ2Li44YzRlZmE5IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5jCj4gQEAgLTIzLDYgKzIzLDI1IEBACj4gIAo+ ICAjaW5jbHVkZSAiaW50ZWxfZHJ2LmgiCj4gIAo+ICsvKioKPiArICogRE9DOiBEaXNwbGF5IFBM THMKPiArICoKPiArICogRGlzcGxheSBQTExzIHVzZWQgZm9yIGRyaXZpbmcgb3V0cHV0cyB2YXJ5 IGJ5IHBsYXRmb3JtLiBXaGlsZSBzb21lIGhhdmUKPiArICogcGVyLXBpcGUgb3IgcGVyLWVuY29k ZXIgZGVkaWNhdGVkIFBMTHMsIG90aGVycyBhbGxvdyB0aGUgdXNlIG9mIGFueSBQTEwKPiArICog ZnJvbSBhIHBvb2wuIEluIHRoZSBsYXR0ZXIgc2NlbmFyaW8sIGl0IGlzIHBvc3NpYmxlIHRoYXQg bXVsdGlwbGUgcGlwZXMKPiArICogc2hhcmUgYSBQTEwgaWYgdGhlaXIgY29uZmlndXJhdGlvbnMg bWF0Y2guCj4gKyAqCj4gKyAqIFRoaXMgZmlsZSBwcm92aWRlcyBhbiBhYnN0cmFjdGlvbiBvdmVy IGRpc3BsYXkgUExMcy4gVGhlIGZ1bmN0aW9uCj4gKyAqIGludGVsX3NoYXJlZF9kcGxsX2luaXQo KSBpbml0aWFsaXplcyB0aGUgUExMcyBmb3IgdGhlIGdpdmVuIHBsYXRmb3JtLiAgVGhlCj4gKyAq IHVzZXJzIG9mIGEgUExMIGFyZSB0cmFja2VkIGFuZCB0aGF0IHRyYWNraW5nIGlzIGludGVncmF0 ZWQgd2l0aCB0aGUgYXRvbWljCj4gKyAqIG1vZGVzdCBpbnRlcmZhY2UuIER1cmluZyBhbiBhdG9t aWMgb3BlcmF0aW9uLCBhIFBMTCBjYW4gYmUgcmVxdWVzdGVkIGZvciBhCj4gKyAqIGdpdmVuIGNy dGMgYW5kIGVuY29kZXIgY29uZmlndXJhdGlvbiBieSBjYWxsaW5nIGludGVsX2dldF9zaGFyZWRf ZHBsbCgpIGFuZAoKcy9jcnRjL0NSVEMvIGZvciBjb25zaXN0ZW5jeSAoYWJicmV2aWF0aW9ucyBh cmUgYWxsIHVwZXJjYXNlKSwgcGxzIGRvIHRoYXQKb24gdGhlIGVudGlyZSBkb2MuCgo+ICsgKiBh IHByZXZpb3VzbHkgdXNlZCBQTEwgY2FuIGJlIHJlbGVhc2VkIHdpdGggaW50ZWxfcmVsZWFzZV9z aGFyZWRfZHBsbCgpLgo+ICsgKiBDaGFuZ2VzIHRvIHRoZSB1c2VycyBhcmUgZmlyc3Qgc3RhZ2Vk IGluIHRoZSBhdG9taWMgc3RhdGUsIGFuZCB0aGVuIG1hZGUKPiArICogZWZmZWN0aXZlIGJ5IGNh bGxpbmcgaW50ZWxfc2hhcmVkX2RwbGxfc3dhcF9zdGF0ZSgpIGR1cmluZyB0aGUgYXRvbWljCj4g KyAqIGNvbW1pdCBwaGFzZS4KPiArICovCj4gKwo+ICBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwg Kgo+ICBza2xfZmluZF9saW5rX3BsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs IGludCBjbG9jaykKPiAgewo+IEBAIC02MSw2ICs4MCwxNCBAQCBza2xfZmluZF9saW5rX3BsbChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGludCBjbG9jaykKPiAgCXJldHVybiBw bGw7Cj4gIH0KPiAgCj4gKy8qKgo+ICsgKiBpbnRlbF9nZXRfc2hhcmVkX2RwbGxfYnlfaWQgLSBn ZXQgYSBEUExMIGdpdmVuIGl0cyBpZAo+ICsgKiBAZGV2X3ByaXY6IGk5MTUgZGV2aWNlIGluc3Rh bmNlCj4gKyAqIEBpZDogcGxsIGlkCj4gKyAqCj4gKyAqIFJldHVybnM6Cj4gKyAqIEEgcG9pbnRl ciB0byB0aGUgRFBMTCB3aXRoIEBpZAo+ICsgKi8KPiAgc3RydWN0IGludGVsX3NoYXJlZF9kcGxs ICoKPiAgaW50ZWxfZ2V0X3NoYXJlZF9kcGxsX2J5X2lkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKPiAgCQkJICAgIGVudW0gaW50ZWxfZHBsbF9pZCBpZCkKPiBAQCAtNjgsNiAr OTUsMTQgQEAgaW50ZWxfZ2V0X3NoYXJlZF9kcGxsX2J5X2lkKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKPiAgCXJldHVybiAmZGV2X3ByaXYtPnNoYXJlZF9kcGxsc1tpZF07Cj4g IH0KPiAgCj4gKy8qKgo+ICsgKiBpbnRlbF9nZXRfc2hhcmVkX2RwbGxfaWQgLSBnZXQgdGhlIGlk IG9mIGEgRFBMTAo+ICsgKiBAZGV2X3ByaXY6IGk5MTUgZGV2aWNlIGluc3RhbmNlCj4gKyAqIEBw bGw6IHRoZSBEUExMCj4gKyAqCj4gKyAqIFJldHVybnM6Cj4gKyAqIFRoZSBpZCBvZiBAcGxsCj4g KyAqLwo+ICBlbnVtIGludGVsX2RwbGxfaWQKPiAgaW50ZWxfZ2V0X3NoYXJlZF9kcGxsX2lkKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkJIHN0cnVjdCBpbnRlbF9zaGFy ZWRfZHBsbCAqcGxsKQo+IEBAIC05Niw2ICsxMzEsMTMgQEAgdm9pZCBhc3NlcnRfc2hhcmVkX2Rw bGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQlwbGwtPm5hbWUsIG9u b2ZmKHN0YXRlKSwgb25vZmYoY3VyX3N0YXRlKSk7Cj4gIH0KPiAgCj4gKy8qKgo+ICsgKiBpbnRl bF9wcmVwYXJlX3NoYXJlZF9kcGxsIC0gY2FsbCBhIGRwbGwncyBwcmVwYXJlIGhvb2sKPiArICog QGNydGM6IGNydGMgd2hpY2ggaGFzIGEgc2hhcmVkIGRwbGwKPiArICoKPiArICogVGhpcyBjYWxs cyB0aGUgUExMJ3MgcHJlcGFyZSBob29rIGlmIGl0IGhhcyBvbmUgYW5kIGlmIHRoZSBQTEwgaXMg bm90Cj4gKyAqIGFscmVhZHkgZW5hYmxlZC4gVGhlIHByZXBhcmUgaG9vayBpcyBwbGF0Zm9ybSBz cGVjaWZpYy4KPiArICovCj4gIHZvaWQgaW50ZWxfcHJlcGFyZV9zaGFyZWRfZHBsbChzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YykKPiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMt PmJhc2UuZGV2Owo+IEBAIC0xMTgsMTIgKzE2MCwxMCBAQCB2b2lkIGludGVsX3ByZXBhcmVfc2hh cmVkX2RwbGwoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gIH0KPiAgCj4gIC8qKgo+IC0gKiBp bnRlbF9lbmFibGVfc2hhcmVkX2RwbGwgLSBlbmFibGUgUENIIFBMTAo+IC0gKiBAZGV2X3ByaXY6 IGk5MTUgcHJpdmF0ZSBzdHJ1Y3R1cmUKPiAtICogQHBpcGU6IHBpcGUgUExMIHRvIGVuYWJsZQo+ ICsgKiBpbnRlbF9lbmFibGVfc2hhcmVkX2RwbGwgLSBlbmFibGUgYSBjcnRjJ3Mgc2hhcmVkIERQ TEwKPiArICogQGNydGM6IGNydGMgd2hpY2ggaGFzIGEgc2hhcmVkIERQTEwKPiAgICoKPiAtICog VGhlIFBDSCBQTEwgbmVlZHMgdG8gYmUgZW5hYmxlZCBiZWZvcmUgdGhlIFBDSCB0cmFuc2NvZGVy LCBzaW5jZSBpdAo+IC0gKiBkcml2ZXMgdGhlIHRyYW5zY29kZXIgY2xvY2suCj4gKyAqIEVuYWJs ZSB0aGUgc2hhcmVkIERQTEwgdXNlZCBieSBAY3J0Yy4KPiAgICovCj4gIHZvaWQgaW50ZWxfZW5h YmxlX3NoYXJlZF9kcGxsKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICB7Cj4gQEAgLTE2NCw2 ICsyMDQsMTIgQEAgb3V0Ogo+ICAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZHBsbF9sb2NrKTsK PiAgfQo+ICAKPiArLyoqCj4gKyAqIGludGVsX2Rpc2FibGVfc2hhcmVkX2RwbGwgLSBkaXNhYmxl IGEgY3J0YydzIHNoYXJlZCBEUExMCj4gKyAqIEBjcnRjOiBjcnRjIHdoaWNoIGhhcyBhIHNoYXJl ZCBEUExMCj4gKyAqCj4gKyAqIERpc2FibGUgdGhlIHNoYXJlZCBEUExMIHVzZWQgYnkgQGNydGMu Cj4gKyAqLwo+ICB2b2lkIGludGVsX2Rpc2FibGVfc2hhcmVkX2RwbGwoc3RydWN0IGludGVsX2Ny dGMgKmNydGMpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRl djsKPiBAQCAtMjY2LDYgKzMxMiwxNiBAQCBpbnRlbF9yZWZlcmVuY2Vfc2hhcmVkX2RwbGwoc3Ry dWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGwsCj4gIAlzaGFyZWRfZHBsbFtwbGwtPmlkXS5jcnRj X21hc2sgfD0gMSA8PCBjcnRjLT5waXBlOwo+ICB9Cj4gIAo+ICsvKioKPiArICogaW50ZWxfc2hh cmVkX2RwbGxfc3dhcF9zdGF0ZSAtIG1ha2UgYXRvbWljIERQTEwgY29uZmlndXJhdGlvbiBlZmZl Y3RpdmUKPiArICogQHN0YXRlOiBhdG9taWMgc3RhdGUKPiArICoKPiArICogVGhpcyBpcyB0aGUg ZHBsbCB2ZXJzaW9uIG9mIGRybV9hdG9taWNfaGVscGVyX3N3YXBfc3RhdGUoKSBzaW5jZSB0aGUK PiArICogaGVscGVyIGRvZXMgbm90IGhhbmRsZSBkcml2ZXItc3BlY2lmaWMgZ2xvYmFsIHN0YXRl Lgo+ICsgKgo+ICsgKiBOb3RlIHRoYXQgdGhpcyBkb2Vzbid0IGFjdHVhbGx5IHN3YXAgc3RhdGVz LCB0aGUgZHBsbCBjb25maWd1dGF0aW9uIGluCj4gKyAqIEBzdGF0ZSBpcyBsZWZ0IHVuY2hhbmdl ZC4KCkhtLCB3aGF0IGRvIHlvdSBtZWFuIHdpdGggdGhhdD8gSSBndWVzcyB5b3UgbWVhbiB0aGF0 IGl0IG9ubHkgcHV0cyB0aGUKc3RhdGUgZnJvbSBkcm1fYXRvbWljX3N0YXRlIGludG8gZGV2X3By aXYsIGFuZCBub3QgdGhlIG90aGVyIHdheSByb3VuZC4KVGJoIHRoYXQncyBhIGJpdCB1bmV4cGVj dGVkICh5ZXMgYXRtIHdlIGRvbid0IGhhdmUgYSByZWFzb24gZm9yIHRoYXQpLCBzbwppbnN0ZWFk IG9mIGRvY3VtZW50aW5nIHRoaXMgb2RkaXR5IEknZCBqdXN0IGZpeCBpdC4gQW5kIHRoZW4gbWF5 YmUgbWVudGlvbgp0aGF0ICJGb3IgY29uc2lzdGVuY3kgd2l0aCBhdG9taWMgaGVscGVycyB0aGlz IGFsc28gcHV0cyB0aGUgY3VycmVudCBzdGF0ZQppbnRvIEBzdGF0ZSwgaS5lLiBpdCBkb2VzIGEg Y29tcGxldGUgc3dhcCwgZXZlbiB0aG91Z2ggcmlnaHQgbm93IHRoYXQncwpub3QgbmVlZGVkLiIK Cj4gKyAqLwo+ICB2b2lkIGludGVsX3NoYXJlZF9kcGxsX3N3YXBfc3RhdGUoc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKnN0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5kZXYpOwo+IEBAIC0xODIyLDYgKzE4NzgsMTIgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kcGxsX21nciBieHRfcGxsX21nciA9IHsKPiAgCS5nZXRf ZHBsbCA9IGJ4dF9nZXRfZHBsbCwKPiAgfTsKPiAgCj4gKy8qKgo+ICsgKiBpbnRlbF9zaGFyZWRf ZHBsbF9pbml0IC0gSW5pdGlhbGl6ZSBzaGFyZWQgRFBMTHMKPiArICogQGRldjogZHJtIGRldmlj ZQo+ICsgKgo+ICsgKiBJbml0aWFsaXplIHNoYXJlZCBEUExMcyBmb3IgQGRldi4KPiArICovCj4g IHZvaWQgaW50ZWxfc2hhcmVkX2RwbGxfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICB7 Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4g QEAgLTE4NjUsNiArMTkyNywyMSBAQCB2b2lkIGludGVsX3NoYXJlZF9kcGxsX2luaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKPiAgCQlpbnRlbF9kZGlfcGxsX2luaXQoZGV2KTsKPiAgfQo+ICAK PiArLyoqCj4gKyAqIGludGVsX2dldF9zaGFyZWRfZHBsbCAtIGdldCBhIHNoYXJlZCBEUExMIGZv ciBjcnRjIGFuZCBlbmNvZGVyIGNvbWJpbmF0aW9uCj4gKyAqIEBjcnRjOiBjcnRjCj4gKyAqIEBj cnRjX3N0YXRlOiBhdG9taWMgc3RhdGUgZm9yIEBjcnRjCj4gKyAqIEBlbmNvZGVyOiBlbmNvZGVy Cj4gKyAqCj4gKyAqIEZpbmQgYW4gYXBwcm9wcmlhdGUgRFBMTCBmb3IgdGhlIGdpdmVuIGNydGMg YW5kIGVuY29kZXIgY29tYmluYXRpb24uIEEKPiArICogcmVmZXJlbmNlIGZyb20gdGhlIEBjcnRj IHRvIHRoZSByZXR1cm5lZCBwbGwgaXMgcmVnaXN0ZXJlZCBpbiB0aGUgYXRvbWljCj4gKyAqIHN0 YXRlLiBUaGF0IGNvbmZpZ3VyYXRpb24gaXMgbWFkZSBlZmZlY3RpdmUgYnkgY2FsbGluZwo+ICsg KiBpbnRlbF9zaGFyZWRfZHBsbF9zd2FwX3N0YXRlKCkuIFRoZSByZWZlcmVuY2Ugc2hvdWxkIGJl IHJlbGVhc2VkIGJ5IGNhbGxpbmcKPiArICogaW50ZWxfcmVsZWFzZV9zaGFyZWRfZHBsbCgpLgo+ ICsgKgo+ICsgKiBSZXR1cm5zOgo+ICsgKiBBIHNoYXJlZCBEUExMIHRvIGJlIHVzZWQgYnkgQGNy dGMgYW5kIEBlbmNvZGVyIHdpdGggdGhlIGdpdmVuIEBjcnRjX3N0YXRlLgo+ICsgKi8KPiAgc3Ry dWN0IGludGVsX3NoYXJlZF9kcGxsICoKPiAgaW50ZWxfZ2V0X3NoYXJlZF9kcGxsKHN0cnVjdCBp bnRlbF9jcnRjICpjcnRjLAo+ICAJCSAgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlLAo+IEBAIC0xODg1LDYgKzE5NjIsOSBAQCBpbnRlbF9nZXRfc2hhcmVkX2RwbGwoc3Ry dWN0IGludGVsX2NydGMgKmNydGMsCj4gICAqIEBjcnRjOiBjcnRjCj4gICAqIEBzdGF0ZTogYXRv bWljIHN0YXRlCj4gICAqCj4gKyAqIFRoaXMgZnVuY3Rpb24gcmVsZWFzZXMgdGhlIHJlZmVyZW5j ZSBmcm9tIEBjcnRjIHRvIEBkcGxsIGZyb20gdGhlCj4gKyAqIGF0b21pYyBAc3RhdGUuIFRoZSBu ZXcgY29uZmlndXJhdGlvbiBpcyBtYWRlIGVmZmVjdGl2ZSBieSBjYWxsaW5nCj4gKyAqIGludGVs X3NoYXJlZF9kcGxsX3N3YXBfc3RhdGUoKS4KPiAgICovCj4gIHZvaWQgaW50ZWxfcmVsZWFzZV9z aGFyZWRfZHBsbChzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKmRwbGwsCj4gIAkJCSAgICAgICBz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHBsbF9tZ3IuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdy LmgKPiBpbmRleCA5YTdkYjY1Li40MGYxYTZmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwbGxfbWdyLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcGxsX21nci5oCj4gQEAgLTQwLDMyICs0MCw3MiBAQCBzdHJ1Y3QgaW50ZWxfZW5jb2RlcjsK PiAgc3RydWN0IGludGVsX3NoYXJlZF9kcGxsOwo+ICBzdHJ1Y3QgaW50ZWxfZHBsbF9tZ3I7Cj4g IAo+ICsvKioKPiArICogZW51bSBpbnRlbF9kcGxsX2lkIC0gcG9zc2libGUgRFBMTCBpZHMKPiAr ICoKPiArICogRW51bWVyYXRpb24gb2YgcG9zc2libGUgSURzIGZvciBhIERQTEwuIFJlYWwgc2hh cmVkIGRwbGwgaWRzIG11c3QgYmUgPj0gMC4KPiArICovCj4gIGVudW0gaW50ZWxfZHBsbF9pZCB7 Cj4gLQlEUExMX0lEX1BSSVZBVEUgPSAtMSwgLyogbm9uLXNoYXJlZCBkcGxsIGluIHVzZSAqLwo+ IC0JLyogcmVhbCBzaGFyZWQgZHBsbCBpZHMgbXVzdCBiZSA+PSAwICovCj4gKwkvKioKPiArCSAq IEBEUExMX0lEX1BSSVZBVEU6IG5vbi1zaGFyZWQgZHBsbCBpbiB1c2UKPiArCSAqLwo+ICsJRFBM TF9JRF9QUklWQVRFID0gLTEsCj4gKwo+ICsJLyoqCj4gKwkgKiBARFBMTF9JRF9QQ0hfUExMX0E6 IERQTEwgQSBpbiBJTEssIFNOQiBhbmQgSVZCCj4gKwkgKi8KPiAgCURQTExfSURfUENIX1BMTF9B ID0gMCwKPiArCS8qKgo+ICsJICogQERQTExfSURfUENIX1BMTF9COiBEUExMIEIgaW4gSUxLLCBT TkIgYW5kIElWQgo+ICsJICovCj4gIAlEUExMX0lEX1BDSF9QTExfQiA9IDEsCj4gLQkvKiBoc3cv YmR3ICovCj4gKwo+ICsKPiArCS8qKgo+ICsJICogQERQTExfSURfV1JQTEwxOiBIU1cgYW5kIEJE VyBXUlBMTDEKPiArCSAqLwo+ICAJRFBMTF9JRF9XUlBMTDEgPSAwLAo+ICsJLyoqCj4gKwkgKiBA RFBMTF9JRF9XUlBMTDI6IEhTVyBhbmQgQkRXIFdSUExMMgo+ICsJICovCj4gIAlEUExMX0lEX1dS UExMMiA9IDEsCj4gKwkvKioKPiArCSAqIEBEUExMX0lEX1NQTEw6IEhTVyBhbmQgQkRXIFNQTEwK PiArCSAqLwo+ICAJRFBMTF9JRF9TUExMID0gMiwKPiArCS8qKgo+ICsJICogQERQTExfSURfTENQ TExfODEwOiBIU1cgYW5kIEJEVyAwLjgxIEdIeiBMQ1BMTAo+ICsJICovCj4gIAlEUExMX0lEX0xD UExMXzgxMCA9IDMsCj4gKwkvKioKPiArCSAqIEBEUExMX0lEX0xDUExMXzEzNTA6IEhTVyBhbmQg QkRXIDEuMzUgR0h6IExDUExMCj4gKwkgKi8KPiAgCURQTExfSURfTENQTExfMTM1MCA9IDQsCj4g KwkvKioKPiArCSAqIEBEUExMX0lEX0xDUExMXzI3MDA6IEhTVyBhbmQgQkRXIDIuNyBHSHogTENQ TEwKPiArCSAqLwo+ICAJRFBMTF9JRF9MQ1BMTF8yNzAwID0gNSwKPiAgCj4gLQkvKiBza2wgKi8K PiArCj4gKwkvKioKPiArCSAqIEBEUExMX0lEX1NLTF9EUExMMDogU0tMIGFuZCBsYXRlciBEUExM MAo+ICsJICovCj4gIAlEUExMX0lEX1NLTF9EUExMMCA9IDAsCj4gKwkvKioKPiArCSAqIEBEUExM X0lEX1NLTF9EUExMMTogU0tMIGFuZCBsYXRlciBEUExMMQo+ICsJICovCj4gIAlEUExMX0lEX1NL TF9EUExMMSA9IDEsCj4gKwkvKioKPiArCSAqIEBEUExMX0lEX1NLTF9EUExMMjogU0tMIGFuZCBs YXRlciBEUExMMgo+ICsJICovCj4gIAlEUExMX0lEX1NLTF9EUExMMiA9IDIsCj4gKwkvKioKPiAr CSAqIEBEUExMX0lEX1NLTF9EUExMMzogU0tMIGFuZCBsYXRlciBEUExMMwo+ICsJICovCj4gIAlE UExMX0lEX1NLTF9EUExMMyA9IDMsCj4gIH07Cj4gICNkZWZpbmUgSTkxNV9OVU1fUExMUyA2Cj4g IAo+IC0vKiogSW5mb3JtIHRoZSBzdGF0ZSBjaGVja2VyIHRoYXQgdGhlIERQTEwgaXMga2VwdCBl bmFibGVkIGV2ZW4gaWYgbm90Cj4gLSAqIGluIHVzZSBieSBhbnkgY3J0Yy4KPiAtICovCj4gLSNk ZWZpbmUgSU5URUxfRFBMTF9BTFdBWVNfT04JKDEgPDwgMCkKPiAtCj4gIHN0cnVjdCBpbnRlbF9k cGxsX2h3X3N0YXRlIHsKPiAgCS8qIGk5eHgsIHBjaCBwbGxzICovCj4gIAl1aW50MzJfdCBkcGxs Owo+IEBAIC05MywzOSArMTMzLDEyNCBAQCBzdHJ1Y3QgaW50ZWxfZHBsbF9od19zdGF0ZSB7Cj4g IAkJIHBjc2R3MTI7Cj4gIH07Cj4gIAo+ICsvKioKPiArICogc3RydWN0IGludGVsX3NoYXJlZF9k cGxsX3N0YXRlIC0gaG9sZCB0aGUgRFBMTCBhdG9taWMgc3RhdGUKPiArICoKPiArICogVGhpcyBz dHJ1Y3R1cmUgaG9sZHMgYW4gYXRvbWljIHN0YXRlIGZvciB0aGUgRFBMTCwgdGhhdCBjYW4gcmVw cmVzZW50Cj4gKyAqIGVpdGhlciBpdHMgY3VycmVudCBzdGF0ZSBvciBhIGRlc2lyZWQgZnVydHVy ZSBzdGF0ZSB3aGljaCB3b3VsZCBiZQo+ICsgKiBhcHBsaWVkIGJ5IGFuIGF0b21pYyBtb2RlIHNl dC4KCkkgdGhpbmsgaXQnZCBiZSBnb29kIHRvIHJlZmVyZW5jZSB3aGVyZSB3ZSBzdG9yZSBwb2lu dGVycyB0byB0aGF0LCBpLmUuCndoZXJlIGluIGludGVsX2F0b21pY19zdGF0ZSBhbmQgaW50ZWxf c2hhcmVkX2RwbGwgaXQgc2l0cy4gQmVzdCBpZiB5b3UgZG8gdGhhdAp1c2luZyB0aGUgc3RydWN0 ICZpbnRlbF9hdG9taWNfc3RhdGUgcmVmZXJlbmNlIHN0eWxlIChzbyB0aGF0IGl0IGJlY29tZXMg YQpoeXBlcmxpbmsgb25jZSB0aGF0J3MgZG9jdW1lbnRlZCkuCgpBbHNvIGxpbmtzIHRvIHRoZSBt YWluIGZ1bmN0aW9ucyB1c2VkIHRvIG1hbmFnZSB0aGlzIHdvdWxkIGJlIGdvb2QgSQp0aGluaywg aS5lLiByZWxlYXNlIGFuZCBnZXQuCgo+ICsgKi8KPiAgc3RydWN0IGludGVsX3NoYXJlZF9kcGxs X3N0YXRlIHsKPiAtCXVuc2lnbmVkIGNydGNfbWFzazsgLyogbWFzayBvZiBDUlRDcyBzaGFyaW5n IHRoaXMgUExMICovCj4gKwkvKioKPiArCSAqIEBjcnRjX21hc2s6IG1hc2sgb2YgY3J0YyB1c2lu ZyB0aGlzIERQTEwsIGFjdGl2ZSBvciBub3QKCnMvY3J0Yy9DUlRDcy8KCj4gKwkgKi8KPiArCXVu c2lnbmVkIGNydGNfbWFzazsKPiArCj4gKwkvKioKPiArCSAqIEBod19zdGF0ZTogaGFyZHdhcmUg Y29uZmlndXJhdGlvbiBmb3IgdGhlIERQTEwuCgoiLi4uIHN0b3JlZCBpbiBzdHJ1Y3QgJmludGVs X2RwbGxfaHdfc3RhdGUuIiAtIEkgbG92ZSBteSBoeXBlcmxpbmtzIDstKQoKPiArCSAqLwo+ICAJ c3RydWN0IGludGVsX2RwbGxfaHdfc3RhdGUgaHdfc3RhdGU7Cj4gIH07Cj4gIAo+ICsvKioKPiAr ICogc3RydWN0IGludGVsX3NoYXJlZF9kcGxsX2Z1bmNzIC0gcGxhdGZvcm0gc3BlY2lmaWMgaG9v a3MgZm9yIG1hbmFnaW5nIERQTExzCj4gKyAqLwo+ICBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGxf ZnVuY3Mgewo+IC0JLyogVGhlIG1vZGVfc2V0IGhvb2sgaXMgb3B0aW9uYWwgYW5kIHNob3VsZCBi ZSB1c2VkIHRvZ2V0aGVyIHdpdGggdGhlCj4gLQkgKiBpbnRlbF9wcmVwYXJlX3NoYXJlZF9kcGxs IGZ1bmN0aW9uLiAqLwo+ICsJLyoqCj4gKwkgKiBAcHJlcGFyZToKPiArCSAqCj4gKwkgKiBPcHRp b25hbCBob29rIHRvIHBlcmZvcm0gb3BlcmF0aW9ucyBwcmlvciB0byBlbmFibGluZyB0aGUgUExM Lgo+ICsJICogQ2FsbGVkIGZyb20gaW50ZWxfcHJlcGFyZV9zaGFyZWRfZHBsbCgpIGZ1bmN0aW9u LgoKTWlzc2luZyB0aGUgbGFuZ3VhZ2UgYWJvdXQgImlmIHRoZSBwbGwgaXMgbm90IGFscmVhZHkg ZW5hYmxlZC4iCgo+ICsJICovCj4gIAl2b2lkICgqcHJlcGFyZSkoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAo+ICAJCQkgc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGwpOwo+ ICsKPiArCS8qKgo+ICsJICogQGVuYWJsZToKPiArCSAqCj4gKwkgKiBIb29rIGZvciBlbmFibGlu ZyB0aGUgcGxsLCBjYWxsZWQgZnJvbSBpbnRlbF9lbmFibGVfc2hhcmVkX2RwbGwoKQo+ICsJICog aWYgdGhlIHBsbCBpcyBub3QgYWxyZWFkeSBlbmFibGVkLgo+ICsJICovCj4gIAl2b2lkICgqZW5h YmxlKShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJICAgICAgIHN0cnVj dCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsKTsKPiArCj4gKwkvKioKPiArCSAqIEBkaXNhYmxlOgo+ ICsJICoKPiArCSAqIEhvb2sgZm9yIGRpc2FibGluZyB0aGUgcGxsLCBjYWxsZWQgZnJvbSBpbnRl bF9kaXNhYmxlX3NoYXJlZF9kcGxsKCkKPiArCSAqIG9ubHkgd2hlbiBpdCBpcyBzYWZlIHRvIGRp c2FibGUgdGhlIHBsbCwgaS5lLiwgdGhlcmUgYXJlIG5vIG1vcmUKPiArCSAqIHRyYWNrZWQgdXNl cnMgZm9yIGl0Lgo+ICsJICovCj4gIAl2b2lkICgqZGlzYWJsZSkoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAo+ICAJCQlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKnBsbCk7Cj4g Kwo+ICsJLyoqCj4gKwkgKiBAZ2V0X2h3X3N0YXRlOgo+ICsJICoKPiArCSAqIEhvb2sgZm9yIHJl YWRpbmcgdGhlIHZhbHVlcyBjdXJyZW50bHkgcHJvZ3JhbW1lZCB0byB0aGUgRFBMTAo+ICsJICog cmVnaXN0ZXJzLiBUaGlzIGlzIHVzZWQgZm9yIGluaXRpYWwgaHcgc3RhdGUgcmVhZG91dCBhbmQg c3RhdGUKPiArCSAqIHZlcmlmaWNhdGlvbiBhZnRlciBhIG1vZGUgc2V0Lgo+ICsJICovCj4gIAli b29sICgqZ2V0X2h3X3N0YXRlKShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4g IAkJCSAgICAgc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGwsCj4gIAkJCSAgICAgc3RydWN0 IGludGVsX2RwbGxfaHdfc3RhdGUgKmh3X3N0YXRlKTsKPiAgfTsKPiAgCj4gKy8qKgo+ICsgKiBz dHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgLSBkaXNwbGF5IFBMTCB3aXRoIHRyYWNrZWQgc3RhdGUg YW5kIHVzZXJzCj4gKyAqLwo+ICBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgewo+ICsJLyoqCj4g KwkgKiBAc3RhdGU6Cj4gKwkgKgo+ICsJICogU3RvcmUgdGhlIHN0YXRlIGZvciB0aGUgcGxsLCBp bmNsdWRpbmcgdGhlIGl0cyBodyBzdGF0ZQo+ICsJICogYW5kIGNydGNzIHVzaW5nIGl0Lgo+ICsJ ICovCj4gIAlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGxfc3RhdGUgc3RhdGU7Cj4gIAo+IC0JdW5z aWduZWQgYWN0aXZlX21hc2s7IC8qIG1hc2sgb2YgYWN0aXZlIENSVENzIChpLmUuIERQTVMgb24p ICovCj4gLQlib29sIG9uOyAvKiBpcyB0aGUgUExMIGFjdHVhbGx5IGFjdGl2ZT8gRGlzYWJsZWQg ZHVyaW5nIG1vZGVzZXQgKi8KPiArCS8qKgo+ICsJICogQGFjdGl2ZV9tYXNrOiBtYXNrIG9mIGFj dGl2ZSBDUlRDcyAoaS5lLiBEUE1TIG9uKSB1c2luZyB0aGlzIERQTEwKPiArCSAqLwo+ICsJdW5z aWduZWQgYWN0aXZlX21hc2s7Cj4gKwo+ICsJLyoqCj4gKwkgKiBAb246IGlzIHRoZSBQTEwgYWN0 dWFsbHkgYWN0aXZlPyBEaXNhYmxlZCBkdXJpbmcgbW9kZXNldAo+ICsJICovCj4gKwlib29sIG9u Owo+ICsKPiArCS8qKgo+ICsJICogQG5hbWU6IERQTEwgbmFtZTsgdXNlZCBmb3IgbG9nZ2luZwo+ ICsJICovCj4gIAljb25zdCBjaGFyICpuYW1lOwo+IC0JLyogc2hvdWxkIG1hdGNoIHRoZSBpbmRl eCBpbiB0aGUgZGV2X3ByaXYtPnNoYXJlZF9kcGxscyBhcnJheSAqLwo+ICsKPiArCS8qKgo+ICsJ ICogQGlkOiB1bmlxdWUgaW5kZW50aWZpZXIgZm9yIHRoaXMgRFBMTDsgc2hvdWxkIG1hdGNoIHRo ZSBpbmRleCBpbiB0aGUKPiArCSAqIGRldl9wcml2LT5zaGFyZWRfZHBsbHMgYXJyYXkKPiArCSAq Lwo+ICAJZW51bSBpbnRlbF9kcGxsX2lkIGlkOwo+ICAKPiArCS8qKgo+ICsJICogQGZ1bmNzOiBw bGF0Zm9ybSBzcGVjaWZpYyBob29rcwo+ICsJICovCj4gIAlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2Rw bGxfZnVuY3MgZnVuY3M7Cj4gIAo+ICsJLyoqCj4gKwkgKiBAZmxhZ3M6Cj4gKwkgKgo+ICsJICog YWNjZXB0ZWQgZmxhZ3M6IElOVEVMX0RQTExfQUxXQVlTX09OCgpIbSwgSSd2ZSBzdGFydGVkIHRv IGp1c3QgZG9jdW1lbnQgZmxhZ3MgaW4tbGluZSBhcyBhbiBlbnVtZXJhdGlvbiwgdG8ga2VlcAp0 aGluZ3MgdGlnaHRseSBncm91cGVkLiBBbmQgdGhlbiBhbHNvIHBsYWNlIHRoZSAjZGVmaW5lIHJp Z2h0IGluIGZyb250IG9mCnRoZSBrZXJuZWwtZG9jIGZvciBAZmxhZ3MuIFNlZSBlLmcuIEBmbGFn cyBpbiBkcm1fcHJvcGVydHkuaCBmb3IgYSByZWFsbHkKbG9uZyBleGFtcGxlIG9mIHRoYXQgKGJ1 dCB0aGVyZSB0aGUgZmxhZ3MgYXJlIGluIGFuIHVhYmkgaGVhZGVyLCBzbyBhIGJpdApzcGVjaWFs KS4KCldpdGggdGhlIG5pdHBpY2tzIGFkZHJlc3NlZCBzb21laG93OgoKUmV2aWV3ZWQtYnk6IERh bmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cgo+ICsJICovCj4gIAl1aW50MzJf dCBmbGFnczsKPiAgfTsKPiAgCj4gKy8qKgo+ICsgKiBJTlRFTF9EUExMX0FMV0FZU19PTgo+ICsg Kgo+ICsgKiBJbmZvcm0gdGhlIHN0YXRlIGNoZWNrZXIgdGhhdCB0aGUgRFBMTCBpcyBrZXB0IGVu YWJsZWQgZXZlbiBpZiBub3QKPiArICogaW4gdXNlIGJ5IGFueSBjcnRjLgo+ICsgKi8KPiArI2Rl ZmluZSBJTlRFTF9EUExMX0FMV0FZU19PTgkoMSA8PCAwKQo+ICsKPiArCj4gICNkZWZpbmUgU0tM X0RQTEwwIDAKPiAgI2RlZmluZSBTS0xfRFBMTDEgMQo+ICAjZGVmaW5lIFNLTF9EUExMMiAyCj4g LS0gCj4gMi41LjUKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBD b3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK