From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH 03/16] drm/amd/display: Start documentation of DC Date: Thu, 29 Nov 2018 10:52:10 -0500 Message-ID: <1543506743-4674-4-git-send-email-sunpeng.li@amd.com> References: <1543506743-4674-1-git-send-email-sunpeng.li@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1543506743-4674-1-git-send-email-sunpeng.li-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: David Francis RnJvbTogRGF2aWQgRnJhbmNpcyA8RGF2aWQuRnJhbmNpc0BhbWQuY29tPgoKW1doeV0KVGhlcmUg YXJlIGEgbG90IG9mIHVuaW50dWl0aXZlIHBhcnRzIG9mIHRoZSBkbS1kYyBpbnRlcmZhY2UuCkl0 IHdvdWxkIGhlbHAgdXMgaWYgdGhlc2Ugd2VyZSBkb2N1bWVudGVkIHRvIHByb3ZpZGUKYSBjb21t b24gdW5kZXJzdGFuZGluZyBvZiB3aGF0IHRoZXkgYXJlIHN1cHBvc2VkIHRvIGRvCgpbSG93XQpN b3N0IG9mIHRoaXMgZG9jdW1lbnRhdGlvbiBpcyBzdHVicywgdG8gYmUgZmlsbGVkIG91dCBtb3Jl CnRob3JvdWdobHkgYnkgdGhlIGV4cGVydHMKCk5vdCBldmVyeSBkbS1hY2Nlc3NpYmxlIGZ1bmN0 aW9uIGFuZCBzdHJ1Y3QgaXMgbWVudGlvbmVkLgpTaW1wbGUgZnVuY3Rpb25zIGxpa2UgZ2V0dGVy cywgc2V0dGVycywgcmV0YWluLCByZWxlYXNlLApjcmVhdGUsIGRlc3Ryb3kgY2FuIGJlIGxlZnQg dW5hZG9ybmVkLgoKU2lnbmVkLW9mZi1ieTogRGF2aWQgRnJhbmNpcyA8RGF2aWQuRnJhbmNpc0Bh bWQuY29tPgpSZXZpZXdlZC1ieTogSGFycnkgV2VudGxhbmQgPEhhcnJ5LldlbnRsYW5kQGFtZC5j b20+CkFja2VkLWJ5OiBMZW8gTGkgPHN1bnBlbmcubGlAYW1kLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kYy5jICAgICAgICAgIHwgNzIgKysrKysrKysrKysr KysrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX2xpbmsu YyAgICAgfCAyMSArKysrKystCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9k Y19yZXNvdXJjZS5jIHwgMzUgKysrKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9jb3JlL2RjX3N0cmVhbS5jICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2RjX2xpbmsuaCAgICAgICAgICB8ICA2ICstCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Rp c3BsYXkvZGMvaW5jL2NvcmVfdHlwZXMuaCAgIHwgMTIgKysrLQogNiBmaWxlcyBjaGFuZ2VkLCAx MzUgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9jb3JlL2RjLmMKaW5kZXggZGJhNmI1Ny4uOGVkZDAzMCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGMuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kYy5jCkBAIC02Miw2ICs2Miw1NSBAQAogCiBjb25zdCBz dGF0aWMgY2hhciBEQ19CVUlMRF9JRFtdID0gInByb2R1Y3Rpb24tYnVpbGQiOwogCisvKioKKyAq IERPQzogT3ZlcnZpZXcKKyAqCisgKiBEQyBpcyB0aGUgT1MtYWdub3N0aWMgY29tcG9uZW50IG9m IHRoZSBhbWRncHUgREMgZHJpdmVyLgorICoKKyAqIERDIG1haW50YWlucyBhbmQgdmFsaWRhdGVz IGEgc2V0IG9mIHN0cnVjdHMgcmVwcmVzZW50aW5nIHRoZSBzdGF0ZSBvZiB0aGUKKyAqIGRyaXZl ciBhbmQgd3JpdGVzIHRoYXQgc3RhdGUgdG8gQU1EIGhhcmR3YXJlCisgKgorICogTWFpbiBEQyBI VyBzdHJ1Y3RzOgorICoKKyAqIHN0cnVjdCBkYyAtIFRoZSBjZW50cmFsIHN0cnVjdC4gIE9uZSBw ZXIgZHJpdmVyLiAgQ3JlYXRlZCBvbiBkcml2ZXIgbG9hZCwKKyAqIGRlc3Ryb3llZCBvbiBkcml2 ZXIgdW5sb2FkLgorICoKKyAqIHN0cnVjdCBkY19jb250ZXh0IC0gT25lIHBlciBkcml2ZXIuCisg KiBVc2VkIGFzIGEgYmFja3BvaW50ZXIgYnkgbW9zdCBvdGhlciBzdHJ1Y3RzIGluIGRjLgorICoK KyAqIHN0cnVjdCBkY19saW5rIC0gT25lIHBlciBjb25uZWN0b3IgKHRoZSBwaHlzaWNhbCBEUCwg SERNSSwgbWluaURQLCBvciBlRFAKKyAqIHBsdWdwb2ludHMpLiAgQ3JlYXRlZCBvbiBkcml2ZXIg bG9hZCwgZGVzdHJveWVkIG9uIGRyaXZlciB1bmxvYWQuCisgKgorICogc3RydWN0IGRjX3Npbmsg LSBPbmUgcGVyIGRpc3BsYXkuICBDcmVhdGVkIG9uIGJvb3Qgb3IgaG90cGx1Zy4KKyAqIERlc3Ry b3llZCBvbiBzaHV0ZG93biBvciBob3R1bnBsdWcuICBBIGRjX2xpbmsgY2FuIGhhdmUgYSBsb2Nh bCBzaW5rCisgKiAodGhlIGRpc3BsYXkgZGlyZWN0bHkgYXR0YWNoZWQpLiAgSXQgbWF5IGFsc28g aGF2ZSBvbmUgb3IgbW9yZSByZW1vdGUKKyAqIHNpbmtzIChpbiB0aGUgTXVsdGktU3RyZWFtIFRy YW5zcG9ydCBjYXNlKQorICoKKyAqIHN0cnVjdCByZXNvdXJjZV9wb29sIC0gT25lIHBlciBkcml2 ZXIuICBSZXByZXNlbnRzIHRoZSBodyBibG9ja3Mgbm90IGluIHRoZQorICogbWFpbiBwaXBlbGlu ZS4gIE5vdCBkaXJlY3RseSBhY2Nlc3NpYmxlIGJ5IGRtLgorICoKKyAqIE1haW4gZGMgc3RhdGUg c3RydWN0czoKKyAqCisgKiBUaGVzZSBzdHJ1Y3RzIGNhbiBiZSBjcmVhdGVkIGFuZCBkZXN0cm95 ZWQgYXMgbmVlZGVkLiAgVGhlcmUgaXMgYSBmdWxsIHNldCBvZgorICogdGhlc2Ugc3RydWN0cyBp biBkYy0+Y3VycmVudF9zdGF0ZSByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnRseSBwcm9ncmFtbWVk IHN0YXRlLgorICoKKyAqIHN0cnVjdCBkY19zdGF0ZSAtIFRoZSBnbG9iYWwgREMgc3RhdGUgdG8g dHJhY2sgZ2xvYmFsIHN0YXRlIGluZm9ybWF0aW9uLAorICogc3VjaCBhcyBiYW5kd2lkdGggdmFs dWVzLgorICoKKyAqIHN0cnVjdCBkY19zdHJlYW1fc3RhdGUgLSBSZXByZXNlbnRzIHRoZSBodyBj b25maWd1cmF0aW9uIGZvciB0aGUgcGlwZWxpbmUgZnJvbQorICogYSBmcmFtZWJ1ZmZlciB0byBh IGRpc3BsYXkuICBNYXBzIG9uZS10by1vbmUgd2l0aCBkY19zaW5rLgorICoKKyAqIHN0cnVjdCBk Y19wbGFuZV9zdGF0ZSAtIFJlcHJlc2VudHMgYSBmcmFtZWJ1ZmZlci4gIEVhY2ggc3RyZWFtIGhh cyBhdCBsZWFzdCBvbmUsCisgKiBhbmQgbWF5IGhhdmUgbW9yZSBpbiB0aGUgTXVsdGktUGxhbmUg T3ZlcmxheSBjYXNlLgorICoKKyAqIHN0cnVjdCByZXNvdXJjZV9jb250ZXh0IC0gUmVwcmVzZW50 cyB0aGUgcHJvZ3JhbW1hYmxlIHN0YXRlIG9mIGV2ZXJ5dGhpbmcgaW4KKyAqIHRoZSByZXNvdXJj ZV9wb29sLiAgTm90IGRpcmVjdGx5IGFjY2Vzc2libGUgYnkgZG0uCisgKgorICogc3RydWN0IHBp cGVfY3R4IC0gQSBtZW1iZXIgb2Ygc3RydWN0IHJlc291cmNlX2NvbnRleHQuICBSZXByZXNlbnRz IHRoZQorICogaW50ZXJuYWwgaGFyZHdhcmUgcGlwZWxpbmUgY29tcG9uZW50cy4gIEVhY2ggZGNf cGxhbmVfc3RhdGUgaGFzIGVpdGhlcgorICogb25lIG9yIHR3byAoaW4gdGhlIHBpcGUtc3BsaXQg Y2FzZSkuCisgKi8KKwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIFByaXZhdGUgZnVuY3Rp b25zCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqLwpAQCAtMjQwLDcgKzI4OSw3IEBAIGJvb2wgZGNf c3RyZWFtX2dldF9jcnRjX3Bvc2l0aW9uKHN0cnVjdCBkYyAqZGMsCiB9CiAKIC8qKgotICogZGNf c3RyZWFtX2NvbmZpZ3VyZV9jcmM6IENvbmZpZ3VyZSBDUkMgY2FwdHVyZSBmb3IgdGhlIGdpdmVu IHN0cmVhbS4KKyAqIGRjX3N0cmVhbV9jb25maWd1cmVfY3JjKCkgLSBDb25maWd1cmUgQ1JDIGNh cHR1cmUgZm9yIHRoZSBnaXZlbiBzdHJlYW0uCiAgKiBAZGM6IERDIE9iamVjdAogICogQHN0cmVh bTogVGhlIHN0cmVhbSB0byBjb25maWd1cmUgQ1JDIG9uLgogICogQGVuYWJsZTogRW5hYmxlIENS QyBpZiB0cnVlLCBkaXNhYmxlIG90aGVyd2lzZS4KQEAgLTI5Miw3ICszNDEsNyBAQCBib29sIGRj X3N0cmVhbV9jb25maWd1cmVfY3JjKHN0cnVjdCBkYyAqZGMsIHN0cnVjdCBkY19zdHJlYW1fc3Rh dGUgKnN0cmVhbSwKIH0KIAogLyoqCi0gKiBkY19zdHJlYW1fZ2V0X2NyYzogR2V0IENSQyB2YWx1 ZXMgZm9yIHRoZSBnaXZlbiBzdHJlYW0uCisgKiBkY19zdHJlYW1fZ2V0X2NyYygpIC0gR2V0IENS QyB2YWx1ZXMgZm9yIHRoZSBnaXZlbiBzdHJlYW0uCiAgKiBAZGM6IERDIG9iamVjdAogICogQHN0 cmVhbTogVGhlIERDIHN0cmVhbSBzdGF0ZSBvZiB0aGUgc3RyZWFtIHRvIGdldCBDUkNzIGZyb20u CiAgKiBAcl9jciwgZ195LCBiX2NiOiBDUkMgdmFsdWVzIGZvciB0aGUgdGhyZWUgY2hhbm5lbHMg YXJlIHN0b3JlZCBoZXJlLgpAQCAtMTMyOSw2ICsxMzc4LDExIEBAIHN0YXRpYyBlbnVtIHN1cmZh Y2VfdXBkYXRlX3R5cGUgY2hlY2tfdXBkYXRlX3N1cmZhY2VzX2Zvcl9zdHJlYW0oCiAJcmV0dXJu IG92ZXJhbGxfdHlwZTsKIH0KIAorLyoqCisgKiBkY19jaGVja191cGRhdGVfc3VyZmFjZXNfZm9y X3N0cmVhbSgpIC0gRGV0ZXJtaW5lIHVwZGF0ZSB0eXBlIChmYXN0LCBtZWQsIG9yIGZ1bGwpCisg KgorICogU2VlIDpjOnR5cGU6YGVudW0gc3VyZmFjZV91cGRhdGVfdHlwZSA8c3VyZmFjZV91cGRh dGVfdHlwZT5gIGZvciBleHBsYW5hdGlvbiBvZiB1cGRhdGUgdHlwZXMKKyAqLwogZW51bSBzdXJm YWNlX3VwZGF0ZV90eXBlIGRjX2NoZWNrX3VwZGF0ZV9zdXJmYWNlc19mb3Jfc3RyZWFtKAogCQlz dHJ1Y3QgZGMgKmRjLAogCQlzdHJ1Y3QgZGNfc3VyZmFjZV91cGRhdGUgKnVwZGF0ZXMsCkBAIC0x NjMxLDYgKzE2ODUsOSBAQCBlbnVtIGRjX2lycV9zb3VyY2UgZGNfaW50ZXJydXB0X3RvX2lycV9z b3VyY2UoCiAJcmV0dXJuIGRhbF9pcnFfc2VydmljZV90b19pcnFfc291cmNlKGRjLT5yZXNfcG9v bC0+aXJxcywgc3JjX2lkLCBleHRfaWQpOwogfQogCisvKioKKyAqIGRjX2ludGVycnVwdF9zZXQo KSAtIEVuYWJsZS9kaXNhYmxlIGFuIEFNRCBodyBpbnRlcnJ1cHQgc291cmNlCisgKi8KIGJvb2wg ZGNfaW50ZXJydXB0X3NldChzdHJ1Y3QgZGMgKmRjLCBlbnVtIGRjX2lycV9zb3VyY2Ugc3JjLCBi b29sIGVuYWJsZSkKIHsKIApAQCAtMTcyNCw2ICsxNzgxLDExIEBAIHN0YXRpYyBib29sIGxpbmtf YWRkX3JlbW90ZV9zaW5rX2hlbHBlcihzdHJ1Y3QgZGNfbGluayAqZGNfbGluaywgc3RydWN0IGRj X3NpbmsKIAlyZXR1cm4gdHJ1ZTsKIH0KIAorLyoqCisgKiBkY19saW5rX2FkZF9yZW1vdGVfc2lu aygpIC0gQ3JlYXRlIGEgc2luayBhbmQgYXR0YWNoIGl0IHRvIGFuIGV4aXN0aW5nIGxpbmsKKyAq CisgKiBFRElEIGxlbmd0aCBpcyBpbiBieXRlcworICovCiBzdHJ1Y3QgZGNfc2luayAqZGNfbGlu a19hZGRfcmVtb3RlX3NpbmsoCiAJCXN0cnVjdCBkY19saW5rICpsaW5rLAogCQljb25zdCB1aW50 OF90ICplZGlkLApAQCAtMTc4Miw2ICsxODQ0LDEyIEBAIHN0cnVjdCBkY19zaW5rICpkY19saW5r X2FkZF9yZW1vdGVfc2luaygKIAlyZXR1cm4gTlVMTDsKIH0KIAorLyoqCisgKiBkY19saW5rX3Jl bW92ZV9yZW1vdGVfc2luaygpIC0gUmVtb3ZlIGEgcmVtb3RlIHNpbmsgZnJvbSBhIGRjX2xpbmsK KyAqCisgKiBOb3RlIHRoYXQgdGhpcyBqdXN0IHJlbW92ZXMgdGhlIHN0cnVjdCBkY19zaW5rIC0g aXQgZG9lc24ndAorICogcHJvZ3JhbSBoYXJkd2FyZSBvciBhbHRlciBvdGhlciBtZW1iZXJzIG9m IGRjX2xpbmsKKyAqLwogdm9pZCBkY19saW5rX3JlbW92ZV9yZW1vdGVfc2luayhzdHJ1Y3QgZGNf bGluayAqbGluaywgc3RydWN0IGRjX3NpbmsgKnNpbmspCiB7CiAJaW50IGk7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19saW5rLmMgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19saW5rLmMKaW5kZXggOTQ4NTk2YS4uNGRj NTg0NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNf bGluay5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX2xpbmsu YwpAQCAtMTk4LDYgKzE5OCwxMyBAQCBzdGF0aWMgYm9vbCBwcm9ncmFtX2hwZF9maWx0ZXIoCiAJ cmV0dXJuIHJlc3VsdDsKIH0KIAorLyoqCisgKiBkY19saW5rX2RldGVjdF9zaW5rKCkgLSBEZXRl cm1pbmUgaWYgdGhlcmUgaXMgYSBzaW5rIGNvbm5lY3RlZAorICoKKyAqIEB0eXBlOiBSZXR1cm5l ZCBjb25uZWN0aW9uIHR5cGUKKyAqIERvZXMgbm90IGRldGVjdCBkb3duc3RyZWFtIGRldmljZXMs IHN1Y2ggYXMgTVNUIHNpbmtzCisgKiBvciBkaXNwbGF5IGNvbm5lY3RlZCB0aHJvdWdoIGFjdGl2 ZSBkb25nbGVzCisgKi8KIGJvb2wgZGNfbGlua19kZXRlY3Rfc2luayhzdHJ1Y3QgZGNfbGluayAq bGluaywgZW51bSBkY19jb25uZWN0aW9uX3R5cGUgKnR5cGUpCiB7CiAJdWludDMyX3QgaXNfaHBk X2hpZ2ggPSAwOwpAQCAtMzI0LDkgKzMzMSw5IEBAIHN0YXRpYyBlbnVtIHNpZ25hbF90eXBlIGdl dF9iYXNpY19zaWduYWxfdHlwZSgKIAlyZXR1cm4gU0lHTkFMX1RZUEVfTk9ORTsKIH0KIAotLyoK LSAqIEBicmllZgotICogQ2hlY2sgd2hldGhlciB0aGVyZSBpcyBhIGRvbmdsZSBvbiBEUCBjb25u ZWN0b3IKKy8qKgorICogZGNfbGlua19pc19kcF9zaW5rX3ByZXNlbnQoKSAtIENoZWNrIGlmIHRo ZXJlIGlzIGEgbmF0aXZlIERQCisgKiBvciBwYXNzaXZlIERQLUhETUkgZG9uZ2xlIGNvbm5lY3Rl ZAogICovCiBib29sIGRjX2xpbmtfaXNfZHBfc2lua19wcmVzZW50KHN0cnVjdCBkY19saW5rICps aW5rKQogewpAQCAtNTkzLDYgKzYwMCwxNCBAQCBzdGF0aWMgYm9vbCBpc19zYW1lX2VkaWQoc3Ry dWN0IGRjX2VkaWQgKm9sZF9lZGlkLCBzdHJ1Y3QgZGNfZWRpZCAqbmV3X2VkaWQpCiAJcmV0dXJu IChtZW1jbXAob2xkX2VkaWQtPnJhd19lZGlkLCBuZXdfZWRpZC0+cmF3X2VkaWQsIG5ld19lZGlk LT5sZW5ndGgpID09IDApOwogfQogCisvKioKKyAqIGRjX2xpbmtfZGV0ZWN0KCkgLSBEZXRlY3Qg aWYgYSBzaW5rIGlzIGF0dGFjaGVkIHRvIGEgZ2l2ZW4gbGluaworICoKKyAqIGxpbmstPmxvY2Fs X3NpbmsgaXMgY3JlYXRlZCBvciBkZXN0cm95ZWQgYXMgbmVlZGVkLgorICoKKyAqIFRoaXMgZG9l cyBub3QgY3JlYXRlIHJlbW90ZSBzaW5rcyBidXQgd2lsbCB0cmlnZ2VyIERNCisgKiB0byBzdGFy dCBNU1QgZGV0ZWN0aW9uIGlmIGEgYnJhbmNoIGlzIGRldGVjdGVkLgorICovCiBib29sIGRjX2xp bmtfZGV0ZWN0KHN0cnVjdCBkY19saW5rICpsaW5rLCBlbnVtIGRjX2RldGVjdF9yZWFzb24gcmVh c29uKQogewogCXN0cnVjdCBkY19zaW5rX2luaXRfZGF0YSBzaW5rX2luaXRfZGF0YSA9IHsgMCB9 OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfcmVz b3VyY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX3Jlc291cmNl LmMKaW5kZXggMGJiODQ0YS4uZDRmZDFkMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2NvcmUvZGNfcmVzb3VyY2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvY29yZS9kY19yZXNvdXJjZS5jCkBAIC0xNDQ3LDYgKzE0NDcsMTQgQEAgc3Rh dGljIGJvb2wgYXJlX3N0cmVhbV9iYWNrZW5kc19zYW1lKAogCXJldHVybiB0cnVlOwogfQogCisv KioKKyAqIGRjX2lzX3N0cmVhbV91bmNoYW5nZWQoKSAtIENvbXBhcmUgdHdvIHN0cmVhbSBzdGF0 ZXMgZm9yIGVxdWl2YWxlbmNlLgorICoKKyAqIENoZWNrcyBpZiB0aGVyZSBhIGRpZmZlcmVuY2Ug YmV0d2VlbiB0aGUgdHdvIHN0YXRlcworICogdGhhdCB3b3VsZCByZXF1aXJlIGEgbW9kZSBjaGFu Z2UuCisgKgorICogRG9lcyBub3QgY29tcGFyZSBjdXJzb3IgcG9zaXRpb24gb3IgYXR0cmlidXRl cy4KKyAqLwogYm9vbCBkY19pc19zdHJlYW1fdW5jaGFuZ2VkKAogCXN0cnVjdCBkY19zdHJlYW1f c3RhdGUgKm9sZF9zdHJlYW0sIHN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKnN0cmVhbSkKIHsKQEAg LTE0NTcsNiArMTQ2NSw5IEBAIGJvb2wgZGNfaXNfc3RyZWFtX3VuY2hhbmdlZCgKIAlyZXR1cm4g dHJ1ZTsKIH0KIAorLyoqCisgKiBkY19pc19zdHJlYW1fc2NhbGluZ191bmNoYW5nZWQoKSAtIENv bXBhcmUgc2NhbGluZyByZWN0YW5nbGVzIG9mIHR3byBzdHJlYW1zLgorICovCiBib29sIGRjX2lz X3N0cmVhbV9zY2FsaW5nX3VuY2hhbmdlZCgKIAlzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICpvbGRf c3RyZWFtLCBzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICpzdHJlYW0pCiB7CkBAIC0xNjE2LDYgKzE2 MjcsOSBAQCBib29sIHJlc291cmNlX2lzX3N0cmVhbV91bmNoYW5nZWQoCiAJcmV0dXJuIGZhbHNl OwogfQogCisvKioKKyAqIGRjX2FkZF9zdHJlYW1fdG9fY3R4KCkgLSBBZGQgYSBuZXcgZGNfc3Ry ZWFtX3N0YXRlIHRvIGEgZGNfc3RhdGUuCisgKi8KIGVudW0gZGNfc3RhdHVzIGRjX2FkZF9zdHJl YW1fdG9fY3R4KAogCQlzdHJ1Y3QgZGMgKmRjLAogCQlzdHJ1Y3QgZGNfc3RhdGUgKm5ld19jdHgs CkBAIC0xNjQwLDYgKzE2NTQsOSBAQCBlbnVtIGRjX3N0YXR1cyBkY19hZGRfc3RyZWFtX3RvX2N0 eCgKIAlyZXR1cm4gcmVzOwogfQogCisvKioKKyAqIGRjX3JlbW92ZV9zdHJlYW1fZnJvbV9jdHgo KSAtIFJlbW92ZSBhIHN0cmVhbSBmcm9tIGEgZGNfc3RhdGUuCisgKi8KIGVudW0gZGNfc3RhdHVz IGRjX3JlbW92ZV9zdHJlYW1fZnJvbV9jdHgoCiAJCQlzdHJ1Y3QgZGMgKmRjLAogCQkJc3RydWN0 IGRjX3N0YXRlICpuZXdfY3R4LApAQCAtMTg2MCw2ICsxODc3LDEyIEBAIGVudW0gZGNfc3RhdHVz IHJlc291cmNlX21hcF9wb29sX3Jlc291cmNlcygKIAlyZXR1cm4gRENfRVJST1JfVU5FWFBFQ1RF RDsKIH0KIAorLyoqCisgKiBkY19yZXNvdXJjZV9zdGF0ZV9jb3B5X2NvbnN0cnVjdF9jdXJyZW50 KCkgLSBDcmVhdGVzIGEgbmV3IGRjX3N0YXRlIGZyb20gZXhpc3Rpbmcgc3RhdGUKKyAqIElzIGEg c2hhbGxvdyBjb3B5LiAgSW5jcmVtZW50cyByZWZjb3VudHMgb24gZXhpc3Rpbmcgc3RyZWFtcyBh bmQgcGxhbmVzLgorICogQGRjOiBjb3B5IG91dCBvZiBkYy0+Y3VycmVudF9zdGF0ZQorICogQGRz dF9jdHg6IGNvcHkgaW50byB0aGlzCisgKi8KIHZvaWQgZGNfcmVzb3VyY2Vfc3RhdGVfY29weV9j b25zdHJ1Y3RfY3VycmVudCgKIAkJY29uc3Qgc3RydWN0IGRjICpkYywKIAkJc3RydWN0IGRjX3N0 YXRlICpkc3RfY3R4KQpAQCAtMTg3NSw2ICsxODk4LDE0IEBAIHZvaWQgZGNfcmVzb3VyY2Vfc3Rh dGVfY29uc3RydWN0KAogCWRzdF9jdHgtPmRjY2cgPSBkYy0+cmVzX3Bvb2wtPmNsa19tZ3I7CiB9 CiAKKy8qKgorICogZGNfdmFsaWRhdGVfZ2xvYmFsX3N0YXRlKCkgLSBEZXRlcm1pbmUgaWYgSFcg Y2FuIHN1cHBvcnQgYSBnaXZlbiBzdGF0ZQorICogQ2hlY2tzIEhXIHJlc291cmNlIGF2YWlsYWJp bGl0eSBhbmQgYmFuZHdpZHRoIHJlcXVpcmVtZW50LgorICogQGRjOiBkYyBzdHJ1Y3QgZm9yIHRo aXMgZHJpdmVyCisgKiBAbmV3X2N0eDogc3RhdGUgdG8gYmUgdmFsaWRhdGVkCisgKgorICogUmV0 dXJuOiBEQ19PSyBpZiB0aGUgcmVzdWx0IGNhbiBiZSBwcm9ncmFtbWVkLiAgT3RoZXJ3aXNlLCBh biBlcnJvciBjb2RlLgorICovCiBlbnVtIGRjX3N0YXR1cyBkY192YWxpZGF0ZV9nbG9iYWxfc3Rh dGUoCiAJCXN0cnVjdCBkYyAqZGMsCiAJCXN0cnVjdCBkY19zdGF0ZSAqbmV3X2N0eCkKQEAgLTIz NjQsMTAgKzIzOTUsNiBAQCB2b2lkIGRjX3Jlc291cmNlX3N0YXRlX2Rlc3RydWN0KHN0cnVjdCBk Y19zdGF0ZSAqY29udGV4dCkKIAl9CiB9CiAKLS8qCi0gKiBDb3B5IHNyY19jdHggaW50byBkc3Rf Y3R4IGFuZCByZXRhaW4gYWxsIHN1cmZhY2VzIGFuZCBzdHJlYW1zIHJlZmVyZW5jZWQKLSAqIGJ5 IHRoZSBzcmNfY3R4Ci0gKi8KIHZvaWQgZGNfcmVzb3VyY2Vfc3RhdGVfY29weV9jb25zdHJ1Y3Qo CiAJCWNvbnN0IHN0cnVjdCBkY19zdGF0ZSAqc3JjX2N0eCwKIAkJc3RydWN0IGRjX3N0YXRlICpk c3RfY3R4KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUv ZGNfc3RyZWFtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19zdHJl YW0uYwppbmRleCA3ODA4MzhhLi42NmU1YzQ2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2Rpc3BsYXkvZGMvY29yZS9kY19zdHJlYW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvY29yZS9kY19zdHJlYW0uYwpAQCAtMTcwLDcgKzE3MCw3IEBAIHN0cnVjdCBk Y19zdHJlYW1fc3RhdHVzICpkY19zdHJlYW1fZ2V0X3N0YXR1cygKIH0KIAogLyoqCi0gKiBVcGRh dGUgdGhlIGN1cnNvciBhdHRyaWJ1dGVzIGFuZCBzZXQgY3Vyc29yIHN1cmZhY2UgYWRkcmVzcwor ICogZGNfc3RyZWFtX3NldF9jdXJzb3JfYXR0cmlidXRlcygpIC0gVXBkYXRlIGN1cnNvciBhdHRy aWJ1dGVzIGFuZCBzZXQgY3Vyc29yIHN1cmZhY2UgYWRkcmVzcwogICovCiBib29sIGRjX3N0cmVh bV9zZXRfY3Vyc29yX2F0dHJpYnV0ZXMoCiAJc3RydWN0IGRjX3N0cmVhbV9zdGF0ZSAqc3RyZWFt LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjX2xpbmsuaCBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY19saW5rLmgKaW5kZXggODczOGYyNy4u MjlmMTlkNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjX2xp bmsuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNfbGluay5oCkBAIC0x MjgsOCArMTI4LDEwIEBAIHN0cnVjdCBkY19saW5rIHsKIAogY29uc3Qgc3RydWN0IGRjX2xpbmtf c3RhdHVzICpkY19saW5rX2dldF9zdGF0dXMoY29uc3Qgc3RydWN0IGRjX2xpbmsgKmRjX2xpbmsp OwogCi0vKgotICogUmV0dXJuIGFuIGVudW1lcmF0ZWQgZGNfbGluay4gIGRjX2xpbmsgb3JkZXIg aXMgY29uc3RhbnQgYW5kIGRldGVybWluZWQgYXQKKy8qKgorICogZGNfZ2V0X2xpbmtfYXRfaW5k ZXgoKSAtIFJldHVybiBhbiBlbnVtZXJhdGVkIGRjX2xpbmsuCisgKgorICogZGNfbGluayBvcmRl ciBpcyBjb25zdGFudCBhbmQgZGV0ZXJtaW5lZCBhdAogICogYm9vdCB0aW1lLiAgVGhleSBjYW5u b3QgYmUgY3JlYXRlZCBvciBkZXN0cm95ZWQuCiAgKiBVc2UgZGNfZ2V0X2NhcHMoKSB0byBnZXQg bnVtYmVyIG9mIGxpbmtzLgogICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rp c3BsYXkvZGMvaW5jL2NvcmVfdHlwZXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9k Yy9pbmMvY29yZV90eXBlcy5oCmluZGV4IGUzZWU5NmEuLmIxNjhhNWUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvY29yZV90eXBlcy5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvY29yZV90eXBlcy5oCkBAIC0yNzIsNiArMjcy LDE3IEBAIHVuaW9uIGJ3X2NvbnRleHQgewogCXN0cnVjdCBkY2VfYndfb3V0cHV0IGRjZTsKIH07 CiAKKy8qKgorICogc3RydWN0IGRjX3N0YXRlIC0gVGhlIGZ1bGwgZGVzY3JpcHRpb24gb2YgYSBz dGF0ZSByZXF1ZXN0ZWQgYnkgYSB1c2VyCisgKgorICogQHN0cmVhbXM6IFN0cmVhbSBwcm9wZXJ0 aWVzCisgKiBAc3RyZWFtX3N0YXR1czogVGhlIHBsYW5lcyBvbiBhIGdpdmVuIHN0cmVhbQorICog QHJlc19jdHg6IFBlcnNpc3RlbnQgc3RhdGUgb2YgcmVzb3VyY2VzCisgKiBAYnc6IFRoZSBvdXRw dXQgZnJvbSBiYW5kd2lkdGggYW5kIHdhdGVybWFyayBjYWxjdWxhdGlvbnMKKyAqIEBwcF9kaXNw bGF5X2NmZzogUG93ZXJQbGF5IGNsb2NrcyBhbmQgc2V0dGluZ3MKKyAqIEBkY25fYndfdmFyczog bm9uLXN0YWNrIG1lbW9yeSB0byBzdXBwb3J0IGJhbmR3aWR0aCBjYWxjdWxhdGlvbnMKKyAqCisg Ki8KIHN0cnVjdCBkY19zdGF0ZSB7CiAJc3RydWN0IGRjX3N0cmVhbV9zdGF0ZSAqc3RyZWFtc1tN QVhfUElQRVNdOwogCXN0cnVjdCBkY19zdHJlYW1fc3RhdHVzIHN0cmVhbV9zdGF0dXNbTUFYX1BJ UEVTXTsKQEAgLTI3OSw3ICsyOTAsNiBAQCBzdHJ1Y3QgZGNfc3RhdGUgewogCiAJc3RydWN0IHJl c291cmNlX2NvbnRleHQgcmVzX2N0eDsKIAotCS8qIFRoZSBvdXRwdXQgZnJvbSBCVyBhbmQgV00g Y2FsY3VsYXRpb25zLiAqLwogCXVuaW9uIGJ3X2NvbnRleHQgYnc7CiAKIAkvKiBOb3RlOiB0aGVz ZSBhcmUgYmlnIHN0cnVjdHVyZXMsIGRvICpub3QqIHB1dCBvbiBzdGFjayEgKi8KLS0gCjIuNy40 CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4 IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK