Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp434055pxb; Mon, 25 Oct 2021 11:07:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzHXDhJYiVIIoTfVdcTihdmmT/Z3ntrvW+RY4z2RmfO/UdasUx/J5OA6vYkrWC76x+QrBtU X-Received: by 2002:a17:907:c18:: with SMTP id ga24mr3296874ejc.243.1635185221948; Mon, 25 Oct 2021 11:07:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635185221; cv=none; d=google.com; s=arc-20160816; b=qJIeB03BisKrX/nkqrOfwOpcfVj5IOQnLTYL26QuSZ0rHTh49A4Xm5OJ4VC+xPCbZJ ZLW9lkfkNAGqpZY/fJLk3kgxwMrc5PmYhaZU2yO12xAxi74t5QcHW4okvn9TbQEnkzbN nCKDh092Djx/42HvrcEoT8jMfG2e8OXkD0N3mYWOSjA5YnqIzKaYbktenHSe4tQEwvx0 XcVAQv0dcTdrzk51w+7uwDrFcFTBZ8j8Wkkfs7MyK+lmbXOoqR0zEzlmXfQyOKcbfL/f 2PIszcRWtRsScAjetyUZ46XN26kluOZogOX4EYp9UJf9poQhL4t7/qAECl0exJhNrDBi Hskw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=U480vXybgkx6L1mzbarsT6++qw25ikjo5mSkLRFQFH4=; b=srUZTM9g5YsVU7bDLAFEkQpnDDhwSsvS28skVY2WIJS6mgE4ZB+05bIGeP9ktHXzfj lJfsqp/fhXadbbML9CwP3RYRKPY88/+HXETKsXfEJP0bTJVx+SCCAjGKqbIWQgHfbpEm P7KW4P5V1emIYriPwcI2tbQos/nbgab/6tG1+GY32MiJPGvkh8fn1F82H9dbmsSgpq4s c3drbnoyHnLglWUOLlZYm1U9va2KiHHGDqf4439v06oZKS9mqTVTTc9YdsAfHTbV6Dgz B726p1Q66Lltf/ulzEE6P5ZSvc+iOgUhiYPugnnNA8uTj0f9oN/7geCCb7fT4xSsl/Ks GwiQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=ueSzTLVK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id hb43si32448372ejc.773.2021.10.25.11.06.35; Mon, 25 Oct 2021 11:07:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=ueSzTLVK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232986AbhJYK7W (ORCPT + 99 others); Mon, 25 Oct 2021 06:59:22 -0400 Received: from mailgw02.mediatek.com ([1.203.163.81]:51450 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S232524AbhJYK7T (ORCPT ); Mon, 25 Oct 2021 06:59:19 -0400 X-UUID: 99751796aade4fdabe1c5dd496464516-20211025 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=U480vXybgkx6L1mzbarsT6++qw25ikjo5mSkLRFQFH4=; b=ueSzTLVK/K9xvNDMLFJ0SNjX9WsgZeG0/kMSlZSm6DjAlDrV2ZYWJ5etC025mdUdKQYY4hTt7Y+cZhdv/RYWgR7HdTnNPwxT1tvRI6rrYk1LiZ7TQmCmBC4jwNg5uUwRxEGz3Crg0znAlIs9lD/4UW8j385h9JwggGNVV+efm+I=; X-UUID: 99751796aade4fdabe1c5dd496464516-20211025 Received: from mtkmbs10n1.mediatek.inc [(172.27.5.253)] by mailgw02.mediatek.com (envelope-from ) (mailgw01.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 1704538561; Mon, 25 Oct 2021 18:56:48 +0800 Received: from mtkexhb01.mediatek.inc (172.21.101.102) by mtkmbs10n2.mediatek.inc (172.21.101.183) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.792.3; Mon, 25 Oct 2021 18:56:49 +0800 Received: from mtkcas11.mediatek.inc (172.21.101.40) by mtkexhb01.mediatek.inc (172.21.101.102) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 25 Oct 2021 18:56:49 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas11.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Mon, 25 Oct 2021 18:56:48 +0800 From: YC Hung To: , , , CC: , , , , , , , , , Subject: [PATCH v3 1/2] ASoC: SOF: mediatek: Add mt8195 dsp clock support Date: Mon, 25 Oct 2021 18:56:34 +0800 Message-ID: <20211025105635.30625-2-yc.hung@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20211025105635.30625-1-yc.hung@mediatek.com> References: <20211025105635.30625-1-yc.hung@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org QWRkIGFkc3AgY2xvY2sgb24vb2ZmIHN1cHBvcnQgb24gbXQ4MTk1IHBsYXRmb3JtLg0KDQpTaWdu ZWQtb2ZmLWJ5OiBZQyBIdW5nIDx5Yy5odW5nQG1lZGlhdGVrLmNvbT4NCi0tLQ0KIHNvdW5kL3Nv Yy9zb2YvbWVkaWF0ZWsvYWRzcF9oZWxwZXIuaCAgICAgICB8ICAgMiArLQ0KIHNvdW5kL3NvYy9z b2YvbWVkaWF0ZWsvbXQ4MTk1L01ha2VmaWxlICAgICB8ICAgMiArLQ0KIHNvdW5kL3NvYy9zb2Yv bWVkaWF0ZWsvbXQ4MTk1L210ODE5NS1jbGsuYyB8IDE2MyArKysrKysrKysrKysrKysrKysrKysN CiBzb3VuZC9zb2Mvc29mL21lZGlhdGVrL210ODE5NS9tdDgxOTUtY2xrLmggfCAgMjggKysrKw0K IHNvdW5kL3NvYy9zb2YvbWVkaWF0ZWsvbXQ4MTk1L210ODE5NS5jICAgICB8ICAyMiArKy0NCiA1 IGZpbGVzIGNoYW5nZWQsIDIxMyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQ0KIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzb3VuZC9zb2Mvc29mL21lZGlhdGVrL210ODE5NS9tdDgxOTUtY2xrLmMN CiBjcmVhdGUgbW9kZSAxMDA2NDQgc291bmQvc29jL3NvZi9tZWRpYXRlay9tdDgxOTUvbXQ4MTk1 LWNsay5oDQoNCmRpZmYgLS1naXQgYS9zb3VuZC9zb2Mvc29mL21lZGlhdGVrL2Fkc3BfaGVscGVy LmggYi9zb3VuZC9zb2Mvc29mL21lZGlhdGVrL2Fkc3BfaGVscGVyLmgNCmluZGV4IDM0Njk1M2Rk MjJkYi4uNjczNGUyYzBjNmIxIDEwMDY0NA0KLS0tIGEvc291bmQvc29jL3NvZi9tZWRpYXRlay9h ZHNwX2hlbHBlci5oDQorKysgYi9zb3VuZC9zb2Mvc29mL21lZGlhdGVrL2Fkc3BfaGVscGVyLmgN CkBAIC0zOSw3ICszOSw3IEBAIHN0cnVjdCBhZHNwX3ByaXYgew0KIAlzdHJ1Y3QgbWJveF9jb250 cm9sbGVyICphZHNwX21ib3g7DQogDQogCXN0cnVjdCBtdGtfYWRzcF9jaGlwX2luZm8gKmFkc3A7 DQotDQorCXN0cnVjdCBjbGsgKipjbGs7DQogCXUzMiAoKmFwMmFkc3BfYWRkcikodTMyIGFkZHIs IHZvaWQgKmRhdGEpOw0KIAl1MzIgKCphZHNwMmFwX2FkZHIpKHUzMiBhZGRyLCB2b2lkICpkYXRh KTsNCiANCmRpZmYgLS1naXQgYS9zb3VuZC9zb2Mvc29mL21lZGlhdGVrL210ODE5NS9NYWtlZmls ZSBiL3NvdW5kL3NvYy9zb2YvbWVkaWF0ZWsvbXQ4MTk1L01ha2VmaWxlDQppbmRleCA2MGZjYTI0 YzA2OGEuLjY1MGY0YmNlOTliMiAxMDA2NDQNCi0tLSBhL3NvdW5kL3NvYy9zb2YvbWVkaWF0ZWsv bXQ4MTk1L01ha2VmaWxlDQorKysgYi9zb3VuZC9zb2Mvc29mL21lZGlhdGVrL210ODE5NS9NYWtl ZmlsZQ0KQEAgLTEsNCArMSw0IEBADQogIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogKEdQTC0y LjAtb25seSBPUiBCU0QtMy1DbGF1c2UpDQotc25kLXNvZi1tdDgxOTUtb2JqcyA6PSBtdDgxOTUu byBtdDgxOTUtbG9hZGVyLm8NCitzbmQtc29mLW10ODE5NS1vYmpzIDo9IG10ODE5NS5vIG10ODE5 NS1jbGsubyBtdDgxOTUtbG9hZGVyLm8NCiBvYmotJChDT05GSUdfU05EX1NPQ19TT0ZfTVQ4MTk1 KSArPSBzbmQtc29mLW10ODE5NS5vDQogDQpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3NvZi9tZWRp YXRlay9tdDgxOTUvbXQ4MTk1LWNsay5jIGIvc291bmQvc29jL3NvZi9tZWRpYXRlay9tdDgxOTUv bXQ4MTk1LWNsay5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwLi5i NGYzOTBkOWZhMTMNCi0tLSAvZGV2L251bGwNCisrKyBiL3NvdW5kL3NvYy9zb2YvbWVkaWF0ZWsv bXQ4MTk1L210ODE5NS1jbGsuYw0KQEAgLTAsMCArMSwxNjMgQEANCisvLyBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogKEdQTC0yLjAtb25seSBPUiBCU0QtMy1DbGF1c2UpDQorLy8NCisvLyBDb3B5 cmlnaHQoYykgMjAyMSBNZWRpYXRlayBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4N CisvLw0KKy8vIEF1dGhvcjogWUMgSHVuZyA8eWMuaHVuZ0BtZWRpYXRlay5jb20+DQorLy8NCisv LyBIYXJkd2FyZSBpbnRlcmZhY2UgZm9yIG10ODE5NSBEU1AgY2xvY2sNCisNCisjaW5jbHVkZSA8 bGludXgvY2xrLmg+DQorI2luY2x1ZGUgPGxpbnV4L3BtX3J1bnRpbWUuaD4NCisjaW5jbHVkZSA8 bGludXgvaW8uaD4NCisjaW5jbHVkZSAibXQ4MTk1LmgiDQorI2luY2x1ZGUgIm10ODE5NS1jbGsu aCINCisjaW5jbHVkZSAiLi4vYWRzcF9oZWxwZXIuaCINCisjaW5jbHVkZSAiLi4vLi4vc29mLWF1 ZGlvLmgiDQorDQorc3RhdGljIGNvbnN0IGNoYXIgKmFkc3BfY2xrc1tBRFNQX0NMS19NQVhdID0g ew0KKwlbQ0xLX1RPUF9BRFNQXSA9ICJhZHNwX3NlbCIsDQorCVtDTEtfVE9QX0NMSzI2TV0gPSAi Y2xrMjZtX2NrIiwNCisJW0NMS19UT1BfQVVESU9fTE9DQUxfQlVTXSA9ICJhdWRpb19sb2NhbF9i dXMiLA0KKwlbQ0xLX1RPUF9NQUlOUExMX0Q3X0QyXSA9ICJtYWlucGxsX2Q3X2QyIiwNCisJW0NM S19TQ1BfQURTUF9BVURJT0RTUF0gPSAic2NwX2Fkc3BfYXVkaW9kc3AiLA0KKwlbQ0xLX1RPUF9B VURJT19IXSA9ICJhdWRpb19oIiwNCit9Ow0KKw0KK2ludCBtdDgxOTVfYWRzcF9pbml0X2Nsb2Nr KHN0cnVjdCBzbmRfc29mX2RldiAqc2RldikNCit7DQorCXN0cnVjdCBkZXZpY2UgKmRldiA9IHNk ZXYtPmRldjsNCisJc3RydWN0IGFkc3BfcHJpdiAqcHJpdiA9IHNkZXYtPnBkYXRhLT5od19wZGF0 YTsNCisJaW50IGk7DQorDQorCXByaXYtPmNsayA9IGRldm1fa2NhbGxvYyhkZXYsIEFEU1BfQ0xL X01BWCwNCisJCQkJIHNpemVvZigqcHJpdi0+Y2xrKSwgR0ZQX0tFUk5FTCk7DQorDQorCWlmICgh cHJpdi0+Y2xrKQ0KKwkJcmV0dXJuIC1FTk9NRU07DQorDQorCWZvciAoaSA9IDA7IGkgPCBBRFNQ X0NMS19NQVg7IGkrKykgew0KKwkJcHJpdi0+Y2xrW2ldID0gZGV2bV9jbGtfZ2V0KGRldiwgYWRz cF9jbGtzW2ldKTsNCisJCWlmIChJU19FUlIocHJpdi0+Y2xrW2ldKSkgew0KKwkJCWRldl9lcnIo ZGV2LCAiJXMoKSwgZGV2bV9jbGtfZ2V0ICVzIGZhaWwsIHJldCAlbGRcbiIsDQorCQkJCV9fZnVu Y19fLCBhZHNwX2Nsa3NbaV0sDQorCQkJCVBUUl9FUlIocHJpdi0+Y2xrW2ldKSk7DQorCQkJcmV0 dXJuIFBUUl9FUlIocHJpdi0+Y2xrW2ldKTsNCisJCX0NCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9 DQorDQorc3RhdGljIGludCBhZHNwX2VuYWJsZV9jbG9jayhzdHJ1Y3Qgc25kX3NvZl9kZXYgKnNk ZXYpDQorew0KKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSBzZGV2LT5kZXY7DQorCXN0cnVjdCBhZHNw X3ByaXYgKnByaXYgPSBzZGV2LT5wZGF0YS0+aHdfcGRhdGE7DQorCWludCByZXQ7DQorDQorCXJl dCA9IGNsa19wcmVwYXJlX2VuYWJsZShwcml2LT5jbGtbQ0xLX1RPUF9NQUlOUExMX0Q3X0QyXSk7 DQorCWlmIChyZXQpIHsNCisJCWRldl9lcnIoZGV2LCAiJXMgY2xrX3ByZXBhcmVfZW5hYmxlKG1h aW5wbGxfZDdfZDIpIGZhaWwgJWRcbiIsDQorCQkJX19mdW5jX18sIHJldCk7DQorCQlyZXR1cm4g cmV0Ow0KKwl9DQorDQorCXJldCA9IGNsa19wcmVwYXJlX2VuYWJsZShwcml2LT5jbGtbQ0xLX1RP UF9BRFNQXSk7DQorCWlmIChyZXQpIHsNCisJCWRldl9lcnIoZGV2LCAiJXMgY2xrX3ByZXBhcmVf ZW5hYmxlKGFkc3Bfc2VsKSBmYWlsICVkXG4iLA0KKwkJCV9fZnVuY19fLCByZXQpOw0KKwkJZ290 byBkaXNhYmxlX21haW5wbGxfZDdfZDJfY2xrOw0KKwl9DQorDQorCXJldCA9IGNsa19wcmVwYXJl X2VuYWJsZShwcml2LT5jbGtbQ0xLX1RPUF9BVURJT19MT0NBTF9CVVNdKTsNCisJaWYgKHJldCkg ew0KKwkJZGV2X2VycihkZXYsICIlcyBjbGtfcHJlcGFyZV9lbmFibGUoYXVkaW9fbG9jYWxfYnVz KSBmYWlsICVkXG4iLA0KKwkJCV9fZnVuY19fLCByZXQpOw0KKwkJZ290byBkaXNhYmxlX2RzcF9z ZWxfY2xrOw0KKwl9DQorDQorCXJldCA9IGNsa19wcmVwYXJlX2VuYWJsZShwcml2LT5jbGtbQ0xL X1NDUF9BRFNQX0FVRElPRFNQXSk7DQorCWlmIChyZXQpIHsNCisJCWRldl9lcnIoZGV2LCAiJXMg Y2xrX3ByZXBhcmVfZW5hYmxlKHNjcF9hZHNwX2F1ZGlvZHNwKSBmYWlsICVkXG4iLA0KKwkJCV9f ZnVuY19fLCByZXQpOw0KKwkJZ290byBkaXNhYmxlX2F1ZGlvX2xvY2FsX2J1c19jbGs7DQorCX0N CisNCisJcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKHByaXYtPmNsa1tDTEtfVE9QX0FVRElPX0hd KTsNCisJaWYgKHJldCkgew0KKwkJZGV2X2VycihkZXYsICIlcyBjbGtfcHJlcGFyZV9lbmFibGUo YXVkaW9faCkgZmFpbCAlZFxuIiwNCisJCQlfX2Z1bmNfXywgcmV0KTsNCisJCWdvdG8gZGlzYWJs ZV9zY3BfYWRzcF9hdWRpb2RzcF9jbGs7DQorCX0NCisNCisJcmV0dXJuIDA7DQorDQorZGlzYWJs ZV9zY3BfYWRzcF9hdWRpb2RzcF9jbGs6DQorCWNsa19kaXNhYmxlX3VucHJlcGFyZShwcml2LT5j bGtbQ0xLX1NDUF9BRFNQX0FVRElPRFNQXSk7DQorZGlzYWJsZV9hdWRpb19sb2NhbF9idXNfY2xr Og0KKwljbGtfZGlzYWJsZV91bnByZXBhcmUocHJpdi0+Y2xrW0NMS19UT1BfQVVESU9fTE9DQUxf QlVTXSk7DQorZGlzYWJsZV9kc3Bfc2VsX2NsazoNCisJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKHBy aXYtPmNsa1tDTEtfVE9QX0FEU1BdKTsNCitkaXNhYmxlX21haW5wbGxfZDdfZDJfY2xrOg0KKwlj bGtfZGlzYWJsZV91bnByZXBhcmUocHJpdi0+Y2xrW0NMS19UT1BfTUFJTlBMTF9EN19EMl0pOw0K Kw0KKwlyZXR1cm4gcmV0Ow0KK30NCisNCitzdGF0aWMgdm9pZCBhZHNwX2Rpc2FibGVfY2xvY2so c3RydWN0IHNuZF9zb2ZfZGV2ICpzZGV2KQ0KK3sNCisJc3RydWN0IGFkc3BfcHJpdiAqcHJpdiA9 IHNkZXYtPnBkYXRhLT5od19wZGF0YTsNCisNCisJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKHByaXYt PmNsa1tDTEtfVE9QX0FVRElPX0hdKTsNCisJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKHByaXYtPmNs a1tDTEtfU0NQX0FEU1BfQVVESU9EU1BdKTsNCisJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKHByaXYt PmNsa1tDTEtfVE9QX0FVRElPX0xPQ0FMX0JVU10pOw0KKwljbGtfZGlzYWJsZV91bnByZXBhcmUo cHJpdi0+Y2xrW0NMS19UT1BfQURTUF0pOw0KKwljbGtfZGlzYWJsZV91bnByZXBhcmUocHJpdi0+ Y2xrW0NMS19UT1BfTUFJTlBMTF9EN19EMl0pOw0KK30NCisNCitzdGF0aWMgaW50IGFkc3BfZGVm YXVsdF9jbGtfaW5pdChzdHJ1Y3Qgc25kX3NvZl9kZXYgKnNkZXYsIGJvb2wgZW5hYmxlKQ0KK3sN CisJc3RydWN0IGRldmljZSAqZGV2ID0gc2Rldi0+ZGV2Ow0KKwlzdHJ1Y3QgYWRzcF9wcml2ICpw cml2ID0gc2Rldi0+cGRhdGEtPmh3X3BkYXRhOw0KKwlpbnQgcmV0ID0gMDsNCisNCisJZGV2X2Ri ZyhkZXYsICIlczogJXNcbiIsIF9fZnVuY19fLCBlbmFibGUgPyAib24iIDogIm9mZiIpOw0KKw0K KwlpZiAoZW5hYmxlKSB7DQorCQlyZXQgPSBjbGtfc2V0X3BhcmVudChwcml2LT5jbGtbQ0xLX1RP UF9BRFNQXSwNCisJCQkJICAgICBwcml2LT5jbGtbQ0xLX1RPUF9DTEsyNk1dKTsNCisJCWlmIChy ZXQpIHsNCisJCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBzZXQgZHNwX3NlbCB0byBjbGsyNm06 ICVkXG4iLCByZXQpOw0KKwkJCXJldHVybiByZXQ7DQorCQl9DQorDQorCQlyZXQgPSBjbGtfc2V0 X3BhcmVudChwcml2LT5jbGtbQ0xLX1RPUF9BVURJT19MT0NBTF9CVVNdLA0KKwkJCQkgICAgIHBy aXYtPmNsa1tDTEtfVE9QX01BSU5QTExfRDdfRDJdKTsNCisJCWlmIChyZXQpIHsNCisJCQlkZXZf ZXJyKGRldiwgInNldCBhdWRpb19sb2NhbF9idXMgZmFpbGVkICVkXG4iLCByZXQpOw0KKwkJCXJl dHVybiByZXQ7DQorCQl9DQorDQorCQlyZXQgPSBhZHNwX2VuYWJsZV9jbG9jayhzZGV2KTsNCisJ CWlmIChyZXQpIHsNCisJCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBhZHNwX2VuYWJsZV9jbG9j azogJWRcbiIsIHJldCk7DQorCQkJcmV0dXJuIHJldDsNCisJCX0NCisJfSBlbHNlIHsNCisJCWFk c3BfZGlzYWJsZV9jbG9jayhzZGV2KTsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQoraW50 IGFkc3BfY2xvY2tfb24oc3RydWN0IHNuZF9zb2ZfZGV2ICpzZGV2KQ0KK3sNCisJLyogT3BlbiBB RFNQIGNsb2NrICovDQorCXJldHVybiBhZHNwX2RlZmF1bHRfY2xrX2luaXQoc2RldiwgMSk7DQor fQ0KKw0KK2ludCBhZHNwX2Nsb2NrX29mZihzdHJ1Y3Qgc25kX3NvZl9kZXYgKnNkZXYpDQorew0K KwkvKiBDbG9zZSBBRFNQIGNsb2NrICovDQorCXJldHVybiBhZHNwX2RlZmF1bHRfY2xrX2luaXQo c2RldiwgMCk7DQorfQ0KKw0KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zb2YvbWVkaWF0ZWsvbXQ4 MTk1L210ODE5NS1jbGsuaCBiL3NvdW5kL3NvYy9zb2YvbWVkaWF0ZWsvbXQ4MTk1L210ODE5NS1j bGsuaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uOWNjMDU3M2Q1 Y2QyDQotLS0gL2Rldi9udWxsDQorKysgYi9zb3VuZC9zb2Mvc29mL21lZGlhdGVrL210ODE5NS9t dDgxOTUtY2xrLmgNCkBAIC0wLDAgKzEsMjggQEANCisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMCAqLw0KKw0KKy8qDQorICogQ29weXJpZ2h0IChjKSAyMDIxIE1lZGlhVGVrIENv cnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KKyAqDQorICogIEhlYWRlciBmaWxlIGZv ciB0aGUgbXQ4MTk1IERTUCBjbG9jayAgZGVmaW5pdGlvbg0KKyAqLw0KKw0KKyNpZm5kZWYgX19N VDgxOTVfQ0xLX0gNCisjZGVmaW5lIF9fTVQ4MTk1X0NMS19IDQorDQorc3RydWN0IHNuZF9zb2Zf ZGV2Ow0KKw0KKy8qRFNQIGNsb2NrKi8NCitlbnVtIGFkc3BfY2xrX2lkIHsNCisJQ0xLX1RPUF9B RFNQLA0KKwlDTEtfVE9QX0NMSzI2TSwNCisJQ0xLX1RPUF9BVURJT19MT0NBTF9CVVMsDQorCUNM S19UT1BfTUFJTlBMTF9EN19EMiwNCisJQ0xLX1NDUF9BRFNQX0FVRElPRFNQLA0KKwlDTEtfVE9Q X0FVRElPX0gsDQorCUFEU1BfQ0xLX01BWA0KK307DQorDQoraW50IG10ODE5NV9hZHNwX2luaXRf Y2xvY2soc3RydWN0IHNuZF9zb2ZfZGV2ICpzZGV2KTsNCitpbnQgYWRzcF9jbG9ja19vbihzdHJ1 Y3Qgc25kX3NvZl9kZXYgKnNkZXYpOw0KK2ludCBhZHNwX2Nsb2NrX29mZihzdHJ1Y3Qgc25kX3Nv Zl9kZXYgKnNkZXYpOw0KKyNlbmRpZg0KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zb2YvbWVkaWF0 ZWsvbXQ4MTk1L210ODE5NS5jIGIvc291bmQvc29jL3NvZi9tZWRpYXRlay9tdDgxOTUvbXQ4MTk1 LmMNCmluZGV4IDk5MDc1NTk4YTM1YS4uNWJmYWU5Mzc5YWM4IDEwMDY0NA0KLS0tIGEvc291bmQv c29jL3NvZi9tZWRpYXRlay9tdDgxOTUvbXQ4MTk1LmMNCisrKyBiL3NvdW5kL3NvYy9zb2YvbWVk aWF0ZWsvbXQ4MTk1L210ODE5NS5jDQpAQCAtMjUsNiArMjUsNyBAQA0KICNpbmNsdWRlICIuLi9h ZHNwX2hlbHBlci5oIg0KICNpbmNsdWRlICIuLi9tZWRpYXRlay1vcHMuaCINCiAjaW5jbHVkZSAi bXQ4MTk1LmgiDQorI2luY2x1ZGUgIm10ODE5NS1jbGsuaCINCiANCiBzdGF0aWMgaW50IHBsYXRm b3JtX3BhcnNlX3Jlc291cmNlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIHZvaWQgKmRh dGEpDQogew0KQEAgLTIzMSwxMCArMjMyLDIyIEBAIHN0YXRpYyBpbnQgbXQ4MTk1X2RzcF9wcm9i ZShzdHJ1Y3Qgc25kX3NvZl9kZXYgKnNkZXYpDQogCWlmIChyZXQpDQogCQlyZXR1cm4gcmV0Ow0K IA0KKwlyZXQgPSBtdDgxOTVfYWRzcF9pbml0X2Nsb2NrKHNkZXYpOw0KKwlpZiAocmV0KSB7DQor CQlkZXZfZXJyKHNkZXYtPmRldiwgIm10ODE5NV9hZHNwX2luaXRfY2xvY2sgZmFpbGVkXG4iKTsN CisJCXJldHVybiAtRUlOVkFMOw0KKwl9DQorDQorCXJldCA9IGFkc3BfY2xvY2tfb24oc2Rldik7 DQorCWlmIChyZXQpIHsNCisJCWRldl9lcnIoc2Rldi0+ZGV2LCAiYWRzcF9jbG9ja19vbiBmYWls IVxuIik7DQorCQlyZXR1cm4gLUVJTlZBTDsNCisJfQ0KKw0KIAlyZXQgPSBhZHNwX3NyYW1fcG93 ZXJfb24oc2Rldi0+ZGV2LCB0cnVlKTsNCiAJaWYgKHJldCkgew0KIAkJZGV2X2VycihzZGV2LT5k ZXYsICJhZHNwX3NyYW1fcG93ZXJfb24gZmFpbCFcbiIpOw0KLQkJcmV0dXJuIHJldDsNCisJCWdv dG8gZXhpdF9jbGtfZGlzYWJsZTsNCiAJfQ0KIA0KIAlyZXQgPSBhZHNwX21lbW9yeV9yZW1hcF9p bml0KCZwZGV2LT5kZXYsIHByaXYtPmFkc3ApOw0KQEAgLTI4Miw2ICsyOTUsOCBAQCBzdGF0aWMg aW50IG10ODE5NV9kc3BfcHJvYmUoc3RydWN0IHNuZF9zb2ZfZGV2ICpzZGV2KQ0KIA0KIGVycl9h ZHNwX3NyYW1fcG93ZXJfb2ZmOg0KIAlhZHNwX3NyYW1fcG93ZXJfb24oJnBkZXYtPmRldiwgZmFs c2UpOw0KK2V4aXRfY2xrX2Rpc2FibGU6DQorCWFkc3BfY2xvY2tfb2ZmKHNkZXYpOw0KIA0KIAly ZXR1cm4gcmV0Ow0KIH0NCkBAIC0yOTAsNyArMzA1LDEwIEBAIHN0YXRpYyBpbnQgbXQ4MTk1X2Rz cF9yZW1vdmUoc3RydWN0IHNuZF9zb2ZfZGV2ICpzZGV2KQ0KIHsNCiAJc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldiA9IGNvbnRhaW5lcl9vZihzZGV2LT5kZXYsIHN0cnVjdCBwbGF0Zm9ybV9k ZXZpY2UsIGRldik7DQogDQotCXJldHVybiBhZHNwX3NyYW1fcG93ZXJfb24oJnBkZXYtPmRldiwg ZmFsc2UpOw0KKwlhZHNwX3NyYW1fcG93ZXJfb24oJnBkZXYtPmRldiwgZmFsc2UpOw0KKwlhZHNw X2Nsb2NrX29mZihzZGV2KTsNCisNCisJcmV0dXJuIDA7DQogfQ0KIA0KIC8qIG9uIG10ODE5NSB0 aGVyZSBpcyAxIHRvIDEgbWF0Y2ggYmV0d2VlbiB0eXBlIGFuZCBCQVIgaWR4ICovDQotLSANCjIu MTguMA0K