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 7BB87C433E0 for ; Tue, 4 Aug 2020 11:32:40 +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 516EF2086A for ; Tue, 4 Aug 2020 11:32:40 +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="NPskamag" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 516EF2086A 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 A59D889EAE; Tue, 4 Aug 2020 11:32:39 +0000 (UTC) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2060.outbound.protection.outlook.com [40.107.220.60]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6D19E89E9E for ; Tue, 4 Aug 2020 11:32:37 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Mae7PyS2AeHbpV3uOCqSL7+eaVnLTwmPRlEFN3pA1bYfpwqSQGvf/hLlMOxMypT5DCMM0lLdqM5KLNHX9OQ/tb0L2qa7ujkZ8zB2G3cXKGOZyaa8YzTHgICFI7dtvBOG+rpWeiwl6eBOQDnJQuzrhbU5pEzMSMiUZfaqcgFiTsk0xDWstEEW6nZH5gbZjTHxvCIBJaz8PRSDFIPus0PsUD0InkyA6kQUB45N31E+Z0CCDh1fSm6tfkOUEeNacGjYSfO+NdhjeLtK0BNFUWlS3jgHS7reoUEzqf0whTbXcK9z2+1segv+ew/ivhhqjUp6CvEDXnprD8IF/S0DJvByJA== 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=e/j9Tqoead8TMqSYrXwOZjjVKrK9R2N3LAYiX6GQlRY=; b=UK1uxuWBQ+vH63W7utuKjqmPJ81tMOAqcZl6g7xSibgYxHUKzNofyZlwZSl7NO/fvNlSr70I28IY453mvIiTzYLjAPm26rg4M0hGHGk2EAuQtYiDDX/wo6GxbVs5LHkCfe6ajPQQaI4P6Y68beqS3c53liYraraPIb9IkN+NqZbWfWL67Bp/Em2GqL3nDCjfdfWLqBrSRFdWnsmdfR3cKUKRqTq2Y8wnmFa18oF/MSnbdNdo64oSwFtHDCMjvnXhj1KbRw+ck4EqSk2PI7+ADT2mVmIm3hoKTeIlxqC3vMqe9C3rd9NS873k413X2Cn1mStOrKDwprV+J7SDFJrf6w== 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=e/j9Tqoead8TMqSYrXwOZjjVKrK9R2N3LAYiX6GQlRY=; b=NPskamagS6I04TgTlAzZ2PhLY4MRj4Ns/9Hhl0PQgE0/kU0DZiUcX0FG8qMfmDlsz2FyScGmAvZVC/XA2x8G6RNBPR20odbnb9EchWFZrNylwQCqBlD0s8pPNGN5jDo2EZL5H6qU1zSA4GvsY077IZN53B9WGXZpdxnubORMPR4= 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:32:36 +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:32:36 +0000 Subject: Re: [PATCH 45/59] drm/amdgpu/ttm: use bo manager subclassing for vram/gtt mgrs To: Dave Airlie , dri-devel@lists.freedesktop.org References: <20200804025632.3868079-1-airlied@gmail.com> <20200804025632.3868079-46-airlied@gmail.com> From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: Date: Tue, 4 Aug 2020 13:32:30 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 In-Reply-To: <20200804025632.3868079-46-airlied@gmail.com> Content-Language: en-US X-ClientProxiedBy: ZRAP278CA0018.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:10::28) 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 ZRAP278CA0018.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:10::28) 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:32:34 +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: 03aec0f1-033d-409c-b01f-08d8386a15e1 X-MS-TrafficTypeDiagnostic: MN2PR12MB4142: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UCCGNopmSASx8NGyAbCq10Xkp1RKUGuuiRW4YS8wVsL0AxYmqZ1uzUJ6xnhQQgVcuErkwABMn4IEO11yzQ/ti69IvQeHf/26SIjdC4Z924P6lEdatw3xtnuvhEYHjDaqjvI6outZuxk2W4Am1aaxQHsQc/NXMlu/stbSP/csOeb/G3p0mt5hByK8mC/4ECx2qwW5ZQ+BWmqHzGTlN0e60QVlMVNsZr/M86gLi28L3HmpEMi5INv7TQtwbPGL8MGoiXgIZLEVrGKJ5IXDwR1m+gTo/7X9P6/gQ2I7RZTpf7VkU8UXaAPlYQ3cugnSa5ig2iJOfWGTFlqFKL2d6AcVfi1rC1rcYhSM7Hy1Gc5mZHYg2Ok64R0EVeHuiT4gd81l 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)(396003)(136003)(376002)(366004)(39860400002)(346002)(2906002)(2616005)(83380400001)(6486002)(36756003)(31686004)(316002)(6666004)(66574015)(16526019)(186003)(66946007)(4326008)(8676002)(31696002)(86362001)(478600001)(5660300002)(52116002)(8936002)(66556008)(66476007)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: 67qoKDxXDu1Sl/8bMAguY2Bv3rdNLSPXlY5ZjWppgx8FePOfujX+fIejnbbYayvEJiVBBWSuR4ipw37FkF4t6ozuSRXLAI3r3QJKpB0EaAVRVPmlLRYNZ9VgnozuzbqSKicTS669whV1ePDDz7aRnvy4uwkwQIhppuNa1zvRHycPKnT6ji4C/YVKFDtQxxsi+l4V91PWobrJnsql7nHOOXvr/k13mq/XkIBpHBaLfOgXNYlLNW1dvkd2Ll9JmJtqJclkWy62/Az1woiP+TKCaLhrGUg3zR4aVxTpy940vF8x2F4s+iHDV7B0uhpgIsx37uy8VL5mRCiZyCmyin2C0jaW59p6bnSreKACV1sGnO/pHGNRb/DRkWlEjEziF0BTSUrzxz8CBl6vwGpAYTpKVV+we6MMVYHqAEqrcEiaIfW0r4vxm2oPGku66MSFH407ItyCnSWQJYW8jVpNiIYFMZi1GCYBIWohiwZtmywjhLTEhSL3hr86tzDnctUWA1uh3hCXYZNw7DujXz38UpEj8NiD7QuRtKllWTp7MqcBY2k41n6IRWlME9/jp18tCpMU8jRBlO3B11RIBDSdas/TJEBYa1PKfrGLo/j6vtfqY3eQzyn7eBpFVG4CRBphcNBho7w1FUZrUJTzkVmgsgERhf133rzpUAkqKHkiukV9Wx9R5ew9ZFFhYa8ziNB/o5vIRnTYgSrBM5I0F4oNyvzfxg== X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 03aec0f1-033d-409c-b01f-08d8386a15e1 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:32:36.0444 (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: 2UMPmE15k1vfnv3hGhTqbm6HVzvfcdf8lrqimI1PYDySbI5g2WjMPfVCsRx41AVX 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+Cj4gUmV2aWV3ZWQtYnk6IENocmlzdGlhbiBLw7Zu aWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBEYXZlIEFpcmxp ZSA8YWlybGllZEByZWRoYXQuY29tPgoKVGhpcyBvbmUgaXMgYWxyZWFkeSByZXZpZXdlZCBhbmQg Y2FuIHN0YXkgbGlrZSB0aGlzLCBidXQgSSBoYWQgb25lIG1vcmUgCmlkZWEgZm9yIGZ1cnRoZXIg Y2xlYW51cHMsIHNlZSBiZWxvdy4KCj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfZ3R0X21nci5jICB8IDM1ICsrKysrKysrKysrLS0tLS0tLS0KPiAgIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92cmFtX21nci5jIHwgMzYgKysrKysrKysrKysrKy0t LS0tLS0KPiAgIDIgZmlsZXMgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25z KC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2d0 dF9tZ3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9ndHRfbWdyLmMKPiBp bmRleCBmMGI3OGU4OGJiNTUuLmI2NjRjNWNiMTNjZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ3R0X21nci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2d0dF9tZ3IuYwo+IEBAIC0yNSwxMSArMjUsMTcgQEAKPiAgICNp bmNsdWRlICJhbWRncHUuaCIKPiAgIAo+ICAgc3RydWN0IGFtZGdwdV9ndHRfbWdyIHsKPiArCXN0 cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciBtYW5hZ2VyOwo+ICAgCXN0cnVjdCBkcm1fbW0gbW07 Cj4gICAJc3BpbmxvY2tfdCBsb2NrOwo+ICAgCWF0b21pYzY0X3QgYXZhaWxhYmxlOwo+ICAgfTsK PiAgIAo+ICtzdGF0aWMgaW5saW5lIHN0cnVjdCBhbWRncHVfZ3R0X21nciAqdG9fZ3R0X21ncihz dHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbikKPiArewo+ICsJcmV0dXJuIGNvbnRhaW5l cl9vZihtYW4sIHN0cnVjdCBhbWRncHVfZ3R0X21nciwgbWFuYWdlcik7Cj4gK30KPiArCj4gICBz dHJ1Y3QgYW1kZ3B1X2d0dF9ub2RlIHsKPiAgIAlzdHJ1Y3QgZHJtX21tX25vZGUgbm9kZTsKPiAg IAlzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKnRibzsKPiBAQCAtODcsMTEgKzkzLDE2IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXJfZnVuYyBhbWRncHVfZ3R0X21n cl9mdW5jOwo+ICAgICovCj4gICBpbnQgYW1kZ3B1X2d0dF9tZ3JfaW5pdChzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldiwgdWludDY0X3QgZ3R0X3NpemUpCj4gICB7Cj4gLQlzdHJ1Y3QgdHRtX21l bV90eXBlX21hbmFnZXIgKm1hbiA9IHR0bV9tYW5hZ2VyX3R5cGUoJmFkZXYtPm1tYW4uYmRldiwg VFRNX1BMX1RUKTsKPiArCXN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuOwo+ICAgCXN0 cnVjdCBhbWRncHVfZ3R0X21nciAqbWdyOwo+ICAgCXVpbnQ2NF90IHN0YXJ0LCBzaXplOwo+ICAg CWludCByZXQ7Cj4gICAKPiArCW1nciA9IGt6YWxsb2Moc2l6ZW9mKCptZ3IpLCBHRlBfS0VSTkVM KTsKCldoeSBkbyB3ZSBldmVuIGt6YWxsb2MgdGhhdCBoZXJlIGFueSBtb3JlPyBXZSBjb3VsZCBq dXN0IGVtYmVkIHRoZSAKc3RydWN0dXJlIGluIHN0cnVjdCBhbWRncHVfbW1hbi4KClNhbWUgZm9y IGFsbCBvdGhlciBkcml2ZXJzIGFzIHdlbGwsCkNocmlzdGlhbi4KCj4gKwlpZiAoIW1ncikKPiAr CQlyZXR1cm4gLUVOT01FTTsKPiArCj4gKwltYW4gPSAmbWdyLT5tYW5hZ2VyOwo+ICAgCW1hbi0+ dXNlX3R0ID0gdHJ1ZTsKPiAgIAltYW4tPmZ1bmMgPSAmYW1kZ3B1X2d0dF9tZ3JfZnVuYzsKPiAg IAltYW4tPmF2YWlsYWJsZV9jYWNoaW5nID0gVFRNX1BMX01BU0tfQ0FDSElORzsKPiBAQCAtOTks MTYgKzExMCwxMSBAQCBpbnQgYW1kZ3B1X2d0dF9tZ3JfaW5pdChzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwgdWludDY0X3QgZ3R0X3NpemUpCj4gICAKPiAgIAl0dG1fbWVtX3R5cGVfbWFuYWdl cl9pbml0KCZhZGV2LT5tbWFuLmJkZXYsIG1hbiwgZ3R0X3NpemUgPj4gUEFHRV9TSElGVCk7Cj4g ICAKPiAtCW1nciA9IGt6YWxsb2Moc2l6ZW9mKCptZ3IpLCBHRlBfS0VSTkVMKTsKPiAtCWlmICgh bWdyKQo+IC0JCXJldHVybiAtRU5PTUVNOwo+IC0KPiAgIAlzdGFydCA9IEFNREdQVV9HVFRfTUFY X1RSQU5TRkVSX1NJWkUgKiBBTURHUFVfR1RUX05VTV9UUkFOU0ZFUl9XSU5ET1dTOwo+ICAgCXNp emUgPSAoYWRldi0+Z21jLmdhcnRfc2l6ZSA+PiBQQUdFX1NISUZUKSAtIHN0YXJ0Owo+ICAgCWRy bV9tbV9pbml0KCZtZ3ItPm1tLCBzdGFydCwgc2l6ZSk7Cj4gICAJc3Bpbl9sb2NrX2luaXQoJm1n ci0+bG9jayk7Cj4gICAJYXRvbWljNjRfc2V0KCZtZ3ItPmF2YWlsYWJsZSwgZ3R0X3NpemUgPj4g UEFHRV9TSElGVCk7Cj4gLQltYW4tPnByaXYgPSBtZ3I7Cj4gICAKPiAgIAlyZXQgPSBkZXZpY2Vf Y3JlYXRlX2ZpbGUoYWRldi0+ZGV2LCAmZGV2X2F0dHJfbWVtX2luZm9fZ3R0X3RvdGFsKTsKPiAg IAlpZiAocmV0KSB7Cj4gQEAgLTEyMSw2ICsxMjcsNyBAQCBpbnQgYW1kZ3B1X2d0dF9tZ3JfaW5p dChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdWludDY0X3QgZ3R0X3NpemUpCj4gICAJCXJl dHVybiByZXQ7Cj4gICAJfQo+ICAgCj4gKwl0dG1fc2V0X2RyaXZlcl9tYW5hZ2VyKCZhZGV2LT5t bWFuLmJkZXYsIFRUTV9QTF9UVCwgJm1nci0+bWFuYWdlcik7Cj4gICAJdHRtX21lbV90eXBlX21h bmFnZXJfc2V0X3VzZWQobWFuLCB0cnVlKTsKPiAgIAlyZXR1cm4gMDsKPiAgIH0KPiBAQCAtMTM2 LDcgKzE0Myw3IEBAIGludCBhbWRncHVfZ3R0X21ncl9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2LCB1aW50NjRfdCBndHRfc2l6ZSkKPiAgIHZvaWQgYW1kZ3B1X2d0dF9tZ3JfZmluaShz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgIHsKPiAgIAlzdHJ1Y3QgdHRtX21lbV90eXBl X21hbmFnZXIgKm1hbiA9IHR0bV9tYW5hZ2VyX3R5cGUoJmFkZXYtPm1tYW4uYmRldiwgVFRNX1BM X1RUKTsKPiAtCXN0cnVjdCBhbWRncHVfZ3R0X21nciAqbWdyID0gbWFuLT5wcml2Owo+ICsJc3Ry dWN0IGFtZGdwdV9ndHRfbWdyICptZ3IgPSB0b19ndHRfbWdyKG1hbik7Cj4gICAJaW50IHJldDsK PiAgIAo+ICAgCXR0bV9tZW1fdHlwZV9tYW5hZ2VyX2Rpc2FibGUobWFuKTsKPiBAQCAtMTQ4LDEz ICsxNTUsMTMgQEAgdm9pZCBhbWRncHVfZ3R0X21ncl9maW5pKHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2KQo+ICAgCXNwaW5fbG9jaygmbWdyLT5sb2NrKTsKPiAgIAlkcm1fbW1fdGFrZWRvd24o Jm1nci0+bW0pOwo+ICAgCXNwaW5fdW5sb2NrKCZtZ3ItPmxvY2spOwo+IC0Ja2ZyZWUobWdyKTsK PiAtCW1hbi0+cHJpdiA9IE5VTEw7Cj4gICAKPiAgIAlkZXZpY2VfcmVtb3ZlX2ZpbGUoYWRldi0+ ZGV2LCAmZGV2X2F0dHJfbWVtX2luZm9fZ3R0X3RvdGFsKTsKPiAgIAlkZXZpY2VfcmVtb3ZlX2Zp bGUoYWRldi0+ZGV2LCAmZGV2X2F0dHJfbWVtX2luZm9fZ3R0X3VzZWQpOwo+ICAgCj4gICAJdHRt X21lbV90eXBlX21hbmFnZXJfY2xlYW51cChtYW4pOwo+ICsJdHRtX3NldF9kcml2ZXJfbWFuYWdl cigmYWRldi0+bW1hbi5iZGV2LCBUVE1fUExfVFQsIE5VTEwpOwo+ICsJa2ZyZWUobWdyKTsKPiAg IH0KPiAgIAo+ICAgLyoqCj4gQEAgLTE4NCw3ICsxOTEsNyBAQCBzdGF0aWMgaW50IGFtZGdwdV9n dHRfbWdyX25ldyhzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiwKPiAgIAkJCSAgICAg IGNvbnN0IHN0cnVjdCB0dG1fcGxhY2UgKnBsYWNlLAo+ICAgCQkJICAgICAgc3RydWN0IHR0bV9t ZW1fcmVnICptZW0pCj4gICB7Cj4gLQlzdHJ1Y3QgYW1kZ3B1X2d0dF9tZ3IgKm1nciA9IG1hbi0+ cHJpdjsKPiArCXN0cnVjdCBhbWRncHVfZ3R0X21nciAqbWdyID0gdG9fZ3R0X21ncihtYW4pOwo+ ICAgCXN0cnVjdCBhbWRncHVfZ3R0X25vZGUgKm5vZGU7Cj4gICAJaW50IHI7Cj4gICAKPiBAQCAt MjQ1LDcgKzI1Miw3IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2d0dF9tZ3JfbmV3KHN0cnVjdCB0dG1f bWVtX3R5cGVfbWFuYWdlciAqbWFuLAo+ICAgc3RhdGljIHZvaWQgYW1kZ3B1X2d0dF9tZ3JfZGVs KHN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuLAo+ICAgCQkJICAgICAgIHN0cnVjdCB0 dG1fbWVtX3JlZyAqbWVtKQo+ICAgewo+IC0Jc3RydWN0IGFtZGdwdV9ndHRfbWdyICptZ3IgPSBt YW4tPnByaXY7Cj4gKwlzdHJ1Y3QgYW1kZ3B1X2d0dF9tZ3IgKm1nciA9IHRvX2d0dF9tZ3IobWFu KTsKPiAgIAlzdHJ1Y3QgYW1kZ3B1X2d0dF9ub2RlICpub2RlID0gbWVtLT5tbV9ub2RlOwo+ICAg Cj4gICAJaWYgKG5vZGUpIHsKPiBAQCAtMjY3LDcgKzI3NCw3IEBAIHN0YXRpYyB2b2lkIGFtZGdw dV9ndHRfbWdyX2RlbChzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiwKPiAgICAqLwo+ ICAgdWludDY0X3QgYW1kZ3B1X2d0dF9tZ3JfdXNhZ2Uoc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5h Z2VyICptYW4pCj4gICB7Cj4gLQlzdHJ1Y3QgYW1kZ3B1X2d0dF9tZ3IgKm1nciA9IG1hbi0+cHJp djsKPiArCXN0cnVjdCBhbWRncHVfZ3R0X21nciAqbWdyID0gdG9fZ3R0X21ncihtYW4pOwo+ICAg CXM2NCByZXN1bHQgPSBtYW4tPnNpemUgLSBhdG9taWM2NF9yZWFkKCZtZ3ItPmF2YWlsYWJsZSk7 Cj4gICAKPiAgIAlyZXR1cm4gKHJlc3VsdCA+IDAgPyByZXN1bHQgOiAwKSAqIFBBR0VfU0laRTsK PiBAQCAtMjc1LDcgKzI4Miw3IEBAIHVpbnQ2NF90IGFtZGdwdV9ndHRfbWdyX3VzYWdlKHN0cnVj dCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuKQo+ICAgCj4gICBpbnQgYW1kZ3B1X2d0dF9tZ3Jf cmVjb3ZlcihzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbikKPiAgIHsKPiAtCXN0cnVj dCBhbWRncHVfZ3R0X21nciAqbWdyID0gbWFuLT5wcml2Owo+ICsJc3RydWN0IGFtZGdwdV9ndHRf bWdyICptZ3IgPSB0b19ndHRfbWdyKG1hbik7Cj4gICAJc3RydWN0IGFtZGdwdV9ndHRfbm9kZSAq bm9kZTsKPiAgIAlzdHJ1Y3QgZHJtX21tX25vZGUgKm1tX25vZGU7Cj4gICAJaW50IHIgPSAwOwo+ IEBAIC0zMDMsNyArMzEwLDcgQEAgaW50IGFtZGdwdV9ndHRfbWdyX3JlY292ZXIoc3RydWN0IHR0 bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4pCj4gICBzdGF0aWMgdm9pZCBhbWRncHVfZ3R0X21ncl9k ZWJ1ZyhzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiwKPiAgIAkJCQkgc3RydWN0IGRy bV9wcmludGVyICpwcmludGVyKQo+ICAgewo+IC0Jc3RydWN0IGFtZGdwdV9ndHRfbWdyICptZ3Ig PSBtYW4tPnByaXY7Cj4gKwlzdHJ1Y3QgYW1kZ3B1X2d0dF9tZ3IgKm1nciA9IHRvX2d0dF9tZ3Io bWFuKTsKPiAgIAo+ICAgCXNwaW5fbG9jaygmbWdyLT5sb2NrKTsKPiAgIAlkcm1fbW1fcHJpbnQo Jm1nci0+bW0sIHByaW50ZXIpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfdnJhbV9tZ3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV92cmFtX21nci5jCj4gaW5kZXggYmM3NzZiOGYxMDYzLi4yYjM3ZjQyNjZkY2IgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZyYW1fbWdyLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdnJhbV9tZ3IuYwo+IEBAIC0yOSwx MiArMjksMTggQEAKPiAgICNpbmNsdWRlICJhdG9tLmgiCj4gICAKPiAgIHN0cnVjdCBhbWRncHVf dnJhbV9tZ3Igewo+ICsJc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyIG1hbmFnZXI7Cj4gICAJ c3RydWN0IGRybV9tbSBtbTsKPiAgIAlzcGlubG9ja190IGxvY2s7Cj4gICAJYXRvbWljNjRfdCB1 c2FnZTsKPiAgIAlhdG9taWM2NF90IHZpc191c2FnZTsKPiAgIH07Cj4gICAKPiArc3RhdGljIGlu bGluZSBzdHJ1Y3QgYW1kZ3B1X3ZyYW1fbWdyICp0b192cmFtX21ncihzdHJ1Y3QgdHRtX21lbV90 eXBlX21hbmFnZXIgKm1hbikKPiArewo+ICsJcmV0dXJuIGNvbnRhaW5lcl9vZihtYW4sIHN0cnVj dCBhbWRncHVfdnJhbV9tZ3IsIG1hbmFnZXIpOwo+ICt9Cj4gKwo+ICAgLyoqCj4gICAgKiBET0M6 IG1lbV9pbmZvX3ZyYW1fdG90YWwKPiAgICAqCj4gQEAgLTE3MCwyOSArMTc2LDMyIEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXJfZnVuYyBhbWRncHVfdnJhbV9tZ3Jf ZnVuYzsKPiAgICAqLwo+ICAgaW50IGFtZGdwdV92cmFtX21ncl9pbml0KHN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2KQo+ICAgewo+IC0Jc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4g PSB0dG1fbWFuYWdlcl90eXBlKCZhZGV2LT5tbWFuLmJkZXYsIFRUTV9QTF9WUkFNKTsKPiArCXN0 cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuOwo+ICAgCXN0cnVjdCBhbWRncHVfdnJhbV9t Z3IgKm1ncjsKPiAgIAlpbnQgcmV0Owo+ICAgCj4gKwltZ3IgPSBremFsbG9jKHNpemVvZigqbWdy KSwgR0ZQX0tFUk5FTCk7Cj4gKwlpZiAoIW1ncikKPiArCQlyZXR1cm4gLUVOT01FTTsKPiArCj4g KwltYW4gPSAmbWdyLT5tYW5hZ2VyOwo+ICsKPiAgIAltYW4tPmF2YWlsYWJsZV9jYWNoaW5nID0g VFRNX1BMX0ZMQUdfVU5DQUNIRUQgfCBUVE1fUExfRkxBR19XQzsKPiAgIAltYW4tPmRlZmF1bHRf Y2FjaGluZyA9IFRUTV9QTF9GTEFHX1dDOwo+ICAgCj4gICAJdHRtX21lbV90eXBlX21hbmFnZXJf aW5pdCgmYWRldi0+bW1hbi5iZGV2LCBtYW4sIGFkZXYtPmdtYy5yZWFsX3ZyYW1fc2l6ZSA+PiBQ QUdFX1NISUZUKTsKPiAgIAo+ICAgCW1hbi0+ZnVuYyA9ICZhbWRncHVfdnJhbV9tZ3JfZnVuYzsK PiAtCW1nciA9IGt6YWxsb2Moc2l6ZW9mKCptZ3IpLCBHRlBfS0VSTkVMKTsKPiAtCWlmICghbWdy KQo+IC0JCXJldHVybiAtRU5PTUVNOwo+ICAgCj4gICAJZHJtX21tX2luaXQoJm1nci0+bW0sIDAs IG1hbi0+c2l6ZSk7Cj4gICAJc3Bpbl9sb2NrX2luaXQoJm1nci0+bG9jayk7Cj4gLQltYW4tPnBy aXYgPSBtZ3I7Cj4gICAKPiAgIAkvKiBBZGQgdGhlIHR3byBWUkFNLXJlbGF0ZWQgc3lzZnMgZmls ZXMgKi8KPiAgIAlyZXQgPSBzeXNmc19jcmVhdGVfZmlsZXMoJmFkZXYtPmRldi0+a29iaiwgYW1k Z3B1X3ZyYW1fbWdyX2F0dHJpYnV0ZXMpOwo+ICAgCWlmIChyZXQpCj4gICAJCURSTV9FUlJPUigi RmFpbGVkIHRvIHJlZ2lzdGVyIHN5c2ZzXG4iKTsKPiAgIAo+ICsJdHRtX3NldF9kcml2ZXJfbWFu YWdlcigmYWRldi0+bW1hbi5iZGV2LCBUVE1fUExfVlJBTSwgJm1nci0+bWFuYWdlcik7Cj4gICAJ dHRtX21lbV90eXBlX21hbmFnZXJfc2V0X3VzZWQobWFuLCB0cnVlKTsKPiAgIAlyZXR1cm4gMDsK PiAgIH0KPiBAQCAtMjA4LDcgKzIxNyw3IEBAIGludCBhbWRncHVfdnJhbV9tZ3JfaW5pdChzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgIHZvaWQgYW1kZ3B1X3ZyYW1fbWdyX2Zpbmkoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gICB7Cj4gICAJc3RydWN0IHR0bV9tZW1fdHlwZV9t YW5hZ2VyICptYW4gPSB0dG1fbWFuYWdlcl90eXBlKCZhZGV2LT5tbWFuLmJkZXYsIFRUTV9QTF9W UkFNKTsKPiAtCXN0cnVjdCBhbWRncHVfdnJhbV9tZ3IgKm1nciA9IG1hbi0+cHJpdjsKPiArCXN0 cnVjdCBhbWRncHVfdnJhbV9tZ3IgKm1nciA9IHRvX3ZyYW1fbWdyKG1hbik7Cj4gICAJaW50IHJl dDsKPiAgIAo+ICAgCXR0bV9tZW1fdHlwZV9tYW5hZ2VyX2Rpc2FibGUobWFuKTsKPiBAQCAtMjIw LDExICsyMjksMTIgQEAgdm9pZCBhbWRncHVfdnJhbV9tZ3JfZmluaShzdHJ1Y3QgYW1kZ3B1X2Rl dmljZSAqYWRldikKPiAgIAlzcGluX2xvY2soJm1nci0+bG9jayk7Cj4gICAJZHJtX21tX3Rha2Vk b3duKCZtZ3ItPm1tKTsKPiAgIAlzcGluX3VubG9jaygmbWdyLT5sb2NrKTsKPiAtCWtmcmVlKG1n cik7Cj4gLQltYW4tPnByaXYgPSBOVUxMOwo+ICsKPiAgIAlzeXNmc19yZW1vdmVfZmlsZXMoJmFk ZXYtPmRldi0+a29iaiwgYW1kZ3B1X3ZyYW1fbWdyX2F0dHJpYnV0ZXMpOwo+ICAgCj4gICAJdHRt X21lbV90eXBlX21hbmFnZXJfY2xlYW51cChtYW4pOwo+ICsJdHRtX3NldF9kcml2ZXJfbWFuYWdl cigmYWRldi0+bW1hbi5iZGV2LCBUVE1fUExfVlJBTSwgTlVMTCk7Cj4gKwlrZnJlZShtZ3IpOwo+ ICAgfQo+ICAgCj4gICAvKioKPiBAQCAtMzE0LDcgKzMyNCw3IEBAIHN0YXRpYyBpbnQgYW1kZ3B1 X3ZyYW1fbWdyX25ldyhzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiwKPiAgIAkJCSAg ICAgICBzdHJ1Y3QgdHRtX21lbV9yZWcgKm1lbSkKPiAgIHsKPiAgIAlzdHJ1Y3QgYW1kZ3B1X2Rl dmljZSAqYWRldiA9IGFtZGdwdV90dG1fYWRldihtYW4tPmJkZXYpOwo+IC0Jc3RydWN0IGFtZGdw dV92cmFtX21nciAqbWdyID0gbWFuLT5wcml2Owo+ICsJc3RydWN0IGFtZGdwdV92cmFtX21nciAq bWdyID0gdG9fdnJhbV9tZ3IobWFuKTsKPiAgIAlzdHJ1Y3QgZHJtX21tICptbSA9ICZtZ3ItPm1t Owo+ICAgCXN0cnVjdCBkcm1fbW1fbm9kZSAqbm9kZXM7Cj4gICAJZW51bSBkcm1fbW1faW5zZXJ0 X21vZGUgbW9kZTsKPiBAQCAtNDMwLDcgKzQ0MCw3IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV92cmFt X21ncl9kZWwoc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4sCj4gICAJCQkJc3RydWN0 IHR0bV9tZW1fcmVnICptZW0pCj4gICB7Cj4gICAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYg PSBhbWRncHVfdHRtX2FkZXYobWFuLT5iZGV2KTsKPiAtCXN0cnVjdCBhbWRncHVfdnJhbV9tZ3Ig Km1nciA9IG1hbi0+cHJpdjsKPiArCXN0cnVjdCBhbWRncHVfdnJhbV9tZ3IgKm1nciA9IHRvX3Zy YW1fbWdyKG1hbik7Cj4gICAJc3RydWN0IGRybV9tbV9ub2RlICpub2RlcyA9IG1lbS0+bW1fbm9k ZTsKPiAgIAl1aW50NjRfdCB1c2FnZSA9IDAsIHZpc191c2FnZSA9IDA7Cj4gICAJdW5zaWduZWQg cGFnZXMgPSBtZW0tPm51bV9wYWdlczsKPiBAQCAtNTYyLDcgKzU3Miw3IEBAIHZvaWQgYW1kZ3B1 X3ZyYW1fbWdyX2ZyZWVfc2d0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICAgICovCj4g ICB1aW50NjRfdCBhbWRncHVfdnJhbV9tZ3JfdXNhZ2Uoc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5h Z2VyICptYW4pCj4gICB7Cj4gLQlzdHJ1Y3QgYW1kZ3B1X3ZyYW1fbWdyICptZ3IgPSBtYW4tPnBy aXY7Cj4gKwlzdHJ1Y3QgYW1kZ3B1X3ZyYW1fbWdyICptZ3IgPSB0b192cmFtX21ncihtYW4pOwo+ ICAgCj4gICAJcmV0dXJuIGF0b21pYzY0X3JlYWQoJm1nci0+dXNhZ2UpOwo+ICAgfQo+IEBAIC01 NzYsNyArNTg2LDcgQEAgdWludDY0X3QgYW1kZ3B1X3ZyYW1fbWdyX3VzYWdlKHN0cnVjdCB0dG1f bWVtX3R5cGVfbWFuYWdlciAqbWFuKQo+ICAgICovCj4gICB1aW50NjRfdCBhbWRncHVfdnJhbV9t Z3JfdmlzX3VzYWdlKHN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuKQo+ICAgewo+IC0J c3RydWN0IGFtZGdwdV92cmFtX21nciAqbWdyID0gbWFuLT5wcml2Owo+ICsJc3RydWN0IGFtZGdw dV92cmFtX21nciAqbWdyID0gdG9fdnJhbV9tZ3IobWFuKTsKPiAgIAo+ICAgCXJldHVybiBhdG9t aWM2NF9yZWFkKCZtZ3ItPnZpc191c2FnZSk7Cj4gICB9Cj4gQEAgLTU5Miw3ICs2MDIsNyBAQCB1 aW50NjRfdCBhbWRncHVfdnJhbV9tZ3JfdmlzX3VzYWdlKHN0cnVjdCB0dG1fbWVtX3R5cGVfbWFu YWdlciAqbWFuKQo+ICAgc3RhdGljIHZvaWQgYW1kZ3B1X3ZyYW1fbWdyX2RlYnVnKHN0cnVjdCB0 dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuLAo+ICAgCQkJCSAgc3RydWN0IGRybV9wcmludGVyICpw cmludGVyKQo+ICAgewo+IC0Jc3RydWN0IGFtZGdwdV92cmFtX21nciAqbWdyID0gbWFuLT5wcml2 Owo+ICsJc3RydWN0IGFtZGdwdV92cmFtX21nciAqbWdyID0gdG9fdnJhbV9tZ3IobWFuKTsKPiAg IAo+ICAgCXNwaW5fbG9jaygmbWdyLT5sb2NrKTsKPiAgIAlkcm1fbW1fcHJpbnQoJm1nci0+bW0s IHByaW50ZXIpOwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs Cg==