Received: by 2002:a25:c205:0:0:0:0:0 with SMTP id s5csp3296137ybf; Tue, 3 Mar 2020 03:22:28 -0800 (PST) X-Google-Smtp-Source: ADFU+vviq2oHfYzRAE3IAGeCfa3qZT3iC/pzPDfv7LYlmhMg17ycMM92FqlfI79fTYCYacbAu35e X-Received: by 2002:a9d:4783:: with SMTP id b3mr2903319otf.212.1583234548266; Tue, 03 Mar 2020 03:22:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1583234548; cv=none; d=google.com; s=arc-20160816; b=nCVYTLCmrUUY80aHwuBI/LdfStVE6ohuK36j8V1nn/D3wjYwQrUFidhLcSwQnuec6N ItDbNgfgN1C+S2DGsDyxgay0zz5ZoWJ+3K/gRDR0JeOM5W1ygH5YckgVl2IzNFGgDp4D cl5wJ0gVvoLgfhSQ2zlxIT4BrW0dGTRwzisuFIXTy2mI/Z1iqlxTBMlB3zg0F/WjicJ/ nlDg2V3ECyh7r8aIv0BtXjxSTc05RyzW1/pLtPk2IsjNl+ap7YFbqrfRPC7aOFezCtIM n+2xSrkwNj0CA1O9RUAN//6/5ImLzquBFxVwNSa6lMoGvWJdHpdrlmp77DGE4EbIpQWw GkOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=ejj3muKchbZgb/7ccah0Y+HobyhZKtrbHXj/UzxNQYo=; b=NAuaVBitNEvRJoi7Cgdgu5bzwrkX6MEADWMTeE4j52qKBRf8ydTfKqwAqEUrAeANhu 6ssVUPEVU1t2IEXF1TduUbO4HVzxmSnw90cWflgsw0EZjcaJPaYXc55TEgGFRZ8cSYca N6UKJGyQZrCld13pdw4wlK3y2I6vOvPKub9izN+thPKSok5wsUoQhWsMLlDIq7fJ3Tx3 MxHHvasf4HG8nnUwcse9JMjT98sgEdik4pWViUy7JpYzi7QA66JAl4sIaWxB2g1z6giq KLWUKGh7JrmwNcs7JK9fhVjUHoH1py3kBDfAfuYkU7gYLs76q/rLfxWXiwoneDpqjAB6 VuPQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=JGxjlR3O; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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. [209.132.180.67]) by mx.google.com with ESMTP id l145si1506236oih.44.2020.03.03.03.22.16; Tue, 03 Mar 2020 03:22:28 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=JGxjlR3O; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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 S1729039AbgCCK7S (ORCPT + 99 others); Tue, 3 Mar 2020 05:59:18 -0500 Received: from mailgw01.mediatek.com ([210.61.82.183]:40631 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1728973AbgCCK7H (ORCPT ); Tue, 3 Mar 2020 05:59:07 -0500 X-UUID: c494ba658d584c97bfcd24746efc5d82-20200303 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=ejj3muKchbZgb/7ccah0Y+HobyhZKtrbHXj/UzxNQYo=; b=JGxjlR3OhJc8M3dE8De/MTGbOXrC4OOb1gcQHhEpPuX7rdw5qrVIA0jgwXE/31efdwJCsq1mnBkc7AbPuTSqQJZkg8ZSiLEL2TD4d2fnQo+X/7LkNz+5wwoPvkbHhd18/hN4GI57u/AIObocOkiAzI1WOWj/5MZmaNTawOyqg0Q=; X-UUID: c494ba658d584c97bfcd24746efc5d82-20200303 Received: from mtkcas06.mediatek.inc [(172.21.101.30)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 2000072594; Tue, 03 Mar 2020 18:58:49 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs08n2.mediatek.inc (172.21.101.56) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Tue, 3 Mar 2020 18:57:40 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Tue, 3 Mar 2020 18:58:10 +0800 From: Dennis YC Hsieh To: Rob Herring , Mark Rutland , Matthias Brugger , Jassi Brar , Philipp Zabel , David Airlie , Daniel Vetter CC: , , , , , Bibby Hsieh , CK Hu , Houlong Wei , , HS Liao , Dennis YC Hsieh Subject: [PATCH v4 02/13] mailbox: cmdq: variablize address shift in platform Date: Tue, 3 Mar 2020 18:58:34 +0800 Message-ID: <1583233125-7827-3-git-send-email-dennis-yc.hsieh@mediatek.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1583233125-7827-1-git-send-email-dennis-yc.hsieh@mediatek.com> References: <1583233125-7827-1-git-send-email-dennis-yc.hsieh@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-TM-SNTS-SMTP: 07C9060610B86C357E760526C4A97A7EADC80D043C4B46C4F34A51BF72FBE5802000:8 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 U29tZSBnY2UgaGFyZHdhcmUgc2hpZnQgcGMgYW5kIGVuZCBhZGRyZXNzIGluIHJlZ2lzdGVyIHRv IHN1cHBvcnQNCmxhcmdlIGRyYW0gYWRkcmVzc2luZy4NCkltcGxlbWVudCBnY2UgYWRkcmVzcyBz aGlmdCB3aGVuIHdyaXRlIG9yIHJlYWQgcGMgYW5kIGVuZCByZWdpc3Rlci4NCkFuZCBhZGQgc2hp ZnQgYml0IGluIHBsYXRmb3JtIGRlZmluaXRpb24uDQoNClNpZ25lZC1vZmYtYnk6IERlbm5pcyBZ QyBIc2llaCA8ZGVubmlzLXljLmhzaWVoQG1lZGlhdGVrLmNvbT4NCi0tLQ0KIGRyaXZlcnMvbWFp bGJveC9tdGstY21kcS1tYWlsYm94LmMgICAgICAgfCA2MSArKysrKysrKysrKysrKysrKystLS0t LS0NCiBkcml2ZXJzL3NvYy9tZWRpYXRlay9tdGstY21kcS1oZWxwZXIuYyAgIHwgIDMgKy0NCiBp bmNsdWRlL2xpbnV4L21haWxib3gvbXRrLWNtZHEtbWFpbGJveC5oIHwgIDIgKw0KIDMgZmlsZXMg Y2hhbmdlZCwgNTAgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQg YS9kcml2ZXJzL21haWxib3gvbXRrLWNtZHEtbWFpbGJveC5jIGIvZHJpdmVycy9tYWlsYm94L210 ay1jbWRxLW1haWxib3guYw0KaW5kZXggOWE2Y2U5ZjVhN2RiLi40ZGJlZTkyNTgxMjcgMTAwNjQ0 DQotLS0gYS9kcml2ZXJzL21haWxib3gvbXRrLWNtZHEtbWFpbGJveC5jDQorKysgYi9kcml2ZXJz L21haWxib3gvbXRrLWNtZHEtbWFpbGJveC5jDQpAQCAtNzYsOCArNzYsMjIgQEAgc3RydWN0IGNt ZHEgew0KIAlzdHJ1Y3QgY21kcV90aHJlYWQJKnRocmVhZDsNCiAJc3RydWN0IGNsawkJKmNsb2Nr Ow0KIAlib29sCQkJc3VzcGVuZGVkOw0KKwl1OAkJCXNoaWZ0X3BhOw0KIH07DQogDQorc3RydWN0 IGdjZV9wbGF0IHsNCisJdTMyIHRocmVhZF9ucjsNCisJdTggc2hpZnQ7DQorfTsNCisNCit1OCBj bWRxX21ib3hfc2hpZnQoc3RydWN0IG1ib3hfY2hhbiAqY2hhbikNCit7DQorCXN0cnVjdCBjbWRx ICpjbWRxID0gY29udGFpbmVyX29mKGNoYW4tPm1ib3gsIHN0cnVjdCBjbWRxLCBtYm94KTsNCisN CisJcmV0dXJuIGNtZHEtPnNoaWZ0X3BhOw0KK30NCitFWFBPUlRfU1lNQk9MKGNtZHFfbWJveF9z aGlmdCk7DQorDQogc3RhdGljIGludCBjbWRxX3RocmVhZF9zdXNwZW5kKHN0cnVjdCBjbWRxICpj bWRxLCBzdHJ1Y3QgY21kcV90aHJlYWQgKnRocmVhZCkNCiB7DQogCXUzMiBzdGF0dXM7DQpAQCAt MTgzLDcgKzE5Nyw3IEBAIHN0YXRpYyB2b2lkIGNtZHFfdGFza19yZW1vdmVfd2ZlKHN0cnVjdCBj bWRxX3Rhc2sgKnRhc2spDQogCWZvciAoaSA9IDA7IGkgPCBDTURRX05VTV9DTUQodGFzay0+cGt0 KTsgaSsrKQ0KIAkJaWYgKGNtZHFfY29tbWFuZF9pc193ZmUoYmFzZVtpXSkpDQogCQkJYmFzZVtp XSA9ICh1NjQpQ01EUV9KVU1QX0JZX09GRlNFVCA8PCAzMiB8DQotCQkJCSAgQ01EUV9KVU1QX1BB U1M7DQorCQkJCSAgQ01EUV9KVU1QX1BBU1MgPj4gdGFzay0+Y21kcS0+c2hpZnRfcGE7DQogCWRt YV9zeW5jX3NpbmdsZV9mb3JfZGV2aWNlKGRldiwgdGFzay0+cGFfYmFzZSwgdGFzay0+cGt0LT5j bWRfYnVmX3NpemUsDQogCQkJCSAgIERNQV9UT19ERVZJQ0UpOw0KIH0NCkBAIC0yMjEsMTMgKzIz NSwxNSBAQCBzdGF0aWMgdm9pZCBjbWRxX3Rhc2tfaGFuZGxlX2Vycm9yKHN0cnVjdCBjbWRxX3Rh c2sgKnRhc2spDQogew0KIAlzdHJ1Y3QgY21kcV90aHJlYWQgKnRocmVhZCA9IHRhc2stPnRocmVh ZDsNCiAJc3RydWN0IGNtZHFfdGFzayAqbmV4dF90YXNrOw0KKwlzdHJ1Y3QgY21kcSAqY21kcSA9 IHRhc2stPmNtZHE7DQogDQotCWRldl9lcnIodGFzay0+Y21kcS0+bWJveC5kZXYsICJ0YXNrIDB4 JXAgZXJyb3JcbiIsIHRhc2spOw0KLQlXQVJOX09OKGNtZHFfdGhyZWFkX3N1c3BlbmQodGFzay0+ Y21kcSwgdGhyZWFkKSA8IDApOw0KKwlkZXZfZXJyKGNtZHEtPm1ib3guZGV2LCAidGFzayAweCVw IGVycm9yXG4iLCB0YXNrKTsNCisJV0FSTl9PTihjbWRxX3RocmVhZF9zdXNwZW5kKGNtZHEsIHRo cmVhZCkgPCAwKTsNCiAJbmV4dF90YXNrID0gbGlzdF9maXJzdF9lbnRyeV9vcl9udWxsKCZ0aHJl YWQtPnRhc2tfYnVzeV9saXN0LA0KIAkJCXN0cnVjdCBjbWRxX3Rhc2ssIGxpc3RfZW50cnkpOw0K IAlpZiAobmV4dF90YXNrKQ0KLQkJd3JpdGVsKG5leHRfdGFzay0+cGFfYmFzZSwgdGhyZWFkLT5i YXNlICsgQ01EUV9USFJfQ1VSUl9BRERSKTsNCisJCXdyaXRlbChuZXh0X3Rhc2stPnBhX2Jhc2Ug Pj4gY21kcS0+c2hpZnRfcGEsDQorCQkgICAgICAgdGhyZWFkLT5iYXNlICsgQ01EUV9USFJfQ1VS Ul9BRERSKTsNCiAJY21kcV90aHJlYWRfcmVzdW1lKHRocmVhZCk7DQogfQ0KIA0KQEAgLTI1Nyw3 ICsyNzMsNyBAQCBzdGF0aWMgdm9pZCBjbWRxX3RocmVhZF9pcnFfaGFuZGxlcihzdHJ1Y3QgY21k cSAqY21kcSwNCiAJZWxzZQ0KIAkJcmV0dXJuOw0KIA0KLQljdXJyX3BhID0gcmVhZGwodGhyZWFk LT5iYXNlICsgQ01EUV9USFJfQ1VSUl9BRERSKTsNCisJY3Vycl9wYSA9IHJlYWRsKHRocmVhZC0+ YmFzZSArIENNRFFfVEhSX0NVUlJfQUREUikgPDwgY21kcS0+c2hpZnRfcGE7DQogDQogCWxpc3Rf Zm9yX2VhY2hfZW50cnlfc2FmZSh0YXNrLCB0bXAsICZ0aHJlYWQtPnRhc2tfYnVzeV9saXN0LA0K IAkJCQkgbGlzdF9lbnRyeSkgew0KQEAgLTM3MywxNiArMzg5LDIwIEBAIHN0YXRpYyBpbnQgY21k cV9tYm94X3NlbmRfZGF0YShzdHJ1Y3QgbWJveF9jaGFuICpjaGFuLCB2b2lkICpkYXRhKQ0KIAkJ V0FSTl9PTihjbGtfZW5hYmxlKGNtZHEtPmNsb2NrKSA8IDApOw0KIAkJV0FSTl9PTihjbWRxX3Ro cmVhZF9yZXNldChjbWRxLCB0aHJlYWQpIDwgMCk7DQogDQotCQl3cml0ZWwodGFzay0+cGFfYmFz ZSwgdGhyZWFkLT5iYXNlICsgQ01EUV9USFJfQ1VSUl9BRERSKTsNCi0JCXdyaXRlbCh0YXNrLT5w YV9iYXNlICsgcGt0LT5jbWRfYnVmX3NpemUsDQorCQl3cml0ZWwodGFzay0+cGFfYmFzZSA+PiBj bWRxLT5zaGlmdF9wYSwNCisJCSAgICAgICB0aHJlYWQtPmJhc2UgKyBDTURRX1RIUl9DVVJSX0FE RFIpOw0KKwkJd3JpdGVsKCh0YXNrLT5wYV9iYXNlICsgcGt0LT5jbWRfYnVmX3NpemUpID4+IGNt ZHEtPnNoaWZ0X3BhLA0KIAkJICAgICAgIHRocmVhZC0+YmFzZSArIENNRFFfVEhSX0VORF9BRERS KTsNCisNCiAJCXdyaXRlbCh0aHJlYWQtPnByaW9yaXR5LCB0aHJlYWQtPmJhc2UgKyBDTURRX1RI Ul9QUklPUklUWSk7DQogCQl3cml0ZWwoQ01EUV9USFJfSVJRX0VOLCB0aHJlYWQtPmJhc2UgKyBD TURRX1RIUl9JUlFfRU5BQkxFKTsNCiAJCXdyaXRlbChDTURRX1RIUl9FTkFCTEVELCB0aHJlYWQt PmJhc2UgKyBDTURRX1RIUl9FTkFCTEVfVEFTSyk7DQogCX0gZWxzZSB7DQogCQlXQVJOX09OKGNt ZHFfdGhyZWFkX3N1c3BlbmQoY21kcSwgdGhyZWFkKSA8IDApOw0KLQkJY3Vycl9wYSA9IHJlYWRs KHRocmVhZC0+YmFzZSArIENNRFFfVEhSX0NVUlJfQUREUik7DQotCQllbmRfcGEgPSByZWFkbCh0 aHJlYWQtPmJhc2UgKyBDTURRX1RIUl9FTkRfQUREUik7DQorCQljdXJyX3BhID0gcmVhZGwodGhy ZWFkLT5iYXNlICsgQ01EUV9USFJfQ1VSUl9BRERSKSA8PA0KKwkJCWNtZHEtPnNoaWZ0X3BhOw0K KwkJZW5kX3BhID0gcmVhZGwodGhyZWFkLT5iYXNlICsgQ01EUV9USFJfRU5EX0FERFIpIDw8DQor CQkJY21kcS0+c2hpZnRfcGE7DQogDQogCQkvKg0KIAkJICogQXRvbWljIGV4ZWN1dGlvbiBzaG91 bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgd2ZlLCBpLmUuIG9ubHkNCkBAIC0zOTUsNyArNDE1LDcg QEAgc3RhdGljIGludCBjbWRxX21ib3hfc2VuZF9kYXRhKHN0cnVjdCBtYm94X2NoYW4gKmNoYW4s IHZvaWQgKmRhdGEpDQogCQkJCWNtZHFfdGhyZWFkX3dhaXRfZW5kKHRocmVhZCwgZW5kX3BhKTsN CiAJCQkJV0FSTl9PTihjbWRxX3RocmVhZF9zdXNwZW5kKGNtZHEsIHRocmVhZCkgPCAwKTsNCiAJ CQkJLyogc2V0IHRvIHRoaXMgdGFzayBkaXJlY3RseSAqLw0KLQkJCQl3cml0ZWwodGFzay0+cGFf YmFzZSwNCisJCQkJd3JpdGVsKHRhc2stPnBhX2Jhc2UgPj4gY21kcS0+c2hpZnRfcGEsDQogCQkJ CSAgICAgICB0aHJlYWQtPmJhc2UgKyBDTURRX1RIUl9DVVJSX0FERFIpOw0KIAkJCX0gZWxzZSB7 DQogCQkJCWNtZHFfdGFza19pbnNlcnRfaW50b190aHJlYWQodGFzayk7DQpAQCAtNDA3LDE0ICs0 MjcsMTQgQEAgc3RhdGljIGludCBjbWRxX21ib3hfc2VuZF9kYXRhKHN0cnVjdCBtYm94X2NoYW4g KmNoYW4sIHZvaWQgKmRhdGEpDQogCQkJaWYgKGN1cnJfcGEgPT0gZW5kX3BhIC0gQ01EUV9JTlNU X1NJWkUgfHwNCiAJCQkgICAgY3Vycl9wYSA9PSBlbmRfcGEpIHsNCiAJCQkJLyogc2V0IHRvIHRo aXMgdGFzayBkaXJlY3RseSAqLw0KLQkJCQl3cml0ZWwodGFzay0+cGFfYmFzZSwNCisJCQkJd3Jp dGVsKHRhc2stPnBhX2Jhc2UgPj4gY21kcS0+c2hpZnRfcGEsDQogCQkJCSAgICAgICB0aHJlYWQt PmJhc2UgKyBDTURRX1RIUl9DVVJSX0FERFIpOw0KIAkJCX0gZWxzZSB7DQogCQkJCWNtZHFfdGFz a19pbnNlcnRfaW50b190aHJlYWQodGFzayk7DQogCQkJCXNtcF9tYigpOyAvKiBtb2RpZnkganVt cCBiZWZvcmUgZW5hYmxlIHRocmVhZCAqLw0KIAkJCX0NCiAJCX0NCi0JCXdyaXRlbCh0YXNrLT5w YV9iYXNlICsgcGt0LT5jbWRfYnVmX3NpemUsDQorCQl3cml0ZWwoKHRhc2stPnBhX2Jhc2UgKyBw a3QtPmNtZF9idWZfc2l6ZSkgPj4gY21kcS0+c2hpZnRfcGEsDQogCQkgICAgICAgdGhyZWFkLT5i YXNlICsgQ01EUV9USFJfRU5EX0FERFIpOw0KIAkJY21kcV90aHJlYWRfcmVzdW1lKHRocmVhZCk7 DQogCX0NCkBAIC00NjEsNiArNDgxLDcgQEAgc3RhdGljIGludCBjbWRxX3Byb2JlKHN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQogCXN0cnVjdCByZXNvdXJjZSAqcmVzOw0KIAlzdHJ1Y3Qg Y21kcSAqY21kcTsNCiAJaW50IGVyciwgaTsNCisJc3RydWN0IGdjZV9wbGF0ICpwbGF0X2RhdGE7 DQogDQogCWNtZHEgPSBkZXZtX2t6YWxsb2MoZGV2LCBzaXplb2YoKmNtZHEpLCBHRlBfS0VSTkVM KTsNCiAJaWYgKCFjbWRxKQ0KQEAgLTQ3OSw3ICs1MDAsMTQgQEAgc3RhdGljIGludCBjbWRxX3By b2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQogCQlyZXR1cm4gLUVJTlZBTDsNCiAJ fQ0KIA0KLQljbWRxLT50aHJlYWRfbnIgPSAodTMyKSh1bnNpZ25lZCBsb25nKW9mX2RldmljZV9n ZXRfbWF0Y2hfZGF0YShkZXYpOw0KKwlwbGF0X2RhdGEgPSAoc3RydWN0IGdjZV9wbGF0ICopb2Zf ZGV2aWNlX2dldF9tYXRjaF9kYXRhKGRldik7DQorCWlmICghcGxhdF9kYXRhKSB7DQorCQlkZXZf ZXJyKGRldiwgImZhaWxlZCB0byBnZXQgbWF0Y2ggZGF0YVxuIik7DQorCQlyZXR1cm4gLUVJTlZB TDsNCisJfQ0KKw0KKwljbWRxLT50aHJlYWRfbnIgPSBwbGF0X2RhdGEtPnRocmVhZF9ucjsNCisJ Y21kcS0+c2hpZnRfcGEgPSBwbGF0X2RhdGEtPnNoaWZ0Ow0KIAljbWRxLT5pcnFfbWFzayA9IEdF Tk1BU0soY21kcS0+dGhyZWFkX25yIC0gMSwgMCk7DQogCWVyciA9IGRldm1fcmVxdWVzdF9pcnEo ZGV2LCBjbWRxLT5pcnEsIGNtZHFfaXJxX2hhbmRsZXIsIElSUUZfU0hBUkVELA0KIAkJCSAgICAg ICAibXRrX2NtZHEiLCBjbWRxKTsNCkBAIC01NDIsOSArNTcwLDEyIEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZGV2X3BtX29wcyBjbWRxX3BtX29wcyA9IHsNCiAJLnJlc3VtZSA9IGNtZHFfcmVzdW1l LA0KIH07DQogDQorc3RhdGljIGNvbnN0IHN0cnVjdCBnY2VfcGxhdCBnY2VfcGxhdF92MiA9IHsu dGhyZWFkX25yID0gMTZ9Ow0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZ2NlX3BsYXQgZ2NlX3BsYXRf djMgPSB7LnRocmVhZF9uciA9IDI0fTsNCisNCiBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2Rldmlj ZV9pZCBjbWRxX29mX2lkc1tdID0gew0KLQl7LmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTcz LWdjZSIsIC5kYXRhID0gKHZvaWQgKikxNn0sDQotCXsuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxt dDgxODMtZ2NlIiwgLmRhdGEgPSAodm9pZCAqKTI0fSwNCisJey5jb21wYXRpYmxlID0gIm1lZGlh dGVrLG10ODE3My1nY2UiLCAuZGF0YSA9ICh2b2lkICopJmdjZV9wbGF0X3YyfSwNCisJey5jb21w YXRpYmxlID0gIm1lZGlhdGVrLG10ODE4My1nY2UiLCAuZGF0YSA9ICh2b2lkICopJmdjZV9wbGF0 X3YzfSwNCiAJe30NCiB9Ow0KIA0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL21lZGlhdGVrL210 ay1jbWRxLWhlbHBlci5jIGIvZHJpdmVycy9zb2MvbWVkaWF0ZWsvbXRrLWNtZHEtaGVscGVyLmMN CmluZGV4IGRlMjBlNmNiYTgzYi4uMmUxYmM1MTM1NjliIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9z b2MvbWVkaWF0ZWsvbXRrLWNtZHEtaGVscGVyLmMNCisrKyBiL2RyaXZlcnMvc29jL21lZGlhdGVr L210ay1jbWRxLWhlbHBlci5jDQpAQCAtMjkxLDcgKzI5MSw4IEBAIHN0YXRpYyBpbnQgY21kcV9w a3RfZmluYWxpemUoc3RydWN0IGNtZHFfcGt0ICpwa3QpDQogDQogCS8qIEpVTVAgdG8gZW5kICov DQogCWluc3Qub3AgPSBDTURRX0NPREVfSlVNUDsNCi0JaW5zdC52YWx1ZSA9IENNRFFfSlVNUF9Q QVNTOw0KKwlpbnN0LnZhbHVlID0gQ01EUV9KVU1QX1BBU1MgPj4NCisJCWNtZHFfbWJveF9zaGlm dCgoKHN0cnVjdCBjbWRxX2NsaWVudCAqKXBrdC0+Y2wpLT5jaGFuKTsNCiAJZXJyID0gY21kcV9w a3RfYXBwZW5kX2NvbW1hbmQocGt0LCBpbnN0KTsNCiANCiAJcmV0dXJuIGVycjsNCmRpZmYgLS1n aXQgYS9pbmNsdWRlL2xpbnV4L21haWxib3gvbXRrLWNtZHEtbWFpbGJveC5oIGIvaW5jbHVkZS9s aW51eC9tYWlsYm94L210ay1jbWRxLW1haWxib3guaA0KaW5kZXggYTRkYzQ1ZmJlYzBhLi5kZmU1 YjJlYjg1Y2MgMTAwNjQ0DQotLS0gYS9pbmNsdWRlL2xpbnV4L21haWxib3gvbXRrLWNtZHEtbWFp bGJveC5oDQorKysgYi9pbmNsdWRlL2xpbnV4L21haWxib3gvbXRrLWNtZHEtbWFpbGJveC5oDQpA QCAtODgsNCArODgsNiBAQCBzdHJ1Y3QgY21kcV9wa3Qgew0KIAl2b2lkCQkJKmNsOw0KIH07DQog DQordTggY21kcV9tYm94X3NoaWZ0KHN0cnVjdCBtYm94X2NoYW4gKmNoYW4pOw0KKw0KICNlbmRp ZiAvKiBfX01US19DTURRX01BSUxCT1hfSF9fICovDQotLSANCjIuMTguMA0K