From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 23/24] radeon/audio: enable DP audio Date: Tue, 13 Jan 2015 12:46:52 -0500 Message-ID: <1421171213-23977-24-git-send-email-alexander.deucher@amd.com> References: <1421171213-23977-1-git-send-email-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qc0-f179.google.com (mail-qc0-f179.google.com [209.85.216.179]) by gabe.freedesktop.org (Postfix) with ESMTP id 2FCED6E640 for ; Tue, 13 Jan 2015 09:47:15 -0800 (PST) Received: by mail-qc0-f179.google.com with SMTP id c9so3408579qcz.10 for ; Tue, 13 Jan 2015 09:47:14 -0800 (PST) In-Reply-To: <1421171213-23977-1-git-send-email-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: dri-devel@lists.freedesktop.org Cc: Alex Deucher , slava.grigorev@amd.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogU2xhdmEgR3JpZ29yZXYgPHNsYXZhLmdyaWdvcmV2QGFtZC5jb20+CgpTaWduZWQtb2Zm LWJ5OiBTbGF2YSBHcmlnb3JldiA8c2xhdmEuZ3JpZ29yZXZAYW1kLmNvbT4KU2lnbmVkLW9mZi1i eTogQWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgotLS0KIGRyaXZlcnMv Z3B1L2RybS9yYWRlb24vYXRvbWJpb3NfZW5jb2RlcnMuYyB8ICA2ICsrKysKIGRyaXZlcnMvZ3B1 L2RybS9yYWRlb24vZGNlNl9hZm10LmMgICAgICAgICB8IDM1ICsrKysrKysrKysrKysrKysrKysK IGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdyZWVuX2hkbWkuYyAgICB8IDU0ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW5f cmVnLmggICAgIHwgMTUgKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9h dWRpby5jICAgICAgfCAzNyArKysrKysrKysrKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCAx NDcgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vYXRv bWJpb3NfZW5jb2RlcnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vYXRvbWJpb3NfZW5jb2Rl cnMuYwppbmRleCA4Y2E4YjRmLi43YzlkZjFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL2F0b21iaW9zX2VuY29kZXJzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9h dG9tYmlvc19lbmNvZGVycy5jCkBAIC02NjUsNiArNjY1LDggQEAgYXRvbWJpb3NfZGlnaXRhbF9z ZXR1cChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIGludCBhY3Rpb24pCiBpbnQKIGF0b21i aW9zX2dldF9lbmNvZGVyX21vZGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogeworCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5kZXY7CisJc3RydWN0IHJhZGVvbl9kZXZp Y2UgKnJkZXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCByYWRlb25fZW5jb2RlciAqcmFk ZW9uX2VuY29kZXIgPSB0b19yYWRlb25fZW5jb2RlcihlbmNvZGVyKTsKIAlzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yOwogCXN0cnVjdCByYWRlb25fY29ubmVjdG9yICpyYWRlb25fY29u bmVjdG9yOwpAQCAtNzI5LDYgKzczMSw4IEBAIGF0b21iaW9zX2dldF9lbmNvZGVyX21vZGUoc3Ry dWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogCQlkaWdfY29ubmVjdG9yID0gcmFkZW9uX2Nvbm5l Y3Rvci0+Y29uX3ByaXY7CiAJCWlmICgoZGlnX2Nvbm5lY3Rvci0+ZHBfc2lua190eXBlID09IENP Tk5FQ1RPUl9PQkpFQ1RfSURfRElTUExBWVBPUlQpIHx8CiAJCSAgICAoZGlnX2Nvbm5lY3Rvci0+ ZHBfc2lua190eXBlID09IENPTk5FQ1RPUl9PQkpFQ1RfSURfZURQKSkgeworCQkJaWYgKHJhZGVv bl9hdWRpbyAhPSAwICYmIEFTSUNfSVNfRENFNChyZGV2KSAmJiAhQVNJQ19JU19EQ0U1KHJkZXYp KQorCQkJCXJldHVybiBBVE9NX0VOQ09ERVJfTU9ERV9EUF9BVURJTzsKIAkJCXJldHVybiBBVE9N X0VOQ09ERVJfTU9ERV9EUDsKIAkJfSBlbHNlIGlmIChyYWRlb25fYXVkaW8gIT0gMCkgewogCQkJ aWYgKHJhZGVvbl9jb25uZWN0b3ItPmF1ZGlvID09IFJBREVPTl9BVURJT19FTkFCTEUpCkBAIC03 NDMsNiArNzQ3LDggQEAgYXRvbWJpb3NfZ2V0X2VuY29kZXJfbW9kZShzdHJ1Y3QgZHJtX2VuY29k ZXIgKmVuY29kZXIpCiAJCX0KIAkJYnJlYWs7CiAJY2FzZSBEUk1fTU9ERV9DT05ORUNUT1JfZURQ OgorCQlpZiAocmFkZW9uX2F1ZGlvICE9IDAgJiYgQVNJQ19JU19EQ0U0KHJkZXYpICYmICFBU0lD X0lTX0RDRTUocmRldikpCisJCQlyZXR1cm4gQVRPTV9FTkNPREVSX01PREVfRFBfQVVESU87CiAJ CXJldHVybiBBVE9NX0VOQ09ERVJfTU9ERV9EUDsKIAljYXNlIERSTV9NT0RFX0NPTk5FQ1RPUl9E VklBOgogCWNhc2UgRFJNX01PREVfQ09OTkVDVE9SX1ZHQToKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vZGNlNl9hZm10LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2RjZTZf YWZtdC5jCmluZGV4IDFjODcwMDYuLjE5MmM4MDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vZGNlNl9hZm10LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9kY2U2X2Fm bXQuYwpAQCAtMjg3LDMgKzI4NywzOCBAQCB2b2lkIGRjZTZfZHBfYXVkaW9fc2V0X2R0byhzdHJ1 Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKICAgICBXUkVHMzIoRENDR19BVURJT19EVE8xX1BIQVNF LCAyNDAwMCk7CiAgICAgV1JFRzMyKERDQ0dfQVVESU9fRFRPMV9NT0RVTEUsIGNsb2NrKTsKIH0K Kwordm9pZCBkY2U2X2VuYWJsZV9kcF9hdWRpb19wYWNrZXRzKHN0cnVjdCBkcm1fZW5jb2RlciAq ZW5jb2RlciwgYm9vbCBlbmFibGUpCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29k ZXItPmRldjsKKwlzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiA9IGRldi0+ZGV2X3ByaXZhdGU7 CisJc3RydWN0IHJhZGVvbl9lbmNvZGVyICpyYWRlb25fZW5jb2RlciA9IHRvX3JhZGVvbl9lbmNv ZGVyKGVuY29kZXIpOworCXN0cnVjdCByYWRlb25fZW5jb2Rlcl9hdG9tX2RpZyAqZGlnID0gcmFk ZW9uX2VuY29kZXItPmVuY19wcml2OworCXVpbnQzMl90IG9mZnNldDsKKworCWlmICghZGlnIHx8 ICFkaWctPmFmbXQpCisJCXJldHVybjsKKworCW9mZnNldCA9IGRpZy0+YWZtdC0+b2Zmc2V0Owor CisJaWYgKGVuYWJsZSkgeworICAgICAgICBpZiAoZGlnLT5hZm10LT5lbmFibGVkKQorICAgICAg ICAgICAgcmV0dXJuOworCisJCVdSRUczMihFVkVSR1JFRU5fRFBfU0VDX1RJTUVTVEFNUCArIG9m ZnNldCwgRVZFUkdSRUVOX0RQX1NFQ19USU1FU1RBTVBfTU9ERSgxKSk7CisJCVdSRUczMihFVkVS R1JFRU5fRFBfU0VDX0NOVEwgKyBvZmZzZXQsCisJCQlFVkVSR1JFRU5fRFBfU0VDX0FTUF9FTkFC TEUgfAkJLyogQXVkaW8gcGFja2V0IHRyYW5zbWlzc2lvbiAqLworCQkJRVZFUkdSRUVOX0RQX1NF Q19BVFBfRU5BQkxFIHwJCS8qIEF1ZGlvIHRpbWVzdGFtcCBwYWNrZXQgdHJhbnNtaXNzaW9uICov CisJCQlFVkVSR1JFRU5fRFBfU0VDX0FJUF9FTkFCTEUgfAkJLyogQXVkaW8gaW5mb2ZyYW1lIHBh Y2tldCB0cmFuc21pc3Npb24gKi8KKwkJCUVWRVJHUkVFTl9EUF9TRUNfU1RSRUFNX0VOQUJMRSk7 CS8qIE1hc3RlciBlbmFibGUgZm9yIHNlY29uZGFyeSBzdHJlYW0gZW5naW5lICovCisJCXJhZGVv bl9hdWRpb19lbmFibGUocmRldiwgZGlnLT5hZm10LT5waW4sIHRydWUpOworCX0gZWxzZSB7CisJ CWlmICghZGlnLT5hZm10LT5lbmFibGVkKQorCQkJcmV0dXJuOworCisJCVdSRUczMihFVkVSR1JF RU5fRFBfU0VDX0NOVEwgKyBvZmZzZXQsIDApOworCQlyYWRlb25fYXVkaW9fZW5hYmxlKHJkZXYs IGRpZy0+YWZtdC0+cGluLCBmYWxzZSk7CisJfQorCisJZGlnLT5hZm10LT5lbmFibGVkID0gZW5h YmxlOworfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW5faGRt aS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW5faGRtaS5jCmluZGV4IDBkOGM4 NWYuLmYwYzU5YWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdyZWVu X2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbl9oZG1pLmMKQEAg LTQyNCwzICs0MjQsNTcgQEAgdm9pZCBldmVyZ3JlZW5faGRtaV9lbmFibGUoc3RydWN0IGRybV9l bmNvZGVyICplbmNvZGVyLCBib29sIGVuYWJsZSkKIAlEUk1fREVCVUcoIiVzYWJsaW5nIEhETUkg aW50ZXJmYWNlIEAgMHglMDRYIGZvciBlbmNvZGVyIDB4JXhcbiIsCiAJCSAgZW5hYmxlID8gIkVu IiA6ICJEaXMiLCBkaWctPmFmbXQtPm9mZnNldCwgcmFkZW9uX2VuY29kZXItPmVuY29kZXJfaWQp OwogfQorCit2b2lkIGV2ZXJncmVlbl9lbmFibGVfZHBfYXVkaW9fcGFja2V0cyhzdHJ1Y3QgZHJt X2VuY29kZXIgKmVuY29kZXIsIGJvb2wgZW5hYmxlKQoreworCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBlbmNvZGVyLT5kZXY7CisJc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYgPSBkZXYtPmRl dl9wcml2YXRlOworCXN0cnVjdCByYWRlb25fZW5jb2RlciAqcmFkZW9uX2VuY29kZXIgPSB0b19y YWRlb25fZW5jb2RlcihlbmNvZGVyKTsKKwlzdHJ1Y3QgcmFkZW9uX2VuY29kZXJfYXRvbV9kaWcg KmRpZyA9IHJhZGVvbl9lbmNvZGVyLT5lbmNfcHJpdjsKKwl1aW50MzJfdCBvZmZzZXQ7CisKKwlp ZiAoIWRpZyB8fCAhZGlnLT5hZm10KQorCQlyZXR1cm47CisKKwlvZmZzZXQgPSBkaWctPmFmbXQt Pm9mZnNldDsKKworCWlmIChlbmFibGUpIHsKKwkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciA9IHJhZGVvbl9nZXRfY29ubmVjdG9yX2Zvcl9lbmNvZGVyKGVuY29kZXIpOworCQlzdHJ1 Y3QgcmFkZW9uX2Nvbm5lY3RvciAqcmFkZW9uX2Nvbm5lY3RvciA9IHRvX3JhZGVvbl9jb25uZWN0 b3IoY29ubmVjdG9yKTsKKwkJc3RydWN0IHJhZGVvbl9jb25uZWN0b3JfYXRvbV9kaWcgKmRpZ19j b25uZWN0b3I7CisJCXVpbnQzMl90IHZhbDsKKworCQlpZiAoZGlnLT5hZm10LT5lbmFibGVkKQor CQkJcmV0dXJuOworCisJCVdSRUczMihFVkVSR1JFRU5fRFBfU0VDX1RJTUVTVEFNUCArIG9mZnNl dCwgRVZFUkdSRUVOX0RQX1NFQ19USU1FU1RBTVBfTU9ERSgxKSk7CisKKwkJaWYgKHJhZGVvbl9j b25uZWN0b3ItPmNvbl9wcml2KSB7CisJCQlkaWdfY29ubmVjdG9yID0gcmFkZW9uX2Nvbm5lY3Rv ci0+Y29uX3ByaXY7CisJCQl2YWwgPSBSUkVHMzIoRVZFUkdSRUVOX0RQX1NFQ19BVURfTiArIG9m ZnNldCk7CisJCQl2YWwgJj0gfkVWRVJHUkVFTl9EUF9TRUNfTl9CQVNFX01VTFRJUExFKDB4Zik7 CisKKwkJCWlmIChkaWdfY29ubmVjdG9yLT5kcF9jbG9jayA9PSAxNjIwMDApCisJCQkJdmFsIHw9 IEVWRVJHUkVFTl9EUF9TRUNfTl9CQVNFX01VTFRJUExFKDMpOworCQkJZWxzZQorCQkJCXZhbCB8 PSBFVkVSR1JFRU5fRFBfU0VDX05fQkFTRV9NVUxUSVBMRSg1KTsKKworCQkJV1JFRzMyKEVWRVJH UkVFTl9EUF9TRUNfQVVEX04gKyBvZmZzZXQsIHZhbCk7CisJCX0KKworCQlXUkVHMzIoRVZFUkdS RUVOX0RQX1NFQ19DTlRMICsgb2Zmc2V0LAorCQkJRVZFUkdSRUVOX0RQX1NFQ19BU1BfRU5BQkxF IHwJCS8qIEF1ZGlvIHBhY2tldCB0cmFuc21pc3Npb24gKi8KKwkJCUVWRVJHUkVFTl9EUF9TRUNf QVRQX0VOQUJMRSB8CQkvKiBBdWRpbyB0aW1lc3RhbXAgcGFja2V0IHRyYW5zbWlzc2lvbiAqLwor CQkJRVZFUkdSRUVOX0RQX1NFQ19BSVBfRU5BQkxFIHwJCS8qIEF1ZGlvIGluZm9mcmFtZSBwYWNr ZXQgdHJhbnNtaXNzaW9uICovCisJCQlFVkVSR1JFRU5fRFBfU0VDX1NUUkVBTV9FTkFCTEUpOwkv KiBNYXN0ZXIgZW5hYmxlIGZvciBzZWNvbmRhcnkgc3RyZWFtIGVuZ2luZSAqLworCQlyYWRlb25f YXVkaW9fZW5hYmxlKHJkZXYsIGRpZy0+YWZtdC0+cGluLCAweGYpOworCX0gZWxzZSB7CisJCWlm ICghZGlnLT5hZm10LT5lbmFibGVkKQorCQkJcmV0dXJuOworCisJCVdSRUczMihFVkVSR1JFRU5f RFBfU0VDX0NOVEwgKyBvZmZzZXQsIDApOworCQlyYWRlb25fYXVkaW9fZW5hYmxlKHJkZXYsIGRp Zy0+YWZtdC0+cGluLCAwKTsKKwl9CisKKwlkaWctPmFmbXQtPmVuYWJsZWQgPSBlbmFibGU7Cit9 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbl9yZWcuaCBiL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdyZWVuX3JlZy5oCmluZGV4IDIzYmZmNTkuLmFhOTM5 ZGZlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbl9yZWcuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbl9yZWcuaApAQCAtMjUxLDQgKzI1 MSwxOSBAQAogLyogSERNSSBibG9ja3MgYXQgMHg3MDMwLCAweDdjMzAsIDB4MTA4MzAsIDB4MTE0 MzAsIDB4MTIwMzAsIDB4MTJjMzAgKi8KICNkZWZpbmUgRVZFUkdSRUVOX0hETUlfQkFTRQkJCQkw eDcwMzAKIAorLyogRGlzcGxheSBQb3J0IGJsb2NrICovCisjZGVmaW5lIEVWRVJHUkVFTl9EUF9T RUNfQ05UTCAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NzI4MAorIyAgICAgICBkZWZpbmUg RVZFUkdSRUVOX0RQX1NFQ19TVFJFQU1fRU5BQkxFICAgICAgICAgICAoMSA8PCAwKQorIyAgICAg ICBkZWZpbmUgRVZFUkdSRUVOX0RQX1NFQ19BU1BfRU5BQkxFICAgICAgICAgICAgICAoMSA8PCA0 KQorIyAgICAgICBkZWZpbmUgRVZFUkdSRUVOX0RQX1NFQ19BVFBfRU5BQkxFICAgICAgICAgICAg ICAoMSA8PCA4KQorIyAgICAgICBkZWZpbmUgRVZFUkdSRUVOX0RQX1NFQ19BSVBfRU5BQkxFICAg ICAgICAgICAgICAoMSA8PCAxMikKKyMgICAgICAgZGVmaW5lIEVWRVJHUkVFTl9EUF9TRUNfR1NQ X0VOQUJMRSAgICAgICAgICAgICAgKDEgPDwgMjApCisjICAgICAgIGRlZmluZSBFVkVSR1JFRU5f RFBfU0VDX0FWSV9FTkFCTEUgICAgICAgICAgICAgICgxIDw8IDI0KQorIyAgICAgICBkZWZpbmUg RVZFUkdSRUVOX0RQX1NFQ19NUEdfRU5BQkxFICAgICAgICAgICAgICAoMSA8PCAyOCkKKyNkZWZp bmUgRVZFUkdSRUVOX0RQX1NFQ19USU1FU1RBTVAgICAgICAgICAgICAgICAgICAgICAgMHg3MmE0 CisjICAgICAgIGRlZmluZSBFVkVSR1JFRU5fRFBfU0VDX1RJTUVTVEFNUF9NT0RFKHgpICAgICAg ICgoKHgpICYgMHgzKSA8PCAwKQorI2RlZmluZSBFVkVSR1JFRU5fRFBfU0VDX0FVRF9OICAgICAg ICAgICAgICAgICAgICAgICAgICAweDcyOTQKKyMgICAgICAgZGVmaW5lIEVWRVJHUkVFTl9EUF9T RUNfTl9CQVNFX01VTFRJUExFKHgpICAgICAgKCgoeCkgJiAweGYpIDw8IDI0KQorIyAgICAgICBk ZWZpbmUgRVZFUkdSRUVOX0RQX1NFQ19TU19FTiAgICAgICAgICAgICAgICAgICAoMSA8PCAyOCkK KwogI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRp by5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYwppbmRleCBmYzdhOTc1 Li5iNzdhOGQ2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRp by5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmMKQEAgLTk3LDgg Kzk3LDEyIEBAIHZvaWQgZGNlM18yX3NldF9tdXRlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rl ciwgdTMyIG9mZnNldCwgYm9vbCBtdXRlKTsKIHZvaWQgZGNlNF9zZXRfbXV0ZShzdHJ1Y3QgZHJt X2VuY29kZXIgKmVuY29kZXIsIHUzMiBvZmZzZXQsIGJvb2wgbXV0ZSk7CiBzdGF0aWMgdm9pZCBy YWRlb25fYXVkaW9faGRtaV9tb2RlX3NldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJ c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOworc3RhdGljIHZvaWQgcmFkZW9uX2F1ZGlv X2RwX21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKKwlzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSk7CiB2b2lkIHI2MDBfaGRtaV9lbmFibGUoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyLCBib29sIGVuYWJsZSk7CiB2b2lkIGV2ZXJncmVlbl9oZG1pX2VuYWJsZShz dHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIGJvb2wgZW5hYmxlKTsKK3ZvaWQgZXZlcmdyZWVu X2VuYWJsZV9kcF9hdWRpb19wYWNrZXRzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwgYm9v bCBlbmFibGUpOwordm9pZCBkY2U2X2VuYWJsZV9kcF9hdWRpb19wYWNrZXRzKHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2RlciwgYm9vbCBlbmFibGUpOwogCiBzdGF0aWMgY29uc3QgdTMyIHBpbl9v ZmZzZXRzWzddID0KIHsKQEAgLTE3OCw2ICsxODIsNyBAQCBzdGF0aWMgc3RydWN0IHJhZGVvbl9h dWRpb19mdW5jcyBkY2UzMl9kcF9mdW5jcyA9IHsKIAkud3JpdGVfc3BlYWtlcl9hbGxvY2F0aW9u ID0gZGNlM18yX2FmbXRfZHBfd3JpdGVfc3BlYWtlcl9hbGxvY2F0aW9uLAogCS5zZXRfZHRvID0g ZGNlM18yX2F1ZGlvX3NldF9kdG8sCiAJLnNldF9hdmlfcGFja2V0ID0gcjYwMF9zZXRfYXZpX3Bh Y2tldCwKKwkuc2V0X2F1ZGlvX3BhY2tldCA9IGRjZTNfMl9zZXRfYXVkaW9fcGFja2V0LAogfTsK IAogc3RhdGljIHN0cnVjdCByYWRlb25fYXVkaW9fZnVuY3MgZGNlNF9oZG1pX2Z1bmNzID0gewpA QCAtMjAzLDYgKzIwOCw5IEBAIHN0YXRpYyBzdHJ1Y3QgcmFkZW9uX2F1ZGlvX2Z1bmNzIGRjZTRf ZHBfZnVuY3MgPSB7CiAJLndyaXRlX2xhdGVuY3lfZmllbGRzID0gZGNlNF9hZm10X3dyaXRlX2xh dGVuY3lfZmllbGRzLAogCS5zZXRfZHRvID0gZGNlNF9kcF9hdWRpb19zZXRfZHRvLAogCS5zZXRf YXZpX3BhY2tldCA9IGV2ZXJncmVlbl9zZXRfYXZpX3BhY2tldCwKKwkuc2V0X2F1ZGlvX3BhY2tl dCA9IGRjZTRfc2V0X2F1ZGlvX3BhY2tldCwKKwkubW9kZV9zZXQgPSByYWRlb25fYXVkaW9fZHBf bW9kZV9zZXQsCisJLmRwbXMgPSBldmVyZ3JlZW5fZW5hYmxlX2RwX2F1ZGlvX3BhY2tldHMsCiB9 OwogCiBzdGF0aWMgc3RydWN0IHJhZGVvbl9hdWRpb19mdW5jcyBkY2U2X2hkbWlfZnVuY3MgPSB7 CkBAIC0yMjksNiArMjM3LDkgQEAgc3RhdGljIHN0cnVjdCByYWRlb25fYXVkaW9fZnVuY3MgZGNl Nl9kcF9mdW5jcyA9IHsKIAkud3JpdGVfbGF0ZW5jeV9maWVsZHMgPSBkY2U2X2FmbXRfd3JpdGVf bGF0ZW5jeV9maWVsZHMsCiAJLnNldF9kdG8gPSBkY2U2X2RwX2F1ZGlvX3NldF9kdG8sCiAJLnNl dF9hdmlfcGFja2V0ID0gZXZlcmdyZWVuX3NldF9hdmlfcGFja2V0LAorCS5zZXRfYXVkaW9fcGFj a2V0ID0gZGNlNF9zZXRfYXVkaW9fcGFja2V0LAorCS5tb2RlX3NldCA9IHJhZGVvbl9hdWRpb19k cF9tb2RlX3NldCwKKwkuZHBtcyA9IGRjZTZfZW5hYmxlX2RwX2F1ZGlvX3BhY2tldHMsCiB9Owog CiBzdGF0aWMgdm9pZCByYWRlb25fYXVkaW9faW50ZXJmYWNlX2luaXQoc3RydWN0IHJhZGVvbl9k ZXZpY2UgKnJkZXYpCkBAIC03MTAsNiArNzIxLDMyIEBAIHN0YXRpYyB2b2lkIHJhZGVvbl9hdWRp b19oZG1pX21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAlyYWRlb25fYXVk aW9fZW5hYmxlKHJkZXYsIGRpZy0+YWZtdC0+cGluLCAweGYpOwogfQogCitzdGF0aWMgdm9pZCBy YWRlb25fYXVkaW9fZHBfbW9kZV9zZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAorCXN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQoreworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBlbmNvZGVyLT5kZXY7CisJc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYgPSBkZXYtPmRldl9w cml2YXRlOworCXN0cnVjdCByYWRlb25fZW5jb2RlciAqcmFkZW9uX2VuY29kZXIgPSB0b19yYWRl b25fZW5jb2RlcihlbmNvZGVyKTsKKwlzdHJ1Y3QgcmFkZW9uX2VuY29kZXJfYXRvbV9kaWcgKmRp ZyA9IHJhZGVvbl9lbmNvZGVyLT5lbmNfcHJpdjsKKworCWlmICghZGlnIHx8ICFkaWctPmFmbXQp CisJCXJldHVybjsKKworCS8qIGRpc2FibGUgYXVkaW8gcHJpb3IgdG8gc2V0dGluZyB1cCBodyAq LworCWRpZy0+YWZtdC0+cGluID0gcmFkZW9uX2F1ZGlvX2dldF9waW4oZW5jb2Rlcik7CisJcmFk ZW9uX2F1ZGlvX2VuYWJsZShyZGV2LCBkaWctPmFmbXQtPnBpbiwgMCk7CisKKwlyYWRlb25fYXVk aW9fc2V0X2R0byhlbmNvZGVyLCByZGV2LT5jbG9jay5kZWZhdWx0X2Rpc3BjbGsgKiAxMCk7CisJ cmFkZW9uX2F1ZGlvX3NldF9hdWRpb19wYWNrZXQoZW5jb2Rlcik7CisJcmFkZW9uX2F1ZGlvX3Nl bGVjdF9waW4oZW5jb2Rlcik7CisKKwlpZiAocmFkZW9uX2F1ZGlvX3NldF9hdmlfcGFja2V0KGVu Y29kZXIsIG1vZGUpIDwgMCkKKwkJcmV0dXJuOworCisJLyogZW5hYmxlIGF1ZGlvIGFmdGVyIHRv IHNldHRpbmcgdXAgaHcgKi8KKwlyYWRlb25fYXVkaW9fZW5hYmxlKHJkZXYsIGRpZy0+YWZtdC0+ cGluLCAweGYpOworfQorCiB2b2lkIHJhZGVvbl9hdWRpb19tb2RlX3NldChzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIsCiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCiB7Ci0tIAox LjguMy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=