From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MIME_BASE64_TEXT,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E5E4CC43603 for ; Wed, 4 Dec 2019 09:44:58 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id A72A42073C for ; Wed, 4 Dec 2019 09:44:58 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="twiGiZpN" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727558AbfLDJo5 (ORCPT ); Wed, 4 Dec 2019 04:44:57 -0500 Received: from mailgw02.mediatek.com ([210.61.82.184]:14125 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726679AbfLDJoy (ORCPT ); Wed, 4 Dec 2019 04:44:54 -0500 X-UUID: 6e62b980ad7e44ba8538028021cdc271-20191204 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=fnbc/IeVbFcpugPLfDfh55LQ8c78H4saUcZT17XFcDU=; b=twiGiZpNqoRysBp1oinMQPLI80ZsehqELpTrQXz3VL4jGDPOkfOO8YCpkLGQynky5t1Mvx9BVfcjWzuWMkl9/vpFFdow+KgiGQdTHLrsmB1FLSHctAtsWcEJSLPF037aQDmHiGCrkPXpWW07sELrqXgUXeEPEkpPkRp0JdirEbw=; X-UUID: 6e62b980ad7e44ba8538028021cdc271-20191204 Received: from mtkcas07.mediatek.inc [(172.21.101.84)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 327591445; Wed, 04 Dec 2019 17:44:47 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 4 Dec 2019 17:44:41 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Wed, 4 Dec 2019 17:44:19 +0800 From: Xia Jiang To: Hans Verkuil , Mauro Carvalho Chehab , Rob Herring , Matthias Brugger , Rick Chang CC: , , , , , Marek Szyprowski , Tomasz Figa , , Xia Jiang Subject: [PATCH v5 1/5] media: platform: Fix jpeg dec driver bug and improve code quality Date: Wed, 4 Dec 2019 17:44:21 +0800 Message-ID: <20191204094424.2562-2-xia.jiang@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20191204094424.2562-1-xia.jiang@mediatek.com> References: <20191204094424.2562-1-xia.jiang@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Rml4IHY0bDItY29tcGxpYW5jZSB0ZXN0IGJ1ZyBhbmQgaW1wcm92ZSBjb2RlIHF1YWxpdHkgb2Yg anBlZyBkZWNvZGUNCmRyaXZlciwgYmVjYXVzZSB0aGUganBlZyBlbmNvZGUgZHJpdmVyIHdpbGwg YmFzZSBvbiBpdC4NCg0KU2lnbmVkLW9mZi1ieTogWGlhIEppYW5nIDx4aWEuamlhbmdAbWVkaWF0 ZWsuY29tPg0KLS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICANCnY1OiBVc2UgY2xhbXAoKXRvIHJlcGxhY2UgbXRrX2pwZWdfYm91bmRfYWxpZ25faW1hZ2Uo KSBhbmQgcm91bmRfdXAoKQ0KICAgIHRvIHJlcGxhY2UgbXRrX2pwZWdfYWxpZ24oKS4NCiAgICBH ZXQgY29ycmVjdCBjb21wb3NlIHZhbHVlIGluIG10a19qcGVnX3NlbGVjdGlvbigpLg0KICAgIENh bmNlbCBzcGluIGxvY2sgYW5kIHVubG9jayBvcGVyYXRpb24gaW4gZGV2aWNlIHJ1biBmdW5jdGlv bi4NCiAgICBDaGFuZ2UgcmVnaXN0ZXIgb2Zmc2V0IGhleCBudW1iZXJhbHMgZnJvbSB1cGVyY2Fz ZSB0byBsb3dlcmNhc2UuDQoNCnY0OiBuZXcgYWRkIHBhdGNoIGZvciB2NGwyLWNvbXBsaWFuY2Ug dGVzdCBidWcgZml4DQotLS0NCiAuLi4vbWVkaWEvcGxhdGZvcm0vbXRrLWpwZWcvbXRrX2pwZWdf Y29yZS5jICAgfCA3NCArKysrKysrLS0tLS0tLS0tLS0tDQogLi4uL21lZGlhL3BsYXRmb3JtL210 ay1qcGVnL210a19qcGVnX2NvcmUuaCAgIHwgIDcgKy0NCiBkcml2ZXJzL21lZGlhL3BsYXRmb3Jt L210ay1qcGVnL210a19qcGVnX2h3LmMgfCAgNiArLQ0KIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0v bXRrLWpwZWcvbXRrX2pwZWdfaHcuaCB8ICA1IC0tDQogLi4uL21lZGlhL3BsYXRmb3JtL210ay1q cGVnL210a19qcGVnX3JlZy5oICAgIHwgMTkgKysrLS0NCiA1IGZpbGVzIGNoYW5nZWQsIDQyIGlu c2VydGlvbnMoKyksIDY5IGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRp YS9wbGF0Zm9ybS9tdGstanBlZy9tdGtfanBlZ19jb3JlLmMgYi9kcml2ZXJzL21lZGlhL3BsYXRm b3JtL210ay1qcGVnL210a19qcGVnX2NvcmUuYw0KaW5kZXggZWU4MDJmYzNiY2RmLi5kYTNkYWEw MmU5NGEgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1qcGVnL210a19q cGVnX2NvcmUuYw0KKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstanBlZy9tdGtfanBl Z19jb3JlLmMNCkBAIC0xNTcsMjUgKzE1Nyw2IEBAIHN0YXRpYyBzdHJ1Y3QgbXRrX2pwZWdfZm10 ICptdGtfanBlZ19maW5kX2Zvcm1hdChzdHJ1Y3QgbXRrX2pwZWdfY3R4ICpjdHgsDQogCXJldHVy biBOVUxMOw0KIH0NCiANCi1zdGF0aWMgdm9pZCBtdGtfanBlZ19ib3VuZF9hbGlnbl9pbWFnZSh1 MzIgKncsIHVuc2lnbmVkIGludCB3bWluLA0KLQkJCQkgICAgICAgdW5zaWduZWQgaW50IHdtYXgs IHVuc2lnbmVkIGludCB3YWxpZ24sDQotCQkJCSAgICAgICB1MzIgKmgsIHVuc2lnbmVkIGludCBo bWluLA0KLQkJCQkgICAgICAgdW5zaWduZWQgaW50IGhtYXgsIHVuc2lnbmVkIGludCBoYWxpZ24p DQotew0KLQlpbnQgd2lkdGgsIGhlaWdodCwgd19zdGVwLCBoX3N0ZXA7DQotDQotCXdpZHRoID0g Knc7DQotCWhlaWdodCA9ICpoOw0KLQl3X3N0ZXAgPSAxIDw8IHdhbGlnbjsNCi0JaF9zdGVwID0g MSA8PCBoYWxpZ247DQotDQotCXY0bF9ib3VuZF9hbGlnbl9pbWFnZSh3LCB3bWluLCB3bWF4LCB3 YWxpZ24sIGgsIGhtaW4sIGhtYXgsIGhhbGlnbiwgMCk7DQotCWlmICgqdyA8IHdpZHRoICYmICgq dyArIHdfc3RlcCkgPD0gd21heCkNCi0JCSp3ICs9IHdfc3RlcDsNCi0JaWYgKCpoIDwgaGVpZ2h0 ICYmICgqaCArIGhfc3RlcCkgPD0gaG1heCkNCi0JCSpoICs9IGhfc3RlcDsNCi19DQotDQogc3Rh dGljIHZvaWQgbXRrX2pwZWdfYWRqdXN0X2ZtdF9tcGxhbmUoc3RydWN0IG10a19qcGVnX2N0eCAq Y3R4LA0KIAkJCQkgICAgICAgc3RydWN0IHY0bDJfZm9ybWF0ICpmKQ0KIHsNCkBAIC0yMDksNyAr MTkwLDcgQEAgc3RhdGljIGludCBtdGtfanBlZ190cnlfZm10X21wbGFuZShzdHJ1Y3QgdjRsMl9m b3JtYXQgKmYsDQogDQogCWlmIChjdHgtPnN0YXRlICE9IE1US19KUEVHX0lOSVQpIHsNCiAJCW10 a19qcGVnX2FkanVzdF9mbXRfbXBsYW5lKGN0eCwgZik7DQotCQlnb3RvIGVuZDsNCisJCXJldHVy biAwOw0KIAl9DQogDQogCXBpeF9tcC0+bnVtX3BsYW5lcyA9IGZtdC0+Y29scGxhbmVzOw0KQEAg LTIxOCw0NSArMTk5LDM1IEBAIHN0YXRpYyBpbnQgbXRrX2pwZWdfdHJ5X2ZtdF9tcGxhbmUoc3Ry dWN0IHY0bDJfZm9ybWF0ICpmLA0KIAlpZiAocV90eXBlID09IE1US19KUEVHX0ZNVF9UWVBFX09V VFBVVCkgew0KIAkJc3RydWN0IHY0bDJfcGxhbmVfcGl4X2Zvcm1hdCAqcGZtdCA9ICZwaXhfbXAt PnBsYW5lX2ZtdFswXTsNCiANCi0JCW10a19qcGVnX2JvdW5kX2FsaWduX2ltYWdlKCZwaXhfbXAt PndpZHRoLCBNVEtfSlBFR19NSU5fV0lEVEgsDQotCQkJCQkgICBNVEtfSlBFR19NQVhfV0lEVEgs IDAsDQotCQkJCQkgICAmcGl4X21wLT5oZWlnaHQsIE1US19KUEVHX01JTl9IRUlHSFQsDQotCQkJ CQkgICBNVEtfSlBFR19NQVhfSEVJR0hULCAwKTsNCisJCXBpeF9tcC0+aGVpZ2h0ID0gY2xhbXAo cGl4X21wLT5oZWlnaHQsIE1US19KUEVHX01JTl9IRUlHSFQsDQorCQkJCSAgICAgICBNVEtfSlBF R19NQVhfSEVJR0hUKTsNCisJCXBpeF9tcC0+d2lkdGggPSBjbGFtcChwaXhfbXAtPndpZHRoLCBN VEtfSlBFR19NSU5fV0lEVEgsDQorCQkJCSAgICAgIE1US19KUEVHX01BWF9XSURUSCk7DQogDQog CQltZW1zZXQocGZtdC0+cmVzZXJ2ZWQsIDAsIHNpemVvZihwZm10LT5yZXNlcnZlZCkpOw0KIAkJ cGZtdC0+Ynl0ZXNwZXJsaW5lID0gMDsNCiAJCS8qIFNvdXJjZSBzaXplIG11c3QgYmUgYWxpZ25l ZCB0byAxMjggKi8NCi0JCXBmbXQtPnNpemVpbWFnZSA9IG10a19qcGVnX2FsaWduKHBmbXQtPnNp emVpbWFnZSwgMTI4KTsNCisJCXBmbXQtPnNpemVpbWFnZSA9IHJvdW5kX3VwKHBmbXQtPnNpemVp bWFnZSwgMTI4KTsNCiAJCWlmIChwZm10LT5zaXplaW1hZ2UgPT0gMCkNCiAJCQlwZm10LT5zaXpl aW1hZ2UgPSBNVEtfSlBFR19ERUZBVUxUX1NJWkVJTUFHRTsNCi0JCWdvdG8gZW5kOw0KKwkJcmV0 dXJuIDA7DQogCX0NCiANCiAJLyogdHlwZSBpcyBNVEtfSlBFR19GTVRfVFlQRV9DQVBUVVJFICov DQotCW10a19qcGVnX2JvdW5kX2FsaWduX2ltYWdlKCZwaXhfbXAtPndpZHRoLCBNVEtfSlBFR19N SU5fV0lEVEgsDQotCQkJCSAgIE1US19KUEVHX01BWF9XSURUSCwgZm10LT5oX2FsaWduLA0KLQkJ CQkgICAmcGl4X21wLT5oZWlnaHQsIE1US19KUEVHX01JTl9IRUlHSFQsDQotCQkJCSAgIE1US19K UEVHX01BWF9IRUlHSFQsIGZtdC0+dl9hbGlnbik7DQorCXBpeF9tcC0+aGVpZ2h0ID0gY2xhbXAo cm91bmRfdXAocGl4X21wLT5oZWlnaHQsIGZtdC0+dl9hbGlnbiksDQorCQkJICAgICAgIE1US19K UEVHX01JTl9IRUlHSFQsIE1US19KUEVHX01BWF9IRUlHSFQpOw0KKwlwaXhfbXAtPndpZHRoID0g Y2xhbXAocm91bmRfdXAocGl4X21wLT53aWR0aCwgZm10LT5oX2FsaWduKSwNCisJCQkgICAgICBN VEtfSlBFR19NSU5fV0lEVEgsIE1US19KUEVHX01BWF9XSURUSCk7DQogDQogCWZvciAoaSA9IDA7 IGkgPCBmbXQtPmNvbHBsYW5lczsgaSsrKSB7DQogCQlzdHJ1Y3QgdjRsMl9wbGFuZV9waXhfZm9y bWF0ICpwZm10ID0gJnBpeF9tcC0+cGxhbmVfZm10W2ldOw0KIAkJdTMyIHN0cmlkZSA9IHBpeF9t cC0+d2lkdGggKiBmbXQtPmhfc2FtcGxlW2ldIC8gNDsNCiAJCXUzMiBoID0gcGl4X21wLT5oZWln aHQgKiBmbXQtPnZfc2FtcGxlW2ldIC8gNDsNCiANCi0JCW1lbXNldChwZm10LT5yZXNlcnZlZCwg MCwgc2l6ZW9mKHBmbXQtPnJlc2VydmVkKSk7DQogCQlwZm10LT5ieXRlc3BlcmxpbmUgPSBzdHJp ZGU7DQogCQlwZm10LT5zaXplaW1hZ2UgPSBzdHJpZGUgKiBoOw0KIAl9DQotZW5kOg0KLQl2NGwy X2RiZygyLCBkZWJ1ZywgJmpwZWctPnY0bDJfZGV2LCAid3hoOiV1eCV1XG4iLA0KLQkJIHBpeF9t cC0+d2lkdGgsIHBpeF9tcC0+aGVpZ2h0KTsNCi0JZm9yIChpID0gMDsgaSA8IHBpeF9tcC0+bnVt X3BsYW5lczsgaSsrKSB7DQotCQl2NGwyX2RiZygyLCBkZWJ1ZywgJmpwZWctPnY0bDJfZGV2LA0K LQkJCSAicGxhbmVbJWRdIGJwbD0ldSwgc2l6ZT0ldVxuIiwNCi0JCQkgaSwNCi0JCQkgcGl4X21w LT5wbGFuZV9mbXRbaV0uYnl0ZXNwZXJsaW5lLA0KLQkJCSBwaXhfbXAtPnBsYW5lX2ZtdFtpXS5z aXplaW1hZ2UpOw0KLQl9DQorDQogCXJldHVybiAwOw0KIH0NCiANCkBAIC00NDYsOSArNDE3LDkg QEAgc3RhdGljIGludCBtdGtfanBlZ19zdWJzY3JpYmVfZXZlbnQoc3RydWN0IHY0bDJfZmggKmZo LA0KIAlzd2l0Y2ggKHN1Yi0+dHlwZSkgew0KIAljYXNlIFY0TDJfRVZFTlRfU09VUkNFX0NIQU5H RToNCiAJCXJldHVybiB2NGwyX3NyY19jaGFuZ2VfZXZlbnRfc3Vic2NyaWJlKGZoLCBzdWIpOw0K LQlkZWZhdWx0Og0KLQkJcmV0dXJuIC1FSU5WQUw7DQogCX0NCisNCisJcmV0dXJuIHY0bDJfY3Ry bF9zdWJzY3JpYmVfZXZlbnQoZmgsIHN1Yik7DQogfQ0KIA0KIHN0YXRpYyBpbnQgbXRrX2pwZWdf Z19zZWxlY3Rpb24oc3RydWN0IGZpbGUgKmZpbGUsIHZvaWQgKnByaXYsDQpAQCAtNDkyLDggKzQ2 Myw4IEBAIHN0YXRpYyBpbnQgbXRrX2pwZWdfc19zZWxlY3Rpb24oc3RydWN0IGZpbGUgKmZpbGUs IHZvaWQgKnByaXYsDQogCWNhc2UgVjRMMl9TRUxfVEdUX0NPTVBPU0U6DQogCQlzLT5yLmxlZnQg PSAwOw0KIAkJcy0+ci50b3AgPSAwOw0KLQkJcy0+ci53aWR0aCA9IGN0eC0+b3V0X3EudzsNCi0J CXMtPnIuaGVpZ2h0ID0gY3R4LT5vdXRfcS5oOw0KKwkJY3R4LT5vdXRfcS53ID0gcy0+ci53aWR0 aDsNCisJCWN0eC0+b3V0X3EuaCA9IHMtPnIuaGVpZ2h0Ow0KIAkJYnJlYWs7DQogCWRlZmF1bHQ6 DQogCQlyZXR1cm4gLUVJTlZBTDsNCkBAIC01NzEsNiArNTQyLDEzIEBAIHN0YXRpYyBpbnQgbXRr X2pwZWdfcXVldWVfc2V0dXAoc3RydWN0IHZiMl9xdWV1ZSAqcSwNCiAJaWYgKCFxX2RhdGEpDQog CQlyZXR1cm4gLUVJTlZBTDsNCiANCisJaWYgKCpudW1fcGxhbmVzKSB7DQorCQlmb3IgKGkgPSAw OyBpIDwgKm51bV9wbGFuZXM7IGkrKykNCisJCQlpZiAoc2l6ZXNbaV0gPCBxX2RhdGEtPnNpemVp bWFnZVtpXSkNCisJCQkJcmV0dXJuIC1FSU5WQUw7DQorCQlyZXR1cm4gMDsNCisJfQ0KKw0KIAkq bnVtX3BsYW5lcyA9IHFfZGF0YS0+Zm10LT5jb2xwbGFuZXM7DQogCWZvciAoaSA9IDA7IGkgPCBx X2RhdGEtPmZtdC0+Y29scGxhbmVzOyBpKyspIHsNCiAJCXNpemVzW2ldID0gcV9kYXRhLT5zaXpl aW1hZ2VbaV07DQpAQCAtNzY0LDggKzc0Miw4IEBAIHN0YXRpYyB2b2lkIG10a19qcGVnX3NldF9k ZWNfc3JjKHN0cnVjdCBtdGtfanBlZ19jdHggKmN0eCwNCiB7DQogCWJzLT5zdHJfYWRkciA9IHZi Ml9kbWFfY29udGlnX3BsYW5lX2RtYV9hZGRyKHNyY19idWYsIDApOw0KIAlicy0+ZW5kX2FkZHIg PSBicy0+c3RyX2FkZHIgKw0KLQkJCSBtdGtfanBlZ19hbGlnbih2YjJfZ2V0X3BsYW5lX3BheWxv YWQoc3JjX2J1ZiwgMCksIDE2KTsNCi0JYnMtPnNpemUgPSBtdGtfanBlZ19hbGlnbih2YjJfcGxh bmVfc2l6ZShzcmNfYnVmLCAwKSwgMTI4KTsNCisJCSAgICAgICByb3VuZF91cCh2YjJfZ2V0X3Bs YW5lX3BheWxvYWQoc3JjX2J1ZiwgMCksIDE2KTsNCisJYnMtPnNpemUgPSByb3VuZF91cCh2YjJf cGxhbmVfc2l6ZShzcmNfYnVmLCAwKSwgMTI4KTsNCiB9DQogDQogc3RhdGljIGludCBtdGtfanBl Z19zZXRfZGVjX2RzdChzdHJ1Y3QgbXRrX2pwZWdfY3R4ICpjdHgsDQpAQCAtODI5LDEzICs4MDcs MTEgQEAgc3RhdGljIHZvaWQgbXRrX2pwZWdfZGV2aWNlX3J1bih2b2lkICpwcml2KQ0KIAlpZiAo bXRrX2pwZWdfc2V0X2RlY19kc3QoY3R4LCAmanBlZ19zcmNfYnVmLT5kZWNfcGFyYW0sICZkc3Rf YnVmLT52YjJfYnVmLCAmZmIpKQ0KIAkJZ290byBkZWNfZW5kOw0KIA0KLQlzcGluX2xvY2tfaXJx c2F2ZSgmanBlZy0+aHdfbG9jaywgZmxhZ3MpOw0KIAltdGtfanBlZ19kZWNfcmVzZXQoanBlZy0+ ZGVjX3JlZ19iYXNlKTsNCiAJbXRrX2pwZWdfZGVjX3NldF9jb25maWcoanBlZy0+ZGVjX3JlZ19i YXNlLA0KIAkJCQkmanBlZ19zcmNfYnVmLT5kZWNfcGFyYW0sICZicywgJmZiKTsNCiANCiAJbXRr X2pwZWdfZGVjX3N0YXJ0KGpwZWctPmRlY19yZWdfYmFzZSk7DQotCXNwaW5fdW5sb2NrX2lycXJl c3RvcmUoJmpwZWctPmh3X2xvY2ssIGZsYWdzKTsNCiAJcmV0dXJuOw0KIA0KIGRlY19lbmQ6DQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstanBlZy9tdGtfanBlZ19jb3Jl LmggYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1qcGVnL210a19qcGVnX2NvcmUuaA0KaW5k ZXggOTk5YmQxNDI3ODA5Li5kMzJhNmZiYWEzMTEgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL21lZGlh L3BsYXRmb3JtL210ay1qcGVnL210a19qcGVnX2NvcmUuaA0KKysrIGIvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9tdGstanBlZy9tdGtfanBlZ19jb3JlLmgNCkBAIC0xNSw2ICsxNSw4IEBADQogDQog I2RlZmluZSBNVEtfSlBFR19OQU1FCQkibXRrLWpwZWciDQogDQorI2RlZmluZSBNVEtfSlBFR19D T01QX01BWAkJMw0KKw0KICNkZWZpbmUgTVRLX0pQRUdfRk1UX0ZMQUdfREVDX09VVFBVVAlCSVQo MCkNCiAjZGVmaW5lIE1US19KUEVHX0ZNVF9GTEFHX0RFQ19DQVBUVVJFCUJJVCgxKQ0KIA0KQEAg LTI4LDYgKzMwLDkgQEANCiANCiAjZGVmaW5lIE1US19KUEVHX0RFRkFVTFRfU0laRUlNQUdFCSgx ICogMTAyNCAqIDEwMjQpDQogDQorLyoqDQorICogZW51bSBtdGtfanBlZ19jdHhfc3RhdGUgLSBj b250ZXggc3RhdGUgb2YganBlZw0KKyAqLw0KIGVudW0gbXRrX2pwZWdfY3R4X3N0YXRlIHsNCiAJ TVRLX0pQRUdfSU5JVCA9IDAsDQogCU1US19KUEVHX1JVTk5JTkcsDQpAQCAtMTA3LDkgKzExMiw3 IEBAIHN0cnVjdCBtdGtfanBlZ19xX2RhdGEgew0KICAqIEBvdXRfcToJCXNvdXJjZSAob3V0cHV0 KSBxdWV1ZSBpbmZvcm1hdGlvbg0KICAqIEBjYXBfcToJCWRlc3RpbmF0aW9uIChjYXB0dXJlKSBx dWV1ZSBxdWV1ZSBpbmZvcm1hdGlvbg0KICAqIEBmaDoJCQlWNEwyIGZpbGUgaGFuZGxlDQotICog QGRlY19wYXJhbQkJcGFyYW1ldGVycyBmb3IgSFcgZGVjb2RpbmcNCiAgKiBAc3RhdGU6CQlzdGF0 ZSBvZiB0aGUgY29udGV4dA0KLSAqIEBoZWFkZXJfdmFsaWQ6CXNldCBpZiBoZWFkZXIgaGFzIGJl ZW4gcGFyc2VkIGFuZCB2YWxpZA0KICAqIEBjb2xvcnNwYWNlOiBlbnVtIHY0bDJfY29sb3JzcGFj ZTsgc3VwcGxlbWVudGFsIHRvIHBpeGVsZm9ybWF0DQogICogQHljYmNyX2VuYzogZW51bSB2NGwy X3ljYmNyX2VuY29kaW5nLCBZJ0NiQ3IgZW5jb2RpbmcNCiAgKiBAcXVhbnRpemF0aW9uOiBlbnVt IHY0bDJfcXVhbnRpemF0aW9uLCBjb2xvcnNwYWNlIHF1YW50aXphdGlvbg0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLWpwZWcvbXRrX2pwZWdfaHcuYyBiL2RyaXZlcnMv bWVkaWEvcGxhdGZvcm0vbXRrLWpwZWcvbXRrX2pwZWdfaHcuYw0KaW5kZXggZGRmMGRmYTc4ZTIw Li5lMmZjNjZmMzc3MGUgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1q cGVnL210a19qcGVnX2h3LmMNCisrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLWpwZWcv bXRrX2pwZWdfaHcuYw0KQEAgLTE1MywxMCArMTUzLDEwIEBAIHN0YXRpYyBpbnQgbXRrX2pwZWdf Y2FsY19kc3Rfc2l6ZShzdHJ1Y3QgbXRrX2pwZWdfZGVjX3BhcmFtICpwYXJhbSkNCiAJCQkJcGFy YW0tPnNhbXBsaW5nX3dbaV07DQogCQkvKiBvdXRwdXQgZm9ybWF0IGlzIDQyMC80MjIgKi8NCiAJ CXBhcmFtLT5jb21wX3dbaV0gPSBwYWRkaW5nX3cgPj4gYnJ6X3dbaV07DQotCQlwYXJhbS0+Y29t cF93W2ldID0gbXRrX2pwZWdfYWxpZ24ocGFyYW0tPmNvbXBfd1tpXSwNCisJCXBhcmFtLT5jb21w X3dbaV0gPSByb3VuZF91cChwYXJhbS0+Y29tcF93W2ldLA0KIAkJCQkJCSAgTVRLX0pQRUdfRENU U0laRSk7DQotCQlwYXJhbS0+aW1nX3N0cmlkZVtpXSA9IGkgPyBtdGtfanBlZ19hbGlnbihwYXJh bS0+Y29tcF93W2ldLCAxNikNCi0JCQkJCTogbXRrX2pwZWdfYWxpZ24ocGFyYW0tPmNvbXBfd1tp XSwgMzIpOw0KKwkJcGFyYW0tPmltZ19zdHJpZGVbaV0gPSBpID8gcm91bmRfdXAocGFyYW0tPmNv bXBfd1tpXSwgMTYpDQorCQkJCQk6IHJvdW5kX3VwKHBhcmFtLT5jb21wX3dbaV0sIDMyKTsNCiAJ CWRzX3Jvd19oW2ldID0gKE1US19KUEVHX0RDVFNJWkUgKiBwYXJhbS0+c2FtcGxpbmdfaFtpXSk7 DQogCX0NCiAJcGFyYW0tPmRlY193ID0gcGFyYW0tPmltZ19zdHJpZGVbMF07DQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstanBlZy9tdGtfanBlZ19ody5oIGIvZHJpdmVy cy9tZWRpYS9wbGF0Zm9ybS9tdGstanBlZy9tdGtfanBlZ19ody5oDQppbmRleCA5YzY1ODRlYWFk OTkuLjdiMDY4N2Y4ZjRiNiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRr LWpwZWcvbXRrX2pwZWdfaHcuaA0KKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstanBl Zy9tdGtfanBlZ19ody5oDQpAQCAtNTQsMTEgKzU0LDYgQEAgc3RydWN0IG10a19qcGVnX2RlY19w YXJhbSB7DQogCXU4IHV2X2Jyel93Ow0KIH07DQogDQotc3RhdGljIGlubGluZSB1MzIgbXRrX2pw ZWdfYWxpZ24odTMyIHZhbCwgdTMyIGFsaWduKQ0KLXsNCi0JcmV0dXJuICh2YWwgKyBhbGlnbiAt IDEpICYgfihhbGlnbiAtIDEpOw0KLX0NCi0NCiBzdHJ1Y3QgbXRrX2pwZWdfYnMgew0KIAlkbWFf YWRkcl90CXN0cl9hZGRyOw0KIAlkbWFfYWRkcl90CWVuZF9hZGRyOw0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLWpwZWcvbXRrX2pwZWdfcmVnLmggYi9kcml2ZXJzL21l ZGlhL3BsYXRmb3JtL210ay1qcGVnL210a19qcGVnX3JlZy5oDQppbmRleCA5NGRiMDRlOWNkYjYu LjIxZWM4Zjk2Nzk3ZiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLWpw ZWcvbXRrX2pwZWdfcmVnLmgNCisrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLWpwZWcv bXRrX2pwZWdfcmVnLmgNCkBAIC04LDcgKzgsNiBAQA0KICNpZm5kZWYgX01US19KUEVHX1JFR19I DQogI2RlZmluZSBfTVRLX0pQRUdfUkVHX0gNCiANCi0jZGVmaW5lIE1US19KUEVHX0NPTVBfTUFY CQkzDQogI2RlZmluZSBNVEtfSlBFR19CTE9DS19NQVgJCTEwDQogI2RlZmluZSBNVEtfSlBFR19E Q1RTSVpFCQk4DQogDQpAQCAtMjAsMjkgKzE5LDI5IEBADQogI2RlZmluZSBCSVRfSU5RU1RfTUFT S19BTExJUlEJCTB4MzcNCiANCiAjZGVmaW5lIEpQR0RFQ19SRUdfUkVTRVQJCTB4MDA5MA0KLSNk ZWZpbmUgSlBHREVDX1JFR19CUlpfRkFDVE9SCQkweDAwRjgNCi0jZGVmaW5lIEpQR0RFQ19SRUdf RFVfTlVNCQkweDAwRkMNCisjZGVmaW5lIEpQR0RFQ19SRUdfQlJaX0ZBQ1RPUgkJMHgwMGY4DQor I2RlZmluZSBKUEdERUNfUkVHX0RVX05VTQkJMHgwMGZjDQogI2RlZmluZSBKUEdERUNfUkVHX0RF U1RfQUREUjBfWQkJMHgwMTQwDQogI2RlZmluZSBKUEdERUNfUkVHX0RFU1RfQUREUjBfVQkJMHgw MTQ0DQogI2RlZmluZSBKUEdERUNfUkVHX0RFU1RfQUREUjBfVgkJMHgwMTQ4DQotI2RlZmluZSBK UEdERUNfUkVHX0RFU1RfQUREUjFfWQkJMHgwMTRDDQorI2RlZmluZSBKUEdERUNfUkVHX0RFU1Rf QUREUjFfWQkJMHgwMTRjDQogI2RlZmluZSBKUEdERUNfUkVHX0RFU1RfQUREUjFfVQkJMHgwMTUw DQogI2RlZmluZSBKUEdERUNfUkVHX0RFU1RfQUREUjFfVgkJMHgwMTU0DQogI2RlZmluZSBKUEdE RUNfUkVHX1NUUklERV9ZCQkweDAxNTgNCi0jZGVmaW5lIEpQR0RFQ19SRUdfU1RSSURFX1VWCQkw eDAxNUMNCisjZGVmaW5lIEpQR0RFQ19SRUdfU1RSSURFX1VWCQkweDAxNWMNCiAjZGVmaW5lIEpQ R0RFQ19SRUdfSU1HX1NUUklERV9ZCQkweDAxNjANCiAjZGVmaW5lIEpQR0RFQ19SRUdfSU1HX1NU UklERV9VVgkweDAxNjQNCi0jZGVmaW5lIEpQR0RFQ19SRUdfV0RNQV9DVFJMCQkweDAxNkMNCisj ZGVmaW5lIEpQR0RFQ19SRUdfV0RNQV9DVFJMCQkweDAxNmMNCiAjZGVmaW5lIEpQR0RFQ19SRUdf UEFVU0VfTUNVX05VTQkweDAxNzANCi0jZGVmaW5lIEpQR0RFQ19SRUdfT1BFUkFUSU9OX01PREUJ MHgwMTdDDQorI2RlZmluZSBKUEdERUNfUkVHX09QRVJBVElPTl9NT0RFCTB4MDE3Yw0KICNkZWZp bmUgSlBHREVDX1JFR19GSUxFX0FERFIJCTB4MDIwMA0KLSNkZWZpbmUgSlBHREVDX1JFR19DT01Q X0lECQkweDAyMEMNCisjZGVmaW5lIEpQR0RFQ19SRUdfQ09NUF9JRAkJMHgwMjBjDQogI2RlZmlu ZSBKUEdERUNfUkVHX1RPVEFMX01DVV9OVU0JMHgwMjEwDQogI2RlZmluZSBKUEdERUNfUkVHX0NP TVAwX0RBVEFfVU5JVF9OVU0JMHgwMjI0DQotI2RlZmluZSBKUEdERUNfUkVHX0RVX0NUUkwJCTB4 MDIzQw0KKyNkZWZpbmUgSlBHREVDX1JFR19EVV9DVFJMCQkweDAyM2MNCiAjZGVmaW5lIEpQR0RF Q19SRUdfVFJJRwkJCTB4MDI0MA0KICNkZWZpbmUgSlBHREVDX1JFR19GSUxFX0JSUAkJMHgwMjQ4 DQotI2RlZmluZSBKUEdERUNfUkVHX0ZJTEVfVE9UQUxfU0laRQkweDAyNEMNCisjZGVmaW5lIEpQ R0RFQ19SRUdfRklMRV9UT1RBTF9TSVpFCTB4MDI0Yw0KICNkZWZpbmUgSlBHREVDX1JFR19RVF9J RAkJMHgwMjcwDQogI2RlZmluZSBKUEdERUNfUkVHX0lOVEVSUlVQVF9TVEFUVVMJMHgwMjc0DQog I2RlZmluZSBKUEdERUNfUkVHX1NUQVRVUwkJMHgwMjc4DQotLSANCjIuMTguMA0K