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=-3.8 required=3.0 tests=CHARSET_FARAWAY_HEADER, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,URIBL_BLOCKED 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 D38F0C43381 for ; Thu, 14 Feb 2019 06:37:30 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 99E10222A1 for ; Thu, 14 Feb 2019 06:37:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2405784AbfBNGh3 (ORCPT ); Thu, 14 Feb 2019 01:37:29 -0500 Received: from szxga01-in.huawei.com ([45.249.212.187]:2451 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2405731AbfBNGh2 (ORCPT ); Thu, 14 Feb 2019 01:37:28 -0500 Received: from DGGEMM406-HUB.china.huawei.com (unknown [172.30.72.57]) by Forcepoint Email with ESMTP id 8A3C98E63F19A08631FF; Thu, 14 Feb 2019 14:37:26 +0800 (CST) Received: from DGGEMM526-MBX.china.huawei.com ([169.254.8.222]) by DGGEMM406-HUB.china.huawei.com ([10.3.20.214]) with mapi id 14.03.0415.000; Thu, 14 Feb 2019 14:37:23 +0800 From: "liwei (CM)" To: Manivannan Sadhasivam , "vinholikatti@gmail.com" , "jejb@linux.vnet.ibm.com" , "martin.petersen@oracle.com" , "robh+dt@kernel.org" CC: "linux-scsi@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "devicetree@vger.kernel.org" , "john.stultz@linaro.org" , "amit.kucheria@linaro.org" , "guodong.xu@linaro.org" Subject: =?gb2312?B?tPC4tDogW1BBVENIIHYyIDMvM10gc2NzaTogdWZzOiBBZGQgSEkzNjcwIFNv?= =?gb2312?Q?C_UFS_driver_support?= Thread-Topic: [PATCH v2 3/3] scsi: ufs: Add HI3670 SoC UFS driver support Thread-Index: AQHUpMht1CmYXwUbw0+7E5YSz6BCSqXfFeSQ Date: Thu, 14 Feb 2019 06:37:22 +0000 Message-ID: <1699CE87DE933F49876AD744B5DC140F0672AA1E@dggemm526-mbx.china.huawei.com> References: <20190105072859.9134-1-manivannan.sadhasivam@linaro.org> <20190105072859.9134-4-manivannan.sadhasivam@linaro.org> In-Reply-To: <20190105072859.9134-4-manivannan.sadhasivam@linaro.org> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.189.155.72] Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org RmluZSB0byBtZS4gVGhhbmtzIQ0KQWNrZWQtYnk6IFdlaSBMaSA8bGl3ZWkyMTNAaHVhd2VpLmNv bT4NCg0KLS0tLS3Tyrz+1K28/i0tLS0tDQq3orz+yMs6IE1hbml2YW5uYW4gU2FkaGFzaXZhbSBb bWFpbHRvOm1hbml2YW5uYW4uc2FkaGFzaXZhbUBsaW5hcm8ub3JnXSANCreiy83KsbzkOiAyMDE5 xOox1MI1yNUgMTU6MjkNCsrVvP7IyzogdmluaG9saWthdHRpQGdtYWlsLmNvbTsgamVqYkBsaW51 eC52bmV0LmlibS5jb207IG1hcnRpbi5wZXRlcnNlbkBvcmFjbGUuY29tOyBsaXdlaSAoQ00pOyBy b2JoK2R0QGtlcm5lbC5vcmcNCrOty806IGxpbnV4LXNjc2lAdmdlci5rZXJuZWwub3JnOyBsaW51 eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnOyBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVh ZC5vcmc7IGRldmljZXRyZWVAdmdlci5rZXJuZWwub3JnOyBqb2huLnN0dWx0ekBsaW5hcm8ub3Jn OyBhbWl0Lmt1Y2hlcmlhQGxpbmFyby5vcmc7IGd1b2RvbmcueHVAbGluYXJvLm9yZzsgTWFuaXZh bm5hbiBTYWRoYXNpdmFtDQrW98ziOiBbUEFUQ0ggdjIgMy8zXSBzY3NpOiB1ZnM6IEFkZCBISTM2 NzAgU29DIFVGUyBkcml2ZXIgc3VwcG9ydA0KDQpBZGQgSEkzNjcwIFNvQyBVRlMgZHJpdmVyIHN1 cHBvcnQgYnkgZXh0ZW5kaW5nIHRoZSBjb21tb24gdWZzLWhpc2kNCmRyaXZlci4gT25lIG1ham9y IGRpZmZlcmVuY2UgYmV0d2VlbiBISTM2NjAgYWQgSEkzNjcwIFNvQ3MgaW50ZXJtcyBvZg0KVUZT IGlzIHRoZSBQSFkuIEhJMzY3MCBoYXMgYSAxMG5tIHZhcmlhbnQgUEhZIGFuZCBoZW5jZSB0aGlz IHBhcmFtZXRlciBpcw0KdXNlZCB0byBkaXN0aW5ndWlzaCB0aGUgY29uZmlndXJhdGlvbi4NCg0K U2lnbmVkLW9mZi1ieTogTWFuaXZhbm5hbiBTYWRoYXNpdmFtIDxtYW5pdmFubmFuLnNhZGhhc2l2 YW1AbGluYXJvLm9yZz4NCi0tLQ0KIGRyaXZlcnMvc2NzaS91ZnMvdWZzLWhpc2kuYyB8IDEyNyAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0NCiBkcml2ZXJzL3Njc2kvdWZzL3Vm cy1oaXNpLmggfCAgIDQgKysNCiAyIGZpbGVzIGNoYW5nZWQsIDEwOSBpbnNlcnRpb25zKCspLCAy MiBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS91ZnMvdWZzLWhpc2ku YyBiL2RyaXZlcnMvc2NzaS91ZnMvdWZzLWhpc2kuYw0KaW5kZXggNDUyZTE5ZjhmYjQ3Li5mMmQz ZGYzNTdhOTcgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL3Njc2kvdWZzL3Vmcy1oaXNpLmMNCisrKyBi L2RyaXZlcnMvc2NzaS91ZnMvdWZzLWhpc2kuYw0KQEAgLTY2LDcgKzY2LDcgQEAgc3RhdGljIGlu dCB1ZnNfaGlzaV9jaGVja19oaWJlcm44KHN0cnVjdCB1ZnNfaGJhICpoYmEpDQogCXJldHVybiBl cnI7DQogfQ0KIA0KLXN0YXRpYyB2b2lkIHVmc19oaTM2NjBfY2xrX2luaXQoc3RydWN0IHVmc19o YmEgKmhiYSkNCitzdGF0aWMgdm9pZCB1ZnNfaGlzaV9jbGtfaW5pdChzdHJ1Y3QgdWZzX2hiYSAq aGJhKQ0KIHsNCiAJc3RydWN0IHVmc19oaXNpX2hvc3QgKmhvc3QgPSB1ZnNoY2RfZ2V0X3Zhcmlh bnQoaGJhKTsNCiANCkBAIC04MCw3ICs4MCw3IEBAIHN0YXRpYyB2b2lkIHVmc19oaTM2NjBfY2xr X2luaXQoc3RydWN0IHVmc19oYmEgKmhiYSkNCiAJdWZzX3N5c19jdHJsX3NldF9iaXRzKGhvc3Qs IEJJVF9TWVNDVFJMX1JFRl9DTE9DS19FTiwgUEhZX0NMS19DVFJMKTsNCiB9DQogDQotc3RhdGlj IHZvaWQgdWZzX2hpMzY2MF9zb2NfaW5pdChzdHJ1Y3QgdWZzX2hiYSAqaGJhKQ0KK3N0YXRpYyB2 b2lkIHVmc19oaXNpX3NvY19pbml0KHN0cnVjdCB1ZnNfaGJhICpoYmEpDQogew0KIAlzdHJ1Y3Qg dWZzX2hpc2lfaG9zdCAqaG9zdCA9IHVmc2hjZF9nZXRfdmFyaWFudChoYmEpOw0KIAl1MzIgcmVn Ow0KQEAgLTEzOSw2ICsxMzksNyBAQCBzdGF0aWMgdm9pZCB1ZnNfaGkzNjYwX3NvY19pbml0KHN0 cnVjdCB1ZnNfaGJhICpoYmEpDQogDQogc3RhdGljIGludCB1ZnNfaGlzaV9saW5rX3N0YXJ0dXBf cHJlX2NoYW5nZShzdHJ1Y3QgdWZzX2hiYSAqaGJhKQ0KIHsNCisJc3RydWN0IHVmc19oaXNpX2hv c3QgKmhvc3QgPSB1ZnNoY2RfZ2V0X3ZhcmlhbnQoaGJhKTsNCiAJaW50IGVycjsNCiAJdWludDMy X3QgdmFsdWU7DQogCXVpbnQzMl90IHJlZzsNCkBAIC0xNTMsNiArMTU0LDE0IEBAIHN0YXRpYyBp bnQgdWZzX2hpc2lfbGlua19zdGFydHVwX3ByZV9jaGFuZ2Uoc3RydWN0IHVmc19oYmEgKmhiYSkN CiAJdWZzaGNkX2RtZV9zZXQoaGJhLCBVSUNfQVJHX01JQl9TRUwoMHg4MTIxLCAweDApLCAweDJE KTsNCiAJLyogTVBIWSBDQk9WUkNUUkwzICovDQogCXVmc2hjZF9kbWVfc2V0KGhiYSwgVUlDX0FS R19NSUJfU0VMKDB4ODEyMiwgMHgwKSwgMHgxKTsNCisNCisJaWYgKGhvc3QtPmNhcHMgJiBVRlNf SElTSV9DQVBfUEhZMTBubSkgew0KKwkJLyogTVBIWSBDQk9WUkNUUkw0ICovDQorCQl1ZnNoY2Rf ZG1lX3NldChoYmEsIFVJQ19BUkdfTUlCX1NFTCgweDgxMjcsIDB4MCksIDB4OTgpOw0KKwkJLyog TVBIWSBDQk9WUkNUUkw1ICovDQorCQl1ZnNoY2RfZG1lX3NldChoYmEsIFVJQ19BUkdfTUlCX1NF TCgweDgxMjgsIDB4MCksIDB4MSk7DQorCX0NCisNCiAJLyogVW5pcHJvIFZTX01waHlDZmdVcGR0 ICovDQogCXVmc2hjZF9kbWVfc2V0KGhiYSwgVUlDX0FSR19NSUJfU0VMKDB4RDA4NSwgMHgwKSwg MHgxKTsNCiAJLyogTVBIWSBSWE9WUkNUUkw0IHJ4MCAqLw0KQEAgLTE3MywxMCArMTgyLDIxIEBA IHN0YXRpYyBpbnQgdWZzX2hpc2lfbGlua19zdGFydHVwX3ByZV9jaGFuZ2Uoc3RydWN0IHVmc19o YmEgKmhiYSkNCiAJdWZzaGNkX2RtZV9zZXQoaGJhLCBVSUNfQVJHX01JQl9TRUwoMHg4MTEzLCAw eDApLCAweDEpOw0KIAl1ZnNoY2RfZG1lX3NldChoYmEsIFVJQ19BUkdfTUlCX1NFTCgweEQwODUs IDB4MCksIDB4MSk7DQogDQotCS8qIFRhY3RpdmUgUlggKi8NCi0JdWZzaGNkX2RtZV9zZXQoaGJh LCBVSUNfQVJHX01JQl9TRUwoMHgwMDhGLCAweDQpLCAweDcpOw0KLQkvKiBUYWN0aXZlIFJYICov DQotCXVmc2hjZF9kbWVfc2V0KGhiYSwgVUlDX0FSR19NSUJfU0VMKDB4MDA4RiwgMHg1KSwgMHg3 KTsNCisJaWYgKGhvc3QtPmNhcHMgJiBVRlNfSElTSV9DQVBfUEhZMTBubSkgew0KKwkJLyogUlhf SGliZXJuOFRpbWVfQ2FwYWJpbGl0eSovDQorCQl1ZnNoY2RfZG1lX3NldChoYmEsIFVJQ19BUkdf TUlCX1NFTCgweDAwOTIsIDB4NCksIDB4QSk7DQorCQkvKiBSWF9IaWJlcm44VGltZV9DYXBhYmls aXR5Ki8NCisJCXVmc2hjZF9kbWVfc2V0KGhiYSwgVUlDX0FSR19NSUJfU0VMKDB4MDA5MiwgMHg1 KSwgMHhBKTsNCisJCS8qIFJYX01pbl9BY3RpdmF0ZVRpbWUgKi8NCisJCXVmc2hjZF9kbWVfc2V0 KGhiYSwgVUlDX0FSR19NSUJfU0VMKDB4MDA4ZiwgMHg0KSwgMHhBKTsNCisJCS8qIFJYX01pbl9B Y3RpdmF0ZVRpbWUqLw0KKwkJdWZzaGNkX2RtZV9zZXQoaGJhLCBVSUNfQVJHX01JQl9TRUwoMHgw MDhmLCAweDUpLCAweEEpOw0KKwl9IGVsc2Ugew0KKwkJLyogVGFjdGl2ZSBSWCAqLw0KKwkJdWZz aGNkX2RtZV9zZXQoaGJhLCBVSUNfQVJHX01JQl9TRUwoMHgwMDhGLCAweDQpLCAweDcpOw0KKwkJ LyogVGFjdGl2ZSBSWCAqLw0KKwkJdWZzaGNkX2RtZV9zZXQoaGJhLCBVSUNfQVJHX01JQl9TRUwo MHgwMDhGLCAweDUpLCAweDcpOw0KKwl9DQogDQogCS8qIEdlYXIzIFN5bmNsZW5ndGggKi8NCiAJ dWZzaGNkX2RtZV9zZXQoaGJhLCBVSUNfQVJHX01JQl9TRUwoMHgwMDk1LCAweDQpLCAweDRGKTsN CkBAIC0yMDgsNyArMjI4LDggQEAgc3RhdGljIGludCB1ZnNfaGlzaV9saW5rX3N0YXJ0dXBfcHJl X2NoYW5nZShzdHJ1Y3QgdWZzX2hiYSAqaGJhKQ0KIAlpZiAoZXJyKQ0KIAkJZGV2X2VycihoYmEt PmRldiwgInVmc19oaXNpX2NoZWNrX2hpYmVybjggZXJyb3JcbiIpOw0KIA0KLQl1ZnNoY2Rfd3Jp dGVsKGhiYSwgVUZTX0hDTEtESVZfTk9STUFMX1ZBTFVFLCBVRlNfUkVHX0hDTEtESVYpOw0KKwlp ZiAoIShob3N0LT5jYXBzICYgVUZTX0hJU0lfQ0FQX1BIWTEwbm0pKQ0KKwkJdWZzaGNkX3dyaXRl bChoYmEsIFVGU19IQ0xLRElWX05PUk1BTF9WQUxVRSwgVUZTX1JFR19IQ0xLRElWKTsNCiANCiAJ LyogZGlzYWJsZSBhdXRvIEg4ICovDQogCXJlZyA9IHVmc2hjZF9yZWFkbChoYmEsIFJFR19BVVRP X0hJQkVSTkFURV9JRExFX1RJTUVSKTsNCkBAIC0yNTMsNyArMjc0LDcgQEAgc3RhdGljIGludCB1 ZnNfaGlzaV9saW5rX3N0YXJ0dXBfcG9zdF9jaGFuZ2Uoc3RydWN0IHVmc19oYmEgKmhiYSkNCiAJ cmV0dXJuIDA7DQogfQ0KIA0KLXN0YXRpYyBpbnQgdWZzX2hpMzY2MF9saW5rX3N0YXJ0dXBfbm90 aWZ5KHN0cnVjdCB1ZnNfaGJhICpoYmEsDQorc3RhdGljIGludCB1ZnNfaGlzaV9saW5rX3N0YXJ0 dXBfbm90aWZ5KHN0cnVjdCB1ZnNfaGJhICpoYmEsDQogCQkJCQkgIGVudW0gdWZzX25vdGlmeV9j aGFuZ2Vfc3RhdHVzIHN0YXR1cykNCiB7DQogCWludCBlcnIgPSAwOw0KQEAgLTM5MSw2ICs0MTIs MjggQEAgc3RhdGljIHZvaWQgdWZzX2hpc2lfc2V0X2Rldl9jYXAoc3RydWN0IHVmc19oaXNpX2Rl dl9wYXJhbXMgKmhpc2lfcGFyYW0pDQogDQogc3RhdGljIHZvaWQgdWZzX2hpc2lfcHdyX2NoYW5n ZV9wcmVfY2hhbmdlKHN0cnVjdCB1ZnNfaGJhICpoYmEpDQogew0KKwlzdHJ1Y3QgdWZzX2hpc2lf aG9zdCAqaG9zdCA9IHVmc2hjZF9nZXRfdmFyaWFudChoYmEpOw0KKw0KKwlpZiAoaG9zdC0+Y2Fw cyAmIFVGU19ISVNJX0NBUF9QSFkxMG5tKSB7DQorCQkvKg0KKwkJICogQm9zdG9uIHBsYXRmb3Jt IG5lZWQgdG8gc2V0IFNhdmVDb25maWdUaW1lIHRvIDB4MTMsDQorCQkgKiBhbmQgY2hhbmdlIHN5 bmMgbGVuZ3RoIHRvIG1heGltdW0gdmFsdWUNCisJCSAqLw0KKwkJLyogVlNfRGVidWdTYXZlQ29u ZmlnVGltZSAqLw0KKwkJdWZzaGNkX2RtZV9zZXQoaGJhLCBVSUNfQVJHX01JQigodTMyKTB4RDBB MCksIDB4MTMpOw0KKwkJLyogZzEgc3luYyBsZW5ndGggKi8NCisJCXVmc2hjZF9kbWVfc2V0KGhi YSwgVUlDX0FSR19NSUIoKHUzMikweDE1NTIpLCAweDRmKTsNCisJCS8qIGcyIHN5bmMgbGVuZ3Ro ICovDQorCQl1ZnNoY2RfZG1lX3NldChoYmEsIFVJQ19BUkdfTUlCKCh1MzIpMHgxNTU0KSwgMHg0 Zik7DQorCQkvKiBnMyBzeW5jIGxlbmd0aCAqLw0KKwkJdWZzaGNkX2RtZV9zZXQoaGJhLCBVSUNf QVJHX01JQigodTMyKTB4MTU1NiksIDB4NGYpOw0KKwkJLyogUEFfSGliZXJuOFRpbWUgKi8NCisJ CXVmc2hjZF9kbWVfc2V0KGhiYSwgVUlDX0FSR19NSUIoKHUzMikweDE1YTcpLCAweEEpOw0KKwkJ LyogUEFfVGFjdGl2YXRlICovDQorCQl1ZnNoY2RfZG1lX3NldChoYmEsIFVJQ19BUkdfTUlCKCh1 MzIpMHgxNWE4KSwgMHhBKTsNCisJCXVmc2hjZF9kbWVfc2V0KGhiYSwgVUlDX0FSR19NSUJfU0VM KDB4ZDA4NSwgMHgwKSwgMHgwMSk7DQorCX0NCisNCiAJaWYgKGhiYS0+ZGV2X3F1aXJrcyAmIFVG U19ERVZJQ0VfUVVJUktfSE9TVF9WU19ERUJVR1NBVkVDT05GSUdUSU1FKSB7DQogCQlwcl9pbmZv KCJ1ZnMgZmxhc2ggZGV2aWNlIG11c3Qgc2V0IFZTX0RlYnVnU2F2ZUNvbmZpZ1RpbWUgMHgxMFxu Iik7DQogCQkvKiBWU19EZWJ1Z1NhdmVDb25maWdUaW1lICovDQpAQCAtNDI5LDcgKzQ3Miw3IEBA IHN0YXRpYyB2b2lkIHVmc19oaXNpX3B3cl9jaGFuZ2VfcHJlX2NoYW5nZShzdHJ1Y3QgdWZzX2hi YSAqaGJhKQ0KIAl1ZnNoY2RfZG1lX3NldChoYmEsIFVJQ19BUkdfTUlCKDB4ZDA0NiksIDMyNzY3 KTsNCiB9DQogDQotc3RhdGljIGludCB1ZnNfaGkzNjYwX3B3cl9jaGFuZ2Vfbm90aWZ5KHN0cnVj dCB1ZnNfaGJhICpoYmEsDQorc3RhdGljIGludCB1ZnNfaGlzaV9wd3JfY2hhbmdlX25vdGlmeShz dHJ1Y3QgdWZzX2hiYSAqaGJhLA0KIAkJCQkgICAgICAgZW51bSB1ZnNfbm90aWZ5X2NoYW5nZV9z dGF0dXMgc3RhdHVzLA0KIAkJCQkgICAgICAgc3RydWN0IHVmc19wYV9sYXllcl9hdHRyICpkZXZf bWF4X3BhcmFtcywNCiAJCQkJICAgICAgIHN0cnVjdCB1ZnNfcGFfbGF5ZXJfYXR0ciAqZGV2X3Jl cV9wYXJhbXMpDQpAQCAtNTY3LDI1ICs2MTAsNzIgQEAgc3RhdGljIGludCB1ZnNfaGkzNjYwX2lu aXQoc3RydWN0IHVmc19oYmEgKmhiYSkNCiAJCXJldHVybiByZXQ7DQogCX0NCiANCi0JdWZzX2hp MzY2MF9jbGtfaW5pdChoYmEpOw0KKwl1ZnNfaGlzaV9jbGtfaW5pdChoYmEpOw0KKw0KKwl1ZnNf aGlzaV9zb2NfaW5pdChoYmEpOw0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludCB1 ZnNfaGkzNjcwX2luaXQoc3RydWN0IHVmc19oYmEgKmhiYSkNCit7DQorCWludCByZXQgPSAwOw0K KwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSBoYmEtPmRldjsNCisJc3RydWN0IHVmc19oaXNpX2hvc3Qg Kmhvc3Q7DQorDQorCXJldCA9IHVmc19oaXNpX2luaXRfY29tbW9uKGhiYSk7DQorCWlmIChyZXQp IHsNCisJCWRldl9lcnIoZGV2LCAiJXM6IHVmcyBjb21tb24gaW5pdCBmYWlsXG4iLCBfX2Z1bmNf Xyk7DQorCQlyZXR1cm4gcmV0Ow0KKwl9DQorDQorCXVmc19oaXNpX2Nsa19pbml0KGhiYSk7DQor DQorCXVmc19oaXNpX3NvY19pbml0KGhiYSk7DQogDQotCXVmc19oaTM2NjBfc29jX2luaXQoaGJh KTsNCisJLyogQWRkIGNhcCBmb3IgMTBubSBQSFkgdmFyaWFudCBvbiBISTM2NzAgU29DICovDQor CWhvc3QgPSB1ZnNoY2RfZ2V0X3ZhcmlhbnQoaGJhKTsNCisJaG9zdC0+Y2FwcyB8PSBVRlNfSElT SV9DQVBfUEhZMTBubTsNCiANCiAJcmV0dXJuIDA7DQogfQ0KIA0KLXN0YXRpYyBzdHJ1Y3QgdWZz X2hiYV92YXJpYW50X29wcyB1ZnNfaGJhX2hpc2lfdm9wcyA9IHsNCitzdGF0aWMgc3RydWN0IHVm c19oYmFfdmFyaWFudF9vcHMgdWZzX2hiYV9oaTM2NjBfdm9wcyA9IHsNCiAJLm5hbWUgPSAiaGkz NjYwIiwNCiAJLmluaXQgPSB1ZnNfaGkzNjYwX2luaXQsDQotCS5saW5rX3N0YXJ0dXBfbm90aWZ5 ID0gdWZzX2hpMzY2MF9saW5rX3N0YXJ0dXBfbm90aWZ5LA0KLQkucHdyX2NoYW5nZV9ub3RpZnkg PSB1ZnNfaGkzNjYwX3B3cl9jaGFuZ2Vfbm90aWZ5LA0KKwkubGlua19zdGFydHVwX25vdGlmeSA9 IHVmc19oaXNpX2xpbmtfc3RhcnR1cF9ub3RpZnksDQorCS5wd3JfY2hhbmdlX25vdGlmeSA9IHVm c19oaXNpX3B3cl9jaGFuZ2Vfbm90aWZ5LA0KIAkuc3VzcGVuZCA9IHVmc19oaXNpX3N1c3BlbmQs DQogCS5yZXN1bWUgPSB1ZnNfaGlzaV9yZXN1bWUsDQogfTsNCiANCitzdGF0aWMgc3RydWN0IHVm c19oYmFfdmFyaWFudF9vcHMgdWZzX2hiYV9oaTM2NzBfdm9wcyA9IHsNCisJLm5hbWUgPSAiaGkz NjcwIiwNCisJLmluaXQgPSB1ZnNfaGkzNjcwX2luaXQsDQorCS5saW5rX3N0YXJ0dXBfbm90aWZ5 ID0gdWZzX2hpc2lfbGlua19zdGFydHVwX25vdGlmeSwNCisJLnB3cl9jaGFuZ2Vfbm90aWZ5ID0g dWZzX2hpc2lfcHdyX2NoYW5nZV9ub3RpZnksDQorCS5zdXNwZW5kID0gdWZzX2hpc2lfc3VzcGVu ZCwNCisJLnJlc3VtZSA9IHVmc19oaXNpX3Jlc3VtZSwNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBz dHJ1Y3Qgb2ZfZGV2aWNlX2lkIHVmc19oaXNpX29mX21hdGNoW10gPSB7DQorCXsgLmNvbXBhdGli bGUgPSAiaGlzaWxpY29uLGhpMzY2MC11ZnMiLCAuZGF0YSA9ICZ1ZnNfaGJhX2hpMzY2MF92b3Bz IH0sDQorCXsgLmNvbXBhdGlibGUgPSAiaGlzaWxpY29uLGhpMzY3MC11ZnMiLCAuZGF0YSA9ICZ1 ZnNfaGJhX2hpMzY3MF92b3BzIH0sDQorCXt9LA0KK307DQorDQorTU9EVUxFX0RFVklDRV9UQUJM RShvZiwgdWZzX2hpc2lfb2ZfbWF0Y2gpOw0KKw0KIHN0YXRpYyBpbnQgdWZzX2hpc2lfcHJvYmUo c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCiB7DQotCXJldHVybiB1ZnNoY2RfcGx0ZnJt X2luaXQocGRldiwgJnVmc19oYmFfaGlzaV92b3BzKTsNCisJY29uc3Qgc3RydWN0IG9mX2Rldmlj ZV9pZCAqb2ZfaWQ7DQorCXN0cnVjdCB1ZnNfaGJhX3ZhcmlhbnRfb3BzICp2b3BzOw0KKwlzdHJ1 Y3QgZGV2aWNlICpkZXYgPSAmcGRldi0+ZGV2Ow0KKw0KKwlvZl9pZCA9IG9mX21hdGNoX25vZGUo dWZzX2hpc2lfb2ZfbWF0Y2gsIGRldi0+b2Zfbm9kZSk7DQorCXZvcHMgPSAoc3RydWN0IHVmc19o YmFfdmFyaWFudF9vcHMgKilvZl9pZC0+ZGF0YTsNCisNCisJcmV0dXJuIHVmc2hjZF9wbHRmcm1f aW5pdChwZGV2LCB2b3BzKTsNCiB9DQogDQogc3RhdGljIGludCB1ZnNfaGlzaV9yZW1vdmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCkBAIC01OTYsMTMgKzY4Niw2IEBAIHN0YXRpYyBp bnQgdWZzX2hpc2lfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQogCXJldHVy biAwOw0KIH0NCiANCi1zdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCB1ZnNfaGlzaV9v Zl9tYXRjaFtdID0gew0KLQl7IC5jb21wYXRpYmxlID0gImhpc2lsaWNvbixoaTM2NjAtdWZzIiB9 LA0KLQl7fSwNCi19Ow0KLQ0KLU1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHVmc19oaXNpX29mX21h dGNoKTsNCi0NCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRldl9wbV9vcHMgdWZzX2hpc2lfcG1fb3Bz ID0gew0KIAkuc3VzcGVuZAk9IHVmc2hjZF9wbHRmcm1fc3VzcGVuZCwNCiAJLnJlc3VtZQkJPSB1 ZnNoY2RfcGx0ZnJtX3Jlc3VtZSwNCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvdWZzL3Vmcy1o aXNpLmggYi9kcml2ZXJzL3Njc2kvdWZzL3Vmcy1oaXNpLmgNCmluZGV4IDNkZjljZDdhY2MyOS4u NjY3ZGZlMzliNTdlIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9zY3NpL3Vmcy91ZnMtaGlzaS5oDQor KysgYi9kcml2ZXJzL3Njc2kvdWZzL3Vmcy1oaXNpLmgNCkBAIC05MSw2ICs5MSw5IEBAIGVudW0g ew0KICNkZWZpbmUgVUZTX0hJU0lfTElNSVRfSFNfUkFURQlQQV9IU19NT0RFX0INCiAjZGVmaW5l IFVGU19ISVNJX0xJTUlUX0RFU0lSRURfTU9ERQlGQVNUDQogDQorI2RlZmluZSBVRlNfSElTSV9D QVBfUkVTRVJWRUQJCUJJVCgwKQ0KKyNkZWZpbmUgVUZTX0hJU0lfQ0FQX1BIWTEwbm0JCUJJVCgx KQ0KKw0KIHN0cnVjdCB1ZnNfaGlzaV9ob3N0IHsNCiAJc3RydWN0IHVmc19oYmEgKmhiYTsNCiAJ dm9pZCBfX2lvbWVtICp1ZnNfc3lzX2N0cmw7DQpAQCAtMTEyLDQgKzExNSw1IEBAIHN0cnVjdCB1 ZnNfaGlzaV9ob3N0IHsNCiAJdWZzX3N5c19jdHJsX3dyaXRlbCgoaG9zdCksICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQogCQkJICAgICgofihtYXNrKSkgJiAo dWZzX3N5c19jdHJsX3JlYWRsKChob3N0KSwgKHJlZykpKSksIFwNCiAJCQkgICAgKHJlZykpDQor DQogI2VuZGlmIC8qIFVGU19ISVNJX0hfICovDQotLSANCjIuMTcuMQ0KDQo=