Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp2844977ybt; Mon, 22 Jun 2020 08:24:43 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwHLBqZECG3sic77GNTdWjAIhvqERACxzKBy7KNLiF2191wThQtc5c/Scv+9a7CzUQT5xYj X-Received: by 2002:a05:6402:128f:: with SMTP id w15mr17953716edv.240.1592839483071; Mon, 22 Jun 2020 08:24:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592839483; cv=none; d=google.com; s=arc-20160816; b=jWNRPFWM1YqBoiWlnJ2xW7PwoJQzaH4qpvg/gUgoSWsndHWtL14vM7QW4E/sOrQWVY BAe3sFwc/DWPJXSDBwWXo4LIKcSoYM9qGJmhuza/uR1CHsTt7DF8T4K2YgmHY4deH+BX FcqtCxXZavL9VwTXJiTeyKguhTu83dzY6gspChbqQ1nwIi9BKgSW/sZLxCEMCdEoZmA6 geXt8F7zqHiD0PxMkWC0t+agxr7NZD7BkYq/Wot6ztmm/eMpJU7b7qY0jAQFmpm33Tw6 5Mco+o3sLaF4jRvgplST5gxNYUU+AlbRieQ1Ovq0XBEMPwVPqadWCpoEl1iS3CgqhRuW agqg== 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:date:cc:to:from:subject:message-id :dkim-signature; bh=g7h0ilFmExZAqHS6RTEQ9n2YF20cS/ZAVMKznEjwD/4=; b=Edz14q5OBW0vJYQwaJvLKcc4ZXKEGfTIVmDtrqwM+fjdFRzAky1adjL4MfSCiOcsLi BG1PpRicDr974BmJR2CF5vzi/IC64piF68XdUd23gmjaie4dO3uSNs5af1p1DzRHZ+6g OCUVso692FrAVnW7PiroPcftKZUwJSuSbDigCIYhdVcQ1dr3yb6OYBVuzxcYRCJANQXc uNsyRGcUzW/SQ/5wcoGR+n1zGwhnu/Bkr153bTB3HKgSkT4xeN9DTPQ1KBOQNdL64s0o Fr0uQHUqifmohYFyyYqfCLeKiBS1LvtxgtzbpkVrKyE505wx0D24fomvbUh7dluUCwLX +myQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=eMi3YQ6w; 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 a24si4496243ejg.331.2020.06.22.08.24.19; Mon, 22 Jun 2020 08:24:43 -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=eMi3YQ6w; 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 S1729519AbgFVPTg (ORCPT + 99 others); Mon, 22 Jun 2020 11:19:36 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:36607 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1729308AbgFVPTg (ORCPT ); Mon, 22 Jun 2020 11:19:36 -0400 X-UUID: e15298c5e2314ff79bb2fef47a1936f9-20200622 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=g7h0ilFmExZAqHS6RTEQ9n2YF20cS/ZAVMKznEjwD/4=; b=eMi3YQ6wk/wMOJagcrhlm88KPxnhDjKxFFQvQtMdUXnZXRr3nL5/VMvFqci9Sd7XaijJ3+lmtCHx0YeWBIwOJlpItbSx5EAPkpm85OVxm923WF5rZgGwR8a9wg9WW+ALqD7Imc3UjUoUIvZSWl/DXnTBx7eeGFnMZP6xGnZ4Yj4=; X-UUID: e15298c5e2314ff79bb2fef47a1936f9-20200622 Received: from mtkexhb02.mediatek.inc [(172.21.101.103)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 924912329; Mon, 22 Jun 2020 23:19:27 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs05n2.mediatek.inc (172.21.101.140) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 22 Jun 2020 23:19:22 +0800 Received: from [172.21.77.33] (172.21.77.33) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Mon, 22 Jun 2020 23:19:22 +0800 Message-ID: <1592839165.1307.0.camel@mtkswgap22> Subject: Re: [PATCH v7 2/4] mailbox: cmdq: variablize address shift in platform From: Dennis-YC Hsieh To: Bibby Hsieh CC: Rob Herring , Mark Rutland , Matthias Brugger , Jassi Brar , CK Hu , , , , , , Houlong Wei , HS Liao Date: Mon, 22 Jun 2020 23:19:25 +0800 In-Reply-To: <1592793237.11692.2.camel@mtksdaap41> References: <1592745731-14614-1-git-send-email-dennis-yc.hsieh@mediatek.com> <1592745731-14614-3-git-send-email-dennis-yc.hsieh@mediatek.com> <1592793237.11692.2.camel@mtksdaap41> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.3-0ubuntu6 MIME-Version: 1.0 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 SGkgQmliYnksDQoNClRoYW5rcyBmb3IgeW91ciBjb21tZW50Lg0KDQpPbiBNb24sIDIwMjAtMDYt MjIgYXQgMTA6MzMgKzA4MDAsIEJpYmJ5IEhzaWVoIHdyb3RlOg0KPiBPbiBTdW4sIDIwMjAtMDYt MjEgYXQgMjE6MjIgKzA4MDAsIERlbm5pcyBZQyBIc2llaCB3cm90ZToNCj4gPiBTb21lIGdjZSBo YXJkd2FyZSBzaGlmdCBwYyBhbmQgZW5kIGFkZHJlc3MgaW4gcmVnaXN0ZXIgdG8gc3VwcG9ydA0K PiA+IGxhcmdlIGRyYW0gYWRkcmVzc2luZy4NCj4gPiBJbXBsZW1lbnQgZ2NlIGFkZHJlc3Mgc2hp ZnQgd2hlbiB3cml0ZSBvciByZWFkIHBjIGFuZCBlbmQgcmVnaXN0ZXIuDQo+ID4gQW5kIGFkZCBz aGlmdCBiaXQgaW4gcGxhdGZvcm0gZGVmaW5pdGlvbi4NCj4gPiANCj4gPiBTaWduZWQtb2ZmLWJ5 OiBEZW5uaXMgWUMgSHNpZWggPGRlbm5pcy15Yy5oc2llaEBtZWRpYXRlay5jb20+DQo+ID4gLS0t DQo+ID4gIGRyaXZlcnMvbWFpbGJveC9tdGstY21kcS1tYWlsYm94LmMgICAgICAgfCAgIDYxICsr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLQ0KPiA+ICBpbmNsdWRlL2xpbnV4L21haWxib3gv bXRrLWNtZHEtbWFpbGJveC5oIHwgICAgMiArDQo+ID4gIDIgZmlsZXMgY2hhbmdlZCwgNDggaW5z ZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pDQo+ID4gDQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvbWFpbGJveC9tdGstY21kcS1tYWlsYm94LmMgYi9kcml2ZXJzL21haWxib3gvbXRrLWNtZHEt bWFpbGJveC5jDQo+ID4gaW5kZXggOWE2Y2U5ZjVhN2RiLi40ZGJlZTkyNTgxMjcgMTAwNjQ0DQo+ ID4gLS0tIGEvZHJpdmVycy9tYWlsYm94L210ay1jbWRxLW1haWxib3guYw0KPiA+ICsrKyBiL2Ry aXZlcnMvbWFpbGJveC9tdGstY21kcS1tYWlsYm94LmMNCj4gPiBAQCAtNzYsOCArNzYsMjIgQEAg c3RydWN0IGNtZHEgew0KPiA+ICAJc3RydWN0IGNtZHFfdGhyZWFkCSp0aHJlYWQ7DQo+ID4gIAlz dHJ1Y3QgY2xrCQkqY2xvY2s7DQo+ID4gIAlib29sCQkJc3VzcGVuZGVkOw0KPiA+ICsJdTgJCQlz aGlmdF9wYTsNCj4gPiAgfTsNCj4gPiAgDQo+ID4gK3N0cnVjdCBnY2VfcGxhdCB7DQo+ID4gKwl1 MzIgdGhyZWFkX25yOw0KPiA+ICsJdTggc2hpZnQ7DQo+ID4gK307DQo+ID4gKw0KPiA+ICt1OCBj bWRxX21ib3hfc2hpZnQoc3RydWN0IG1ib3hfY2hhbiAqY2hhbikNCj4gDQo+IEhvdyBhYm91dCBy ZW5hbWUgdGhpcyBmdW5jdGlvbiBhcyBjbWRxX2dldF9zaGlmdF9wYSgpPw0KDQpvaywgSSdsbCBy ZW5hbWUgaXQsIHRoYW5rcw0KDQoNClJlZ2FyZHMsDQpEZW5uaXMNCg0KDQo+IA0KPiANCj4gQmli YnkNCj4gDQo+ID4gK3sNCj4gPiArCXN0cnVjdCBjbWRxICpjbWRxID0gY29udGFpbmVyX29mKGNo YW4tPm1ib3gsIHN0cnVjdCBjbWRxLCBtYm94KTsNCj4gPiArDQo+ID4gKwlyZXR1cm4gY21kcS0+ c2hpZnRfcGE7DQo+ID4gK30NCj4gPiArRVhQT1JUX1NZTUJPTChjbWRxX21ib3hfc2hpZnQpOw0K PiA+ICsNCj4gPiAgc3RhdGljIGludCBjbWRxX3RocmVhZF9zdXNwZW5kKHN0cnVjdCBjbWRxICpj bWRxLCBzdHJ1Y3QgY21kcV90aHJlYWQgKnRocmVhZCkNCj4gPiAgew0KPiA+ICAJdTMyIHN0YXR1 czsNCj4gPiBAQCAtMTgzLDcgKzE5Nyw3IEBAIHN0YXRpYyB2b2lkIGNtZHFfdGFza19yZW1vdmVf d2ZlKHN0cnVjdCBjbWRxX3Rhc2sgKnRhc2spDQo+ID4gIAlmb3IgKGkgPSAwOyBpIDwgQ01EUV9O VU1fQ01EKHRhc2stPnBrdCk7IGkrKykNCj4gPiAgCQlpZiAoY21kcV9jb21tYW5kX2lzX3dmZShi YXNlW2ldKSkNCj4gPiAgCQkJYmFzZVtpXSA9ICh1NjQpQ01EUV9KVU1QX0JZX09GRlNFVCA8PCAz MiB8DQo+ID4gLQkJCQkgIENNRFFfSlVNUF9QQVNTOw0KPiA+ICsJCQkJICBDTURRX0pVTVBfUEFT UyA+PiB0YXNrLT5jbWRxLT5zaGlmdF9wYTsNCj4gPiAgCWRtYV9zeW5jX3NpbmdsZV9mb3JfZGV2 aWNlKGRldiwgdGFzay0+cGFfYmFzZSwgdGFzay0+cGt0LT5jbWRfYnVmX3NpemUsDQo+ID4gIAkJ CQkgICBETUFfVE9fREVWSUNFKTsNCj4gPiAgfQ0KPiA+IEBAIC0yMjEsMTMgKzIzNSwxNSBAQCBz dGF0aWMgdm9pZCBjbWRxX3Rhc2tfaGFuZGxlX2Vycm9yKHN0cnVjdCBjbWRxX3Rhc2sgKnRhc2sp DQo+ID4gIHsNCj4gPiAgCXN0cnVjdCBjbWRxX3RocmVhZCAqdGhyZWFkID0gdGFzay0+dGhyZWFk Ow0KPiA+ICAJc3RydWN0IGNtZHFfdGFzayAqbmV4dF90YXNrOw0KPiA+ICsJc3RydWN0IGNtZHEg KmNtZHEgPSB0YXNrLT5jbWRxOw0KPiA+ICANCj4gPiAtCWRldl9lcnIodGFzay0+Y21kcS0+bWJv eC5kZXYsICJ0YXNrIDB4JXAgZXJyb3JcbiIsIHRhc2spOw0KPiA+IC0JV0FSTl9PTihjbWRxX3Ro cmVhZF9zdXNwZW5kKHRhc2stPmNtZHEsIHRocmVhZCkgPCAwKTsNCj4gPiArCWRldl9lcnIoY21k cS0+bWJveC5kZXYsICJ0YXNrIDB4JXAgZXJyb3JcbiIsIHRhc2spOw0KPiA+ICsJV0FSTl9PTihj bWRxX3RocmVhZF9zdXNwZW5kKGNtZHEsIHRocmVhZCkgPCAwKTsNCj4gPiAgCW5leHRfdGFzayA9 IGxpc3RfZmlyc3RfZW50cnlfb3JfbnVsbCgmdGhyZWFkLT50YXNrX2J1c3lfbGlzdCwNCj4gPiAg CQkJc3RydWN0IGNtZHFfdGFzaywgbGlzdF9lbnRyeSk7DQo+ID4gIAlpZiAobmV4dF90YXNrKQ0K PiA+IC0JCXdyaXRlbChuZXh0X3Rhc2stPnBhX2Jhc2UsIHRocmVhZC0+YmFzZSArIENNRFFfVEhS X0NVUlJfQUREUik7DQo+ID4gKwkJd3JpdGVsKG5leHRfdGFzay0+cGFfYmFzZSA+PiBjbWRxLT5z aGlmdF9wYSwNCj4gPiArCQkgICAgICAgdGhyZWFkLT5iYXNlICsgQ01EUV9USFJfQ1VSUl9BRERS KTsNCj4gPiAgCWNtZHFfdGhyZWFkX3Jlc3VtZSh0aHJlYWQpOw0KPiA+ICB9DQo+ID4gIA0KPiA+ IEBAIC0yNTcsNyArMjczLDcgQEAgc3RhdGljIHZvaWQgY21kcV90aHJlYWRfaXJxX2hhbmRsZXIo c3RydWN0IGNtZHEgKmNtZHEsDQo+ID4gIAllbHNlDQo+ID4gIAkJcmV0dXJuOw0KPiA+ICANCj4g PiAtCWN1cnJfcGEgPSByZWFkbCh0aHJlYWQtPmJhc2UgKyBDTURRX1RIUl9DVVJSX0FERFIpOw0K PiA+ICsJY3Vycl9wYSA9IHJlYWRsKHRocmVhZC0+YmFzZSArIENNRFFfVEhSX0NVUlJfQUREUikg PDwgY21kcS0+c2hpZnRfcGE7DQo+ID4gIA0KPiA+ICAJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZl KHRhc2ssIHRtcCwgJnRocmVhZC0+dGFza19idXN5X2xpc3QsDQo+ID4gIAkJCQkgbGlzdF9lbnRy eSkgew0KPiA+IEBAIC0zNzMsMTYgKzM4OSwyMCBAQCBzdGF0aWMgaW50IGNtZHFfbWJveF9zZW5k X2RhdGEoc3RydWN0IG1ib3hfY2hhbiAqY2hhbiwgdm9pZCAqZGF0YSkNCj4gPiAgCQlXQVJOX09O KGNsa19lbmFibGUoY21kcS0+Y2xvY2spIDwgMCk7DQo+ID4gIAkJV0FSTl9PTihjbWRxX3RocmVh ZF9yZXNldChjbWRxLCB0aHJlYWQpIDwgMCk7DQo+ID4gIA0KPiA+IC0JCXdyaXRlbCh0YXNrLT5w YV9iYXNlLCB0aHJlYWQtPmJhc2UgKyBDTURRX1RIUl9DVVJSX0FERFIpOw0KPiA+IC0JCXdyaXRl bCh0YXNrLT5wYV9iYXNlICsgcGt0LT5jbWRfYnVmX3NpemUsDQo+ID4gKwkJd3JpdGVsKHRhc2st PnBhX2Jhc2UgPj4gY21kcS0+c2hpZnRfcGEsDQo+ID4gKwkJICAgICAgIHRocmVhZC0+YmFzZSAr IENNRFFfVEhSX0NVUlJfQUREUik7DQo+ID4gKwkJd3JpdGVsKCh0YXNrLT5wYV9iYXNlICsgcGt0 LT5jbWRfYnVmX3NpemUpID4+IGNtZHEtPnNoaWZ0X3BhLA0KPiA+ICAJCSAgICAgICB0aHJlYWQt PmJhc2UgKyBDTURRX1RIUl9FTkRfQUREUik7DQo+ID4gKw0KPiA+ICAJCXdyaXRlbCh0aHJlYWQt PnByaW9yaXR5LCB0aHJlYWQtPmJhc2UgKyBDTURRX1RIUl9QUklPUklUWSk7DQo+ID4gIAkJd3Jp dGVsKENNRFFfVEhSX0lSUV9FTiwgdGhyZWFkLT5iYXNlICsgQ01EUV9USFJfSVJRX0VOQUJMRSk7 DQo+ID4gIAkJd3JpdGVsKENNRFFfVEhSX0VOQUJMRUQsIHRocmVhZC0+YmFzZSArIENNRFFfVEhS X0VOQUJMRV9UQVNLKTsNCj4gPiAgCX0gZWxzZSB7DQo+ID4gIAkJV0FSTl9PTihjbWRxX3RocmVh ZF9zdXNwZW5kKGNtZHEsIHRocmVhZCkgPCAwKTsNCj4gPiAtCQljdXJyX3BhID0gcmVhZGwodGhy ZWFkLT5iYXNlICsgQ01EUV9USFJfQ1VSUl9BRERSKTsNCj4gPiAtCQllbmRfcGEgPSByZWFkbCh0 aHJlYWQtPmJhc2UgKyBDTURRX1RIUl9FTkRfQUREUik7DQo+ID4gKwkJY3Vycl9wYSA9IHJlYWRs KHRocmVhZC0+YmFzZSArIENNRFFfVEhSX0NVUlJfQUREUikgPDwNCj4gPiArCQkJY21kcS0+c2hp ZnRfcGE7DQo+ID4gKwkJZW5kX3BhID0gcmVhZGwodGhyZWFkLT5iYXNlICsgQ01EUV9USFJfRU5E X0FERFIpIDw8DQo+ID4gKwkJCWNtZHEtPnNoaWZ0X3BhOw0KPiA+ICANCj4gPiAgCQkvKg0KPiA+ ICAJCSAqIEF0b21pYyBleGVjdXRpb24gc2hvdWxkIHJlbW92ZSB0aGUgZm9sbG93aW5nIHdmZSwg aS5lLiBvbmx5DQo+ID4gQEAgLTM5NSw3ICs0MTUsNyBAQCBzdGF0aWMgaW50IGNtZHFfbWJveF9z ZW5kX2RhdGEoc3RydWN0IG1ib3hfY2hhbiAqY2hhbiwgdm9pZCAqZGF0YSkNCj4gPiAgCQkJCWNt ZHFfdGhyZWFkX3dhaXRfZW5kKHRocmVhZCwgZW5kX3BhKTsNCj4gPiAgCQkJCVdBUk5fT04oY21k cV90aHJlYWRfc3VzcGVuZChjbWRxLCB0aHJlYWQpIDwgMCk7DQo+ID4gIAkJCQkvKiBzZXQgdG8g dGhpcyB0YXNrIGRpcmVjdGx5ICovDQo+ID4gLQkJCQl3cml0ZWwodGFzay0+cGFfYmFzZSwNCj4g PiArCQkJCXdyaXRlbCh0YXNrLT5wYV9iYXNlID4+IGNtZHEtPnNoaWZ0X3BhLA0KPiA+ICAJCQkJ ICAgICAgIHRocmVhZC0+YmFzZSArIENNRFFfVEhSX0NVUlJfQUREUik7DQo+ID4gIAkJCX0gZWxz ZSB7DQo+ID4gIAkJCQljbWRxX3Rhc2tfaW5zZXJ0X2ludG9fdGhyZWFkKHRhc2spOw0KPiA+IEBA IC00MDcsMTQgKzQyNywxNCBAQCBzdGF0aWMgaW50IGNtZHFfbWJveF9zZW5kX2RhdGEoc3RydWN0 IG1ib3hfY2hhbiAqY2hhbiwgdm9pZCAqZGF0YSkNCj4gPiAgCQkJaWYgKGN1cnJfcGEgPT0gZW5k X3BhIC0gQ01EUV9JTlNUX1NJWkUgfHwNCj4gPiAgCQkJICAgIGN1cnJfcGEgPT0gZW5kX3BhKSB7 DQo+ID4gIAkJCQkvKiBzZXQgdG8gdGhpcyB0YXNrIGRpcmVjdGx5ICovDQo+ID4gLQkJCQl3cml0 ZWwodGFzay0+cGFfYmFzZSwNCj4gPiArCQkJCXdyaXRlbCh0YXNrLT5wYV9iYXNlID4+IGNtZHEt PnNoaWZ0X3BhLA0KPiA+ICAJCQkJICAgICAgIHRocmVhZC0+YmFzZSArIENNRFFfVEhSX0NVUlJf QUREUik7DQo+ID4gIAkJCX0gZWxzZSB7DQo+ID4gIAkJCQljbWRxX3Rhc2tfaW5zZXJ0X2ludG9f dGhyZWFkKHRhc2spOw0KPiA+ICAJCQkJc21wX21iKCk7IC8qIG1vZGlmeSBqdW1wIGJlZm9yZSBl bmFibGUgdGhyZWFkICovDQo+ID4gIAkJCX0NCj4gPiAgCQl9DQo+ID4gLQkJd3JpdGVsKHRhc2st PnBhX2Jhc2UgKyBwa3QtPmNtZF9idWZfc2l6ZSwNCj4gPiArCQl3cml0ZWwoKHRhc2stPnBhX2Jh c2UgKyBwa3QtPmNtZF9idWZfc2l6ZSkgPj4gY21kcS0+c2hpZnRfcGEsDQo+ID4gIAkJICAgICAg IHRocmVhZC0+YmFzZSArIENNRFFfVEhSX0VORF9BRERSKTsNCj4gPiAgCQljbWRxX3RocmVhZF9y ZXN1bWUodGhyZWFkKTsNCj4gPiAgCX0NCj4gPiBAQCAtNDYxLDYgKzQ4MSw3IEBAIHN0YXRpYyBp bnQgY21kcV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPiA+ICAJc3RydWN0 IHJlc291cmNlICpyZXM7DQo+ID4gIAlzdHJ1Y3QgY21kcSAqY21kcTsNCj4gPiAgCWludCBlcnIs IGk7DQo+ID4gKwlzdHJ1Y3QgZ2NlX3BsYXQgKnBsYXRfZGF0YTsNCj4gPiAgDQo+ID4gIAljbWRx ID0gZGV2bV9remFsbG9jKGRldiwgc2l6ZW9mKCpjbWRxKSwgR0ZQX0tFUk5FTCk7DQo+ID4gIAlp ZiAoIWNtZHEpDQo+ID4gQEAgLTQ3OSw3ICs1MDAsMTQgQEAgc3RhdGljIGludCBjbWRxX3Byb2Jl KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQo+ID4gIAkJcmV0dXJuIC1FSU5WQUw7DQo+ ID4gIAl9DQo+ID4gIA0KPiA+IC0JY21kcS0+dGhyZWFkX25yID0gKHUzMikodW5zaWduZWQgbG9u ZylvZl9kZXZpY2VfZ2V0X21hdGNoX2RhdGEoZGV2KTsNCj4gPiArCXBsYXRfZGF0YSA9IChzdHJ1 Y3QgZ2NlX3BsYXQgKilvZl9kZXZpY2VfZ2V0X21hdGNoX2RhdGEoZGV2KTsNCj4gPiArCWlmICgh cGxhdF9kYXRhKSB7DQo+ID4gKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gZ2V0IG1hdGNoIGRh dGFcbiIpOw0KPiA+ICsJCXJldHVybiAtRUlOVkFMOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCWNt ZHEtPnRocmVhZF9uciA9IHBsYXRfZGF0YS0+dGhyZWFkX25yOw0KPiA+ICsJY21kcS0+c2hpZnRf cGEgPSBwbGF0X2RhdGEtPnNoaWZ0Ow0KPiA+ICAJY21kcS0+aXJxX21hc2sgPSBHRU5NQVNLKGNt ZHEtPnRocmVhZF9uciAtIDEsIDApOw0KPiA+ICAJZXJyID0gZGV2bV9yZXF1ZXN0X2lycShkZXYs IGNtZHEtPmlycSwgY21kcV9pcnFfaGFuZGxlciwgSVJRRl9TSEFSRUQsDQo+ID4gIAkJCSAgICAg ICAibXRrX2NtZHEiLCBjbWRxKTsNCj4gPiBAQCAtNTQyLDkgKzU3MCwxMiBAQCBzdGF0aWMgaW50 IGNtZHFfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4gPiAgCS5yZXN1bWUg PSBjbWRxX3Jlc3VtZSwNCj4gPiAgfTsNCj4gPiAgDQo+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg Z2NlX3BsYXQgZ2NlX3BsYXRfdjIgPSB7LnRocmVhZF9uciA9IDE2fTsNCj4gPiArc3RhdGljIGNv bnN0IHN0cnVjdCBnY2VfcGxhdCBnY2VfcGxhdF92MyA9IHsudGhyZWFkX25yID0gMjR9Ow0KPiA+ ICsNCj4gPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgY21kcV9vZl9pZHNbXSA9 IHsNCj4gPiAtCXsuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZ2NlIiwgLmRhdGEgPSAo dm9pZCAqKTE2fSwNCj4gPiAtCXsuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxODMtZ2NlIiwg LmRhdGEgPSAodm9pZCAqKTI0fSwNCj4gPiArCXsuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgx NzMtZ2NlIiwgLmRhdGEgPSAodm9pZCAqKSZnY2VfcGxhdF92Mn0sDQo+ID4gKwl7LmNvbXBhdGli bGUgPSAibWVkaWF0ZWssbXQ4MTgzLWdjZSIsIC5kYXRhID0gKHZvaWQgKikmZ2NlX3BsYXRfdjN9 LA0KPiA+ICAJe30NCj4gPiAgfTsNCj4gPiAgDQo+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGlu dXgvbWFpbGJveC9tdGstY21kcS1tYWlsYm94LmggYi9pbmNsdWRlL2xpbnV4L21haWxib3gvbXRr LWNtZHEtbWFpbGJveC5oDQo+ID4gaW5kZXggYTRkYzQ1ZmJlYzBhLi5kZmU1YjJlYjg1Y2MgMTAw NjQ0DQo+ID4gLS0tIGEvaW5jbHVkZS9saW51eC9tYWlsYm94L210ay1jbWRxLW1haWxib3guaA0K PiA+ICsrKyBiL2luY2x1ZGUvbGludXgvbWFpbGJveC9tdGstY21kcS1tYWlsYm94LmgNCj4gPiBA QCAtODgsNCArODgsNiBAQCBzdHJ1Y3QgY21kcV9wa3Qgew0KPiA+ICAJdm9pZAkJCSpjbDsNCj4g PiAgfTsNCj4gPiAgDQo+ID4gK3U4IGNtZHFfbWJveF9zaGlmdChzdHJ1Y3QgbWJveF9jaGFuICpj aGFuKTsNCj4gPiArDQo+ID4gICNlbmRpZiAvKiBfX01US19DTURRX01BSUxCT1hfSF9fICovDQo+ IA0KPiANCg0K