From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 3/5] drm/amdgpu: use pcie functions for link width and speed Date: Mon, 25 Jun 2018 16:06:04 -0500 Message-ID: <20180625210606.2736-4-alexander.deucher@amd.com> References: <20180625210606.2736-1-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180625210606.2736-1-alexander.deucher@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, airlied@gmail.com, linux-pci@vger.kernel.org, bhelgaas@google.com Cc: Alex Deucher List-Id: amd-gfx.lists.freedesktop.org VXNlIHRoZSBuZXdseSBleHBvcnRlZCBwY2kgZnVuY3Rpb25zIHRvIGdldCB0aGUgbGluayB3aWR0 aAphbmQgc3BlZWQgcmF0aGVyIHRoYW4gdXNpbmcgdGhlIGRybSBkdXBsaWNhdGVkIHZlcnNpb25z LgoKQWxzbyBxdWVyeSB0aGUgR1BVIGxpbmsgY2FwcyBkaXJlY3RseSByYXRoZXIgdGhhbiBoYXJk Y29kaW5nCnRoZW0uCgpTaWduZWQtb2ZmLWJ5OiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVj aGVyQGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rldmlj ZS5jIHwgODMgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfZHBtLmMgICAgfCAgNyArKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2NpX2RwbS5jICAgICAgICB8ICAzICstCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9zaV9kcG0uYyAgICAgICAgfCAgMyArLQogNCBmaWxlcyBjaGFuZ2VkLCA2NSBpbnNlcnRpb25z KCspLCAzMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfZGV2aWNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf ZGV2aWNlLmMKaW5kZXggNmU1Mjg0ZTZjMDI4Li5iNzBmNDQwMjI4MTMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMKQEAgLTMyOTAsOCArMzI5MCw5IEBAIGlu dCBhbWRncHVfZGV2aWNlX2dwdV9yZWNvdmVyKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAog ICovCiBzdGF0aWMgdm9pZCBhbWRncHVfZGV2aWNlX2dldF9wY2llX2luZm8oc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYpCiB7Ci0JdTMyIG1hc2s7Ci0JaW50IHJldDsKKwlzdHJ1Y3QgcGNpX2Rl diAqcGRldjsKKwllbnVtIHBjaV9idXNfc3BlZWQgc3BlZWRfY2FwOworCWVudW0gcGNpZV9saW5r X3dpZHRoIGxpbmtfd2lkdGg7CiAKIAlpZiAoYW1kZ3B1X3BjaWVfZ2VuX2NhcCkKIAkJYWRldi0+ cG0ucGNpZV9nZW5fbWFzayA9IGFtZGdwdV9wY2llX2dlbl9jYXA7CkBAIC0zMzA5LDI3ICszMzEw LDYxIEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9kZXZpY2VfZ2V0X3BjaWVfaW5mbyhzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldikKIAl9CiAKIAlpZiAoYWRldi0+cG0ucGNpZV9nZW5fbWFzayA9PSAw KSB7Ci0JCXJldCA9IGRybV9wY2llX2dldF9zcGVlZF9jYXBfbWFzayhhZGV2LT5kZGV2LCAmbWFz ayk7Ci0JCWlmICghcmV0KSB7Ci0JCQlhZGV2LT5wbS5wY2llX2dlbl9tYXNrID0gKENBSUxfQVNJ Q19QQ0lFX0xJTktfU1BFRURfU1VQUE9SVF9HRU4xIHwKKwkJLyogYXNpYyBjYXBzICovCisJCXBk ZXYgPSBhZGV2LT5wZGV2OworCQlzcGVlZF9jYXAgPSBwY2llX2dldF9zcGVlZF9jYXAocGRldik7 CisJCWlmIChzcGVlZF9jYXAgPT0gUENJX1NQRUVEX1VOS05PV04pIHsKKwkJCWFkZXYtPnBtLnBj aWVfZ2VuX21hc2sgfD0gKENBSUxfQVNJQ19QQ0lFX0xJTktfU1BFRURfU1VQUE9SVF9HRU4xIHwK IAkJCQkJCSAgQ0FJTF9BU0lDX1BDSUVfTElOS19TUEVFRF9TVVBQT1JUX0dFTjIgfAogCQkJCQkJ ICBDQUlMX0FTSUNfUENJRV9MSU5LX1NQRUVEX1NVUFBPUlRfR0VOMyk7Ci0KLQkJCWlmIChtYXNr ICYgRFJNX1BDSUVfU1BFRURfMjUpCi0JCQkJYWRldi0+cG0ucGNpZV9nZW5fbWFzayB8PSBDQUlM X1BDSUVfTElOS19TUEVFRF9TVVBQT1JUX0dFTjE7Ci0JCQlpZiAobWFzayAmIERSTV9QQ0lFX1NQ RUVEXzUwKQotCQkJCWFkZXYtPnBtLnBjaWVfZ2VuX21hc2sgfD0gQ0FJTF9QQ0lFX0xJTktfU1BF RURfU1VQUE9SVF9HRU4yOwotCQkJaWYgKG1hc2sgJiBEUk1fUENJRV9TUEVFRF84MCkKLQkJCQlh ZGV2LT5wbS5wY2llX2dlbl9tYXNrIHw9IENBSUxfUENJRV9MSU5LX1NQRUVEX1NVUFBPUlRfR0VO MzsKIAkJfSBlbHNlIHsKLQkJCWFkZXYtPnBtLnBjaWVfZ2VuX21hc2sgPSBBTURHUFVfREVGQVVM VF9QQ0lFX0dFTl9NQVNLOworCQkJaWYgKHNwZWVkX2NhcCA9PSBQQ0lFX1NQRUVEXzE2XzBHVCkK KwkJCQlhZGV2LT5wbS5wY2llX2dlbl9tYXNrIHw9IChDQUlMX0FTSUNfUENJRV9MSU5LX1NQRUVE X1NVUFBPUlRfR0VOMSB8CisJCQkJCQkJICBDQUlMX0FTSUNfUENJRV9MSU5LX1NQRUVEX1NVUFBP UlRfR0VOMiB8CisJCQkJCQkJICBDQUlMX0FTSUNfUENJRV9MSU5LX1NQRUVEX1NVUFBPUlRfR0VO MyB8CisJCQkJCQkJICBDQUlMX0FTSUNfUENJRV9MSU5LX1NQRUVEX1NVUFBPUlRfR0VONCk7CisJ CQllbHNlIGlmIChzcGVlZF9jYXAgPT0gUENJRV9TUEVFRF84XzBHVCkKKwkJCQlhZGV2LT5wbS5w Y2llX2dlbl9tYXNrIHw9IChDQUlMX0FTSUNfUENJRV9MSU5LX1NQRUVEX1NVUFBPUlRfR0VOMSB8 CisJCQkJCQkJICBDQUlMX0FTSUNfUENJRV9MSU5LX1NQRUVEX1NVUFBPUlRfR0VOMiB8CisJCQkJ CQkJICBDQUlMX0FTSUNfUENJRV9MSU5LX1NQRUVEX1NVUFBPUlRfR0VOMyk7CisJCQllbHNlIGlm IChzcGVlZF9jYXAgPT0gUENJRV9TUEVFRF81XzBHVCkKKwkJCQlhZGV2LT5wbS5wY2llX2dlbl9t YXNrIHw9IChDQUlMX0FTSUNfUENJRV9MSU5LX1NQRUVEX1NVUFBPUlRfR0VOMSB8CisJCQkJCQkJ ICBDQUlMX0FTSUNfUENJRV9MSU5LX1NQRUVEX1NVUFBPUlRfR0VOMik7CisJCQllbHNlCisJCQkJ YWRldi0+cG0ucGNpZV9nZW5fbWFzayB8PSBDQUlMX0FTSUNfUENJRV9MSU5LX1NQRUVEX1NVUFBP UlRfR0VOMTsKKwkJfQorCQkvKiBwbGF0Zm9ybSBjYXBzICovCisJCXBkZXYgPSBhZGV2LT5kZGV2 LT5wZGV2LT5idXMtPnNlbGY7CisJCXNwZWVkX2NhcCA9IHBjaWVfZ2V0X3NwZWVkX2NhcChwZGV2 KTsKKwkJaWYgKHNwZWVkX2NhcCA9PSBQQ0lfU1BFRURfVU5LTk9XTikgeworCQkJYWRldi0+cG0u cGNpZV9nZW5fbWFzayB8PSAoQ0FJTF9QQ0lFX0xJTktfU1BFRURfU1VQUE9SVF9HRU4xIHwKKwkJ CQkJCSAgIENBSUxfUENJRV9MSU5LX1NQRUVEX1NVUFBPUlRfR0VOMik7CisJCX0gZWxzZSB7CisJ CQlpZiAoc3BlZWRfY2FwID09IFBDSUVfU1BFRURfMTZfMEdUKQorCQkJCWFkZXYtPnBtLnBjaWVf Z2VuX21hc2sgfD0gKENBSUxfUENJRV9MSU5LX1NQRUVEX1NVUFBPUlRfR0VOMSB8CisJCQkJCQkJ ICAgQ0FJTF9QQ0lFX0xJTktfU1BFRURfU1VQUE9SVF9HRU4yIHwKKwkJCQkJCQkgICBDQUlMX1BD SUVfTElOS19TUEVFRF9TVVBQT1JUX0dFTjMgfAorCQkJCQkJCSAgIENBSUxfUENJRV9MSU5LX1NQ RUVEX1NVUFBPUlRfR0VONCk7CisJCQllbHNlIGlmIChzcGVlZF9jYXAgPT0gUENJRV9TUEVFRF84 XzBHVCkKKwkJCQlhZGV2LT5wbS5wY2llX2dlbl9tYXNrIHw9IChDQUlMX1BDSUVfTElOS19TUEVF RF9TVVBQT1JUX0dFTjEgfAorCQkJCQkJCSAgIENBSUxfUENJRV9MSU5LX1NQRUVEX1NVUFBPUlRf R0VOMiB8CisJCQkJCQkJICAgQ0FJTF9QQ0lFX0xJTktfU1BFRURfU1VQUE9SVF9HRU4zKTsKKwkJ CWVsc2UgaWYgKHNwZWVkX2NhcCA9PSBQQ0lFX1NQRUVEXzVfMEdUKQorCQkJCWFkZXYtPnBtLnBj aWVfZ2VuX21hc2sgfD0gKENBSUxfUENJRV9MSU5LX1NQRUVEX1NVUFBPUlRfR0VOMSB8CisJCQkJ CQkJICAgQ0FJTF9QQ0lFX0xJTktfU1BFRURfU1VQUE9SVF9HRU4yKTsKKwkJCWVsc2UKKwkJCQlh ZGV2LT5wbS5wY2llX2dlbl9tYXNrIHw9IENBSUxfUENJRV9MSU5LX1NQRUVEX1NVUFBPUlRfR0VO MTsKKwogCQl9CiAJfQogCWlmIChhZGV2LT5wbS5wY2llX21sd19tYXNrID09IDApIHsKLQkJcmV0 ID0gZHJtX3BjaWVfZ2V0X21heF9saW5rX3dpZHRoKGFkZXYtPmRkZXYsICZtYXNrKTsKLQkJaWYg KCFyZXQpIHsKLQkJCXN3aXRjaCAobWFzaykgewotCQkJY2FzZSAzMjoKKwkJcGRldiA9IGFkZXYt PmRkZXYtPnBkZXYtPmJ1cy0+c2VsZjsKKwkJbGlua193aWR0aCA9IHBjaWVfZ2V0X3dpZHRoX2Nh cChwZGV2KTsKKwkJaWYgKGxpbmtfd2lkdGggPT0gUENJRV9MTktfV0lEVEhfVU5LTk9XTikgewor CQkJYWRldi0+cG0ucGNpZV9tbHdfbWFzayB8PSBBTURHUFVfREVGQVVMVF9QQ0lFX01MV19NQVNL OworCQl9IGVsc2UgeworCQkJc3dpdGNoIChsaW5rX3dpZHRoKSB7CisJCQljYXNlIFBDSUVfTE5L X1gzMjoKIAkJCQlhZGV2LT5wbS5wY2llX21sd19tYXNrID0gKENBSUxfUENJRV9MSU5LX1dJRFRI X1NVUFBPUlRfWDMyIHwKIAkJCQkJCQkgIENBSUxfUENJRV9MSU5LX1dJRFRIX1NVUFBPUlRfWDE2 IHwKIAkJCQkJCQkgIENBSUxfUENJRV9MSU5LX1dJRFRIX1NVUFBPUlRfWDEyIHwKQEAgLTMzMzgs NyArMzM3Myw3IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9kZXZpY2VfZ2V0X3BjaWVfaW5mbyhzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAkJCQkJCQkgIENBSUxfUENJRV9MSU5LX1dJRFRIX1NV UFBPUlRfWDIgfAogCQkJCQkJCSAgQ0FJTF9QQ0lFX0xJTktfV0lEVEhfU1VQUE9SVF9YMSk7CiAJ CQkJYnJlYWs7Ci0JCQljYXNlIDE2OgorCQkJY2FzZSBQQ0lFX0xOS19YMTY6CiAJCQkJYWRldi0+ cG0ucGNpZV9tbHdfbWFzayA9IChDQUlMX1BDSUVfTElOS19XSURUSF9TVVBQT1JUX1gxNiB8CiAJ CQkJCQkJICBDQUlMX1BDSUVfTElOS19XSURUSF9TVVBQT1JUX1gxMiB8CiAJCQkJCQkJICBDQUlM X1BDSUVfTElOS19XSURUSF9TVVBQT1JUX1g4IHwKQEAgLTMzNDYsMzYgKzMzODEsMzQgQEAgc3Rh dGljIHZvaWQgYW1kZ3B1X2RldmljZV9nZXRfcGNpZV9pbmZvKHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2KQogCQkJCQkJCSAgQ0FJTF9QQ0lFX0xJTktfV0lEVEhfU1VQUE9SVF9YMiB8CiAJCQkJ CQkJICBDQUlMX1BDSUVfTElOS19XSURUSF9TVVBQT1JUX1gxKTsKIAkJCQlicmVhazsKLQkJCWNh c2UgMTI6CisJCQljYXNlIFBDSUVfTE5LX1gxMjoKIAkJCQlhZGV2LT5wbS5wY2llX21sd19tYXNr ID0gKENBSUxfUENJRV9MSU5LX1dJRFRIX1NVUFBPUlRfWDEyIHwKIAkJCQkJCQkgIENBSUxfUENJ RV9MSU5LX1dJRFRIX1NVUFBPUlRfWDggfAogCQkJCQkJCSAgQ0FJTF9QQ0lFX0xJTktfV0lEVEhf U1VQUE9SVF9YNCB8CiAJCQkJCQkJICBDQUlMX1BDSUVfTElOS19XSURUSF9TVVBQT1JUX1gyIHwK IAkJCQkJCQkgIENBSUxfUENJRV9MSU5LX1dJRFRIX1NVUFBPUlRfWDEpOwogCQkJCWJyZWFrOwot CQkJY2FzZSA4OgorCQkJY2FzZSBQQ0lFX0xOS19YODoKIAkJCQlhZGV2LT5wbS5wY2llX21sd19t YXNrID0gKENBSUxfUENJRV9MSU5LX1dJRFRIX1NVUFBPUlRfWDggfAogCQkJCQkJCSAgQ0FJTF9Q Q0lFX0xJTktfV0lEVEhfU1VQUE9SVF9YNCB8CiAJCQkJCQkJICBDQUlMX1BDSUVfTElOS19XSURU SF9TVVBQT1JUX1gyIHwKIAkJCQkJCQkgIENBSUxfUENJRV9MSU5LX1dJRFRIX1NVUFBPUlRfWDEp OwogCQkJCWJyZWFrOwotCQkJY2FzZSA0OgorCQkJY2FzZSBQQ0lFX0xOS19YNDoKIAkJCQlhZGV2 LT5wbS5wY2llX21sd19tYXNrID0gKENBSUxfUENJRV9MSU5LX1dJRFRIX1NVUFBPUlRfWDQgfAog CQkJCQkJCSAgQ0FJTF9QQ0lFX0xJTktfV0lEVEhfU1VQUE9SVF9YMiB8CiAJCQkJCQkJICBDQUlM X1BDSUVfTElOS19XSURUSF9TVVBQT1JUX1gxKTsKIAkJCQlicmVhazsKLQkJCWNhc2UgMjoKKwkJ CWNhc2UgUENJRV9MTktfWDI6CiAJCQkJYWRldi0+cG0ucGNpZV9tbHdfbWFzayA9IChDQUlMX1BD SUVfTElOS19XSURUSF9TVVBQT1JUX1gyIHwKIAkJCQkJCQkgIENBSUxfUENJRV9MSU5LX1dJRFRI X1NVUFBPUlRfWDEpOwogCQkJCWJyZWFrOwotCQkJY2FzZSAxOgorCQkJY2FzZSBQQ0lFX0xOS19Y MToKIAkJCQlhZGV2LT5wbS5wY2llX21sd19tYXNrID0gQ0FJTF9QQ0lFX0xJTktfV0lEVEhfU1VQ UE9SVF9YMTsKIAkJCQlicmVhazsKIAkJCWRlZmF1bHQ6CiAJCQkJYnJlYWs7CiAJCQl9Ci0JCX0g ZWxzZSB7Ci0JCQlhZGV2LT5wbS5wY2llX21sd19tYXNrID0gQU1ER1BVX0RFRkFVTFRfUENJRV9N TFdfTUFTSzsKIAkJfQogCX0KIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9kcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kcG0u YwppbmRleCA3N2FkNTlhZGU4NWMuLjFjNDU5NTU2MmY4ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RwbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9kcG0uYwpAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgImFtZGdwdV9p MmMuaCIKICNpbmNsdWRlICJhbWRncHVfZHBtLmgiCiAjaW5jbHVkZSAiYXRvbS5oIgorI2luY2x1 ZGUgImFtZF9wY2llLmgiCiAKIHZvaWQgYW1kZ3B1X2RwbV9wcmludF9jbGFzc19pbmZvKHUzMiBj bGFzcywgdTMyIGNsYXNzMikKIHsKQEAgLTkzNiw5ICs5MzcsMTEgQEAgZW51bSBhbWRncHVfcGNp ZV9nZW4gYW1kZ3B1X2dldF9wY2llX2dlbl9zdXBwb3J0KHN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2LAogCWNhc2UgQU1ER1BVX1BDSUVfR0VOMzoKIAkJcmV0dXJuIEFNREdQVV9QQ0lFX0dFTjM7 CiAJZGVmYXVsdDoKLQkJaWYgKChzeXNfbWFzayAmIERSTV9QQ0lFX1NQRUVEXzgwKSAmJiAoZGVm YXVsdF9nZW4gPT0gQU1ER1BVX1BDSUVfR0VOMykpCisJCWlmICgoc3lzX21hc2sgJiBDQUlMX1BD SUVfTElOS19TUEVFRF9TVVBQT1JUX0dFTjMpICYmCisJCSAgICAoZGVmYXVsdF9nZW4gPT0gQU1E R1BVX1BDSUVfR0VOMykpCiAJCQlyZXR1cm4gQU1ER1BVX1BDSUVfR0VOMzsKLQkJZWxzZSBpZiAo KHN5c19tYXNrICYgRFJNX1BDSUVfU1BFRURfNTApICYmIChkZWZhdWx0X2dlbiA9PSBBTURHUFVf UENJRV9HRU4yKSkKKwkJZWxzZSBpZiAoKHN5c19tYXNrICYgQ0FJTF9QQ0lFX0xJTktfU1BFRURf U1VQUE9SVF9HRU4yKSAmJgorCQkJIChkZWZhdWx0X2dlbiA9PSBBTURHUFVfUENJRV9HRU4yKSkK IAkJCXJldHVybiBBTURHUFVfUENJRV9HRU4yOwogCQllbHNlCiAJCQlyZXR1cm4gQU1ER1BVX1BD SUVfR0VOMTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2NpX2RwbS5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY2lfZHBtLmMKaW5kZXggN2ZiYWQyZjVmMGJk Li5hMzY0MTc3OGE4MTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Np X2RwbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2NpX2RwbS5jCkBAIC01ODQ2 LDggKzU4NDYsNyBAQCBzdGF0aWMgaW50IGNpX2RwbV9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2KQogCWFkZXYtPnBtLmRwbS5wcml2ID0gcGk7CiAKIAlwaS0+c3lzX3BjaWVfbWFzayA9 Ci0JCShhZGV2LT5wbS5wY2llX2dlbl9tYXNrICYgQ0FJTF9QQ0lFX0xJTktfU1BFRURfU1VQUE9S VF9NQVNLKSA+PgotCQlDQUlMX1BDSUVfTElOS19TUEVFRF9TVVBQT1JUX1NISUZUOworCQlhZGV2 LT5wbS5wY2llX2dlbl9tYXNrICYgQ0FJTF9QQ0lFX0xJTktfU1BFRURfU1VQUE9SVF9NQVNLOwog CiAJcGktPmZvcmNlX3BjaWVfZ2VuID0gQU1ER1BVX1BDSUVfR0VOX0lOVkFMSUQ7CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NpX2RwbS5jIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvc2lfZHBtLmMKaW5kZXggNWM5N2EzNjcxNzI2Li4wMjQzODk5ZmYwZDQg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NpX2RwbS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NpX2RwbS5jCkBAIC03MzE4LDggKzczMTgsNyBAQCBz dGF0aWMgaW50IHNpX2RwbV9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCXBpID0g JmVnX3BpLT5ydjd4eDsKIAogCXNpX3BpLT5zeXNfcGNpZV9tYXNrID0KLQkJKGFkZXYtPnBtLnBj aWVfZ2VuX21hc2sgJiBDQUlMX1BDSUVfTElOS19TUEVFRF9TVVBQT1JUX01BU0spID4+Ci0JCUNB SUxfUENJRV9MSU5LX1NQRUVEX1NVUFBPUlRfU0hJRlQ7CisJCWFkZXYtPnBtLnBjaWVfZ2VuX21h c2sgJiBDQUlMX1BDSUVfTElOS19TUEVFRF9TVVBQT1JUX01BU0s7CiAJc2lfcGktPmZvcmNlX3Bj aWVfZ2VuID0gQU1ER1BVX1BDSUVfR0VOX0lOVkFMSUQ7CiAJc2lfcGktPmJvb3RfcGNpZV9nZW4g PSBzaV9nZXRfY3VycmVudF9wY2llX3NwZWVkKGFkZXYpOwogCi0tIAoyLjEzLjYKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5n IGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=