Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp1009454pxk; Fri, 25 Sep 2020 03:58:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw/hnLRKIUkkG8uIWArcLD8gBz4PSAfsmGDM+kwlzMVlT6rlVhM7rvUVfyJux17/DLGRm4K X-Received: by 2002:a17:906:60d3:: with SMTP id f19mr2192773ejk.141.1601031497107; Fri, 25 Sep 2020 03:58:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601031497; cv=none; d=google.com; s=arc-20160816; b=dGDRQXfEihjWFzFgPxNlTL8S/C97kZVWXVRj+Bdauolm72wHp58jA8emYkpvN5FY07 OLTl/HvhkFz7swaScIn1wQMbXTVhB9PeLOthqx9SZSHeZgIN16ykHK4n0bPnGGz++9xK gUxsGW53/VJlQLB+egopnHyt6y1Urt85dqDD2cYwKdI+XMbyqtMNKzIrkgK264LYNOP8 KDb1OKDHKE05Ro1unUN8KZ0mLv0tXrDDausrbVEcQICbPk2nUF3SupTTgU190x8mSCh6 ksW7rDfpgkL9s9fZAIpbFGyFfLJoegkKLRPTRAEtGVif08h0MG8SrTbqA463MWhFj103 rt6A== 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:date:cc:to:from:subject:message-id :dkim-signature; bh=QSsY9bGW8QogtB8BuZJoi6P8Bw0CZxSbHu+WA8g8Uzo=; b=gXZKenK5C3GUp0HZKv1CCTg4JzPKUi6oeYRw1j/RxxcIWhNBwhqyiXC9v4t6pGD3hN K6iYlYMxo+igdnddDUxNwdg/XFqNuGz+eUNKy1MOMHgT1EiDnoIHLjD+i9l8DcVH8F8X lRYxqEFPI1/MrgqSVov9EdLvlzMqBVpXkgxNRO3pbiSLikOiXJHTOPgJNoZ3mQLXKJx0 qI2P3fZjIPFvl6WNmI96zQQeE7zt9K7wo9h0QjGJHbT78Fq/oGnKfHdgZg1/euEi3UzM ngcechMXFldbLV0Zhzr29CNJI++D/EV0nyAuM9OW4nxifgZQC5Ac0eZHjlzUdszIoXJf cnWg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=TWoLkNjQ; 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 x20si1533878edv.348.2020.09.25.03.57.53; Fri, 25 Sep 2020 03:58:17 -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=TWoLkNjQ; 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 S1728085AbgIYK4C (ORCPT + 99 others); Fri, 25 Sep 2020 06:56:02 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:57363 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726255AbgIYK4C (ORCPT ); Fri, 25 Sep 2020 06:56:02 -0400 X-UUID: 4845c4a290464180a08aaa0720a79215-20200925 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=QSsY9bGW8QogtB8BuZJoi6P8Bw0CZxSbHu+WA8g8Uzo=; b=TWoLkNjQMHlV/2mvM+1ozpjNM0gv4MJw+MHWCreeILUfB5/wRevpCOiqLU9A8fkOXarDpLqWq+5g2uGq1WvHejxNpVrCzDXo13PckiUB92xvlmEXnuHUA6mEKF7g73ZUfy3c9wlXAA2at2BIvzsHcvtAcHxZVhEG1MhgkPp5H/k=; X-UUID: 4845c4a290464180a08aaa0720a79215-20200925 Received: from mtkcas10.mediatek.inc [(172.21.101.39)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.14 Build 0819 with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 505310534; Fri, 25 Sep 2020 18:55:55 +0800 Received: from MTKCAS06.mediatek.inc (172.21.101.30) by mtkmbs01n1.mediatek.inc (172.21.101.68) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 25 Sep 2020 18:55:53 +0800 Received: from [172.21.77.4] (172.21.77.4) by MTKCAS06.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 25 Sep 2020 18:55:52 +0800 Message-ID: <1601031353.1346.71.camel@mtksdaap41> Subject: Re: [PATCH 08/12] soc: mediatek: pm-domains: Add subsystem clocks From: Weiyi Lu To: Enric Balletbo i Serra CC: , Collabora Kernel ML , , , , , Matthias Brugger , , Date: Fri, 25 Sep 2020 18:55:53 +0800 In-Reply-To: <20200910172826.3074357-9-enric.balletbo@collabora.com> References: <20200910172826.3074357-1-enric.balletbo@collabora.com> <20200910172826.3074357-9-enric.balletbo@collabora.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-MTK: N Content-Transfer-Encoding: base64 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gVGh1LCAyMDIwLTA5LTEwIGF0IDE5OjI4ICswMjAwLCBFbnJpYyBCYWxsZXRibyBpIFNlcnJh IHdyb3RlOg0KPiBGcm9tOiBNYXR0aGlhcyBCcnVnZ2VyIDxtYnJ1Z2dlckBzdXNlLmNvbT4NCj4g DQo+IEZvciB0aGUgYnVzIHByb3RlY3Rpb24gb3BlcmF0aW9ucywgc29tZSBzdWJzeXN0ZW0gY2xv Y2tzIG5lZWQgdG8gYmUgZW5hYmxlZA0KPiBiZWZvcmUgcmVsZWFzaW5nIHRoZSBwcm90ZWN0aW9u LiBUaGlzIHBhdGNoIGlkZW50aWZpZXMgdGhlIHN1YnN5c3RlbSBjbG9ja3MNCj4gYnkgaXQncyBu YW1lLg0KPiANCj4gU3VnZ2VzdGVkLWJ5OiBXZWl5aSBMdSA8d2VpeWkubHVAbWVkaWF0ZWsuY29t Pg0KPiBbQWRhcHRlZCB0aGUgcGF0Y2ggdG8gdGhlIG10ay1wbS1kb21haW5zIGRyaXZlcl0NCj4g U2lnbmVkLW9mZi1ieTogTWF0dGhpYXMgQnJ1Z2dlciA8bWJydWdnZXJAc3VzZS5jb20+DQo+IFNp Z25lZC1vZmYtYnk6IEVucmljIEJhbGxldGJvIGkgU2VycmEgPGVucmljLmJhbGxldGJvQGNvbGxh Ym9yYS5jb20+DQo+IC0tLQ0KPiANCj4gIGRyaXZlcnMvc29jL21lZGlhdGVrL210ay1wbS1kb21h aW5zLmMgfCA4MiArKysrKysrKysrKysrKysrKysrKysrKy0tLS0NCj4gIDEgZmlsZSBjaGFuZ2Vk LCA3MCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL3NvYy9tZWRpYXRlay9tdGstcG0tZG9tYWlucy5jIGIvZHJpdmVycy9zb2MvbWVkaWF0 ZWsvbXRrLXBtLWRvbWFpbnMuYw0KPiBpbmRleCAwODAyZWNjYzNhMGIuLjUyYTkzYTg3ZTMxMyAx MDA2NDQNCj4gLS0tIGEvZHJpdmVycy9zb2MvbWVkaWF0ZWsvbXRrLXBtLWRvbWFpbnMuYw0KPiAr KysgYi9kcml2ZXJzL3NvYy9tZWRpYXRlay9tdGstcG0tZG9tYWlucy5jDQo+IEBAIC0zLDYgKzMs NyBAQA0KPiAgICogQ29weXJpZ2h0IChjKSAyMDIwIENvbGxhYm9yYSBMdGQuDQo+ICAgKi8NCj4g ICNpbmNsdWRlIDxsaW51eC9jbGsuaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9jbGstcHJvdmlkZXIu aD4NCj4gICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+DQo+ICAjaW5jbHVkZSA8bGludXgvaW8uaD4N Cj4gICNpbmNsdWRlIDxsaW51eC9pb3BvbGwuaD4NCj4gQEAgLTgxLDYgKzgyLDggQEAgc3RydWN0 IHNjcHN5c19idXNfcHJvdF9kYXRhIHsNCj4gIAlib29sIGJ1c19wcm90X3JlZ191cGRhdGU7DQo+ ICB9Ow0KPiAgDQo+ICsjZGVmaW5lIE1BWF9TVUJTWVNfQ0xLUyAxMA0KPiArDQo+ICAvKioNCj4g ICAqIHN0cnVjdCBzY3BzeXNfZG9tYWluX2RhdGEgLSBzY3AgZG9tYWluIGRhdGEgZm9yIHBvd2Vy IG9uL29mZiBmbG93DQo+ICAgKiBAc3RhX21hc2s6IFRoZSBtYXNrIGZvciBwb3dlciBvbi9vZmYg c3RhdHVzIGJpdC4NCj4gQEAgLTEwNyw2ICsxMTAsOCBAQCBzdHJ1Y3Qgc2Nwc3lzX2RvbWFpbiB7 DQo+ICAJc3RydWN0IHNjcHN5cyAqc2Nwc3lzOw0KPiAgCWludCBudW1fY2xrczsNCj4gIAlzdHJ1 Y3QgY2xrX2J1bGtfZGF0YSAqY2xrczsNCj4gKwlpbnQgbnVtX3N1YnN5c19jbGtzOw0KPiArCXN0 cnVjdCBjbGtfYnVsa19kYXRhICpzdWJzeXNfY2xrczsNCj4gIAlzdHJ1Y3QgcmVnbWFwICppbmZy YWNmZzsNCj4gIAlzdHJ1Y3QgcmVnbWFwICpzbWk7DQo+ICB9Ow0KPiBAQCAtMzA5LDE2ICszMTQs MjIgQEAgc3RhdGljIGludCBzY3BzeXNfcG93ZXJfb24oc3RydWN0IGdlbmVyaWNfcG1fZG9tYWlu ICpnZW5wZCkNCj4gIAl2YWwgfD0gUFdSX1JTVF9CX0JJVDsNCj4gIAl3cml0ZWwodmFsLCBjdGxf YWRkcik7DQo+ICANCj4gKwlyZXQgPSBjbGtfYnVsa19lbmFibGUocGQtPm51bV9zdWJzeXNfY2xr cywgcGQtPnN1YnN5c19jbGtzKTsNCj4gKwlpZiAocmV0KQ0KPiArCQlnb3RvIGVycl9wd3JfYWNr Ow0KPiArDQo+ICAJcmV0ID0gc2Nwc3lzX3NyYW1fZW5hYmxlKHBkLCBjdGxfYWRkcik7DQo+ICAJ aWYgKHJldCA8IDApDQo+IC0JCWdvdG8gZXJyX3B3cl9hY2s7DQo+ICsJCWdvdG8gZXJyX3NyYW07 DQo+ICANCj4gIAlyZXQgPSBzY3BzeXNfYnVzX3Byb3RlY3RfZGlzYWJsZShwZCk7DQo+ICAJaWYg KHJldCA8IDApDQo+IC0JCWdvdG8gZXJyX3B3cl9hY2s7DQo+ICsJCWdvdG8gZXJyX3NyYW07DQo+ ICANCj4gIAlyZXR1cm4gMDsNCj4gIA0KPiArZXJyX3NyYW06DQo+ICsJY2xrX2J1bGtfZGlzYWJs ZShwZC0+bnVtX3N1YnN5c19jbGtzLCBwZC0+c3Vic3lzX2Nsa3MpOw0KPiAgZXJyX3B3cl9hY2s6 DQo+ICAJY2xrX2J1bGtfZGlzYWJsZShwZC0+bnVtX2Nsa3MsIHBkLT5jbGtzKTsNCj4gIAlkZXZf ZXJyKHNjcHN5cy0+ZGV2LCAiRmFpbGVkIHRvIHBvd2VyIG9uIGRvbWFpbiAlc1xuIiwgZ2VucGQt Pm5hbWUpOw0KPiBAQCAtMzQyLDYgKzM1Myw4IEBAIHN0YXRpYyBpbnQgc2Nwc3lzX3Bvd2VyX29m ZihzdHJ1Y3QgZ2VuZXJpY19wbV9kb21haW4gKmdlbnBkKQ0KPiAgCWlmIChyZXQgPCAwKQ0KPiAg CQlyZXR1cm4gcmV0Ow0KPiAgDQo+ICsJY2xrX2J1bGtfZGlzYWJsZShwZC0+bnVtX3N1YnN5c19j bGtzLCBwZC0+c3Vic3lzX2Nsa3MpOw0KPiArDQo+ICAJLyogc3Vic3lzIHBvd2VyIG9mZiAqLw0K PiAgCXZhbCA9IHJlYWRsKGN0bF9hZGRyKTsNCj4gIAl2YWwgfD0gUFdSX0lTT19CSVQ7DQo+IEBA IC0zNzQsOCArMzg3LDExIEBAIHN0YXRpYyBpbnQgc2Nwc3lzX2FkZF9vbmVfZG9tYWluKHN0cnVj dCBzY3BzeXMgKnNjcHN5cywgc3RydWN0IGRldmljZV9ub2RlICpub2RlDQo+ICB7DQo+ICAJY29u c3Qgc3RydWN0IHNjcHN5c19kb21haW5fZGF0YSAqZG9tYWluX2RhdGE7DQo+ICAJc3RydWN0IHNj cHN5c19kb21haW4gKnBkOw0KPiAtCWludCBpLCByZXQ7DQo+ICsJaW50IGksIHJldCwgbnVtX2Ns a3M7DQo+ICAJdTMyIGlkOw0KPiArCWludCBjbGtfaW5kID0gMDsNCj4gKwlzdHJ1Y3QgcHJvcGVy dHkgKnByb3A7DQo+ICsJY29uc3QgY2hhciAqY2xrX25hbWU7DQo+ICANCj4gIAlyZXQgPSBvZl9w cm9wZXJ0eV9yZWFkX3UzMihub2RlLCAicmVnIiwgJmlkKTsNCj4gIAlpZiAocmV0KSB7DQo+IEBA IC00MTAsMjggKzQyNiw2MCBAQCBzdGF0aWMgaW50IHNjcHN5c19hZGRfb25lX2RvbWFpbihzdHJ1 Y3Qgc2Nwc3lzICpzY3BzeXMsIHN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZQ0KPiAgCWlmIChJU19F UlIocGQtPnNtaSkpDQo+ICAJCXBkLT5zbWkgPSBOVUxMOw0KPiAgDQo+IC0JcGQtPm51bV9jbGtz ID0gb2ZfY2xrX2dldF9wYXJlbnRfY291bnQobm9kZSk7DQo+IC0JaWYgKHBkLT5udW1fY2xrcyA+ IDApIHsNCj4gKwludW1fY2xrcyA9IG9mX2Nsa19nZXRfcGFyZW50X2NvdW50KG5vZGUpOw0KPiAr CWlmIChudW1fY2xrcyA+IDApIHsNCj4gKwkJLyogQ2FsY3VsYXRlIG51bWJlciBvZiBzdWJzeXNf Y2xrcyAqLw0KPiArCQlvZl9wcm9wZXJ0eV9mb3JfZWFjaF9zdHJpbmcobm9kZSwgImNsb2NrLW5h bWVzIiwgcHJvcCwgY2xrX25hbWUpIHsNCj4gKwkJCWNoYXIgKnN1YnN5czsNCj4gKw0KPiArCQkJ c3Vic3lzID0gc3RyY2hyKGNsa19uYW1lLCAnLScpOw0KPiArCQkJaWYgKHN1YnN5cykNCj4gKwkJ CQlwZC0+bnVtX3N1YnN5c19jbGtzKys7DQo+ICsJCQllbHNlDQo+ICsJCQkJcGQtPm51bV9jbGtz Kys7DQo+ICsJCX0NCj4gKw0KDQpJbiBmYWN0LCBJIGRvbid0IGxpa2UgdGhlIGNsb2NrIG5hbWlu ZyBydWxlcywgYXMgTWF0dGhpYXMgbWVudGlvbmVkDQpiZWZvcmUuIFNvIGluIG15IHdvcmsgdjE3 WzFdDQpJIHB1dCBzdWJzeXN0ZW0gY2xvY2tzIHVuZGVyIGVhY2ggcG93ZXIgZG9tYWluIHN1Yi1u b2RlIHdpdGhvdXQgZ2l2aW5nDQp0aGUgY2xvY2sgbmFtZSBidXQgcHV0IHRoZSBiYXNpYyBjbG9j a3MgdW5kZXIgdGhlIHBvd2VyIGNvbnRyb2xsZXIgbm9kZS4NCg0KWzFdIGh0dHBzOi8vcGF0Y2h3 b3JrLmtlcm5lbC5vcmcvcGF0Y2gvMTE3MDMxOTEvDQoNCg0KPiAgCQlwZC0+Y2xrcyA9IGRldm1f a2NhbGxvYyhzY3BzeXMtPmRldiwgcGQtPm51bV9jbGtzLCBzaXplb2YoKnBkLT5jbGtzKSwgR0ZQ X0tFUk5FTCk7DQo+ICAJCWlmICghcGQtPmNsa3MpDQo+ICAJCQlyZXR1cm4gLUVOT01FTTsNCj4g LQl9IGVsc2Ugew0KPiAtCQlwZC0+bnVtX2Nsa3MgPSAwOw0KPiArDQo+ICsJCXBkLT5zdWJzeXNf Y2xrcyA9IGRldm1fa2NhbGxvYyhzY3BzeXMtPmRldiwgcGQtPm51bV9zdWJzeXNfY2xrcywNCj4g KwkJCQkJICAgICAgIHNpemVvZigqcGQtPnN1YnN5c19jbGtzKSwgR0ZQX0tFUk5FTCk7DQo+ICsJ CWlmICghcGQtPnN1YnN5c19jbGtzKQ0KPiArCQkJcmV0dXJuIC1FTk9NRU07DQo+ICAJfQ0KPiAg DQo+ICAJZm9yIChpID0gMDsgaSA8IHBkLT5udW1fY2xrczsgaSsrKSB7DQo+IC0JCXBkLT5jbGtz W2ldLmNsayA9IG9mX2Nsa19nZXQobm9kZSwgaSk7DQo+IC0JCWlmIChJU19FUlIocGQtPmNsa3Nb aV0uY2xrKSkgew0KPiAtCQkJcmV0ID0gUFRSX0VSUihwZC0+Y2xrc1tpXS5jbGspOw0KPiArCQlz dHJ1Y3QgY2xrICpjbGsgPSBvZl9jbGtfZ2V0KG5vZGUsIGkpOw0KPiArCQlpZiAoSVNfRVJSKGNs aykpIHsNCj4gKwkJCXJldCA9IFBUUl9FUlIoY2xrKTsNCj4gIAkJCWRldl9lcnIoc2Nwc3lzLT5k ZXYsICIlcE9GbjogZmFpbGVkIHRvIGdldCBjbGsgYXQgaW5kZXggJWQ6ICVkXG4iLCBub2RlLCBp LA0KPiAgCQkJCXJldCk7DQo+IC0JCQlyZXR1cm4gcmV0Ow0KPiArCQkJZ290byBlcnJfcHV0X2Ns b2NrczsNCj4gKwkJfQ0KPiArDQo+ICsJCXBkLT5jbGtzW2Nsa19pbmQrK10uY2xrID0gY2xrOw0K PiArCX0NCj4gKw0KPiArCWZvciAoaSA9IDA7IGkgPCBwZC0+bnVtX3N1YnN5c19jbGtzOyBpKysp IHsNCj4gKwkJc3RydWN0IGNsayAqY2xrID0gb2ZfY2xrX2dldChub2RlLCBpICsgY2xrX2luZCk7 DQo+ICsJCWlmIChJU19FUlIoY2xrKSkgew0KPiArCQkJcmV0ID0gUFRSX0VSUihjbGspOw0KPiAr CQkJZGV2X2VycihzY3BzeXMtPmRldiwgIiVwT0ZuOiBmYWlsZWQgdG8gZ2V0IGNsayBhdCBpbmRl eCAlZDogJWRcbiIsIG5vZGUsDQo+ICsJCQkJaSArIGNsa19pbmQsIHJldCk7DQo+ICsJCQlnb3Rv IGVycl9wdXRfc3Vic3lzX2Nsb2NrczsNCj4gIAkJfQ0KPiArDQo+ICsJCXBkLT5zdWJzeXNfY2xr c1tpXS5jbGsgPSBjbGs7DQo+ICAJfQ0KPiAgDQo+ICsJcmV0ID0gY2xrX2J1bGtfcHJlcGFyZShw ZC0+bnVtX3N1YnN5c19jbGtzLCBwZC0+c3Vic3lzX2Nsa3MpOw0KPiArCWlmIChyZXQpDQo+ICsJ CWdvdG8gZXJyX3B1dF9zdWJzeXNfY2xvY2tzOw0KPiArDQo+ICAJcmV0ID0gY2xrX2J1bGtfcHJl cGFyZShwZC0+bnVtX2Nsa3MsIHBkLT5jbGtzKTsNCj4gIAlpZiAocmV0KQ0KPiAtCQlnb3RvIGVy cl9wdXRfY2xvY2tzOw0KPiArCQlnb3RvIGVycl91bnByZXBhcmVfc3Vic3lzX2Nsb2NrczsNCj4g IA0KPiAgCS8qDQo+ICAJICogSW5pdGlhbGx5IHR1cm4gb24gYWxsIGRvbWFpbnMgdG8gbWFrZSB0 aGUgZG9tYWlucyB1c2FibGUNCj4gQEAgLTQ1Niw2ICs1MDQsMTIgQEAgc3RhdGljIGludCBzY3Bz eXNfYWRkX29uZV9kb21haW4oc3RydWN0IHNjcHN5cyAqc2Nwc3lzLCBzdHJ1Y3QgZGV2aWNlX25v ZGUgKm5vZGUNCj4gIA0KPiAgZXJyX3VucHJlcGFyZV9jbG9ja3M6DQo+ICAJY2xrX2J1bGtfdW5w cmVwYXJlKHBkLT5udW1fY2xrcywgcGQtPmNsa3MpOw0KPiArZXJyX3VucHJlcGFyZV9zdWJzeXNf Y2xvY2tzOg0KPiArCWNsa19idWxrX3VucHJlcGFyZShwZC0+bnVtX3N1YnN5c19jbGtzLCBwZC0+ c3Vic3lzX2Nsa3MpOw0KPiArZXJyX3B1dF9zdWJzeXNfY2xvY2tzOg0KPiArCWNsa19idWxrX3B1 dChwZC0+bnVtX3N1YnN5c19jbGtzLCBwZC0+c3Vic3lzX2Nsa3MpOw0KPiArCWRldm1fa2ZyZWUo c2Nwc3lzLT5kZXYsIHBkLT5zdWJzeXNfY2xrcyk7DQo+ICsJcGQtPm51bV9zdWJzeXNfY2xrcyA9 IDA7DQo+ICBlcnJfcHV0X2Nsb2NrczoNCj4gIAljbGtfYnVsa19wdXQocGQtPm51bV9jbGtzLCBw ZC0+Y2xrcyk7DQo+ICAJZGV2bV9rZnJlZShzY3BzeXMtPmRldiwgcGQtPmNsa3MpOw0KPiBAQCAt NTM3LDYgKzU5MSwxMCBAQCBzdGF0aWMgdm9pZCBzY3BzeXNfcmVtb3ZlX29uZV9kb21haW4oc3Ry dWN0IHNjcHN5c19kb21haW4gKnBkKQ0KPiAgCWNsa19idWxrX3VucHJlcGFyZShwZC0+bnVtX2Ns a3MsIHBkLT5jbGtzKTsNCj4gIAljbGtfYnVsa19wdXQocGQtPm51bV9jbGtzLCBwZC0+Y2xrcyk7 DQo+ICAJcGQtPm51bV9jbGtzID0gMDsNCj4gKw0KPiArCWNsa19idWxrX3VucHJlcGFyZShwZC0+ bnVtX3N1YnN5c19jbGtzLCBwZC0+c3Vic3lzX2Nsa3MpOw0KPiArCWNsa19idWxrX3B1dChwZC0+ bnVtX3N1YnN5c19jbGtzLCBwZC0+c3Vic3lzX2Nsa3MpOw0KPiArCXBkLT5udW1fc3Vic3lzX2Ns a3MgPSAwOw0KPiAgfQ0KPiAgDQo+ICBzdGF0aWMgdm9pZCBzY3BzeXNfZG9tYWluX2NsZWFudXAo c3RydWN0IHNjcHN5cyAqc2Nwc3lzKQ0KDQo=