From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH 4/6] drm/radeon: add UVD support for older asics v4 Date: Sun, 24 Aug 2014 15:14:28 +0200 Message-ID: <1408886070-31983-5-git-send-email-deathsimple@vodafone.de> References: <1408886070-31983-1-git-send-email-deathsimple@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from pegasos-out.vodafone.de (pegasos-out.vodafone.de [80.84.1.38]) by gabe.freedesktop.org (Postfix) with ESMTP id 141B16E18E for ; Sun, 24 Aug 2014 06:15:07 -0700 (PDT) Received: from localhost (localhost.localdomain [127.0.0.1]) by pegasos-out.vodafone.de (Rohrpostix2 Daemon) with ESMTP id 860F7765AEF for ; Sun, 24 Aug 2014 15:15:06 +0200 (CEST) Received: from pegasos-out.vodafone.de ([127.0.0.1]) by localhost (rohrpostix2.prod.vfnet.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Bog4+Wc0xLRV for ; Sun, 24 Aug 2014 15:14:44 +0200 (CEST) Received: from smtp-02.vodafone.de (xsmail-dmz4.prod.vfnet.de [10.215.254.35]) by pegasos-out.vodafone.de (Rohrpostix2 Daemon) with ESMTP id 7A9FD765BB4 for ; Sun, 24 Aug 2014 15:14:44 +0200 (CEST) Received: from smtp-02.vodafone.de ([127.0.0.1]) by localhost (xsmail-dmz4.prod.vfnet.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TdAywMhO0k3c for ; Sun, 24 Aug 2014 15:14:30 +0200 (CEST) In-Reply-To: <1408886070-31983-1-git-send-email-deathsimple@vodafone.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgoKdjI6IGNs ZWFudXAgUjYwMCBzdXBwb3J0CnYzOiByZWJhc2VkIG9uIGN1cnJlbnQgZHJtLWZpeGVzLTMuMTIK djQ6IHJlYmFzZWQgb24gZHJtLW5leHQtMy4xNAoKU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEvD tm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRl b24vcjYwMC5jICAgICAgICB8IDMxICsrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yNjAwZC5oICAgICAgIHwgIDggKysrKwogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fYXNpYy5jIHwgMTUgKysrKysrKwogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXNp Yy5oIHwgIDMgKysKIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vdXZkX3YxXzAuYyAgICB8IDc3ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL3JhZGVv bi91dmRfdjJfMi5jICAgIHwgIDQgKysKIDYgZmlsZXMgY2hhbmdlZCwgMTM4IGluc2VydGlvbnMo KykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDAuYyBiL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcjYwMC5jCmluZGV4IDIyMWUxMTkuLmU3OWQzZjggMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRl b24vcjYwMC5jCkBAIC0yOTkxLDYgKzI5OTEsMTcgQEAgc3RhdGljIGludCByNjAwX3N0YXJ0dXAo c3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCiAJCXJldHVybiByOwogCX0KIAorCXIgPSB1dmRf djFfMF9yZXN1bWUocmRldik7CisJaWYgKCFyKSB7CisJCXIgPSByYWRlb25fZmVuY2VfZHJpdmVy X3N0YXJ0X3JpbmcocmRldiwgUjYwMF9SSU5HX1RZUEVfVVZEX0lOREVYKTsKKwkJaWYgKHIpIHsK KwkJCWRldl9lcnIocmRldi0+ZGV2LCAiZmFpbGVkIGluaXRpYWxpemluZyBVVkQgZmVuY2VzICgl ZCkuXG4iLCByKTsKKwkJfQorCX0KKwlpZiAocikgeworCQlyZGV2LT5yaW5nW1I2MDBfUklOR19U WVBFX1VWRF9JTkRFWF0ucmluZ19zaXplID0gMDsKKwl9CisKIAkvKiBFbmFibGUgSVJRICovCiAJ aWYgKCFyZGV2LT5pcnEuaW5zdGFsbGVkKSB7CiAJCXIgPSByYWRlb25faXJxX2ttc19pbml0KHJk ZXYpOwpAQCAtMzAxOSw2ICszMDMwLDE2IEBAIHN0YXRpYyBpbnQgcjYwMF9zdGFydHVwKHN0cnVj dCByYWRlb25fZGV2aWNlICpyZGV2KQogCWlmIChyKQogCQlyZXR1cm4gcjsKIAorCXJpbmcgPSAm cmRldi0+cmluZ1tSNjAwX1JJTkdfVFlQRV9VVkRfSU5ERVhdOworCWlmIChyaW5nLT5yaW5nX3Np emUpIHsKKwkJciA9IHJhZGVvbl9yaW5nX2luaXQocmRldiwgcmluZywgcmluZy0+cmluZ19zaXpl LCAwLAorCQkJCSAgICAgUkFERU9OX0NQX1BBQ0tFVDIpOworCQlpZiAoIXIpCisJCQlyID0gdXZk X3YxXzBfaW5pdChyZGV2KTsKKwkJaWYgKHIpCisJCQlEUk1fRVJST1IoInJhZGVvbjogZmFpbGVk IGluaXRpYWxpemluZyBVVkQgKCVkKS5cbiIsIHIpOworCX0KKwogCXIgPSByYWRlb25faWJfcG9v bF9pbml0KHJkZXYpOwogCWlmIChyKSB7CiAJCWRldl9lcnIocmRldi0+ZGV2LCAiSUIgaW5pdGlh bGl6YXRpb24gZmFpbGVkICglZCkuXG4iLCByKTsKQEAgLTMwNzgsNiArMzA5OSw4IEBAIGludCBy NjAwX3N1c3BlbmQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCiAJcmFkZW9uX3BtX3N1c3Bl bmQocmRldik7CiAJcjYwMF9hdWRpb19maW5pKHJkZXYpOwogCXI2MDBfY3Bfc3RvcChyZGV2KTsK Kwl1dmRfdjFfMF9maW5pKHJkZXYpOworCXJhZGVvbl91dmRfc3VzcGVuZChyZGV2KTsKIAlyNjAw X2lycV9zdXNwZW5kKHJkZXYpOwogCXJhZGVvbl93Yl9kaXNhYmxlKHJkZXYpOwogCXI2MDBfcGNp ZV9nYXJ0X2Rpc2FibGUocmRldik7CkBAIC0zMTU3LDYgKzMxODAsMTIgQEAgaW50IHI2MDBfaW5p dChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKIAlyZGV2LT5yaW5nW1JBREVPTl9SSU5HX1RZ UEVfR0ZYX0lOREVYXS5yaW5nX29iaiA9IE5VTEw7CiAJcjYwMF9yaW5nX2luaXQocmRldiwgJnJk ZXYtPnJpbmdbUkFERU9OX1JJTkdfVFlQRV9HRlhfSU5ERVhdLCAxMDI0ICogMTAyNCk7CiAKKwly ID0gcmFkZW9uX3V2ZF9pbml0KHJkZXYpOworCWlmICghcikgeworCQlyZGV2LT5yaW5nW1I2MDBf UklOR19UWVBFX1VWRF9JTkRFWF0ucmluZ19vYmogPSBOVUxMOworCQlyNjAwX3JpbmdfaW5pdChy ZGV2LCAmcmRldi0+cmluZ1tSNjAwX1JJTkdfVFlQRV9VVkRfSU5ERVhdLCA0MDk2KTsKKwl9CisK IAlyZGV2LT5paC5yaW5nX29iaiA9IE5VTEw7CiAJcjYwMF9paF9yaW5nX2luaXQocmRldiwgNjQg KiAxMDI0KTsKIApAQCAtMzE4Niw2ICszMjE1LDggQEAgdm9pZCByNjAwX2Zpbmkoc3RydWN0IHJh ZGVvbl9kZXZpY2UgKnJkZXYpCiAJcjYwMF9hdWRpb19maW5pKHJkZXYpOwogCXI2MDBfY3BfZmlu aShyZGV2KTsKIAlyNjAwX2lycV9maW5pKHJkZXYpOworCXV2ZF92MV8wX2ZpbmkocmRldik7CisJ cmFkZW9uX3V2ZF9maW5pKHJkZXYpOwogCXJhZGVvbl93Yl9maW5pKHJkZXYpOwogCXJhZGVvbl9p Yl9wb29sX2ZpbmkocmRldik7CiAJcmFkZW9uX2lycV9rbXNfZmluaShyZGV2KTsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMGQuaCBiL2RyaXZlcnMvZ3B1L2RybS9yYWRl b24vcjYwMGQuaAppbmRleCAyNWIxYzkzLi5hYjIwMGM0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3I2MDBkLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwZC5o CkBAIC0xNDg1LDYgKzE0ODUsNyBAQAogI2RlZmluZSBVVkRfQ0dDX0dBVEUJCQkJCTB4ZjRhOAog I2RlZmluZSBVVkRfTE1JX0NUUkwyCQkJCQkweGY0ZjQKICNkZWZpbmUgVVZEX01BU1RJTlRfRU4J CQkJCTB4ZjUwMAorI2RlZmluZSBVVkRfRldfU1RBUlQJCQkJCTB4ZjUxQwogI2RlZmluZSBVVkRf TE1JX0FERFJfRVhUCQkJCTB4ZjU5NAogI2RlZmluZSBVVkRfTE1JX0NUUkwJCQkJCTB4ZjU5OAog I2RlZmluZSBVVkRfTE1JX1NXQVBfQ05UTAkJCQkweGY1YjQKQEAgLTE0OTcsNiArMTQ5OCwxMyBA QAogI2RlZmluZSBVVkRfTVBDX1NFVF9NVVgJCQkJCTB4ZjVmNAogI2RlZmluZSBVVkRfTVBDX1NF VF9BTFUJCQkJCTB4ZjVmOAogCisjZGVmaW5lIFVWRF9WQ1BVX0NBQ0hFX09GRlNFVDAJCQkJMHhm NjA4CisjZGVmaW5lIFVWRF9WQ1BVX0NBQ0hFX1NJWkUwCQkJCTB4ZjYwYworI2RlZmluZSBVVkRf VkNQVV9DQUNIRV9PRkZTRVQxCQkJCTB4ZjYxMAorI2RlZmluZSBVVkRfVkNQVV9DQUNIRV9TSVpF MQkJCQkweGY2MTQKKyNkZWZpbmUgVVZEX1ZDUFVfQ0FDSEVfT0ZGU0VUMgkJCQkweGY2MTgKKyNk ZWZpbmUgVVZEX1ZDUFVfQ0FDSEVfU0laRTIJCQkJMHhmNjFjCisKICNkZWZpbmUgVVZEX1ZDUFVf Q05UTAkJCQkJMHhmNjYwCiAjZGVmaW5lIFVWRF9TT0ZUX1JFU0VUCQkJCQkweGY2ODAKICNkZWZp bmUJCVJCQ19TT0ZUX1JFU0VUCQkJCQkoMTw8MCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uX2FzaWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Fz aWMuYwppbmRleCBlZWVlYWJlLi45ZTY2OTlhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3JhZGVvbl9hc2ljLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25f YXNpYy5jCkBAIC05NjUsNiArOTY1LDE5IEBAIHN0YXRpYyBzdHJ1Y3QgcmFkZW9uX2FzaWMgcjYw MF9hc2ljID0gewogCX0sCiB9OwogCitzdGF0aWMgc3RydWN0IHJhZGVvbl9hc2ljX3JpbmcgcnY2 eHhfdXZkX3JpbmcgPSB7CisJLmliX2V4ZWN1dGUgPSAmdXZkX3YxXzBfaWJfZXhlY3V0ZSwKKwku ZW1pdF9mZW5jZSA9ICZ1dmRfdjFfMF9mZW5jZV9lbWl0LAorCS5lbWl0X3NlbWFwaG9yZSA9ICZ1 dmRfdjFfMF9zZW1hcGhvcmVfZW1pdCwKKwkuY3NfcGFyc2UgPSAmcmFkZW9uX3V2ZF9jc19wYXJz ZSwKKwkucmluZ190ZXN0ID0gJnV2ZF92MV8wX3JpbmdfdGVzdCwKKwkuaWJfdGVzdCA9ICZ1dmRf djFfMF9pYl90ZXN0LAorCS5pc19sb2NrdXAgPSAmcmFkZW9uX3JpbmdfdGVzdF9sb2NrdXAsCisJ LmdldF9ycHRyID0gJnV2ZF92MV8wX2dldF9ycHRyLAorCS5nZXRfd3B0ciA9ICZ1dmRfdjFfMF9n ZXRfd3B0ciwKKwkuc2V0X3dwdHIgPSAmdXZkX3YxXzBfc2V0X3dwdHIsCit9OworCiBzdGF0aWMg c3RydWN0IHJhZGVvbl9hc2ljIHJ2Nnh4X2FzaWMgPSB7CiAJLmluaXQgPSAmcjYwMF9pbml0LAog CS5maW5pID0gJnI2MDBfZmluaSwKQEAgLTk4NCw2ICs5OTcsNyBAQCBzdGF0aWMgc3RydWN0IHJh ZGVvbl9hc2ljIHJ2Nnh4X2FzaWMgPSB7CiAJLnJpbmcgPSB7CiAJCVtSQURFT05fUklOR19UWVBF X0dGWF9JTkRFWF0gPSAmcjYwMF9nZnhfcmluZywKIAkJW1I2MDBfUklOR19UWVBFX0RNQV9JTkRF WF0gPSAmcjYwMF9kbWFfcmluZywKKwkJW1I2MDBfUklOR19UWVBFX1VWRF9JTkRFWF0gPSAmcnY2 eHhfdXZkX3JpbmcsCiAJfSwKIAkuaXJxID0gewogCQkuc2V0ID0gJnI2MDBfaXJxX3NldCwKQEAg LTEwNzQsNiArMTA4OCw3IEBAIHN0YXRpYyBzdHJ1Y3QgcmFkZW9uX2FzaWMgcnM3ODBfYXNpYyA9 IHsKIAkucmluZyA9IHsKIAkJW1JBREVPTl9SSU5HX1RZUEVfR0ZYX0lOREVYXSA9ICZyNjAwX2dm eF9yaW5nLAogCQlbUjYwMF9SSU5HX1RZUEVfRE1BX0lOREVYXSA9ICZyNjAwX2RtYV9yaW5nLAor CQlbUjYwMF9SSU5HX1RZUEVfVVZEX0lOREVYXSA9ICZydjZ4eF91dmRfcmluZywKIAl9LAogCS5p cnEgPSB7CiAJCS5zZXQgPSAmcjYwMF9pcnFfc2V0LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9yYWRlb25fYXNpYy5oIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25f YXNpYy5oCmluZGV4IDI3NWE1ZGMuLjk4N2EzYjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uX2FzaWMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVv bl9hc2ljLmgKQEAgLTg4Myw2ICs4ODMsNyBAQCB1aW50MzJfdCB1dmRfdjFfMF9nZXRfd3B0cihz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCByYWRlb25fcmluZyAqcmluZyk7CiB2b2lkIHV2ZF92MV8wX3NldF93cHRyKHN0cnVjdCBy YWRlb25fZGV2aWNlICpyZGV2LAogICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcmFkZW9u X3JpbmcgKnJpbmcpOworaW50IHV2ZF92MV8wX3Jlc3VtZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAq cmRldik7CiAKIGludCB1dmRfdjFfMF9pbml0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KTsK IHZvaWQgdXZkX3YxXzBfZmluaShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7CkBAIC04OTAs NiArODkxLDggQEAgaW50IHV2ZF92MV8wX3N0YXJ0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2 KTsKIHZvaWQgdXZkX3YxXzBfc3RvcChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7CiAKIGlu dCB1dmRfdjFfMF9yaW5nX3Rlc3Qoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHN0cnVjdCBy YWRlb25fcmluZyAqcmluZyk7Cit2b2lkIHV2ZF92MV8wX2ZlbmNlX2VtaXQoc3RydWN0IHJhZGVv bl9kZXZpY2UgKnJkZXYsCisJCQkgc3RydWN0IHJhZGVvbl9mZW5jZSAqZmVuY2UpOwogaW50IHV2 ZF92MV8wX2liX3Rlc3Qoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHN0cnVjdCByYWRlb25f cmluZyAqcmluZyk7CiBib29sIHV2ZF92MV8wX3NlbWFwaG9yZV9lbWl0KHN0cnVjdCByYWRlb25f ZGV2aWNlICpyZGV2LAogCQkJICAgICBzdHJ1Y3QgcmFkZW9uX3JpbmcgKnJpbmcsCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3V2ZF92MV8wLmMgYi9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3V2ZF92MV8wLmMKaW5kZXggYmU0MmM4MS4uNGQ5NWE3ZCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi91dmRfdjFfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRl b24vdXZkX3YxXzAuYwpAQCAtMjIsNiArMjIsNyBAQAogICogQXV0aG9yczogQ2hyaXN0aWFuIEvD tm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgogICovCiAKKyNpbmNsdWRlIDxsaW51eC9m aXJtd2FyZS5oPgogI2luY2x1ZGUgPGRybS9kcm1QLmg+CiAjaW5jbHVkZSAicmFkZW9uLmgiCiAj aW5jbHVkZSAicmFkZW9uX2FzaWMuaCIKQEAgLTcwLDYgKzcxLDgyIEBAIHZvaWQgdXZkX3YxXzBf c2V0X3dwdHIoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsCiB9CiAKIC8qKgorICogdXZkX3Yx XzBfZmVuY2VfZW1pdCAtIGVtaXQgYW4gZmVuY2UgJiB0cmFwIGNvbW1hbmQKKyAqCisgKiBAcmRl djogcmFkZW9uX2RldmljZSBwb2ludGVyCisgKiBAZmVuY2U6IGZlbmNlIHRvIGVtaXQKKyAqCisg KiBXcml0ZSBhIGZlbmNlIGFuZCBhIHRyYXAgY29tbWFuZCB0byB0aGUgcmluZy4KKyAqLwordm9p ZCB1dmRfdjFfMF9mZW5jZV9lbWl0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAorCQkJIHN0 cnVjdCByYWRlb25fZmVuY2UgKmZlbmNlKQoreworCXN0cnVjdCByYWRlb25fcmluZyAqcmluZyA9 ICZyZGV2LT5yaW5nW2ZlbmNlLT5yaW5nXTsKKwl1aW50NjRfdCBhZGRyID0gcmRldi0+ZmVuY2Vf ZHJ2W2ZlbmNlLT5yaW5nXS5ncHVfYWRkcjsKKworCXJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIFBB Q0tFVDAoVVZEX0dQQ09NX1ZDUFVfREFUQTAsIDApKTsKKwlyYWRlb25fcmluZ193cml0ZShyaW5n LCBhZGRyICYgMHhmZmZmZmZmZik7CisJcmFkZW9uX3Jpbmdfd3JpdGUocmluZywgUEFDS0VUMChV VkRfR1BDT01fVkNQVV9EQVRBMSwgMCkpOworCXJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIGZlbmNl LT5zZXEpOworCXJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIFBBQ0tFVDAoVVZEX0dQQ09NX1ZDUFVf Q01ELCAwKSk7CisJcmFkZW9uX3Jpbmdfd3JpdGUocmluZywgMCk7CisKKwlyYWRlb25fcmluZ193 cml0ZShyaW5nLCBQQUNLRVQwKFVWRF9HUENPTV9WQ1BVX0RBVEEwLCAwKSk7CisJcmFkZW9uX3Jp bmdfd3JpdGUocmluZywgMCk7CisJcmFkZW9uX3Jpbmdfd3JpdGUocmluZywgUEFDS0VUMChVVkRf R1BDT01fVkNQVV9EQVRBMSwgMCkpOworCXJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIDApOworCXJh ZGVvbl9yaW5nX3dyaXRlKHJpbmcsIFBBQ0tFVDAoVVZEX0dQQ09NX1ZDUFVfQ01ELCAwKSk7CisJ cmFkZW9uX3Jpbmdfd3JpdGUocmluZywgMik7CisJcmV0dXJuOworfQorCisvKioKKyAqIHV2ZF92 MV8wX3Jlc3VtZSAtIG1lbW9yeSBjb250cm9sbGVyIHByb2dyYW1taW5nCisgKgorICogQHJkZXY6 IHJhZGVvbl9kZXZpY2UgcG9pbnRlcgorICoKKyAqIExldCB0aGUgVVZEIG1lbW9yeSBjb250cm9s bGVyIGtub3cgaXQncyBvZmZzZXRzCisgKi8KK2ludCB1dmRfdjFfMF9yZXN1bWUoc3RydWN0IHJh ZGVvbl9kZXZpY2UgKnJkZXYpCit7CisJdWludDY0X3QgYWRkcjsKKwl1aW50MzJfdCBzaXplOwor CWludCByOworCisJciA9IHJhZGVvbl91dmRfcmVzdW1lKHJkZXYpOworCWlmIChyKQorCQlyZXR1 cm4gcjsKKworCS8qIHByb2dyYW1tIHRoZSBWQ1BVIG1lbW9yeSBjb250cm9sbGVyIGJpdHMgMC0y NyAqLworCWFkZHIgPSAocmRldi0+dXZkLmdwdV9hZGRyID4+IDMpICsgMTY7CisJc2l6ZSA9IFJB REVPTl9HUFVfUEFHRV9BTElHTihyZGV2LT51dmRfZnctPnNpemUpID4+IDM7CisJV1JFRzMyKFVW RF9WQ1BVX0NBQ0hFX09GRlNFVDAsIGFkZHIpOworCVdSRUczMihVVkRfVkNQVV9DQUNIRV9TSVpF MCwgc2l6ZSk7CisKKwlhZGRyICs9IHNpemU7CisJc2l6ZSA9IFJBREVPTl9VVkRfU1RBQ0tfU0la RSA+PiAzOworCVdSRUczMihVVkRfVkNQVV9DQUNIRV9PRkZTRVQxLCBhZGRyKTsKKwlXUkVHMzIo VVZEX1ZDUFVfQ0FDSEVfU0laRTEsIHNpemUpOworCisJYWRkciArPSBzaXplOworCXNpemUgPSBS QURFT05fVVZEX0hFQVBfU0laRSA+PiAzOworCVdSRUczMihVVkRfVkNQVV9DQUNIRV9PRkZTRVQy LCBhZGRyKTsKKwlXUkVHMzIoVVZEX1ZDUFVfQ0FDSEVfU0laRTIsIHNpemUpOworCisJLyogYml0 cyAyOC0zMSAqLworCWFkZHIgPSAocmRldi0+dXZkLmdwdV9hZGRyID4+IDI4KSAmIDB4RjsKKwlX UkVHMzIoVVZEX0xNSV9BRERSX0VYVCwgKGFkZHIgPDwgMTIpIHwgKGFkZHIgPDwgMCkpOworCisJ LyogYml0cyAzMi0zOSAqLworCWFkZHIgPSAocmRldi0+dXZkLmdwdV9hZGRyID4+IDMyKSAmIDB4 RkY7CisJV1JFRzMyKFVWRF9MTUlfRVhUNDBfQUREUiwgYWRkciB8ICgweDkgPDwgMTYpIHwgKDB4 MSA8PCAzMSkpOworCisJV1JFRzMyKFVWRF9GV19TVEFSVCwgKigodWludDMyX3QqKXJkZXYtPnV2 ZC5jcHVfYWRkcikpOworCisJcmV0dXJuIDA7Cit9CisKKy8qKgogICogdXZkX3YxXzBfaW5pdCAt IHN0YXJ0IGFuZCB0ZXN0IFVWRCBibG9jawogICoKICAqIEByZGV2OiByYWRlb25fZGV2aWNlIHBv aW50ZXIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vdXZkX3YyXzIuYyBiL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vdXZkX3YyXzIuYwppbmRleCA4YmZkYWRkLi44OTE5MzUxIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3V2ZF92Ml8yLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi91dmRfdjJfMi5jCkBAIC03Miw2ICs3MiwxMCBAQCBpbnQgdXZkX3Yy XzJfcmVzdW1lKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogCXVpbnQzMl90IGNoaXBfaWQs IHNpemU7CiAJaW50IHI7CiAKKwkvKiBSVjc3MCB1c2VzIFYxLjAgTUMgKi8KKwlpZiAocmRldi0+ ZmFtaWx5ID09IENISVBfUlY3NzApCisJCXJldHVybiB1dmRfdjFfMF9yZXN1bWUocmRldik7CisK IAlyID0gcmFkZW9uX3V2ZF9yZXN1bWUocmRldik7CiAJaWYgKHIpCiAJCXJldHVybiByOwotLSAK MS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==