From mboxrd@z Thu Jan 1 00:00:00 1970 From: Harry Wentland Subject: [PATCH 18/34] drm/amd/display: Implementing new bandwidth registers for DCE120 Date: Tue, 20 Mar 2018 15:12:43 -0400 Message-ID: <20180320191259.14453-19-harry.wentland@amd.com> References: <20180320191259.14453-1-harry.wentland@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180320191259.14453-1-harry.wentland-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: Mikita Lipski RnJvbTogTWlraXRhIExpcHNraSA8bWlraXRhLmxpcHNraUBhbWQuY29tPgoKUmVnaXN0ZXJzIGFy ZSBhZGRlZCBhbmQgZGVmaW5lZC4KUHJvZ3JhbW1lZCB0byBkZWZhdWx0IHZhbHVlcy4KU3R1dHRl ciBsZXZlbCB3YXRlcm1hcmsgcmVnaXN0ZXIgaXMgYmVpbmcgc2V0IHRvIGNhbGN1bGF0ZWQgdmFs dWUuClVyZ2VudCBsZXZlbCByZWdpc3RlcnMgYXJlIHByb2dyYW1tZWQgdG8gdGhlIHNhbWUgYXMg dXJnZW5jeS4KVGhlIHByb2dyYW1taW5nIG9mIHRoZSByZWdpc3RlcnMgaXMgbm90IGV4cGVjdGVk IHRvIGhhdmUgYW55CmZ1bmN0aW9uYWwgZGlmZmVyZW5jZSBpbiBwZXJmb3JtYW5jZS4KClNpZ25l ZC1vZmYtYnk6IE1pa2l0YSBMaXBza2kgPG1pa2l0YS5saXBza2lAYW1kLmNvbT4KUmV2aWV3ZWQt Ynk6IFRvbnkgQ2hlbmcgPFRvbnkuQ2hlbmdAYW1kLmNvbT4KQWNrZWQtYnk6IEhhcnJ5IFdlbnRs YW5kIDxoYXJyeS53ZW50bGFuZEBhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9kY2UvZGNlX21lbV9pbnB1dC5jIHwgNTggKysrKysrKysrKysrKysrLS0tLS0tLQog ZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZS9kY2VfbWVtX2lucHV0LmggfCAgOSAr KysrCiAuLi4vYW1kL2Rpc3BsYXkvZGMvZGNlMTEwL2RjZTExMF9od19zZXF1ZW5jZXIuYyAgICB8 ICAzICsrCiAuLi4vZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTExMC9kY2UxMTBfbWVtX2lucHV0X3Yu YyB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvaHcvbWVtX2lucHV0 LmggIHwgIDEgKwogNSBmaWxlcyBjaGFuZ2VkLCA1NSBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlL2Rj ZV9tZW1faW5wdXQuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UvZGNlX21l bV9pbnB1dC5jCmluZGV4IDA3OTBmMjVjN2IzYi4uMDRmYzg2YmI5NWExIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlL2RjZV9tZW1faW5wdXQuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlL2RjZV9tZW1faW5wdXQuYwpAQCAtMTc0 LDYgKzE3NCwyNSBAQCBzdGF0aWMgdm9pZCBwcm9ncmFtX3VyZ2VuY3lfd2F0ZXJtYXJrKAogCQlV UkdFTkNZX0hJR0hfV0FURVJNQVJLLCB1cmdlbmN5X2hpZ2hfd20pOwogfQogCitzdGF0aWMgdm9p ZCBkY2UxMjBfcHJvZ3JhbV91cmdlbmN5X3dhdGVybWFyaygKKwlzdHJ1Y3QgZGNlX21lbV9pbnB1 dCAqZGNlX21pLAorCXVpbnQzMl90IHdtX3NlbGVjdCwKKwl1aW50MzJfdCB1cmdlbmN5X2xvd193 bSwKKwl1aW50MzJfdCB1cmdlbmN5X2hpZ2hfd20pCit7CisJUkVHX1VQREFURShEUEdfV0FURVJN QVJLX01BU0tfQ09OVFJPTCwKKwkJVVJHRU5DWV9XQVRFUk1BUktfTUFTSywgd21fc2VsZWN0KTsK KworCVJFR19TRVRfMihEUEdfUElQRV9VUkdFTkNZX0NPTlRST0wsIDAsCisJCVVSR0VOQ1lfTE9X X1dBVEVSTUFSSywgdXJnZW5jeV9sb3dfd20sCisJCVVSR0VOQ1lfSElHSF9XQVRFUk1BUkssIHVy Z2VuY3lfaGlnaF93bSk7CisKKwlSRUdfU0VUXzIoRFBHX1BJUEVfVVJHRU5UX0xFVkVMX0NPTlRS T0wsIDAsCisJCVVSR0VOVF9MRVZFTF9MT1dfV0FURVJNQVJLLCB1cmdlbmN5X2xvd193bSwKKwkJ VVJHRU5UX0xFVkVMX0hJR0hfV0FURVJNQVJLLCB1cmdlbmN5X2hpZ2hfd20pOworCit9CisKIHN0 YXRpYyB2b2lkIHByb2dyYW1fbmJwX3dhdGVybWFyaygKIAlzdHJ1Y3QgZGNlX21lbV9pbnB1dCAq ZGNlX21pLAogCXVpbnQzMl90IHdtX3NlbGVjdCwKQEAgLTIwOSwyMyArMjI4LDI3IEBAIHN0YXRp YyB2b2lkIHByb2dyYW1fbmJwX3dhdGVybWFyaygKIHN0YXRpYyB2b2lkIHByb2dyYW1fc3R1dHRl cl93YXRlcm1hcmsoCiAJc3RydWN0IGRjZV9tZW1faW5wdXQgKmRjZV9taSwKIAl1aW50MzJfdCB3 bV9zZWxlY3QsCi0JdWludDMyX3Qgc3R1dHRlcl9tYXJrKQorCXVpbnQzMl90IHN0dXR0ZXJfbWFy aywKKwl1aW50MzJfdCBzdHV0dGVyX2VudHJ5KQogewogCVJFR19VUERBVEUoRFBHX1dBVEVSTUFS S19NQVNLX0NPTlRST0wsCiAJCVNUVVRURVJfRVhJVF9TRUxGX1JFRlJFU0hfV0FURVJNQVJLX01B U0ssIHdtX3NlbGVjdCk7CiAKIAlpZiAoUkVHKERQR19QSVBFX1NUVVRURVJfQ09OVFJPTDIpKQot CQlSRUdfVVBEQVRFKERQR19QSVBFX1NUVVRURVJfQ09OVFJPTDIsCi0JCQkJU1RVVFRFUl9FWElU X1NFTEZfUkVGUkVTSF9XQVRFUk1BUkssIHN0dXR0ZXJfbWFyayk7CisJCVJFR19VUERBVEVfMihE UEdfUElQRV9TVFVUVEVSX0NPTlRST0wyLAorCQkJCVNUVVRURVJfRVhJVF9TRUxGX1JFRlJFU0hf V0FURVJNQVJLLCBzdHV0dGVyX21hcmssCisJCQkJU1RVVFRFUl9FTlRFUl9TRUxGX1JFRlJFU0hf V0FURVJNQVJLLCBzdHV0dGVyX2VudHJ5KTsKIAllbHNlCi0JCVJFR19VUERBVEUoRFBHX1BJUEVf U1RVVFRFUl9DT05UUk9MLAotCQkJCVNUVVRURVJfRVhJVF9TRUxGX1JFRlJFU0hfV0FURVJNQVJL LCBzdHV0dGVyX21hcmspOworCQlSRUdfVVBEQVRFXzIoRFBHX1BJUEVfU1RVVFRFUl9DT05UUk9M LAorCQkJCVNUVVRURVJfRVhJVF9TRUxGX1JFRlJFU0hfV0FURVJNQVJLLCBzdHV0dGVyX21hcmss CisJCQkJU1RVVFRFUl9FTlRFUl9TRUxGX1JFRlJFU0hfV0FURVJNQVJLLCBzdHV0dGVyX2VudHJ5 KTsKIH0KIAogc3RhdGljIHZvaWQgZGNlX21pX3Byb2dyYW1fZGlzcGxheV9tYXJrcygKIAlzdHJ1 Y3QgbWVtX2lucHV0ICptaSwKIAlzdHJ1Y3QgZGNlX3dhdGVybWFya3MgbmJwLAotCXN0cnVjdCBk Y2Vfd2F0ZXJtYXJrcyBzdHV0dGVyLAorCXN0cnVjdCBkY2Vfd2F0ZXJtYXJrcyBzdHV0dGVyX2V4 aXQsCisJc3RydWN0IGRjZV93YXRlcm1hcmtzIHN0dXR0ZXJfZW50ZXIsCiAJc3RydWN0IGRjZV93 YXRlcm1hcmtzIHVyZ2VudCwKIAl1aW50MzJfdCB0b3RhbF9kZXN0X2xpbmVfdGltZV9ucykKIHsK QEAgLTI0MywyNiArMjY2LDI3IEBAIHN0YXRpYyB2b2lkIGRjZV9taV9wcm9ncmFtX2Rpc3BsYXlf bWFya3MoCiAJcHJvZ3JhbV9uYnBfd2F0ZXJtYXJrKGRjZV9taSwgMiwgbmJwLmFfbWFyayk7IC8q IHNldCBhICovCiAJcHJvZ3JhbV9uYnBfd2F0ZXJtYXJrKGRjZV9taSwgMSwgbmJwLmRfbWFyayk7 IC8qIHNldCBkICovCiAKLQlwcm9ncmFtX3N0dXR0ZXJfd2F0ZXJtYXJrKGRjZV9taSwgMiwgc3R1 dHRlci5hX21hcmspOyAvKiBzZXQgYSAqLwotCXByb2dyYW1fc3R1dHRlcl93YXRlcm1hcmsoZGNl X21pLCAxLCBzdHV0dGVyLmRfbWFyayk7IC8qIHNldCBkICovCisJcHJvZ3JhbV9zdHV0dGVyX3dh dGVybWFyayhkY2VfbWksIDIsIHN0dXR0ZXJfZXhpdC5hX21hcmssIHN0dXR0ZXJfZW50ZXIuYV9t YXJrKTsgLyogc2V0IGEgKi8KKwlwcm9ncmFtX3N0dXR0ZXJfd2F0ZXJtYXJrKGRjZV9taSwgMSwg c3R1dHRlcl9leGl0LmRfbWFyaywgc3R1dHRlcl9lbnRlci5kX21hcmspOyAvKiBzZXQgZCAqLwog fQogCiBzdGF0aWMgdm9pZCBkY2UxMjBfbWlfcHJvZ3JhbV9kaXNwbGF5X21hcmtzKHN0cnVjdCBt ZW1faW5wdXQgKm1pLAogCXN0cnVjdCBkY2Vfd2F0ZXJtYXJrcyBuYnAsCi0Jc3RydWN0IGRjZV93 YXRlcm1hcmtzIHN0dXR0ZXIsCisJc3RydWN0IGRjZV93YXRlcm1hcmtzIHN0dXR0ZXJfZXhpdCwK KwlzdHJ1Y3QgZGNlX3dhdGVybWFya3Mgc3R1dHRlcl9lbnRyeSwKIAlzdHJ1Y3QgZGNlX3dhdGVy bWFya3MgdXJnZW50LAogCXVpbnQzMl90IHRvdGFsX2Rlc3RfbGluZV90aW1lX25zKQogewogCXN0 cnVjdCBkY2VfbWVtX2lucHV0ICpkY2VfbWkgPSBUT19EQ0VfTUVNX0lOUFVUKG1pKTsKIAl1aW50 MzJfdCBzdHV0dGVyX2VuID0gbWktPmN0eC0+ZGMtPmRlYnVnLmRpc2FibGVfc3R1dHRlciA/IDAg OiAxOwogCi0JcHJvZ3JhbV91cmdlbmN5X3dhdGVybWFyayhkY2VfbWksIDAsIC8qIHNldCBhICov CisJZGNlMTIwX3Byb2dyYW1fdXJnZW5jeV93YXRlcm1hcmsoZGNlX21pLCAwLCAvKiBzZXQgYSAq LwogCQkJdXJnZW50LmFfbWFyaywgdG90YWxfZGVzdF9saW5lX3RpbWVfbnMpOwotCXByb2dyYW1f dXJnZW5jeV93YXRlcm1hcmsoZGNlX21pLCAxLCAvKiBzZXQgYiAqLworCWRjZTEyMF9wcm9ncmFt X3VyZ2VuY3lfd2F0ZXJtYXJrKGRjZV9taSwgMSwgLyogc2V0IGIgKi8KIAkJCXVyZ2VudC5iX21h cmssIHRvdGFsX2Rlc3RfbGluZV90aW1lX25zKTsKLQlwcm9ncmFtX3VyZ2VuY3lfd2F0ZXJtYXJr KGRjZV9taSwgMiwgLyogc2V0IGMgKi8KKwlkY2UxMjBfcHJvZ3JhbV91cmdlbmN5X3dhdGVybWFy ayhkY2VfbWksIDIsIC8qIHNldCBjICovCiAJCQl1cmdlbnQuY19tYXJrLCB0b3RhbF9kZXN0X2xp bmVfdGltZV9ucyk7Ci0JcHJvZ3JhbV91cmdlbmN5X3dhdGVybWFyayhkY2VfbWksIDMsIC8qIHNl dCBkICovCisJZGNlMTIwX3Byb2dyYW1fdXJnZW5jeV93YXRlcm1hcmsoZGNlX21pLCAzLCAvKiBz ZXQgZCAqLwogCQkJdXJnZW50LmRfbWFyaywgdG90YWxfZGVzdF9saW5lX3RpbWVfbnMpOwogCiAJ UkVHX1VQREFURV8yKERQR19QSVBFX1NUVVRURVJfQ09OVFJPTCwKQEAgLTI3MywxMCArMjk3LDEw IEBAIHN0YXRpYyB2b2lkIGRjZTEyMF9taV9wcm9ncmFtX2Rpc3BsYXlfbWFya3Moc3RydWN0IG1l bV9pbnB1dCAqbWksCiAJcHJvZ3JhbV9uYnBfd2F0ZXJtYXJrKGRjZV9taSwgMiwgbmJwLmNfbWFy ayk7IC8qIHNldCBjICovCiAJcHJvZ3JhbV9uYnBfd2F0ZXJtYXJrKGRjZV9taSwgMywgbmJwLmRf bWFyayk7IC8qIHNldCBkICovCiAKLQlwcm9ncmFtX3N0dXR0ZXJfd2F0ZXJtYXJrKGRjZV9taSwg MCwgc3R1dHRlci5hX21hcmspOyAvKiBzZXQgYSAqLwotCXByb2dyYW1fc3R1dHRlcl93YXRlcm1h cmsoZGNlX21pLCAxLCBzdHV0dGVyLmJfbWFyayk7IC8qIHNldCBiICovCi0JcHJvZ3JhbV9zdHV0 dGVyX3dhdGVybWFyayhkY2VfbWksIDIsIHN0dXR0ZXIuY19tYXJrKTsgLyogc2V0IGMgKi8KLQlw cm9ncmFtX3N0dXR0ZXJfd2F0ZXJtYXJrKGRjZV9taSwgMywgc3R1dHRlci5kX21hcmspOyAvKiBz ZXQgZCAqLworCXByb2dyYW1fc3R1dHRlcl93YXRlcm1hcmsoZGNlX21pLCAwLCBzdHV0dGVyX2V4 aXQuYV9tYXJrLCBzdHV0dGVyX2VudHJ5LmFfbWFyayk7IC8qIHNldCBhICovCisJcHJvZ3JhbV9z dHV0dGVyX3dhdGVybWFyayhkY2VfbWksIDEsIHN0dXR0ZXJfZXhpdC5iX21hcmssIHN0dXR0ZXJf ZW50cnkuYl9tYXJrKTsgLyogc2V0IGIgKi8KKwlwcm9ncmFtX3N0dXR0ZXJfd2F0ZXJtYXJrKGRj ZV9taSwgMiwgc3R1dHRlcl9leGl0LmNfbWFyaywgc3R1dHRlcl9lbnRyeS5jX21hcmspOyAvKiBz ZXQgYyAqLworCXByb2dyYW1fc3R1dHRlcl93YXRlcm1hcmsoZGNlX21pLCAzLCBzdHV0dGVyX2V4 aXQuZF9tYXJrLCBzdHV0dGVyX2VudHJ5LmRfbWFyayk7IC8qIHNldCBkICovCiB9CiAKIHN0YXRp YyB2b2lkIHByb2dyYW1fdGlsaW5nKApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2RjL2RjZS9kY2VfbWVtX2lucHV0LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvZGNlL2RjZV9tZW1faW5wdXQuaAppbmRleCAwNWQzOWMwY2JlODcuLmU4NzdlNzMyOWU4 ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZS9kY2VfbWVt X2lucHV0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZS9kY2VfbWVt X2lucHV0LmgKQEAgLTEwNiw2ICsxMDYsNyBAQCBzdHJ1Y3QgZGNlX21lbV9pbnB1dF9yZWdpc3Rl cnMgewogCXVpbnQzMl90IERQR19QSVBFX0FSQklUUkFUSU9OX0NPTlRST0wxOwogCXVpbnQzMl90 IERQR19XQVRFUk1BUktfTUFTS19DT05UUk9MOwogCXVpbnQzMl90IERQR19QSVBFX1VSR0VOQ1lf Q09OVFJPTDsKKwl1aW50MzJfdCBEUEdfUElQRV9VUkdFTlRfTEVWRUxfQ09OVFJPTDsKIAl1aW50 MzJfdCBEUEdfUElQRV9OQl9QU1RBVEVfQ0hBTkdFX0NPTlRST0w7CiAJdWludDMyX3QgRFBHX1BJ UEVfTE9XX1BPV0VSX0NPTlRST0w7CiAJdWludDMyX3QgRFBHX1BJUEVfU1RVVFRFUl9DT05UUk9M OwpAQCAtMjEzLDYgKzIxNCwxMSBAQCBzdHJ1Y3QgZGNlX21lbV9pbnB1dF9yZWdpc3RlcnMgewog CiAjZGVmaW5lIE1JX0RDRTEyX0RNSUZfUEdfTUFTS19TSF9MSVNUKG1hc2tfc2gsIGJsaylcCiAJ U0ZCKGJsaywgRFBHX1BJUEVfU1RVVFRFUl9DT05UUk9MMiwgU1RVVFRFUl9FWElUX1NFTEZfUkVG UkVTSF9XQVRFUk1BUkssIG1hc2tfc2gpLFwKKwlTRkIoYmxrLCBEUEdfUElQRV9TVFVUVEVSX0NP TlRST0wyLCBTVFVUVEVSX0VOVEVSX1NFTEZfUkVGUkVTSF9XQVRFUk1BUkssIG1hc2tfc2gpLFwK KwlTRkIoYmxrLCBEUEdfUElQRV9VUkdFTlRfTEVWRUxfQ09OVFJPTCwgVVJHRU5UX0xFVkVMX0xP V19XQVRFUk1BUkssIG1hc2tfc2gpLFwKKwlTRkIoYmxrLCBEUEdfUElQRV9VUkdFTlRfTEVWRUxf Q09OVFJPTCwgVVJHRU5UX0xFVkVMX0hJR0hfV0FURVJNQVJLLCBtYXNrX3NoKSxcCisJU0ZCKGJs aywgRFBHX1BJUEVfVVJHRU5DWV9DT05UUk9MLCBVUkdFTkNZX0xPV19XQVRFUk1BUkssIG1hc2tf c2gpLFwKKwlTRkIoYmxrLCBEUEdfUElQRV9VUkdFTkNZX0NPTlRST0wsIFVSR0VOQ1lfSElHSF9X QVRFUk1BUkssIG1hc2tfc2gpLFwKIAlTRkIoYmxrLCBEUEdfV0FURVJNQVJLX01BU0tfQ09OVFJP TCwgUFNUQVRFX0NIQU5HRV9XQVRFUk1BUktfTUFTSywgbWFza19zaCksXAogCVNGQihibGssIERQ R19QSVBFX0xPV19QT1dFUl9DT05UUk9MLCBQU1RBVEVfQ0hBTkdFX0VOQUJMRSwgbWFza19zaCks XAogCVNGQihibGssIERQR19QSVBFX0xPV19QT1dFUl9DT05UUk9MLCBQU1RBVEVfQ0hBTkdFX1VS R0VOVF9EVVJJTkdfUkVRVUVTVCwgbWFza19zaCksXApAQCAtMjg2LDYgKzI5Miw4IEBAIHN0cnVj dCBkY2VfbWVtX2lucHV0X3JlZ2lzdGVycyB7CiAJdHlwZSBTVFVUVEVSX0VYSVRfU0VMRl9SRUZS RVNIX1dBVEVSTUFSS19NQVNLOyBcCiAJdHlwZSBVUkdFTkNZX0xPV19XQVRFUk1BUks7IFwKIAl0 eXBlIFVSR0VOQ1lfSElHSF9XQVRFUk1BUks7IFwKKwl0eXBlIFVSR0VOVF9MRVZFTF9MT1dfV0FU RVJNQVJLO1wKKwl0eXBlIFVSR0VOVF9MRVZFTF9ISUdIX1dBVEVSTUFSSztcCiAJdHlwZSBOQl9Q U1RBVEVfQ0hBTkdFX0VOQUJMRTsgXAogCXR5cGUgTkJfUFNUQVRFX0NIQU5HRV9VUkdFTlRfRFVS SU5HX1JFUVVFU1Q7IFwKIAl0eXBlIE5CX1BTVEFURV9DSEFOR0VfTk9UX1NFTEZfUkVGUkVTSF9E VVJJTkdfUkVRVUVTVDsgXApAQCAtMjk3LDYgKzMwNSw3IEBAIHN0cnVjdCBkY2VfbWVtX2lucHV0 X3JlZ2lzdGVycyB7CiAJdHlwZSBTVFVUVEVSX0VOQUJMRTsgXAogCXR5cGUgU1RVVFRFUl9JR05P UkVfRkJDOyBcCiAJdHlwZSBTVFVUVEVSX0VYSVRfU0VMRl9SRUZSRVNIX1dBVEVSTUFSSzsgXAor CXR5cGUgU1RVVFRFUl9FTlRFUl9TRUxGX1JFRlJFU0hfV0FURVJNQVJLOyBcCiAJdHlwZSBETUlG X0JVRkZFUlNfQUxMT0NBVEVEOyBcCiAJdHlwZSBETUlGX0JVRkZFUlNfQUxMT0NBVElPTl9DT01Q TEVURUQ7IFwKIAl0eXBlIEVOQUJMRTsgLyogTUNfSFVCX1JEUkVRX0RNSUZfTElNSVQgKi9cCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTEwL2RjZTExMF9o d19zZXF1ZW5jZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UxMTAvZGNl MTEwX2h3X3NlcXVlbmNlci5jCmluZGV4IDMwZGQ2MmYwZjVmYS4uZGFhNDY3MzY3NWYxIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTEwL2RjZTExMF9od19z ZXF1ZW5jZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTEwL2Rj ZTExMF9od19zZXF1ZW5jZXIuYwpAQCAtMTUzOSw2ICsxNTM5LDcgQEAgc3RhdGljIHZvaWQgZGNl MTEwX3NldF9kaXNwbGF5bWFya3MoCiAJCQlwaXBlX2N0eC0+cGxhbmVfcmVzLm1pLAogCQkJY29u dGV4dC0+YncuZGNlLm5icF9zdGF0ZV9jaGFuZ2Vfd21fbnNbbnVtX3BpcGVzXSwKIAkJCWNvbnRl eHQtPmJ3LmRjZS5zdHV0dGVyX2V4aXRfd21fbnNbbnVtX3BpcGVzXSwKKwkJCWNvbnRleHQtPmJ3 LmRjZS5zdHV0dGVyX2VudHJ5X3dtX25zW251bV9waXBlc10sCiAJCQljb250ZXh0LT5idy5kY2Uu dXJnZW50X3dtX25zW251bV9waXBlc10sCiAJCQl0b3RhbF9kZXN0X2xpbmVfdGltZV9ucyk7CiAJ CWlmIChpID09IHVuZGVybGF5X2lkeCkgewpAQCAtMTU2NCw2ICsxNTY1LDcgQEAgc3RhdGljIHZv aWQgc2V0X3NhZmVfZGlzcGxheW1hcmtzKAogCQlNQVhfV0FURVJNQVJLLCBNQVhfV0FURVJNQVJL LCBNQVhfV0FURVJNQVJLLCBNQVhfV0FURVJNQVJLIH07CiAJc3RydWN0IGRjZV93YXRlcm1hcmtz IG5icF9tYXJrcyA9IHsKIAkJU0FGRV9OQlBfTUFSSywgU0FGRV9OQlBfTUFSSywgU0FGRV9OQlBf TUFSSywgU0FGRV9OQlBfTUFSSyB9OworCXN0cnVjdCBkY2Vfd2F0ZXJtYXJrcyBtaW5fbWFya3Mg PSB7IDAsIDAsIDAsIDB9OwogCiAJZm9yIChpID0gMDsgaSA8IE1BWF9QSVBFUzsgaSsrKSB7CiAJ CWlmIChyZXNfY3R4LT5waXBlX2N0eFtpXS5zdHJlYW0gPT0gTlVMTCB8fCByZXNfY3R4LT5waXBl X2N0eFtpXS5wbGFuZV9yZXMubWkgPT0gTlVMTCkKQEAgLTE1NzMsNiArMTU3NSw3IEBAIHN0YXRp YyB2b2lkIHNldF9zYWZlX2Rpc3BsYXltYXJrcygKIAkJCQlyZXNfY3R4LT5waXBlX2N0eFtpXS5w bGFuZV9yZXMubWksCiAJCQkJbmJwX21hcmtzLAogCQkJCW1heF9tYXJrcywKKwkJCQltaW5fbWFy a3MsCiAJCQkJbWF4X21hcmtzLAogCQkJCU1BWF9XQVRFUk1BUkspOwogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTEwL2RjZTExMF9tZW1faW5wdXRfdi5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTExMC9kY2UxMTBfbWVtX2lucHV0 X3YuYwppbmRleCA3YmFiOGM2ZDJhNzMuLjA1NjRjOGUzMTI1MiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTExMC9kY2UxMTBfbWVtX2lucHV0X3YuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTEwL2RjZTExMF9tZW1faW5wdXRf di5jCkBAIC05MjMsNiArOTIzLDcgQEAgdm9pZCBkY2VfbWVtX2lucHV0X3ZfcHJvZ3JhbV9kaXNw bGF5X21hcmtzKAogCXN0cnVjdCBtZW1faW5wdXQgKm1lbV9pbnB1dCwKIAlzdHJ1Y3QgZGNlX3dh dGVybWFya3MgbmJwLAogCXN0cnVjdCBkY2Vfd2F0ZXJtYXJrcyBzdHV0dGVyLAorCXN0cnVjdCBk Y2Vfd2F0ZXJtYXJrcyBzdHV0dGVyX2VudGVyLAogCXN0cnVjdCBkY2Vfd2F0ZXJtYXJrcyB1cmdl bnQsCiAJdWludDMyX3QgdG90YWxfZGVzdF9saW5lX3RpbWVfbnMpCiB7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaW5jL2h3L21lbV9pbnB1dC5oIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2luYy9ody9tZW1faW5wdXQuaAppbmRleCAzZTFlN2U2 YTg3OTIuLjQ3ZjFkYzVhNDNiNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2luYy9ody9tZW1faW5wdXQuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvaW5jL2h3L21lbV9pbnB1dC5oCkBAIC0xMDQsNiArMTA0LDcgQEAgc3RydWN0IG1lbV9p bnB1dF9mdW5jcyB7CiAJCXN0cnVjdCBtZW1faW5wdXQgKm1lbV9pbnB1dCwKIAkJc3RydWN0IGRj ZV93YXRlcm1hcmtzIG5icCwKIAkJc3RydWN0IGRjZV93YXRlcm1hcmtzIHN0dXR0ZXIsCisJCXN0 cnVjdCBkY2Vfd2F0ZXJtYXJrcyBzdHV0dGVyX2VudGVyLAogCQlzdHJ1Y3QgZGNlX3dhdGVybWFy a3MgdXJnZW50LAogCQl1aW50MzJfdCB0b3RhbF9kZXN0X2xpbmVfdGltZV9ucyk7CiAKLS0gCjIu MTQuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1k LWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==