From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 16/24] radeon/audio: set_avi_packet() function cleanup Date: Tue, 13 Jan 2015 12:46:45 -0500 Message-ID: <1421171213-23977-17-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-qg0-f44.google.com (mail-qg0-f44.google.com [209.85.192.44]) by gabe.freedesktop.org (Postfix) with ESMTP id 87EA46E65A for ; Tue, 13 Jan 2015 09:47:10 -0800 (PST) Received: by mail-qg0-f44.google.com with SMTP id q107so3303898qgd.3 for ; Tue, 13 Jan 2015 09:47:10 -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 Z3B1L2RybS9yYWRlb24vZGNlM18xX2FmbXQuYyAgICB8IDIyICsrKy0tLS0tLS0tLS0tLS0tCiBk cml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbl9oZG1pLmMgfCAzNCArKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwX2hkbWkuYyAgICAgIHwg MzEgKysrKysrKystLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVv bl9hdWRpby5jICAgfCA0MyArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmggICB8ICA4ICsrKy0tLQogNSBmaWxlcyBj aGFuZ2VkLCA1OSBpbnNlcnRpb25zKCspLCA3OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vcmFkZW9uL2RjZTNfMV9hZm10LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL2RjZTNfMV9hZm10LmMKaW5kZXggYzExYzFjYS4uZDY1OTMzNyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9kY2UzXzFfYWZtdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vZGNlM18xX2FmbXQuYwpAQCAtMjA4LDEwICsyMDgsNyBAQCB2b2lkIGRjZTNfMV9oZG1p X3NldG1vZGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqbQogCXN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK IAlzdHJ1Y3QgcmFkZW9uX2VuY29kZXIgKnJhZGVvbl9lbmNvZGVyID0gdG9fcmFkZW9uX2VuY29k ZXIoZW5jb2Rlcik7CiAJc3RydWN0IHJhZGVvbl9lbmNvZGVyX2F0b21fZGlnICpkaWcgPSByYWRl b25fZW5jb2Rlci0+ZW5jX3ByaXY7Ci0JdTggYnVmZmVyW0hETUlfSU5GT0ZSQU1FX0hFQURFUl9T SVpFICsgSERNSV9BVklfSU5GT0ZSQU1FX1NJWkVdOwotCXN0cnVjdCBoZG1pX2F2aV9pbmZvZnJh bWUgZnJhbWU7CiAJdWludDMyX3Qgb2Zmc2V0OwotCXNzaXplX3QgZXJyOwogCiAJaWYgKCFkaWcg fHwgIWRpZy0+YWZtdCkKIAkJcmV0dXJuOwpAQCAtMjUwLDMxICsyNDcsMTggQEAgdm9pZCBkY2Uz XzFfaGRtaV9zZXRtb2RlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlciwgc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKm0KIAl9CiAKIAkvKiBUT0RPOiBIRE1JMF9BVURJT19JTkZPX1VQREFURSAq LwotCVdSRUczMihIRE1JMF9JTkZPRlJBTUVfQ09OVFJPTDAgKyBvZmZzZXQsCi0JICAgICAgIEhE TUkwX0FWSV9JTkZPX1NFTkQgfCAvKiBlbmFibGUgQVZJIGluZm8gZnJhbWVzICovCi0JICAgICAg IEhETUkwX0FWSV9JTkZPX0NPTlQgfCAvKiBzZW5kIEFWSSBpbmZvIGZyYW1lcyBldmVyeSBmcmFt ZS9maWVsZCAqLworCVdSRUczMl9PUihIRE1JMF9JTkZPRlJBTUVfQ09OVFJPTDAgKyBvZmZzZXQs CiAJICAgICAgIEhETUkwX0FVRElPX0lORk9fU0VORCB8IC8qIGVuYWJsZSBhdWRpbyBpbmZvIGZy YW1lcyAoZnJhbWVzIHdvbid0IGJlIHNldCB1bnRpbCBhdWRpbyBpcyBlbmFibGVkKSAqLwogCSAg ICAgICBIRE1JMF9BVURJT19JTkZPX0NPTlQpOyAvKiBzZW5kIGF1ZGlvIGluZm8gZnJhbWVzIGV2 ZXJ5IGZyYW1lL2ZpZWxkICovCiAKLQlXUkVHMzIoSERNSTBfSU5GT0ZSQU1FX0NPTlRST0wxICsg b2Zmc2V0LAotCSAgICAgICBIRE1JMF9BVklfSU5GT19MSU5FKDIpIHwgLyogYW55dGhpbmcgb3Ro ZXIgdGhhbiAwICovCisJV1JFRzMyX09SKEhETUkwX0lORk9GUkFNRV9DT05UUk9MMSArIG9mZnNl dCwKIAkgICAgICAgSERNSTBfQVVESU9fSU5GT19MSU5FKDIpKTsgLyogYW55dGhpbmcgb3RoZXIg dGhhbiAwICovCiAKIAlXUkVHMzIoSERNSTBfR0MgKyBvZmZzZXQsIDApOyAvKiB1bnNldCBIRE1J MF9HQ19BVk1VVEUgKi8KIAotCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNw bGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKLQlpZiAoZXJyIDwgMCkgewotCQlEUk1fRVJST1IoImZh aWxlZCB0byBzZXR1cCBBVkkgaW5mb2ZyYW1lOiAlemRcbiIsIGVycik7CisJaWYgKHJhZGVvbl9h dWRpb19zZXRfYXZpX3BhY2tldChlbmNvZGVyLCBtb2RlKSA8IDApCiAJCXJldHVybjsKLQl9Ci0K LQllcnIgPSBoZG1pX2F2aV9pbmZvZnJhbWVfcGFjaygmZnJhbWUsIGJ1ZmZlciwgc2l6ZW9mKGJ1 ZmZlcikpOwotCWlmIChlcnIgPCAwKSB7Ci0JCURSTV9FUlJPUigiZmFpbGVkIHRvIHBhY2sgQVZJ IGluZm9mcmFtZTogJXpkXG4iLCBlcnIpOwotCQlyZXR1cm47Ci0JfQogCi0JcmFkZW9uX3VwZGF0 ZV9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlcikpOwogCXJhZGVv bl9hdWRpb191cGRhdGVfYWNyKGVuY29kZXIsIG1vZGUtPmNsb2NrKTsKIAogCS8qIGl0J3MgdW5r bm93biB3aGF0IHRoZXNlIGJpdHMgZG8gZXhjYXRseSwgYnV0IGl0J3MgaW5kZWVkIHF1aXRlIHVz ZWZ1bCBmb3IgZGVidWdnaW5nICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L2V2ZXJncmVlbl9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbl9oZG1p LmMKaW5kZXggOTVhYTI4Zi4uZGVmZWY0ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9ldmVyZ3JlZW5faGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdy ZWVuX2hkbWkuYwpAQCAtMjA1LDcgKzIwNSw3IEBAIHZvaWQgZXZlcmdyZWVuX2hkbWlfd3JpdGVf c2FkX3JlZ3Moc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogLyoKICAqIGJ1aWxkIGEgQVZJ IEluZm8gRnJhbWUKICAqLwotdm9pZCBldmVyZ3JlZW5fdXBkYXRlX2F2aV9pbmZvZnJhbWUoc3Ry dWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHUzMiBvZmZzZXQsCit2b2lkIGV2ZXJncmVlbl9zZXRf YXZpX3BhY2tldChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgdTMyIG9mZnNldCwKICAgICB1 bnNpZ25lZCBjaGFyICpidWZmZXIsIHNpemVfdCBzaXplKQogewogCXVpbnQ4X3QgKmZyYW1lID0g YnVmZmVyICsgMzsKQEAgLTIxOCw2ICsyMTgsMTQgQEAgdm9pZCBldmVyZ3JlZW5fdXBkYXRlX2F2 aV9pbmZvZnJhbWUoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHUzMiBvZmZzZXQsCiAJCWZy YW1lWzB4OF0gfCAoZnJhbWVbMHg5XSA8PCA4KSB8IChmcmFtZVsweEFdIDw8IDE2KSB8IChmcmFt ZVsweEJdIDw8IDI0KSk7CiAJV1JFRzMyKEFGTVRfQVZJX0lORk8zICsgb2Zmc2V0LAogCQlmcmFt ZVsweENdIHwgKGZyYW1lWzB4RF0gPDwgOCkgfCAoYnVmZmVyWzFdIDw8IDI0KSk7CisKKwlXUkVH MzJfT1IoSERNSV9JTkZPRlJBTUVfQ09OVFJPTDAgKyBvZmZzZXQsCisJCUhETUlfQVZJX0lORk9f U0VORCB8CS8qIGVuYWJsZSBBVkkgaW5mbyBmcmFtZXMgKi8KKwkJSERNSV9BVklfSU5GT19DT05U KTsJLyogcmVxdWlyZWQgZm9yIGF1ZGlvIGluZm8gdmFsdWVzIHRvIGJlIHVwZGF0ZWQgKi8KKwor CVdSRUczMl9QKEhETUlfSU5GT0ZSQU1FX0NPTlRST0wxICsgb2Zmc2V0LAorCQlIRE1JX0FWSV9J TkZPX0xJTkUoMiksCS8qIGFueXRoaW5nIG90aGVyIHRoYW4gMCAqLworCQl+SERNSV9BVklfSU5G T19MSU5FX01BU0spOwogfQogCiB2b2lkIGRjZTRfaGRtaV9hdWRpb19zZXRfZHRvKHN0cnVjdCBy YWRlb25fZGV2aWNlICpyZGV2LApAQCAtMzQ2LDEwICszNTQsNyBAQCB2b2lkIGV2ZXJncmVlbl9o ZG1pX3NldG1vZGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZQogCXN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK IAlzdHJ1Y3QgcmFkZW9uX2VuY29kZXIgKnJhZGVvbl9lbmNvZGVyID0gdG9fcmFkZW9uX2VuY29k ZXIoZW5jb2Rlcik7CiAJc3RydWN0IHJhZGVvbl9lbmNvZGVyX2F0b21fZGlnICpkaWcgPSByYWRl b25fZW5jb2Rlci0+ZW5jX3ByaXY7Ci0JdTggYnVmZmVyW0hETUlfSU5GT0ZSQU1FX0hFQURFUl9T SVpFICsgSERNSV9BVklfSU5GT0ZSQU1FX1NJWkVdOwotCXN0cnVjdCBoZG1pX2F2aV9pbmZvZnJh bWUgZnJhbWU7CiAJdWludDMyX3Qgb2Zmc2V0OwotCXNzaXplX3QgZXJyOwogCiAJaWYgKCFkaWcg fHwgIWRpZy0+YWZtdCkKIAkJcmV0dXJuOwpAQCAtNDE1LDI3ICs0MjAsOCBAQCB2b2lkIGV2ZXJn cmVlbl9oZG1pX3NldG1vZGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZQogCXJhZGVvbl9hdWRpb193cml0ZV9zYWRfcmVncyhlbmNvZGVyKTsKIAly YWRlb25fYXVkaW9fd3JpdGVfbGF0ZW5jeV9maWVsZHMoZW5jb2RlciwgbW9kZSk7CiAKLQllcnIg PSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSk7 Ci0JaWYgKGVyciA8IDApIHsKLQkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gc2V0dXAgQVZJIGluZm9m cmFtZTogJXpkXG4iLCBlcnIpOwotCQlyZXR1cm47Ci0JfQotCi0JZXJyID0gaGRtaV9hdmlfaW5m b2ZyYW1lX3BhY2soJmZyYW1lLCBidWZmZXIsIHNpemVvZihidWZmZXIpKTsKLQlpZiAoZXJyIDwg MCkgewotCQlEUk1fRVJST1IoImZhaWxlZCB0byBwYWNrIEFWSSBpbmZvZnJhbWU6ICV6ZFxuIiwg ZXJyKTsKKwlpZiAocmFkZW9uX2F1ZGlvX3NldF9hdmlfcGFja2V0KGVuY29kZXIsIG1vZGUpIDwg MCkKIAkJcmV0dXJuOwotCX0KLQotCXJhZGVvbl91cGRhdGVfYXZpX2luZm9mcmFtZShlbmNvZGVy LCBidWZmZXIsIHNpemVvZihidWZmZXIpKTsKLQotCVdSRUczMl9PUihIRE1JX0lORk9GUkFNRV9D T05UUk9MMCArIG9mZnNldCwKLQkJICBIRE1JX0FWSV9JTkZPX1NFTkQgfCAvKiBlbmFibGUgQVZJ IGluZm8gZnJhbWVzICovCi0JCSAgSERNSV9BVklfSU5GT19DT05UKTsgLyogcmVxdWlyZWQgZm9y IGF1ZGlvIGluZm8gdmFsdWVzIHRvIGJlIHVwZGF0ZWQgKi8KLQotCVdSRUczMl9QKEhETUlfSU5G T0ZSQU1FX0NPTlRST0wxICsgb2Zmc2V0LAotCQkgSERNSV9BVklfSU5GT19MSU5FKDIpLCAvKiBh bnl0aGluZyBvdGhlciB0aGFuIDAgKi8KLQkJIH5IRE1JX0FWSV9JTkZPX0xJTkVfTUFTSyk7CiAK IAlXUkVHMzJfT1IoQUZNVF9BVURJT19QQUNLRVRfQ09OVFJPTCArIG9mZnNldCwKIAkJICBBRk1U X0FVRElPX1NBTVBMRV9TRU5EKTsgLyogc2VuZCBhdWRpbyBwYWNrZXRzICovCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDBfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yNjAwX2hkbWkuYwppbmRleCA4MDM2NDE3Li5mNzNjNzQ2IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDBfaGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRl b24vcjYwMF9oZG1pLmMKQEAgLTIxNCw3ICsyMTQsNyBAQCB2b2lkIHI2MDBfaGRtaV91cGRhdGVf YWNyKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwgbG9uZyBvZmZzZXQsCiAvKgogICogYnVp bGQgYSBIRE1JIFZpZGVvIEluZm8gRnJhbWUKICAqLwotdm9pZCByNjAwX3VwZGF0ZV9hdmlfaW5m b2ZyYW1lKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCB1MzIgb2Zmc2V0LAordm9pZCByNjAw X3NldF9hdmlfcGFja2V0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCB1MzIgb2Zmc2V0LAog ICAgIHVuc2lnbmVkIGNoYXIgKmJ1ZmZlciwgc2l6ZV90IHNpemUpCiB7CiAJdWludDhfdCAqZnJh bWUgPSBidWZmZXIgKyAzOwpAQCAtMjI3LDYgKzIyNywxMyBAQCB2b2lkIHI2MDBfdXBkYXRlX2F2 aV9pbmZvZnJhbWUoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHUzMiBvZmZzZXQsCiAJCWZy YW1lWzB4OF0gfCAoZnJhbWVbMHg5XSA8PCA4KSB8IChmcmFtZVsweEFdIDw8IDE2KSB8IChmcmFt ZVsweEJdIDw8IDI0KSk7CiAJV1JFRzMyKEhETUkwX0FWSV9JTkZPMyArIG9mZnNldCwKIAkJZnJh bWVbMHhDXSB8IChmcmFtZVsweERdIDw8IDgpIHwgKGJ1ZmZlclsxXSA8PCAyNCkpOworCisJV1JF RzMyX09SKEhETUkwX0lORk9GUkFNRV9DT05UUk9MMCArIG9mZnNldCwKKwkJSERNSTBfQVZJX0lO Rk9fU0VORCB8CS8qIGVuYWJsZSBBVkkgaW5mbyBmcmFtZXMgKi8KKwkJSERNSTBfQVZJX0lORk9f Q09OVCk7CS8qIHNlbmQgQVZJIGluZm8gZnJhbWVzIGV2ZXJ5IGZyYW1lL2ZpZWxkICovCisKKwlX UkVHMzJfT1IoSERNSTBfSU5GT0ZSQU1FX0NPTlRST0wxICsgb2Zmc2V0LAorCQlIRE1JMF9BVklf SU5GT19MSU5FKDIpKTsJLyogYW55dGhpbmcgb3RoZXIgdGhhbiAwICovCiB9CiAKIC8qCkBAIC0z NDksMTAgKzM1Niw3IEBAIHZvaWQgcjYwMF9oZG1pX3NldG1vZGUoc3RydWN0IGRybV9lbmNvZGVy ICplbmNvZGVyLCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kCiAJc3RydWN0IHJhZGVvbl9k ZXZpY2UgKnJkZXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCByYWRlb25fZW5jb2RlciAq cmFkZW9uX2VuY29kZXIgPSB0b19yYWRlb25fZW5jb2RlcihlbmNvZGVyKTsKIAlzdHJ1Y3QgcmFk ZW9uX2VuY29kZXJfYXRvbV9kaWcgKmRpZyA9IHJhZGVvbl9lbmNvZGVyLT5lbmNfcHJpdjsKLQl1 OCBidWZmZXJbSERNSV9JTkZPRlJBTUVfSEVBREVSX1NJWkUgKyBIRE1JX0FWSV9JTkZPRlJBTUVf U0laRV07Ci0Jc3RydWN0IGhkbWlfYXZpX2luZm9mcmFtZSBmcmFtZTsKIAl1aW50MzJfdCBvZmZz ZXQ7Ci0Jc3NpemVfdCBlcnI7CiAKIAlpZiAoIWRpZyB8fCAhZGlnLT5hZm10KQogCQlyZXR1cm47 CkBAIC0zODEsMzMgKzM4NSwxOCBAQCB2b2lkIHI2MDBfaGRtaV9zZXRtb2RlKHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2Rlciwgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZAogCQkgICBIRE1J MF82MDk1OF9DU19VUERBVEUpKTsKIAogCVdSRUczMl9PUihIRE1JMF9JTkZPRlJBTUVfQ09OVFJP TDAgKyBvZmZzZXQsCi0JCSAgSERNSTBfQVZJX0lORk9fU0VORCB8IC8qIGVuYWJsZSBBVkkgaW5m byBmcmFtZXMgKi8KLQkJICBIRE1JMF9BVklfSU5GT19DT05UIHwgLyogc2VuZCBBVkkgaW5mbyBm cmFtZXMgZXZlcnkgZnJhbWUvZmllbGQgKi8KIAkJICBIRE1JMF9BVURJT19JTkZPX1NFTkQgfCAv KiBlbmFibGUgYXVkaW8gaW5mbyBmcmFtZXMgKGZyYW1lcyB3b24ndCBiZSBzZXQgdW50aWwgYXVk aW8gaXMgZW5hYmxlZCkgKi8KIAkJICBIRE1JMF9BVURJT19JTkZPX1VQREFURSk7IC8qIHJlcXVp cmVkIGZvciBhdWRpbyBpbmZvIHZhbHVlcyB0byBiZSB1cGRhdGVkICovCiAKIAlXUkVHMzJfUChI RE1JMF9JTkZPRlJBTUVfQ09OVFJPTDEgKyBvZmZzZXQsCi0JCSBIRE1JMF9BVklfSU5GT19MSU5F KDIpIHwgLyogYW55dGhpbmcgb3RoZXIgdGhhbiAwICovCiAJCSBIRE1JMF9BVURJT19JTkZPX0xJ TkUoMiksIC8qIGFueXRoaW5nIG90aGVyIHRoYW4gMCAqLwotCQkgfihIRE1JMF9BVklfSU5GT19M SU5FX01BU0sgfAotCQkgICBIRE1JMF9BVURJT19JTkZPX0xJTkVfTUFTSykpOworCQkgfkhETUkw X0FVRElPX0lORk9fTElORV9NQVNLKTsKIAogCVdSRUczMl9BTkQoSERNSTBfR0MgKyBvZmZzZXQs CiAJCSAgIH5IRE1JMF9HQ19BVk1VVEUpOyAvKiB1bnNldCBIRE1JMF9HQ19BVk1VVEUgKi8KIAot CWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBt b2RlKTsKLQlpZiAoZXJyIDwgMCkgewotCQlEUk1fRVJST1IoImZhaWxlZCB0byBzZXR1cCBBVkkg aW5mb2ZyYW1lOiAlemRcbiIsIGVycik7CisJaWYgKHJhZGVvbl9hdWRpb19zZXRfYXZpX3BhY2tl dChlbmNvZGVyLCBtb2RlKSA8IDApCiAJCXJldHVybjsKLQl9Ci0KLQllcnIgPSBoZG1pX2F2aV9p bmZvZnJhbWVfcGFjaygmZnJhbWUsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlcikpOwotCWlmIChlcnIg PCAwKSB7Ci0JCURSTV9FUlJPUigiZmFpbGVkIHRvIHBhY2sgQVZJIGluZm9mcmFtZTogJXpkXG4i LCBlcnIpOwotCQlyZXR1cm47Ci0JfQotCi0JcmFkZW9uX3VwZGF0ZV9hdmlfaW5mb2ZyYW1lKGVu Y29kZXIsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlcikpOwogCiAJLyogZmdscnggZHVwbGljYXRlcyBJ TkZPRlJBTUVfQ09OVFJPTDAgJiBJTkZPRlJBTUVfQ09OVFJPTDEgb3BzIGhlcmUgKi8KIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYyBiL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmMKaW5kZXggYTdkMWJiZi4uNDgyMTkzMyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRpby5jCkBAIC03NSw5ICs3NSw5IEBAIHZvaWQg ZGNlNl9oZG1pX2F1ZGlvX3NldF9kdG8oc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsCiAJc3Ry dWN0IHJhZGVvbl9jcnRjICpjcnRjLCB1bnNpZ25lZCBpbnQgY2xvY2spOwogdm9pZCBkY2U2X2Rw X2F1ZGlvX3NldF9kdG8oc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsCiAJc3RydWN0IHJhZGVv bl9jcnRjICpjcnRjLCB1bnNpZ25lZCBpbnQgY2xvY2spOwotdm9pZCByNjAwX3VwZGF0ZV9hdmlf aW5mb2ZyYW1lKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCB1MzIgb2Zmc2V0LAordm9pZCBy NjAwX3NldF9hdmlfcGFja2V0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCB1MzIgb2Zmc2V0 LAogCXVuc2lnbmVkIGNoYXIgKmJ1ZmZlciwgc2l6ZV90IHNpemUpOwotdm9pZCBldmVyZ3JlZW5f dXBkYXRlX2F2aV9pbmZvZnJhbWUoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHUzMiBvZmZz ZXQsCit2b2lkIGV2ZXJncmVlbl9zZXRfYXZpX3BhY2tldChzdHJ1Y3QgcmFkZW9uX2RldmljZSAq cmRldiwgdTMyIG9mZnNldCwKIAl1bnNpZ25lZCBjaGFyICpidWZmZXIsIHNpemVfdCBzaXplKTsK IHZvaWQgcjYwMF9oZG1pX3VwZGF0ZV9hY3Ioc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCBs b25nIG9mZnNldCwKIAljb25zdCBzdHJ1Y3QgcmFkZW9uX2hkbWlfYWNyICphY3IpOwpAQCAtMTE2 LDI4ICsxMTYsMjQgQEAgc3RhdGljIHN0cnVjdCByYWRlb25fYXVkaW9fYmFzaWNfZnVuY3MgcjYw MF9mdW5jcyA9IHsKIAkuZW5kcG9pbnRfcnJlZyA9IHJhZGVvbl9hdWRpb19ycmVnLAogCS5lbmRw b2ludF93cmVnID0gcmFkZW9uX2F1ZGlvX3dyZWcsCiAJLmVuYWJsZSA9IHI2MDBfYXVkaW9fZW5h YmxlLAotCS51cGRhdGVfYXZpX2luZm9mcmFtZSA9IHI2MDBfdXBkYXRlX2F2aV9pbmZvZnJhbWUs CiB9OwogCiBzdGF0aWMgc3RydWN0IHJhZGVvbl9hdWRpb19iYXNpY19mdW5jcyBkY2UzMl9mdW5j cyA9IHsKIAkuZW5kcG9pbnRfcnJlZyA9IHJhZGVvbl9hdWRpb19ycmVnLAogCS5lbmRwb2ludF93 cmVnID0gcmFkZW9uX2F1ZGlvX3dyZWcsCiAJLmVuYWJsZSA9IHI2MDBfYXVkaW9fZW5hYmxlLAot CS51cGRhdGVfYXZpX2luZm9mcmFtZSA9IHI2MDBfdXBkYXRlX2F2aV9pbmZvZnJhbWUsCiB9Owog CiBzdGF0aWMgc3RydWN0IHJhZGVvbl9hdWRpb19iYXNpY19mdW5jcyBkY2U0X2Z1bmNzID0gewog CS5lbmRwb2ludF9ycmVnID0gcmFkZW9uX2F1ZGlvX3JyZWcsCiAJLmVuZHBvaW50X3dyZWcgPSBy YWRlb25fYXVkaW9fd3JlZywKIAkuZW5hYmxlID0gZGNlNF9hdWRpb19lbmFibGUsCi0JLnVwZGF0 ZV9hdmlfaW5mb2ZyYW1lID0gZXZlcmdyZWVuX3VwZGF0ZV9hdmlfaW5mb2ZyYW1lLAogfTsKIAog c3RhdGljIHN0cnVjdCByYWRlb25fYXVkaW9fYmFzaWNfZnVuY3MgZGNlNl9mdW5jcyA9IHsKIAku ZW5kcG9pbnRfcnJlZyA9IGRjZTZfZW5kcG9pbnRfcnJlZywKIAkuZW5kcG9pbnRfd3JlZyA9IGRj ZTZfZW5kcG9pbnRfd3JlZywKIAkuZW5hYmxlID0gZGNlNl9hdWRpb19lbmFibGUsCi0JLnVwZGF0 ZV9hdmlfaW5mb2ZyYW1lID0gZXZlcmdyZWVuX3VwZGF0ZV9hdmlfaW5mb2ZyYW1lLAogfTsKIAog c3RhdGljIHN0cnVjdCByYWRlb25fYXVkaW9fZnVuY3MgcjYwMF9oZG1pX2Z1bmNzID0gewpAQCAt MTQ1LDYgKzE0MSw3IEBAIHN0YXRpYyBzdHJ1Y3QgcmFkZW9uX2F1ZGlvX2Z1bmNzIHI2MDBfaGRt aV9mdW5jcyA9IHsKIAkuc2V0X2R0byA9IHI2MDBfaGRtaV9hdWRpb19zZXRfZHRvLAogCS51cGRh dGVfYWNyID0gcjYwMF9oZG1pX3VwZGF0ZV9hY3IsCiAJLnNldF92YmlfcGFja2V0ID0gcjYwMF9z ZXRfdmJpX3BhY2tldCwKKwkuc2V0X2F2aV9wYWNrZXQgPSByNjAwX3NldF9hdmlfcGFja2V0LAog fTsKIAogc3RhdGljIHN0cnVjdCByYWRlb25fYXVkaW9fZnVuY3MgZGNlMzJfaGRtaV9mdW5jcyA9 IHsKQEAgLTE1NCw2ICsxNTEsNyBAQCBzdGF0aWMgc3RydWN0IHJhZGVvbl9hdWRpb19mdW5jcyBk Y2UzMl9oZG1pX2Z1bmNzID0gewogCS5zZXRfZHRvID0gZGNlM18yX2F1ZGlvX3NldF9kdG8sCiAJ LnVwZGF0ZV9hY3IgPSBkY2UzXzJfaGRtaV91cGRhdGVfYWNyLAogCS5zZXRfdmJpX3BhY2tldCA9 IHI2MDBfc2V0X3ZiaV9wYWNrZXQsCisJLnNldF9hdmlfcGFja2V0ID0gcjYwMF9zZXRfYXZpX3Bh Y2tldCwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcmFkZW9uX2F1ZGlvX2Z1bmNzIGRjZTMyX2RwX2Z1 bmNzID0gewpAQCAtMTYxLDYgKzE1OSw3IEBAIHN0YXRpYyBzdHJ1Y3QgcmFkZW9uX2F1ZGlvX2Z1 bmNzIGRjZTMyX2RwX2Z1bmNzID0gewogCS53cml0ZV9zYWRfcmVncyA9IGRjZTNfMl9hZm10X3dy aXRlX3NhZF9yZWdzLAogCS53cml0ZV9zcGVha2VyX2FsbG9jYXRpb24gPSBkY2UzXzJfYWZtdF9k cF93cml0ZV9zcGVha2VyX2FsbG9jYXRpb24sCiAJLnNldF9kdG8gPSBkY2UzXzJfYXVkaW9fc2V0 X2R0bywKKwkuc2V0X2F2aV9wYWNrZXQgPSByNjAwX3NldF9hdmlfcGFja2V0LAogfTsKIAogc3Rh dGljIHN0cnVjdCByYWRlb25fYXVkaW9fZnVuY3MgZGNlNF9oZG1pX2Z1bmNzID0gewpAQCAtMTcy LDYgKzE3MSw3IEBAIHN0YXRpYyBzdHJ1Y3QgcmFkZW9uX2F1ZGlvX2Z1bmNzIGRjZTRfaGRtaV9m dW5jcyA9IHsKIAkudXBkYXRlX2FjciA9IGV2ZXJncmVlbl9oZG1pX3VwZGF0ZV9hY3IsCiAJLnNl dF92YmlfcGFja2V0ID0gZGNlNF9zZXRfdmJpX3BhY2tldCwKIAkuc2V0X2NvbG9yX2RlcHRoID0g ZGNlNF9oZG1pX3NldF9jb2xvcl9kZXB0aCwKKwkuc2V0X2F2aV9wYWNrZXQgPSBldmVyZ3JlZW5f c2V0X2F2aV9wYWNrZXQsCiB9OwogCiBzdGF0aWMgc3RydWN0IHJhZGVvbl9hdWRpb19mdW5jcyBk Y2U0X2RwX2Z1bmNzID0gewpAQCAtMTgwLDYgKzE4MCw3IEBAIHN0YXRpYyBzdHJ1Y3QgcmFkZW9u X2F1ZGlvX2Z1bmNzIGRjZTRfZHBfZnVuY3MgPSB7CiAJLndyaXRlX3NwZWFrZXJfYWxsb2NhdGlv biA9IGRjZTRfYWZtdF9kcF93cml0ZV9zcGVha2VyX2FsbG9jYXRpb24sCiAJLndyaXRlX2xhdGVu Y3lfZmllbGRzID0gZGNlNF9hZm10X3dyaXRlX2xhdGVuY3lfZmllbGRzLAogCS5zZXRfZHRvID0g ZGNlNF9kcF9hdWRpb19zZXRfZHRvLAorCS5zZXRfYXZpX3BhY2tldCA9IGV2ZXJncmVlbl9zZXRf YXZpX3BhY2tldCwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcmFkZW9uX2F1ZGlvX2Z1bmNzIGRjZTZf aGRtaV9mdW5jcyA9IHsKQEAgLTE5MSw2ICsxOTIsNyBAQCBzdGF0aWMgc3RydWN0IHJhZGVvbl9h dWRpb19mdW5jcyBkY2U2X2hkbWlfZnVuY3MgPSB7CiAJLnNldF9kdG8gPSBkY2U2X2hkbWlfYXVk aW9fc2V0X2R0bywKIAkuc2V0X3ZiaV9wYWNrZXQgPSBkY2U0X3NldF92YmlfcGFja2V0LAogCS5z ZXRfY29sb3JfZGVwdGggPSBkY2U0X2hkbWlfc2V0X2NvbG9yX2RlcHRoLAorCS5zZXRfYXZpX3Bh Y2tldCA9IGV2ZXJncmVlbl9zZXRfYXZpX3BhY2tldCwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcmFk ZW9uX2F1ZGlvX2Z1bmNzIGRjZTZfZHBfZnVuY3MgPSB7CkBAIC0yMDAsNiArMjAyLDcgQEAgc3Rh dGljIHN0cnVjdCByYWRlb25fYXVkaW9fZnVuY3MgZGNlNl9kcF9mdW5jcyA9IHsKIAkud3JpdGVf c3BlYWtlcl9hbGxvY2F0aW9uID0gZGNlNl9hZm10X2RwX3dyaXRlX3NwZWFrZXJfYWxsb2NhdGlv biwKIAkud3JpdGVfbGF0ZW5jeV9maWVsZHMgPSBkY2U2X2FmbXRfd3JpdGVfbGF0ZW5jeV9maWVs ZHMsCiAJLnNldF9kdG8gPSBkY2U2X2RwX2F1ZGlvX3NldF9kdG8sCisJLnNldF9hdmlfcGFja2V0 ID0gZXZlcmdyZWVuX3NldF9hdmlfcGFja2V0LAogfTsKIAogc3RhdGljIHZvaWQgcmFkZW9uX2F1 ZGlvX2ludGVyZmFjZV9pbml0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQpAQCAtNDY1LDE2 ICs0NjgsMzQgQEAgdm9pZCByYWRlb25fYXVkaW9fc2V0X2R0byhzdHJ1Y3QgZHJtX2VuY29kZXIg KmVuY29kZXIsIHVuc2lnbmVkIGludCBjbG9jaykKIAkJcmFkZW9uX2VuY29kZXItPmF1ZGlvLT5z ZXRfZHRvKHJkZXYsIGNydGMsIGNsb2NrKTsKIH0KIAotdm9pZCByYWRlb25fdXBkYXRlX2F2aV9p bmZvZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCB2b2lkICpidWZmZXIsCi0Jc2l6 ZV90IHNpemUpCitpbnQgcmFkZW9uX2F1ZGlvX3NldF9hdmlfcGFja2V0KHN0cnVjdCBkcm1fZW5j b2RlciAqZW5jb2RlciwKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKIHsKICAgICBz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiA9IGVuY29kZXItPmRldi0+ZGV2X3ByaXZhdGU7CiAJ c3RydWN0IHJhZGVvbl9lbmNvZGVyICpyYWRlb25fZW5jb2RlciA9IHRvX3JhZGVvbl9lbmNvZGVy KGVuY29kZXIpOwogCXN0cnVjdCByYWRlb25fZW5jb2Rlcl9hdG9tX2RpZyAqZGlnID0gcmFkZW9u X2VuY29kZXItPmVuY19wcml2OworCXU4IGJ1ZmZlcltIRE1JX0lORk9GUkFNRV9IRUFERVJfU0la RSArIEhETUlfQVZJX0lORk9GUkFNRV9TSVpFXTsKKwlzdHJ1Y3QgaGRtaV9hdmlfaW5mb2ZyYW1l IGZyYW1lOworCWludCBlcnI7CisKKwllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21f ZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSk7CisJaWYgKGVyciA8IDApIHsKKwkJRFJNX0VSUk9S KCJmYWlsZWQgdG8gc2V0dXAgQVZJIGluZm9mcmFtZTogJWRcbiIsIGVycik7CisJCXJldHVybiBl cnI7CisJfQorCisJZXJyID0gaGRtaV9hdmlfaW5mb2ZyYW1lX3BhY2soJmZyYW1lLCBidWZmZXIs IHNpemVvZihidWZmZXIpKTsKKwlpZiAoZXJyIDwgMCkgeworCQlEUk1fRVJST1IoImZhaWxlZCB0 byBwYWNrIEFWSSBpbmZvZnJhbWU6ICVkXG4iLCBlcnIpOworCQlyZXR1cm4gZXJyOworCX0KKwor CWlmIChkaWcgJiYgZGlnLT5hZm10ICYmCisJCXJhZGVvbl9lbmNvZGVyLT5hdWRpbyAmJiByYWRl b25fZW5jb2Rlci0+YXVkaW8tPnNldF9hdmlfcGFja2V0KQorCQlyYWRlb25fZW5jb2Rlci0+YXVk aW8tPnNldF9hdmlfcGFja2V0KHJkZXYsIGRpZy0+YWZtdC0+b2Zmc2V0LAorCQkJYnVmZmVyLCBz aXplb2YoYnVmZmVyKSk7CiAKLQlpZiAoZGlnICYmIGRpZy0+YWZtdCAmJiByZGV2LT5hdWRpby5m dW5jcy0+dXBkYXRlX2F2aV9pbmZvZnJhbWUpCi0JCXJkZXYtPmF1ZGlvLmZ1bmNzLT51cGRhdGVf YXZpX2luZm9mcmFtZShyZGV2LCBkaWctPmFmbXQtPm9mZnNldCwKLQkJCWJ1ZmZlciwgc2l6ZSk7 CisJcmV0dXJuIDA7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbl9hdWRpby5oIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uaApp bmRleCBmMTc5ZTU2Li40ODgwMzk2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbl9hdWRpby5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlv LmgKQEAgLTM5LDggKzM5LDYgQEAgc3RydWN0IHJhZGVvbl9hdWRpb19iYXNpY19mdW5jcwogCQl1 MzIgb2Zmc2V0LCB1MzIgcmVnLCB1MzIgdik7CiAJdm9pZCAoKmVuYWJsZSkoc3RydWN0IHJhZGVv bl9kZXZpY2UgKnJkZXYsCiAJCXN0cnVjdCByNjAwX2F1ZGlvX3BpbiAqcGluLCB1OCBlbmFibGVf bWFzayk7Ci0Jdm9pZCAoKnVwZGF0ZV9hdmlfaW5mb2ZyYW1lKShzdHJ1Y3QgcmFkZW9uX2Rldmlj ZSAqcmRldiwgdTMyIG9mZnNldCwKLQkJdW5zaWduZWQgY2hhciAqYnVmZmVyLCBzaXplX3Qgc2l6 ZSk7CiB9OwogCiBzdHJ1Y3QgcmFkZW9uX2F1ZGlvX2Z1bmNzCkBAIC01OSw2ICs1Nyw4IEBAIHN0 cnVjdCByYWRlb25fYXVkaW9fZnVuY3MKIAkJY29uc3Qgc3RydWN0IHJhZGVvbl9oZG1pX2FjciAq YWNyKTsKIAl2b2lkICgqc2V0X3ZiaV9wYWNrZXQpKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rl ciwgdTMyIG9mZnNldCk7CiAJdm9pZCAoKnNldF9jb2xvcl9kZXB0aCkoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyLCB1MzIgb2Zmc2V0LCBpbnQgYnBjKTsKKwl2b2lkICgqc2V0X2F2aV9wYWNr ZXQpKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCB1MzIgb2Zmc2V0LAorCQl1bnNpZ25lZCBj aGFyICpidWZmZXIsIHNpemVfdCBzaXplKTsKIH07CiAKIGludCByYWRlb25fYXVkaW9faW5pdChz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7CkBAIC03OCw4ICs3OCw4IEBAIHZvaWQgcmFkZW9u X2F1ZGlvX2VuYWJsZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKIAlzdHJ1Y3QgcjYwMF9h dWRpb19waW4gKnBpbiwgdTggZW5hYmxlX21hc2spOwogdm9pZCByYWRlb25fYXVkaW9fZmluaShz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7CiB2b2lkIHJhZGVvbl9hdWRpb19zZXRfZHRvKHN0 cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwgdW5zaWduZWQgaW50IGNsb2NrKTsKLXZvaWQgcmFk ZW9uX3VwZGF0ZV9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlciwgdm9p ZCAqYnVmZmVyLAotCXNpemVfdCBzaXplKTsKK2ludCByYWRlb25fYXVkaW9fc2V0X2F2aV9wYWNr ZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAorCXN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICptb2RlKTsKIHZvaWQgcmFkZW9uX2F1ZGlvX3VwZGF0ZV9hY3Ioc3RydWN0IGRybV9lbmNvZGVy ICplbmNvZGVyLCB1bnNpZ25lZCBpbnQgY2xvY2spOwogdm9pZCByYWRlb25fYXVkaW9fc2V0X3Zi aV9wYWNrZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKTsKIHZvaWQgcmFkZW9uX2hkbWlf c2V0X2NvbG9yX2RlcHRoKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlcik7Ci0tIAoxLjguMy4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=