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=-12.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER,NICE_REPLY_A,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 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 23BF1C433E0 for ; Tue, 4 Aug 2020 11:26:49 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id F08DA2067D for ; Tue, 4 Aug 2020 11:26:48 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="KkSGoK15" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F08DA2067D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=amd.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 56C0F6E1B1; Tue, 4 Aug 2020 11:26:48 +0000 (UTC) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2049.outbound.protection.outlook.com [40.107.92.49]) by gabe.freedesktop.org (Postfix) with ESMTPS id 46DAD6E1B1 for ; Tue, 4 Aug 2020 11:26:47 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CE+olJDGrKfUBJBoYdZuepDwUa3dQi/vZ3G2tQziqQoyzNl6WF/4wxIEMtPOur2/oRQSLAEPI0Q7Wa8VrA0EG5xQWmt2fkhEskuyZnRP3YNICY24rG4k+q0Mttw+rnAmmt4/YyytMIsLN3U12b625QL1Vw7DWK7TRkRmtDTQ7hpx5EG8+lxZZiy6UMAQsrvvM+KFPzmRmkW+jX5ZA9U00yEV2eb5sK97kB4owm0LXYpDROqGgXgG0lu9cEBer0E35ICT9meDY1t9SfcgLRAEGWw1EoVXS9tpK2pPXZioiItzwshJDD8+piHL4fNhvrdr/gmUA/zLEFVekQmTjbhmTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OZkHlJdBuXlSMgDyay/9/fHXOqAJzrFXZe4GRMur0HM=; b=TnZv1PqW3f/NyJQjU9WsRUNG9RFWRAW8KPfgbt69SLtfMVJDQvzY5sByR2DfWGzY1JYJzESEtVNpUOX2OwzEJQEtRMnYrfZIUGyBXuX8M1kgAJUpC0Jjkq6bOWaGkb0yXrWYR0u4ZxAuqbmNkWtW4eN7toRh6PgA8JRLCbJhQEcPgVsQFVrJZdDLPRxH/39Q7ZO7pVhE4/rlB4LScd4FR9/YxzxX0Ef9rsvq7JvY6gFaz5d7tH+UEgvVtsOZiCx1nX36ljw9jALFWZPCsEqXTyB9uepGuwMGNQwyTo48pj0oXCRxohn2Y4fO6/1iNuPBB7Wlm5/TBeNyjo7BJ0vYiQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OZkHlJdBuXlSMgDyay/9/fHXOqAJzrFXZe4GRMur0HM=; b=KkSGoK15JL9Klg2WiNdwnnn2qOgCLxuivKObydogN93LL/2mx9YPt6XZrGQPxf+yePLilcLEJsjYEgh90EdBpUhYFA2DitN5VhNrqM1m5HFXoQmkF0UeVe+xKO+GiZKTw5r21fjuM+/kgl8a+/gGt4ofbfavB4Jk8cHqiulzTGI= Authentication-Results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=amd.com; Received: from MN2PR12MB3775.namprd12.prod.outlook.com (2603:10b6:208:159::19) by MN2PR12MB4142.namprd12.prod.outlook.com (2603:10b6:208:1dd::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.16; Tue, 4 Aug 2020 11:26:40 +0000 Received: from MN2PR12MB3775.namprd12.prod.outlook.com ([fe80::a16e:8812:b4c0:918d]) by MN2PR12MB3775.namprd12.prod.outlook.com ([fe80::a16e:8812:b4c0:918d%6]) with mapi id 15.20.3239.022; Tue, 4 Aug 2020 11:26:40 +0000 Subject: Re: [PATCH 37/59] drm/amdgfx/ttm: use wrapper to get ttm memory managers To: Dave Airlie , dri-devel@lists.freedesktop.org References: <20200804025632.3868079-1-airlied@gmail.com> <20200804025632.3868079-38-airlied@gmail.com> From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: <1bfc4e84-1331-7fd7-68d0-c97dfc694d19@amd.com> Date: Tue, 4 Aug 2020 13:26:34 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 In-Reply-To: <20200804025632.3868079-38-airlied@gmail.com> Content-Language: en-US X-ClientProxiedBy: AM5PR0601CA0055.eurprd06.prod.outlook.com (2603:10a6:206::20) To MN2PR12MB3775.namprd12.prod.outlook.com (2603:10b6:208:159::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [IPv6:2a02:908:1252:fb60:be8a:bd56:1f94:86e7] (2a02:908:1252:fb60:be8a:bd56:1f94:86e7) by AM5PR0601CA0055.eurprd06.prod.outlook.com (2603:10a6:206::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.16 via Frontend Transport; Tue, 4 Aug 2020 11:26:39 +0000 X-Originating-IP: [2a02:908:1252:fb60:be8a:bd56:1f94:86e7] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 685c91bd-2ca6-4b73-56b2-08d8386941e4 X-MS-TrafficTypeDiagnostic: MN2PR12MB4142: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:873; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +dK/EGdKsFlTnraAOzGpnMmfqgd0CwLrh6QLHKq1pCI333w2EczUpyteooPxM1IHqSAHig+f84XfqvM60irxS0REiwJuA4/pmTe+jYfRWB7SoREsrn6vbCJkXZyhTmumxyZAgKa1uZU7rVpxYi/s9QEswfEUhaBZWIl9gMVMmdOoOdJjRZOEkSuJ4SoFSbNY/OwAEwNPaPLwlXc5TltoBSvRJMtX0oRI0hlwrs30irqSlU0v2hZOaMb3rgMm0M9ZJFxt4KAHQwnyAfmvMGMxK5mOgBpXxnwHi9v0J4hLpo36G0jRGL0k8SBRaRfk9PrKXQpRp2+u78Yb80G9M5Q6K2QX0ShqW06S7Hi3MvKjNL4GDtJjIP2T8dukX3+PAFVu X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR12MB3775.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(346002)(39860400002)(366004)(376002)(136003)(396003)(31696002)(8676002)(86362001)(66946007)(4326008)(66556008)(66476007)(478600001)(8936002)(5660300002)(52116002)(30864003)(6486002)(2616005)(2906002)(83380400001)(36756003)(16526019)(186003)(31686004)(6666004)(66574015)(316002)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: 9lojYXZaztC1UTIElDNHWPEVBc4beE8Ku/RzcWqHpo48gAcCCu/6dwFO+lSeDdEVVRE7RoBnN7m2MjEDvCnJAkCbhS3DqHnc2zxkvpx6FMGlZsD+Jj3fzIEn38uVvdFKPOiD7zTYBYHB1TNyWq6rYyIOh8R4QdJC2Ypc0xqi06l/Bnuqxh0vEcfeV/RoVF/82tg6gQobpbPGHBOnaASouhV4icy/5WHHJ2zRcdS8FuS5SU/9K18WQOSH8XQBf3TEcUGKYG8CVYd5u0FILdf7d2rDPNd+XjozJIRKqiFdfqWJ8MTFyvFIA6X4/BK84JtIj7wbWrG5sykzAXm7SQRwtzTa2f2iEXG2KU5q2wuko51JHEYg4ZujvT/pk6pzMici/4kp+GPUWX9f1KsTMqTlGtcxG+wfSyUTzsXm5aMeaMjvN1V5eHKKm9w3WVwkpKbvKs+KNi4jrezFBCqcn0j7VPFXTpM0weksgTNj+10OrQBPaVxIslEfzJRKwtr66BepTj6smQk60lBq20eqEMtOoz0RGUluQuL7VtYjZPw68NDqpgMoa9bN/zDRDQlpjU1UXYRA2DEwb2v0SnjQUcnS2mk4zPBoXbfC9JkldjFd4JdVO0jWTYh+6hhGx9KygUB9BNNA0XO+jmARr/ubFwlYAXED9irgjs3sVwa9nepAJUKq8W8OaaG6LKE45HlqchxzkM2uij/vxTJvHwmgFYPtrQ== X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 685c91bd-2ca6-4b73-56b2-08d8386941e4 X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3775.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2020 11:26:40.4408 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Ju4jsjLjF7Mn8U6i+NHSXjwoR2FGiZZV7cS6K7e2QbnpFSRXy4vQ6C8Cd5ZlebGk X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4142 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: sroland@vmware.com, linux-graphics-maintainer@vmware.com, bskeggs@redhat.com, kraxel@redhat.com Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" QW0gMDQuMDguMjAgdW0gMDQ6NTYgc2NocmllYiBEYXZlIEFpcmxpZToKPiBGcm9tOiBEYXZlIEFp cmxpZSA8YWlybGllZEByZWRoYXQuY29tPgo+Cj4gU2lnbmVkLW9mZi1ieTogRGF2ZSBBaXJsaWUg PGFpcmxpZWRAcmVkaGF0LmNvbT4KClJldmlld2VkLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJp c3RpYW4ua29lbmlnQGFtZC5jb20+Cgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X2FtZGtmZC5jICAgfCAgMyArKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9jcy5jICAgICAgIHwgIDYgKysrLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgICB8ICA1ICsrLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfZ3R0X21nci5jICB8IDEyICsrKysrLS0tLS0tCj4gICBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfa21zLmMgICAgICB8IDIxICsrKysrKysrKysrLS0t LS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMgICB8 ICA0ICsrLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uYyAgICAg IHwgMTIgKysrKystLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92 cmFtX21nci5jIHwgMTIgKysrKystLS0tLS0KPiAgIDggZmlsZXMgY2hhbmdlZCwgMzkgaW5zZXJ0 aW9ucygrKSwgMzYgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2FtZGtmZC5jCj4gaW5kZXggMWI4NjVmZWQ3NGNhLi5lMjRmNDIxZTU1NTMgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZC5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZC5jCj4gQEAgLTUxNyw4 ICs1MTcsOSBAQCBpbnQgYW1kZ3B1X2FtZGtmZF9nZXRfZG1hYnVmX2luZm8oc3RydWN0IGtnZF9k ZXYgKmtnZCwgaW50IGRtYV9idWZfZmQsCj4gICB1aW50NjRfdCBhbWRncHVfYW1ka2ZkX2dldF92 cmFtX3VzYWdlKHN0cnVjdCBrZ2RfZGV2ICprZ2QpCj4gICB7Cj4gICAJc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKilrZ2Q7Cj4gKwlzdHJ1Y3QgdHRt X21lbV90eXBlX21hbmFnZXIgKnZyYW1fbWFuID0gdHRtX21hbmFnZXJfdHlwZSgmYWRldi0+bW1h bi5iZGV2LCBUVE1fUExfVlJBTSk7Cj4gICAKPiAtCXJldHVybiBhbWRncHVfdnJhbV9tZ3JfdXNh Z2UoJmFkZXYtPm1tYW4uYmRldi5tYW5bVFRNX1BMX1ZSQU1dKTsKPiArCXJldHVybiBhbWRncHVf dnJhbV9tZ3JfdXNhZ2UodnJhbV9tYW4pOwo+ICAgfQo+ICAgCj4gICB1aW50NjRfdCBhbWRncHVf YW1ka2ZkX2dldF9oaXZlX2lkKHN0cnVjdCBrZ2RfZGV2ICprZ2QpCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2NzLmMKPiBpbmRleCBhNTEyY2NiYzRkZWEuLjk4Mjk2NDBlMTc2OSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jCj4gQEAgLTI5OSw3ICsy OTksNyBAQCBzdGF0aWMgdm9pZCBhbWRncHVfY3NfZ2V0X3RocmVzaG9sZF9mb3JfbW92ZXMoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gICB7Cj4gICAJczY0IHRpbWVfdXMsIGluY3JlbWVu dF91czsKPiAgIAl1NjQgZnJlZV92cmFtLCB0b3RhbF92cmFtLCB1c2VkX3ZyYW07Cj4gLQo+ICsJ c3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICp2cmFtX21hbiA9IHR0bV9tYW5hZ2VyX3R5cGUo JmFkZXYtPm1tYW4uYmRldiwgVFRNX1BMX1ZSQU0pOwo+ICAgCS8qIEFsbG93IGEgbWF4aW11bSBv ZiAyMDAgYWNjdW11bGF0ZWQgbXMuIFRoaXMgaXMgYmFzaWNhbGx5IHBlci1JQgo+ICAgCSAqIHRo cm90dGxpbmcuCj4gICAJICoKPiBAQCAtMzE2LDcgKzMxNiw3IEBAIHN0YXRpYyB2b2lkIGFtZGdw dV9jc19nZXRfdGhyZXNob2xkX2Zvcl9tb3ZlcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwK PiAgIAl9Cj4gICAKPiAgIAl0b3RhbF92cmFtID0gYWRldi0+Z21jLnJlYWxfdnJhbV9zaXplIC0g YXRvbWljNjRfcmVhZCgmYWRldi0+dnJhbV9waW5fc2l6ZSk7Cj4gLQl1c2VkX3ZyYW0gPSBhbWRn cHVfdnJhbV9tZ3JfdXNhZ2UoJmFkZXYtPm1tYW4uYmRldi5tYW5bVFRNX1BMX1ZSQU1dKTsKPiAr CXVzZWRfdnJhbSA9IGFtZGdwdV92cmFtX21ncl91c2FnZSh2cmFtX21hbik7Cj4gICAJZnJlZV92 cmFtID0gdXNlZF92cmFtID49IHRvdGFsX3ZyYW0gPyAwIDogdG90YWxfdnJhbSAtIHVzZWRfdnJh bTsKPiAgIAo+ICAgCXNwaW5fbG9jaygmYWRldi0+bW1fc3RhdHMubG9jayk7Cj4gQEAgLTM2Myw3 ICszNjMsNyBAQCBzdGF0aWMgdm9pZCBhbWRncHVfY3NfZ2V0X3RocmVzaG9sZF9mb3JfbW92ZXMo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gICAJaWYgKCFhbWRncHVfZ21jX3ZyYW1fZnVs bF92aXNpYmxlKCZhZGV2LT5nbWMpKSB7Cj4gICAJCXU2NCB0b3RhbF92aXNfdnJhbSA9IGFkZXYt PmdtYy52aXNpYmxlX3ZyYW1fc2l6ZTsKPiAgIAkJdTY0IHVzZWRfdmlzX3ZyYW0gPQo+IC0JCQlh bWRncHVfdnJhbV9tZ3JfdmlzX3VzYWdlKCZhZGV2LT5tbWFuLmJkZXYubWFuW1RUTV9QTF9WUkFN XSk7Cj4gKwkJICBhbWRncHVfdnJhbV9tZ3JfdmlzX3VzYWdlKHZyYW1fbWFuKTsKPiAgIAo+ICAg CQlpZiAodXNlZF92aXNfdnJhbSA8IHRvdGFsX3Zpc192cmFtKSB7Cj4gICAJCQl1NjQgZnJlZV92 aXNfdnJhbSA9IHRvdGFsX3Zpc192cmFtIC0gdXNlZF92aXNfdnJhbTsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jCj4gaW5kZXggYWE1YjU0ZTVhMWQ3Li5kNTUx ZTdjNWU2OWQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2RldmljZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rldmlj ZS5jCj4gQEAgLTM4ODAsNyArMzg4MCw3IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2RldmljZV9yZXNl dF9zcmlvdihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPiAgIAo+ICAgCWFtZGdwdV92aXJ0 X2luaXRfZGF0YV9leGNoYW5nZShhZGV2KTsKPiAgIAkvKiB3ZSBuZWVkIHJlY292ZXIgZ2FydCBw cmlvciB0byBydW4gU01DL0NQL1NETUEgcmVzdW1lICovCj4gLQlhbWRncHVfZ3R0X21ncl9yZWNv dmVyKCZhZGV2LT5tbWFuLmJkZXYubWFuW1RUTV9QTF9UVF0pOwo+ICsJYW1kZ3B1X2d0dF9tZ3Jf cmVjb3Zlcih0dG1fbWFuYWdlcl90eXBlKCZhZGV2LT5tbWFuLmJkZXYsIFRUTV9QTF9UVCkpOwo+ ICAgCj4gICAJciA9IGFtZGdwdV9kZXZpY2VfZndfbG9hZGluZyhhZGV2KTsKPiAgIAlpZiAocikK PiBAQCAtNDA3OSw4ICs0MDc5LDcgQEAgc3RhdGljIGludCBhbWRncHVfZG9fYXNpY19yZXNldChz dHJ1Y3QgYW1kZ3B1X2hpdmVfaW5mbyAqaGl2ZSwKPiAgIAkJCQkJYW1kZ3B1X2luY192cmFtX2xv c3QodG1wX2FkZXYpOwo+ICAgCQkJCX0KPiAgIAo+IC0JCQkJciA9IGFtZGdwdV9ndHRfbWdyX3Jl Y292ZXIoCj4gLQkJCQkJJnRtcF9hZGV2LT5tbWFuLmJkZXYubWFuW1RUTV9QTF9UVF0pOwo+ICsJ CQkJciA9IGFtZGdwdV9ndHRfbWdyX3JlY292ZXIodHRtX21hbmFnZXJfdHlwZSgmdG1wX2FkZXYt Pm1tYW4uYmRldiwgVFRNX1BMX1RUKSk7Cj4gICAJCQkJaWYgKHIpCj4gICAJCQkJCWdvdG8gb3V0 Owo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9n dHRfbWdyLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ3R0X21nci5jCj4g aW5kZXggMjgwNTZkMTJiMTk5Li5mMGI3OGU4OGJiNTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2d0dF9tZ3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9ndHRfbWdyLmMKPiBAQCAtNDgsOSArNDgsOSBAQCBzdGF0aWMg c3NpemVfdCBhbWRncHVfbWVtX2luZm9fZ3R0X3RvdGFsX3Nob3coc3RydWN0IGRldmljZSAqZGV2 LAo+ICAgewo+ICAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZGV2ID0gZGV2X2dldF9kcnZkYXRhKGRl dik7Cj4gICAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBkZGV2LT5kZXZfcHJpdmF0ZTsK PiAtCj4gKwlzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiA9IHR0bV9tYW5hZ2VyX3R5 cGUoJmFkZXYtPm1tYW4uYmRldiwgVFRNX1BMX1RUKTsKPiAgIAlyZXR1cm4gc25wcmludGYoYnVm LCBQQUdFX1NJWkUsICIlbGx1XG4iLAo+IC0JCQkoYWRldi0+bW1hbi5iZGV2Lm1hbltUVE1fUExf VFRdLnNpemUpICogUEFHRV9TSVpFKTsKPiArCQkJbWFuLT5zaXplICogUEFHRV9TSVpFKTsKPiAg IH0KPiAgIAo+ICAgLyoqCj4gQEAgLTY2LDkgKzY2LDkgQEAgc3RhdGljIHNzaXplX3QgYW1kZ3B1 X21lbV9pbmZvX2d0dF91c2VkX3Nob3coc3RydWN0IGRldmljZSAqZGV2LAo+ICAgewo+ICAgCXN0 cnVjdCBkcm1fZGV2aWNlICpkZGV2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7Cj4gICAJc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBkZGV2LT5kZXZfcHJpdmF0ZTsKPiAtCj4gKwlzdHJ1Y3Qg dHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiA9IHR0bV9tYW5hZ2VyX3R5cGUoJmFkZXYtPm1tYW4u YmRldiwgVFRNX1BMX1RUKTsKPiAgIAlyZXR1cm4gc25wcmludGYoYnVmLCBQQUdFX1NJWkUsICIl bGx1XG4iLAo+IC0JCQlhbWRncHVfZ3R0X21ncl91c2FnZSgmYWRldi0+bW1hbi5iZGV2Lm1hbltU VE1fUExfVFRdKSk7Cj4gKwkJCWFtZGdwdV9ndHRfbWdyX3VzYWdlKG1hbikpOwo+ICAgfQo+ICAg Cj4gICBzdGF0aWMgREVWSUNFX0FUVFIobWVtX2luZm9fZ3R0X3RvdGFsLCBTX0lSVUdPLAo+IEBA IC04Nyw3ICs4Nyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXJf ZnVuYyBhbWRncHVfZ3R0X21ncl9mdW5jOwo+ICAgICovCj4gICBpbnQgYW1kZ3B1X2d0dF9tZ3Jf aW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdWludDY0X3QgZ3R0X3NpemUpCj4gICB7 Cj4gLQlzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiA9ICZhZGV2LT5tbWFuLmJkZXYu bWFuW1RUTV9QTF9UVF07Cj4gKwlzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiA9IHR0 bV9tYW5hZ2VyX3R5cGUoJmFkZXYtPm1tYW4uYmRldiwgVFRNX1BMX1RUKTsKPiAgIAlzdHJ1Y3Qg YW1kZ3B1X2d0dF9tZ3IgKm1ncjsKPiAgIAl1aW50NjRfdCBzdGFydCwgc2l6ZTsKPiAgIAlpbnQg cmV0Owo+IEBAIC0xMzUsNyArMTM1LDcgQEAgaW50IGFtZGdwdV9ndHRfbWdyX2luaXQoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVpbnQ2NF90IGd0dF9zaXplKQo+ICAgICovCj4gICB2b2lk IGFtZGdwdV9ndHRfbWdyX2Zpbmkoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gICB7Cj4g LQlzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiA9ICZhZGV2LT5tbWFuLmJkZXYubWFu W1RUTV9QTF9UVF07Cj4gKwlzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiA9IHR0bV9t YW5hZ2VyX3R5cGUoJmFkZXYtPm1tYW4uYmRldiwgVFRNX1BMX1RUKTsKPiAgIAlzdHJ1Y3QgYW1k Z3B1X2d0dF9tZ3IgKm1nciA9IG1hbi0+cHJpdjsKPiAgIAlpbnQgcmV0Owo+ICAgCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMuYyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMuYwo+IGluZGV4IGE4YzQ3YWVjZDM0Mi4uNTk0 Njg3Y2M5OWFjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9rbXMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMuYwo+ IEBAIC01OTQsMTMgKzU5NCwxMyBAQCBzdGF0aWMgaW50IGFtZGdwdV9pbmZvX2lvY3RsKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZQo+ICAgCQl1aTY0 ID0gYXRvbWljNjRfcmVhZCgmYWRldi0+bnVtX3ZyYW1fY3B1X3BhZ2VfZmF1bHRzKTsKPiAgIAkJ cmV0dXJuIGNvcHlfdG9fdXNlcihvdXQsICZ1aTY0LCBtaW4oc2l6ZSwgOHUpKSA/IC1FRkFVTFQg OiAwOwo+ICAgCWNhc2UgQU1ER1BVX0lORk9fVlJBTV9VU0FHRToKPiAtCQl1aTY0ID0gYW1kZ3B1 X3ZyYW1fbWdyX3VzYWdlKCZhZGV2LT5tbWFuLmJkZXYubWFuW1RUTV9QTF9WUkFNXSk7Cj4gKwkJ dWk2NCA9IGFtZGdwdV92cmFtX21ncl91c2FnZSh0dG1fbWFuYWdlcl90eXBlKCZhZGV2LT5tbWFu LmJkZXYsIFRUTV9QTF9WUkFNKSk7Cj4gICAJCXJldHVybiBjb3B5X3RvX3VzZXIob3V0LCAmdWk2 NCwgbWluKHNpemUsIDh1KSkgPyAtRUZBVUxUIDogMDsKPiAgIAljYXNlIEFNREdQVV9JTkZPX1ZJ U19WUkFNX1VTQUdFOgo+IC0JCXVpNjQgPSBhbWRncHVfdnJhbV9tZ3JfdmlzX3VzYWdlKCZhZGV2 LT5tbWFuLmJkZXYubWFuW1RUTV9QTF9WUkFNXSk7Cj4gKwkJdWk2NCA9IGFtZGdwdV92cmFtX21n cl92aXNfdXNhZ2UodHRtX21hbmFnZXJfdHlwZSgmYWRldi0+bW1hbi5iZGV2LCBUVE1fUExfVlJB TSkpOwo+ICAgCQlyZXR1cm4gY29weV90b191c2VyKG91dCwgJnVpNjQsIG1pbihzaXplLCA4dSkp ID8gLUVGQVVMVCA6IDA7Cj4gICAJY2FzZSBBTURHUFVfSU5GT19HVFRfVVNBR0U6Cj4gLQkJdWk2 NCA9IGFtZGdwdV9ndHRfbWdyX3VzYWdlKCZhZGV2LT5tbWFuLmJkZXYubWFuW1RUTV9QTF9UVF0p Owo+ICsJCXVpNjQgPSBhbWRncHVfZ3R0X21ncl91c2FnZSh0dG1fbWFuYWdlcl90eXBlKCZhZGV2 LT5tbWFuLmJkZXYsIFRUTV9QTF9UVCkpOwo+ICAgCQlyZXR1cm4gY29weV90b191c2VyKG91dCwg JnVpNjQsIG1pbihzaXplLCA4dSkpID8gLUVGQVVMVCA6IDA7Cj4gICAJY2FzZSBBTURHUFVfSU5G T19HRFNfQ09ORklHOiB7Cj4gICAJCXN0cnVjdCBkcm1fYW1kZ3B1X2luZm9fZ2RzIGdkc19pbmZv Owo+IEBAIC02MjMsNyArNjIzLDcgQEAgc3RhdGljIGludCBhbWRncHVfaW5mb19pb2N0bChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUKPiAgIAkJCW1p bihhZGV2LT5nbWMudmlzaWJsZV92cmFtX3NpemUgLQo+ICAgCQkJICAgIGF0b21pYzY0X3JlYWQo JmFkZXYtPnZpc2libGVfcGluX3NpemUpLAo+ICAgCQkJICAgIHZyYW1fZ3R0LnZyYW1fc2l6ZSk7 Cj4gLQkJdnJhbV9ndHQuZ3R0X3NpemUgPSBhZGV2LT5tbWFuLmJkZXYubWFuW1RUTV9QTF9UVF0u c2l6ZTsKPiArCQl2cmFtX2d0dC5ndHRfc2l6ZSA9IHR0bV9tYW5hZ2VyX3R5cGUoJmFkZXYtPm1t YW4uYmRldiwgVFRNX1BMX1RUKS0+c2l6ZTsKPiAgIAkJdnJhbV9ndHQuZ3R0X3NpemUgKj0gUEFH RV9TSVpFOwo+ICAgCQl2cmFtX2d0dC5ndHRfc2l6ZSAtPSBhdG9taWM2NF9yZWFkKCZhZGV2LT5n YXJ0X3Bpbl9zaXplKTsKPiAgIAkJcmV0dXJuIGNvcHlfdG9fdXNlcihvdXQsICZ2cmFtX2d0dCwK PiBAQCAtNjMxLDE0ICs2MzEsMTcgQEAgc3RhdGljIGludCBhbWRncHVfaW5mb19pb2N0bChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUKPiAgIAl9Cj4g ICAJY2FzZSBBTURHUFVfSU5GT19NRU1PUlk6IHsKPiAgIAkJc3RydWN0IGRybV9hbWRncHVfbWVt b3J5X2luZm8gbWVtOwo+IC0KPiArCQlzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKnZyYW1f bWFuID0KPiArCQkJdHRtX21hbmFnZXJfdHlwZSgmYWRldi0+bW1hbi5iZGV2LCBUVE1fUExfVlJB TSk7Cj4gKwkJc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICpndHRfbWFuID0KPiArCQkJdHRt X21hbmFnZXJfdHlwZSgmYWRldi0+bW1hbi5iZGV2LCBUVE1fUExfVFQpOwo+ICAgCQltZW1zZXQo Jm1lbSwgMCwgc2l6ZW9mKG1lbSkpOwo+ICAgCQltZW0udnJhbS50b3RhbF9oZWFwX3NpemUgPSBh ZGV2LT5nbWMucmVhbF92cmFtX3NpemU7Cj4gICAJCW1lbS52cmFtLnVzYWJsZV9oZWFwX3NpemUg PSBhZGV2LT5nbWMucmVhbF92cmFtX3NpemUgLQo+ICAgCQkJYXRvbWljNjRfcmVhZCgmYWRldi0+ dnJhbV9waW5fc2l6ZSkgLQo+ICAgCQkJQU1ER1BVX1ZNX1JFU0VSVkVEX1ZSQU07Cj4gICAJCW1l bS52cmFtLmhlYXBfdXNhZ2UgPQo+IC0JCQlhbWRncHVfdnJhbV9tZ3JfdXNhZ2UoJmFkZXYtPm1t YW4uYmRldi5tYW5bVFRNX1BMX1ZSQU1dKTsKPiArCQkJYW1kZ3B1X3ZyYW1fbWdyX3VzYWdlKHZy YW1fbWFuKTsKPiAgIAkJbWVtLnZyYW0ubWF4X2FsbG9jYXRpb24gPSBtZW0udnJhbS51c2FibGVf aGVhcF9zaXplICogMyAvIDQ7Cj4gICAKPiAgIAkJbWVtLmNwdV9hY2Nlc3NpYmxlX3ZyYW0udG90 YWxfaGVhcF9zaXplID0KPiBAQCAtNjQ4LDE2ICs2NTEsMTYgQEAgc3RhdGljIGludCBhbWRncHVf aW5mb19pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJt X2ZpbGUKPiAgIAkJCSAgICBhdG9taWM2NF9yZWFkKCZhZGV2LT52aXNpYmxlX3Bpbl9zaXplKSwK PiAgIAkJCSAgICBtZW0udnJhbS51c2FibGVfaGVhcF9zaXplKTsKPiAgIAkJbWVtLmNwdV9hY2Nl c3NpYmxlX3ZyYW0uaGVhcF91c2FnZSA9Cj4gLQkJCWFtZGdwdV92cmFtX21ncl92aXNfdXNhZ2Uo JmFkZXYtPm1tYW4uYmRldi5tYW5bVFRNX1BMX1ZSQU1dKTsKPiArCQkJYW1kZ3B1X3ZyYW1fbWdy X3Zpc191c2FnZSh2cmFtX21hbik7Cj4gICAJCW1lbS5jcHVfYWNjZXNzaWJsZV92cmFtLm1heF9h bGxvY2F0aW9uID0KPiAgIAkJCW1lbS5jcHVfYWNjZXNzaWJsZV92cmFtLnVzYWJsZV9oZWFwX3Np emUgKiAzIC8gNDsKPiAgIAo+IC0JCW1lbS5ndHQudG90YWxfaGVhcF9zaXplID0gYWRldi0+bW1h bi5iZGV2Lm1hbltUVE1fUExfVFRdLnNpemU7Cj4gKwkJbWVtLmd0dC50b3RhbF9oZWFwX3NpemUg PSBndHRfbWFuLT5zaXplOwo+ICAgCQltZW0uZ3R0LnRvdGFsX2hlYXBfc2l6ZSAqPSBQQUdFX1NJ WkU7Cj4gICAJCW1lbS5ndHQudXNhYmxlX2hlYXBfc2l6ZSA9IG1lbS5ndHQudG90YWxfaGVhcF9z aXplIC0KPiAgIAkJCWF0b21pYzY0X3JlYWQoJmFkZXYtPmdhcnRfcGluX3NpemUpOwo+ICAgCQlt ZW0uZ3R0LmhlYXBfdXNhZ2UgPQo+IC0JCQlhbWRncHVfZ3R0X21ncl91c2FnZSgmYWRldi0+bW1h bi5iZGV2Lm1hbltUVE1fUExfVFRdKTsKPiArCQkJYW1kZ3B1X2d0dF9tZ3JfdXNhZ2UoZ3R0X21h bik7Cj4gICAJCW1lbS5ndHQubWF4X2FsbG9jYXRpb24gPSBtZW0uZ3R0LnVzYWJsZV9oZWFwX3Np emUgKiAzIC8gNDsKPiAgIAo+ICAgCQlyZXR1cm4gY29weV90b191c2VyKG91dCwgJm1lbSwKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jCj4gaW5kZXggNWFjN2I1 NTYxNDc1Li5jZWQ0MThjYmEyZjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X29iamVjdC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X29iamVjdC5jCj4gQEAgLTQ0OSw3ICs0NDksNyBAQCBzdGF0aWMgYm9vbCBhbWRncHVf Ym9fdmFsaWRhdGVfc2l6ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPiAgIAkgKiBhbGxv dyBmYWxsIGJhY2sgdG8gR1RUCj4gICAJICovCj4gICAJaWYgKGRvbWFpbiAmIEFNREdQVV9HRU1f RE9NQUlOX0dUVCkgewo+IC0JCW1hbiA9ICZhZGV2LT5tbWFuLmJkZXYubWFuW1RUTV9QTF9UVF07 Cj4gKwkJbWFuID0gdHRtX21hbmFnZXJfdHlwZSgmYWRldi0+bW1hbi5iZGV2LCBUVE1fUExfVFQp Owo+ICAgCj4gICAJCWlmIChzaXplIDwgKG1hbi0+c2l6ZSA8PCBQQUdFX1NISUZUKSkKPiAgIAkJ CXJldHVybiB0cnVlOwo+IEBAIC00NTgsNyArNDU4LDcgQEAgc3RhdGljIGJvb2wgYW1kZ3B1X2Jv X3ZhbGlkYXRlX3NpemUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gICAJfQo+ICAgCj4g ICAJaWYgKGRvbWFpbiAmIEFNREdQVV9HRU1fRE9NQUlOX1ZSQU0pIHsKPiAtCQltYW4gPSAmYWRl di0+bW1hbi5iZGV2Lm1hbltUVE1fUExfVlJBTV07Cj4gKwkJbWFuID0gdHRtX21hbmFnZXJfdHlw ZSgmYWRldi0+bW1hbi5iZGV2LCBUVE1fUExfVlJBTSk7Cj4gICAKPiAgIAkJaWYgKHNpemUgPCAo bWFuLT5zaXplIDw8IFBBR0VfU0hJRlQpKQo+ICAgCQkJcmV0dXJuIHRydWU7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uYyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uYwo+IGluZGV4IGQ3NTE2MTQ0YmIwYS4uMWJkODYw ODc3ZjFlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90 dG0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uYwo+IEBA IC02Nyw3ICs2Nyw3IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X3R0bV9pbml0X29uX2NoaXAoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gICAJCQkJICAgIHVuc2lnbmVkIGludCB0eXBlLAo+ICAg CQkJCSAgICB1aW50NjRfdCBzaXplKQo+ICAgewo+IC0Jc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5h Z2VyICptYW4gPSAmYWRldi0+bW1hbi5iZGV2Lm1hblt0eXBlXTsKPiArCXN0cnVjdCB0dG1fbWVt X3R5cGVfbWFuYWdlciAqbWFuID0gdHRtX21hbmFnZXJfdHlwZSgmYWRldi0+bW1hbi5iZGV2LCB0 eXBlKTsKPiAgIAo+ICAgCW1hbi0+YXZhaWxhYmxlX2NhY2hpbmcgPSBUVE1fUExfRkxBR19VTkNB Q0hFRDsKPiAgIAltYW4tPmRlZmF1bHRfY2FjaGluZyA9IFRUTV9QTF9GTEFHX1VOQ0FDSEVEOwo+ IEBAIC0yMDE0LDkgKzIwMTQsOSBAQCB2b2lkIGFtZGdwdV90dG1fZmluaShzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldikKPiAgIAo+ICAgCWFtZGdwdV92cmFtX21ncl9maW5pKGFkZXYpOwo+ICAg CWFtZGdwdV9ndHRfbWdyX2ZpbmkoYWRldik7Cj4gLQl0dG1fcmFuZ2VfbWFuX2ZpbmkoJmFkZXYt Pm1tYW4uYmRldiwgJmFkZXYtPm1tYW4uYmRldi5tYW5bQU1ER1BVX1BMX0dEU10pOwo+IC0JdHRt X3JhbmdlX21hbl9maW5pKCZhZGV2LT5tbWFuLmJkZXYsICZhZGV2LT5tbWFuLmJkZXYubWFuW0FN REdQVV9QTF9HV1NdKTsKPiAtCXR0bV9yYW5nZV9tYW5fZmluaSgmYWRldi0+bW1hbi5iZGV2LCAm YWRldi0+bW1hbi5iZGV2Lm1hbltBTURHUFVfUExfT0FdKTsKPiArCXR0bV9yYW5nZV9tYW5fZmlu aSgmYWRldi0+bW1hbi5iZGV2LCB0dG1fbWFuYWdlcl90eXBlKCZhZGV2LT5tbWFuLmJkZXYsIEFN REdQVV9QTF9HRFMpKTsKPiArCXR0bV9yYW5nZV9tYW5fZmluaSgmYWRldi0+bW1hbi5iZGV2LCB0 dG1fbWFuYWdlcl90eXBlKCZhZGV2LT5tbWFuLmJkZXYsIEFNREdQVV9QTF9HV1MpKTsKPiArCXR0 bV9yYW5nZV9tYW5fZmluaSgmYWRldi0+bW1hbi5iZGV2LCB0dG1fbWFuYWdlcl90eXBlKCZhZGV2 LT5tbWFuLmJkZXYsIEFNREdQVV9QTF9PQSkpOwo+ICAgCXR0bV9ib19kZXZpY2VfcmVsZWFzZSgm YWRldi0+bW1hbi5iZGV2KTsKPiAgIAlhZGV2LT5tbWFuLmluaXRpYWxpemVkID0gZmFsc2U7Cj4g ICAJRFJNX0lORk8oImFtZGdwdTogdHRtIGZpbmFsaXplZFxuIik7Cj4gQEAgLTIwMzMsNyArMjAz Myw3IEBAIHZvaWQgYW1kZ3B1X3R0bV9maW5pKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ ICAgICovCj4gICB2b2lkIGFtZGdwdV90dG1fc2V0X2J1ZmZlcl9mdW5jc19zdGF0dXMoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYsIGJvb2wgZW5hYmxlKQo+ICAgewo+IC0Jc3RydWN0IHR0bV9t ZW1fdHlwZV9tYW5hZ2VyICptYW4gPSAmYWRldi0+bW1hbi5iZGV2Lm1hbltUVE1fUExfVlJBTV07 Cj4gKwlzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiA9IHR0bV9tYW5hZ2VyX3R5cGUo JmFkZXYtPm1tYW4uYmRldiwgVFRNX1BMX1ZSQU0pOwo+ICAgCXVpbnQ2NF90IHNpemU7Cj4gICAJ aW50IHI7Cj4gICAKPiBAQCAtMjI1NSw3ICsyMjU1LDcgQEAgc3RhdGljIGludCBhbWRncHVfbW1f ZHVtcF90YWJsZShzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCj4gICAJdW5zaWduZWQg dHRtX3BsID0gKHVpbnRwdHJfdClub2RlLT5pbmZvX2VudC0+ZGF0YTsKPiAgIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gbm9kZS0+bWlub3ItPmRldjsKPiAgIAlzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gLQlzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFn ZXIgKm1hbiA9ICZhZGV2LT5tbWFuLmJkZXYubWFuW3R0bV9wbF07Cj4gKwlzdHJ1Y3QgdHRtX21l bV90eXBlX21hbmFnZXIgKm1hbiA9IHR0bV9tYW5hZ2VyX3R5cGUoJmFkZXYtPm1tYW4uYmRldiwg dHRtX3BsKTsKPiAgIAlzdHJ1Y3QgZHJtX3ByaW50ZXIgcCA9IGRybV9zZXFfZmlsZV9wcmludGVy KG0pOwo+ICAgCj4gICAJbWFuLT5mdW5jLT5kZWJ1ZyhtYW4sICZwKTsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZyYW1fbWdyLmMgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdnJhbV9tZ3IuYwo+IGluZGV4IGMzYmM5ZGRkNDM3ZS4u YmM3NzZiOGYxMDYzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV92cmFtX21nci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X3ZyYW1fbWdyLmMKPiBAQCAtODIsOSArODIsOSBAQCBzdGF0aWMgc3NpemVfdCBhbWRncHVfbWVt X2luZm9fdnJhbV91c2VkX3Nob3coc3RydWN0IGRldmljZSAqZGV2LAo+ICAgewo+ICAgCXN0cnVj dCBkcm1fZGV2aWNlICpkZGV2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7Cj4gICAJc3RydWN0IGFt ZGdwdV9kZXZpY2UgKmFkZXYgPSBkZGV2LT5kZXZfcHJpdmF0ZTsKPiAtCj4gKwlzdHJ1Y3QgdHRt X21lbV90eXBlX21hbmFnZXIgKm1hbiA9IHR0bV9tYW5hZ2VyX3R5cGUoJmFkZXYtPm1tYW4uYmRl diwgVFRNX1BMX1ZSQU0pOwo+ICAgCXJldHVybiBzbnByaW50ZihidWYsIFBBR0VfU0laRSwgIiVs bHVcbiIsCj4gLQkJYW1kZ3B1X3ZyYW1fbWdyX3VzYWdlKCZhZGV2LT5tbWFuLmJkZXYubWFuW1RU TV9QTF9WUkFNXSkpOwo+ICsJCQlhbWRncHVfdnJhbV9tZ3JfdXNhZ2UobWFuKSk7Cj4gICB9Cj4g ICAKPiAgIC8qKgo+IEBAIC0xMDAsOSArMTAwLDkgQEAgc3RhdGljIHNzaXplX3QgYW1kZ3B1X21l bV9pbmZvX3Zpc192cmFtX3VzZWRfc2hvdyhzdHJ1Y3QgZGV2aWNlICpkZXYsCj4gICB7Cj4gICAJ c3RydWN0IGRybV9kZXZpY2UgKmRkZXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKPiAgIAlzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IGRkZXYtPmRldl9wcml2YXRlOwo+IC0KPiArCXN0cnVj dCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuID0gdHRtX21hbmFnZXJfdHlwZSgmYWRldi0+bW1h bi5iZGV2LCBUVE1fUExfVlJBTSk7Cj4gICAJcmV0dXJuIHNucHJpbnRmKGJ1ZiwgUEFHRV9TSVpF LCAiJWxsdVxuIiwKPiAtCQlhbWRncHVfdnJhbV9tZ3JfdmlzX3VzYWdlKCZhZGV2LT5tbWFuLmJk ZXYubWFuW1RUTV9QTF9WUkFNXSkpOwo+ICsJCQlhbWRncHVfdnJhbV9tZ3JfdmlzX3VzYWdlKG1h bikpOwo+ICAgfQo+ICAgCj4gICBzdGF0aWMgc3NpemVfdCBhbWRncHVfbWVtX2luZm9fdnJhbV92 ZW5kb3Ioc3RydWN0IGRldmljZSAqZGV2LAo+IEBAIC0xNzAsNyArMTcwLDcgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlcl9mdW5jIGFtZGdwdV92cmFtX21ncl9mdW5j Owo+ICAgICovCj4gICBpbnQgYW1kZ3B1X3ZyYW1fbWdyX2luaXQoc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYpCj4gICB7Cj4gLQlzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiA9ICZh ZGV2LT5tbWFuLmJkZXYubWFuW1RUTV9QTF9WUkFNXTsKPiArCXN0cnVjdCB0dG1fbWVtX3R5cGVf bWFuYWdlciAqbWFuID0gdHRtX21hbmFnZXJfdHlwZSgmYWRldi0+bW1hbi5iZGV2LCBUVE1fUExf VlJBTSk7Cj4gICAJc3RydWN0IGFtZGdwdV92cmFtX21nciAqbWdyOwo+ICAgCWludCByZXQ7Cj4g ICAKPiBAQCAtMjA3LDcgKzIwNyw3IEBAIGludCBhbWRncHVfdnJhbV9tZ3JfaW5pdChzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldikKPiAgICAqLwo+ICAgdm9pZCBhbWRncHVfdnJhbV9tZ3JfZmlu aShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgIHsKPiAtCXN0cnVjdCB0dG1fbWVtX3R5 cGVfbWFuYWdlciAqbWFuID0gJmFkZXYtPm1tYW4uYmRldi5tYW5bVFRNX1BMX1ZSQU1dOwo+ICsJ c3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4gPSB0dG1fbWFuYWdlcl90eXBlKCZhZGV2 LT5tbWFuLmJkZXYsIFRUTV9QTF9WUkFNKTsKPiAgIAlzdHJ1Y3QgYW1kZ3B1X3ZyYW1fbWdyICpt Z3IgPSBtYW4tPnByaXY7Cj4gICAJaW50IHJldDsKPiAgIAoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==