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, 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 B01CDC433E0 for ; Tue, 4 Aug 2020 11:25:43 +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 7E01E2067D for ; Tue, 4 Aug 2020 11:25:43 +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="glNMeQhS" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7E01E2067D 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 610FD6E187; Tue, 4 Aug 2020 11:25:42 +0000 (UTC) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2065.outbound.protection.outlook.com [40.107.220.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8A97489E08 for ; Tue, 4 Aug 2020 11:25:40 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Jla6grmasvZTMiDsg+nD2i625Mr2Y6ul2jv46UJrFdwR1Gu/ENBj/PG5K6jfsv4IHHjKes+k0SNQaPZ0sTfazQvlSZDq4YfqT/xF71RI4DGW7nYs9HlQBcTcsGNYH2SXBU9JLkpthwQcgYjPdIwpfMcHJ3cvQ1/5vnwz4Um1HyLVu2labtIHGgc9cYQVU4n+BGdH30enpCoflpjwshoIOZgxAIGz5Y10qpZtrBWCF7l8Mm1HWDrtYa+D4N8mWK9StVvCH1+EvMTqynVMZJzP97HtLYoMw9jq0lN3pPcW6fF6KATGQB3aQ7ykyQMZh3S2q2qXbXw2rhq22FOqjEyJPw== 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=ZKbs6+ThQfCR1UnSu3WCqaOnpBlv+D3jdmwOBJkUGJ8=; b=Ojz8XVCV++Hl1NuvGHRsdYR9rIblwbMwUDH7UWfc0ZJ0ODNiXVDOiruIwSPNQxDFsa6KIAcnEflmpdR23vAo+v+bAhjv2U1ldH38sZP9pxJVqKM2AzK/o94KEn0p/WSgIrSMUJuno7H+ZHhcR9/bP7pZ/SDhiRp9n63cZ/+MiuJhgEF7AFjJw6E3u0CkerLZGl74V+GlzloiNEb77fPRI4TF19+Rp+GuwzIgoJlAVsY1KnzZP2TCX6Ch7IaJ7rnWkhayTRDaVT8wUnvwBVVq8QpTxypGXy097z+rk49t4CaL2pOfdhKwpLfExROXv2BIcahCnL3l+pvPEqAcraOg3A== 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=ZKbs6+ThQfCR1UnSu3WCqaOnpBlv+D3jdmwOBJkUGJ8=; b=glNMeQhSR6xO3zz4LVEZlj6KWQe2skS0OPzDLjX6/44q4jpUqdXaOp55I4O/Iz6LIiTdGnxZLrNVwGVUVJjJyVHMy1L5KR7O33zD+ILSHGndhPb3rvLUHc4wh+Ct2sZamu2h8yMGs6m1dj2VY4w1faLBSLj7oCrbt//H0w0/V0o= 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:25:37 +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:25:37 +0000 Subject: Re: [PATCH 36/59] drm/ttm: add wrapper to get manager from bdev. To: Dave Airlie , dri-devel@lists.freedesktop.org References: <20200804025632.3868079-1-airlied@gmail.com> <20200804025632.3868079-37-airlied@gmail.com> From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: <547e1492-116b-3f84-d651-f5f678c7a3ce@amd.com> Date: Tue, 4 Aug 2020 13:25:31 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 In-Reply-To: <20200804025632.3868079-37-airlied@gmail.com> Content-Language: en-US X-ClientProxiedBy: AM5PR0601CA0077.eurprd06.prod.outlook.com (2603:10a6:206::42) 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 AM5PR0601CA0077.eurprd06.prod.outlook.com (2603:10a6:206::42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.18 via Frontend Transport; Tue, 4 Aug 2020 11:25:36 +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: e97b1ba9-e8f5-4ca9-9b8d-08d838691c6a X-MS-TrafficTypeDiagnostic: MN2PR12MB4142: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:243; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pgMUnKnXDFJ88cwON+d6gJBgGPpaRjmHX8DX3Eae0EWtlU4j4eHL78wMPI1+karf819qg61QYnTdnr33JdOfJL8aIfE4IxO5krfCbwwxFIzDltoU2yw1vG4WgNIg2m+qKBzJOV6N+pdkKh4ZnffMNqjU9mZ0qTt0B83movrajndHk5iKACr82Zwa94XyhRTgV0IXJubqsyEFGtPvg8YxbCrcJd6ZzwBWBBQmMKfSbsIbI9+i9SehiucwQieV5CRW7qIdCjyzNml9iwuGm4emcyz42epgGmQJ3LtQOzzrJ68zWmETsh+ZXJK9vTL8nK+h2BxG8jwnADlenG6F9kWww2hYC+M54WERTtaMNJHUiQUtJ2HM+0qWtYI3pi2afeHy 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: 5ft8Zf4yQhdYV2EU6C6sko9by3Qu9gUt6oZzCet0G892Vq8caAgeKieMS9CPCNmObh1LQ6LCpd92GL3Rb2SDFZsSVLRz8/On/hfEmxodjNuvw2qhGOFoYI2yyR+Z+7xHBSPqo1hTfC0gh45+iAd5CA29RYzv6E62yCzsoj49wArvwNFIxFL1HzgNimz3HVjZO8Oy1RULk59iFUsJ5mW8L8iK5bQJG4silkYrPUkhn6KmHU0na1wu+p8NgRvF6aHPlr72RfP57e1HU4ANHDRYfVeRVxWOkDtBYDH/HBWZ07e9PGQ0GnsJROlHZ3hpt+zfmbF48lUsQQH6kh1kqnfbK5c8Enkrh5VdJtVjn12HutgegvuzuSruDLuftMQI8qCoygMvAb2mUBffZf2YgMxuxG/V/yhmZXZJxPyNyhRYTYnSiHtrN5b4N9nq6OlLUFVliK/tzviGAKE3XbncBGKZwCYX9BFGcUZ8FbLi+Ugj6GBmZngJib41lxZ6GpMQ+E8LBQZ7vWvev3KQBVxb0v0KVMHYlI801j7fTP6ZhwB6eu4Zn90U3/8wpVhKC48OxUjFH67SFY6P0gLbqBRWHZP/nBplQbKrTVMlIIO77W9wUDmLUHzgda30qN03dqU8bfTcInWVsSMWJMUahMcWnr/qkPQ8dmSec95tYiFkdyGyr8J0eCC0UZakcFKYjZa3Tf5JZqlmHkelWfQP+Mdjf2qmBQ== X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: e97b1ba9-e8f5-4ca9-9b8d-08d838691c6a 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:25:37.4993 (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: UJKoR8Gmj4N5rzS0OQbpyHdoU5QtZYK+mSsAyKlOXQhawsqf+T5R2SCkUSu1STOj 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+Cj4gVGhpcyB3aWxsIGFsbG93IGRpZmZlcmVudCBh YnN0cmFjdGlvbnMgbGF0ZXIuCj4KPiBTaWduZWQtb2ZmLWJ5OiBEYXZlIEFpcmxpZSA8YWlybGll ZEByZWRoYXQuY29tPgoKQWNrZWQtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2Vu aWdAYW1kLmNvbT4KCj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9iby5jICAgICAg fCAzNCArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0v dHRtL3R0bV9ib191dGlsLmMgfCAyMCArKysrKysrKystLS0tLS0tLS0KPiAgIGRyaXZlcnMvZ3B1 L2RybS90dG0vdHRtX2JvX3ZtLmMgICB8ICAyICstCj4gICBpbmNsdWRlL2RybS90dG0vdHRtX2Jv X2RyaXZlci5oICAgfCAgNiArKysrKysKPiAgIDQgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0aW9u cygrKSwgMjggZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3R0 bS90dG1fYm8uYyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvLmMKPiBpbmRleCBlYmVjYjc5 NmRkNDkuLjg3NzdjMzIzZTdkZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0 bV9iby5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm8uYwo+IEBAIC0xMDgsNyAr MTA4LDcgQEAgc3RhdGljIHZvaWQgdHRtX2JvX21lbV9zcGFjZV9kZWJ1ZyhzdHJ1Y3QgdHRtX2J1 ZmZlcl9vYmplY3QgKmJvLAo+ICAgCQkJcmV0dXJuOwo+ICAgCQlkcm1fcHJpbnRmKCZwLCAiICBw bGFjZW1lbnRbJWRdPTB4JTA4WCAoJWQpXG4iLAo+ICAgCQkJICAgaSwgcGxhY2VtZW50LT5wbGFj ZW1lbnRbaV0uZmxhZ3MsIG1lbV90eXBlKTsKPiAtCQltYW4gPSAmYm8tPmJkZXYtPm1hblttZW1f dHlwZV07Cj4gKwkJbWFuID0gdHRtX21hbmFnZXJfdHlwZShiby0+YmRldiwgbWVtX3R5cGUpOwo+ ICAgCQl0dG1fbWVtX3R5cGVfbWFuYWdlcl9kZWJ1ZyhtYW4sICZwKTsKPiAgIAl9Cj4gICB9Cj4g QEAgLTE1Nyw3ICsxNTcsNyBAQCBzdGF0aWMgdm9pZCB0dG1fYm9fYWRkX21lbV90b19scnUoc3Ry dWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKPiAgIAlpZiAobWVtLT5wbGFjZW1lbnQgJiBUVE1f UExfRkxBR19OT19FVklDVCkKPiAgIAkJcmV0dXJuOwo+ICAgCj4gLQltYW4gPSAmYmRldi0+bWFu W21lbS0+bWVtX3R5cGVdOwo+ICsJbWFuID0gdHRtX21hbmFnZXJfdHlwZShiZGV2LCBtZW0tPm1l bV90eXBlKTsKPiAgIAlsaXN0X2FkZF90YWlsKCZiby0+bHJ1LCAmbWFuLT5scnVbYm8tPnByaW9y aXR5XSk7Cj4gICAKPiAgIAlpZiAobWFuLT51c2VfdHQgJiYgYm8tPnR0bSAmJgo+IEBAIC0yMzIs NyArMjMyLDcgQEAgdm9pZCB0dG1fYm9fYnVsa19tb3ZlX2xydV90YWlsKHN0cnVjdCB0dG1fbHJ1 X2J1bGtfbW92ZSAqYnVsaykKPiAgIAkJZG1hX3Jlc3ZfYXNzZXJ0X2hlbGQocG9zLT5maXJzdC0+ YmFzZS5yZXN2KTsKPiAgIAkJZG1hX3Jlc3ZfYXNzZXJ0X2hlbGQocG9zLT5sYXN0LT5iYXNlLnJl c3YpOwo+ICAgCj4gLQkJbWFuID0gJnBvcy0+Zmlyc3QtPmJkZXYtPm1hbltUVE1fUExfVFRdOwo+ ICsJCW1hbiA9IHR0bV9tYW5hZ2VyX3R5cGUocG9zLT5maXJzdC0+YmRldiwgVFRNX1BMX1RUKTsK PiAgIAkJbGlzdF9idWxrX21vdmVfdGFpbCgmbWFuLT5scnVbaV0sICZwb3MtPmZpcnN0LT5scnUs Cj4gICAJCQkJICAgICZwb3MtPmxhc3QtPmxydSk7Cj4gICAJfQo+IEBAIC0yNDcsNyArMjQ3LDcg QEAgdm9pZCB0dG1fYm9fYnVsa19tb3ZlX2xydV90YWlsKHN0cnVjdCB0dG1fbHJ1X2J1bGtfbW92 ZSAqYnVsaykKPiAgIAkJZG1hX3Jlc3ZfYXNzZXJ0X2hlbGQocG9zLT5maXJzdC0+YmFzZS5yZXN2 KTsKPiAgIAkJZG1hX3Jlc3ZfYXNzZXJ0X2hlbGQocG9zLT5sYXN0LT5iYXNlLnJlc3YpOwo+ICAg Cj4gLQkJbWFuID0gJnBvcy0+Zmlyc3QtPmJkZXYtPm1hbltUVE1fUExfVlJBTV07Cj4gKwkJbWFu ID0gdHRtX21hbmFnZXJfdHlwZShwb3MtPmZpcnN0LT5iZGV2LCBUVE1fUExfVlJBTSk7Cj4gICAJ CWxpc3RfYnVsa19tb3ZlX3RhaWwoJm1hbi0+bHJ1W2ldLCAmcG9zLT5maXJzdC0+bHJ1LAo+ICAg CQkJCSAgICAmcG9zLT5sYXN0LT5scnUpOwo+ICAgCX0KPiBAQCAtMjczLDggKzI3Myw4IEBAIHN0 YXRpYyBpbnQgdHRtX2JvX2hhbmRsZV9tb3ZlX21lbShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3Qg KmJvLAo+ICAgCQkJCSAgc3RydWN0IHR0bV9vcGVyYXRpb25fY3R4ICpjdHgpCj4gICB7Cj4gICAJ c3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYgPSBiby0+YmRldjsKPiAtCXN0cnVjdCB0dG1fbWVt X3R5cGVfbWFuYWdlciAqb2xkX21hbiA9ICZiZGV2LT5tYW5bYm8tPm1lbS5tZW1fdHlwZV07Cj4g LQlzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm5ld19tYW4gPSAmYmRldi0+bWFuW21lbS0+ bWVtX3R5cGVdOwo+ICsJc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICpvbGRfbWFuID0gdHRt X21hbmFnZXJfdHlwZShiZGV2LCBiby0+bWVtLm1lbV90eXBlKTsKPiArCXN0cnVjdCB0dG1fbWVt X3R5cGVfbWFuYWdlciAqbmV3X21hbiA9IHR0bV9tYW5hZ2VyX3R5cGUoYmRldiwgbWVtLT5tZW1f dHlwZSk7Cj4gICAJaW50IHJldDsKPiAgIAo+ICAgCXJldCA9IHR0bV9tZW1faW9fbG9jayhvbGRf bWFuLCB0cnVlKTsKPiBAQCAtMzQwLDcgKzM0MCw3IEBAIHN0YXRpYyBpbnQgdHRtX2JvX2hhbmRs ZV9tb3ZlX21lbShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAo+ICAgCXJldHVybiAwOwo+ ICAgCj4gICBvdXRfZXJyOgo+IC0JbmV3X21hbiA9ICZiZGV2LT5tYW5bYm8tPm1lbS5tZW1fdHlw ZV07Cj4gKwluZXdfbWFuID0gdHRtX21hbmFnZXJfdHlwZShiZGV2LCBiby0+bWVtLm1lbV90eXBl KTsKPiAgIAlpZiAoIW5ld19tYW4tPnVzZV90dCkgewo+ICAgCQl0dG1fdHRfZGVzdHJveShiby0+ dHRtKTsKPiAgIAkJYm8tPnR0bSA9IE5VTEw7Cj4gQEAgLTU1Miw3ICs1NTIsNyBAQCBzdGF0aWMg dm9pZCB0dG1fYm9fcmVsZWFzZShzdHJ1Y3Qga3JlZiAqa3JlZikKPiAgIAlzdHJ1Y3QgdHRtX2J1 ZmZlcl9vYmplY3QgKmJvID0KPiAgIAkgICAgY29udGFpbmVyX29mKGtyZWYsIHN0cnVjdCB0dG1f YnVmZmVyX29iamVjdCwga3JlZik7Cj4gICAJc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYgPSBi by0+YmRldjsKPiAtCXN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuID0gJmJkZXYtPm1h bltiby0+bWVtLm1lbV90eXBlXTsKPiArCXN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFu ID0gdHRtX21hbmFnZXJfdHlwZShiZGV2LCBiby0+bWVtLm1lbV90eXBlKTsKPiAgIAlzaXplX3Qg YWNjX3NpemUgPSBiby0+YWNjX3NpemU7Cj4gICAJaW50IHJldDsKPiAgIAo+IEBAIC04NDQsNyAr ODQ0LDcgQEAgc3RhdGljIGludCB0dG1fYm9fbWVtX2dldChzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmpl Y3QgKmJvLAo+ICAgCQkJICBjb25zdCBzdHJ1Y3QgdHRtX3BsYWNlICpwbGFjZSwKPiAgIAkJCSAg c3RydWN0IHR0bV9tZW1fcmVnICptZW0pCj4gICB7Cj4gLQlzdHJ1Y3QgdHRtX21lbV90eXBlX21h bmFnZXIgKm1hbiA9ICZiby0+YmRldi0+bWFuW21lbS0+bWVtX3R5cGVdOwo+ICsJc3RydWN0IHR0 bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4gPSB0dG1fbWFuYWdlcl90eXBlKGJvLT5iZGV2LCBtZW0t Pm1lbV90eXBlKTsKPiAgIAo+ICAgCW1lbS0+bW1fbm9kZSA9IE5VTEw7Cj4gICAJaWYgKCFtYW4t PmZ1bmMgfHwgIW1hbi0+ZnVuYy0+Z2V0X25vZGUpCj4gQEAgLTg1NSw3ICs4NTUsNyBAQCBzdGF0 aWMgaW50IHR0bV9ib19tZW1fZ2V0KHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCj4gICAK PiAgIHZvaWQgdHRtX2JvX21lbV9wdXQoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywgc3Ry dWN0IHR0bV9tZW1fcmVnICptZW0pCj4gICB7Cj4gLQlzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFn ZXIgKm1hbiA9ICZiby0+YmRldi0+bWFuW21lbS0+bWVtX3R5cGVdOwo+ICsJc3RydWN0IHR0bV9t ZW1fdHlwZV9tYW5hZ2VyICptYW4gPSB0dG1fbWFuYWdlcl90eXBlKGJvLT5iZGV2LCBtZW0tPm1l bV90eXBlKTsKPiAgIAo+ICAgCWlmICghbWFuLT5mdW5jIHx8ICFtYW4tPmZ1bmMtPnB1dF9ub2Rl KQo+ICAgCQlyZXR1cm47Cj4gQEAgLTkxMiw3ICs5MTIsNyBAQCBzdGF0aWMgaW50IHR0bV9ib19t ZW1fZm9yY2Vfc3BhY2Uoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKPiAgIAkJCQkgIHN0 cnVjdCB0dG1fb3BlcmF0aW9uX2N0eCAqY3R4KQo+ICAgewo+ICAgCXN0cnVjdCB0dG1fYm9fZGV2 aWNlICpiZGV2ID0gYm8tPmJkZXY7Cj4gLQlzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1h biA9ICZiZGV2LT5tYW5bbWVtLT5tZW1fdHlwZV07Cj4gKwlzdHJ1Y3QgdHRtX21lbV90eXBlX21h bmFnZXIgKm1hbiA9IHR0bV9tYW5hZ2VyX3R5cGUoYmRldiwgbWVtLT5tZW1fdHlwZSk7Cj4gICAJ c3RydWN0IHd3X2FjcXVpcmVfY3R4ICp0aWNrZXQ7Cj4gICAJaW50IHJldDsKPiAgIAo+IEBAIC0x MDAyLDcgKzEwMDIsNyBAQCBzdGF0aWMgaW50IHR0bV9ib19tZW1fcGxhY2VtZW50KHN0cnVjdCB0 dG1fYnVmZmVyX29iamVjdCAqYm8sCj4gICAJaWYgKHJldCkKPiAgIAkJcmV0dXJuIHJldDsKPiAg IAo+IC0JbWFuID0gJmJkZXYtPm1hblttZW1fdHlwZV07Cj4gKwltYW4gPSB0dG1fbWFuYWdlcl90 eXBlKGJkZXYsIG1lbV90eXBlKTsKPiAgIAlpZiAoIW1hbi0+aGFzX3R5cGUgfHwgIW1hbi0+dXNl X3R5cGUpCj4gICAJCXJldHVybiAtRUJVU1k7Cj4gICAKPiBAQCAtMTA2NSw3ICsxMDY1LDcgQEAg aW50IHR0bV9ib19tZW1fc3BhY2Uoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKPiAgIAkJ aWYgKHVubGlrZWx5KHJldCkpCj4gICAJCQlnb3RvIGVycm9yOwo+ICAgCj4gLQkJbWFuID0gJmJk ZXYtPm1hblttZW0tPm1lbV90eXBlXTsKPiArCQltYW4gPSB0dG1fbWFuYWdlcl90eXBlKGJkZXYs IG1lbS0+bWVtX3R5cGUpOwo+ICAgCQlyZXQgPSB0dG1fYm9fYWRkX21vdmVfZmVuY2UoYm8sIG1h biwgbWVtLCBjdHgtPm5vX3dhaXRfZ3B1KTsKPiAgIAkJaWYgKHVubGlrZWx5KHJldCkpIHsKPiAg IAkJCXR0bV9ib19tZW1fcHV0KGJvLCBtZW0pOwo+IEBAIC0xNDU1LDcgKzE0NTUsNyBAQCBFWFBP UlRfU1lNQk9MKHR0bV9tZW1fdHlwZV9tYW5hZ2VyX2ZvcmNlX2xpc3RfY2xlYW4pOwo+ICAgCj4g ICBpbnQgdHRtX2JvX2V2aWN0X21tKHN0cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2LCB1bnNpZ25l ZCBtZW1fdHlwZSkKPiAgIHsKPiAtCXN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuID0g JmJkZXYtPm1hblttZW1fdHlwZV07Cj4gKwlzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1h biA9IHR0bV9tYW5hZ2VyX3R5cGUoYmRldiwgbWVtX3R5cGUpOwo+ICAgCj4gICAJaWYgKG1lbV90 eXBlID09IDAgfHwgbWVtX3R5cGUgPj0gVFRNX05VTV9NRU1fVFlQRVMpIHsKPiAgIAkJcHJfZXJy KCJJbGxlZ2FsIG1lbW9yeSBtYW5hZ2VyIG1lbW9yeSB0eXBlICV1XG4iLCBtZW1fdHlwZSk7Cj4g QEAgLTE1NTgsNyArMTU1OCw3IEBAIGludCB0dG1fYm9fZGV2aWNlX3JlbGVhc2Uoc3RydWN0IHR0 bV9ib19kZXZpY2UgKmJkZXYpCj4gICAJdW5zaWduZWQgaTsKPiAgIAlzdHJ1Y3QgdHRtX21lbV90 eXBlX21hbmFnZXIgKm1hbjsKPiAgIAo+IC0JbWFuID0gJmJkZXYtPm1hbltUVE1fUExfU1lTVEVN XTsKPiArCW1hbiA9IHR0bV9tYW5hZ2VyX3R5cGUoYmRldiwgVFRNX1BMX1NZU1RFTSk7Cj4gICAJ dHRtX21lbV90eXBlX21hbmFnZXJfZGlzYWJsZShtYW4pOwo+ICAgCj4gICAJbXV0ZXhfbG9jaygm dHRtX2dsb2JhbF9tdXRleCk7Cj4gQEAgLTE1ODUsNyArMTU4NSw3IEBAIEVYUE9SVF9TWU1CT0wo dHRtX2JvX2RldmljZV9yZWxlYXNlKTsKPiAgIAo+ICAgc3RhdGljIHZvaWQgdHRtX2JvX2luaXRf c3lzbWFuKHN0cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2KQo+ICAgewo+IC0Jc3RydWN0IHR0bV9t ZW1fdHlwZV9tYW5hZ2VyICptYW4gPSAmYmRldi0+bWFuW1RUTV9QTF9TWVNURU1dOwo+ICsJc3Ry dWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4gPSB0dG1fbWFuYWdlcl90eXBlKGJkZXYsIFRU TV9QTF9TWVNURU0pOwo+ICAgCj4gICAJLyoKPiAgIAkgKiBJbml0aWFsaXplIHRoZSBzeXN0ZW0g bWVtb3J5IGJ1ZmZlciB0eXBlLgo+IEBAIC0xNjQ5LDcgKzE2NDksNyBAQCB2b2lkIHR0bV9ib191 bm1hcF92aXJ0dWFsX2xvY2tlZChzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvKQo+ICAgdm9p ZCB0dG1fYm9fdW5tYXBfdmlydHVhbChzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvKQo+ICAg ewo+ICAgCXN0cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2ID0gYm8tPmJkZXY7Cj4gLQlzdHJ1Y3Qg dHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiA9ICZiZGV2LT5tYW5bYm8tPm1lbS5tZW1fdHlwZV07 Cj4gKwlzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiA9IHR0bV9tYW5hZ2VyX3R5cGUo YmRldiwgYm8tPm1lbS5tZW1fdHlwZSk7Cj4gICAKPiAgIAl0dG1fbWVtX2lvX2xvY2sobWFuLCBm YWxzZSk7Cj4gICAJdHRtX2JvX3VubWFwX3ZpcnR1YWxfbG9ja2VkKGJvKTsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm9fdXRpbC5jIGIvZHJpdmVycy9ncHUvZHJtL3R0 bS90dG1fYm9fdXRpbC5jCj4gaW5kZXggMWY1MDJiZTBiNjQ2Li44NzljOGRlZDBjZDggMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm9fdXRpbC5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3R0bS90dG1fYm9fdXRpbC5jCj4gQEAgLTEyOSw3ICsxMjksNyBAQCBzdGF0aWMg aW50IHR0bV9tZW1faW9fZXZpY3Qoc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4pCj4g ICBpbnQgdHRtX21lbV9pb19yZXNlcnZlKHN0cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2LAo+ICAg CQkgICAgICAgc3RydWN0IHR0bV9tZW1fcmVnICptZW0pCj4gICB7Cj4gLQlzdHJ1Y3QgdHRtX21l bV90eXBlX21hbmFnZXIgKm1hbiA9ICZiZGV2LT5tYW5bbWVtLT5tZW1fdHlwZV07Cj4gKwlzdHJ1 Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiA9IHR0bV9tYW5hZ2VyX3R5cGUoYmRldiwgbWVt LT5tZW1fdHlwZSk7Cj4gICAJaW50IHJldDsKPiAgIAo+ICAgCWlmIChtZW0tPmJ1cy5pb19yZXNl cnZlZF9jb3VudCsrKQo+IEBAIC0xNjIsNyArMTYyLDcgQEAgdm9pZCB0dG1fbWVtX2lvX2ZyZWUo c3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsCj4gICAKPiAgIGludCB0dG1fbWVtX2lvX3Jlc2Vy dmVfdm0oc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibykKPiAgIHsKPiAtCXN0cnVjdCB0dG1f bWVtX3R5cGVfbWFuYWdlciAqbWFuID0gJmJvLT5iZGV2LT5tYW5bYm8tPm1lbS5tZW1fdHlwZV07 Cj4gKwlzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiA9IHR0bV9tYW5hZ2VyX3R5cGUo Ym8tPmJkZXYsIGJvLT5tZW0ubWVtX3R5cGUpOwo+ICAgCXN0cnVjdCB0dG1fbWVtX3JlZyAqbWVt ID0gJmJvLT5tZW07Cj4gICAJaW50IHJldDsKPiAgIAo+IEBAIC0xOTUsNyArMTk1LDcgQEAgc3Rh dGljIGludCB0dG1fbWVtX3JlZ19pb3JlbWFwKHN0cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2LAo+ ICAgCQkJICAgICAgIHN0cnVjdCB0dG1fbWVtX3JlZyAqbWVtLAo+ICAgCQkJICAgICAgIHZvaWQg Kip2aXJ0dWFsKQo+ICAgewo+IC0Jc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4gPSAm YmRldi0+bWFuW21lbS0+bWVtX3R5cGVdOwo+ICsJc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2Vy ICptYW4gPSB0dG1fbWFuYWdlcl90eXBlKGJkZXYsIG1lbS0+bWVtX3R5cGUpOwo+ICAgCWludCBy ZXQ7Cj4gICAJdm9pZCAqYWRkcjsKPiAgIAo+IEBAIC0yMzIsNyArMjMyLDcgQEAgc3RhdGljIHZv aWQgdHRtX21lbV9yZWdfaW91bm1hcChzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiwKPiAgIHsK PiAgIAlzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbjsKPiAgIAo+IC0JbWFuID0gJmJk ZXYtPm1hblttZW0tPm1lbV90eXBlXTsKPiArCW1hbiA9IHR0bV9tYW5hZ2VyX3R5cGUoYmRldiwg bWVtLT5tZW1fdHlwZSk7Cj4gICAKPiAgIAlpZiAodmlydHVhbCAmJiBtZW0tPmJ1cy5hZGRyID09 IE5VTEwpCj4gICAJCWlvdW5tYXAodmlydHVhbCk7Cj4gQEAgLTMwMyw3ICszMDMsNyBAQCBpbnQg dHRtX2JvX21vdmVfbWVtY3B5KHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCj4gICAJCSAg ICAgICBzdHJ1Y3QgdHRtX21lbV9yZWcgKm5ld19tZW0pCj4gICB7Cj4gICAJc3RydWN0IHR0bV9i b19kZXZpY2UgKmJkZXYgPSBiby0+YmRldjsKPiAtCXN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdl ciAqbWFuID0gJmJkZXYtPm1hbltuZXdfbWVtLT5tZW1fdHlwZV07Cj4gKwlzdHJ1Y3QgdHRtX21l bV90eXBlX21hbmFnZXIgKm1hbiA9IHR0bV9tYW5hZ2VyX3R5cGUoYmRldiwgbmV3X21lbS0+bWVt X3R5cGUpOwo+ICAgCXN0cnVjdCB0dG1fdHQgKnR0bSA9IGJvLT50dG07Cj4gICAJc3RydWN0IHR0 bV9tZW1fcmVnICpvbGRfbWVtID0gJmJvLT5tZW07Cj4gICAJc3RydWN0IHR0bV9tZW1fcmVnIG9s ZF9jb3B5ID0gKm9sZF9tZW07Cj4gQEAgLTU3MSw3ICs1NzEsNyBAQCBpbnQgdHRtX2JvX2ttYXAo c3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKPiAgIAkJc3RydWN0IHR0bV9ib19rbWFwX29i aiAqbWFwKQo+ICAgewo+ICAgCXN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuID0KPiAt CQkmYm8tPmJkZXYtPm1hbltiby0+bWVtLm1lbV90eXBlXTsKPiArCQl0dG1fbWFuYWdlcl90eXBl KGJvLT5iZGV2LCBiby0+bWVtLm1lbV90eXBlKTsKPiAgIAl1bnNpZ25lZCBsb25nIG9mZnNldCwg c2l6ZTsKPiAgIAlpbnQgcmV0Owo+ICAgCj4gQEAgLTYwMSw3ICs2MDEsNyBAQCB2b2lkIHR0bV9i b19rdW5tYXAoc3RydWN0IHR0bV9ib19rbWFwX29iaiAqbWFwKQo+ICAgewo+ICAgCXN0cnVjdCB0 dG1fYnVmZmVyX29iamVjdCAqYm8gPSBtYXAtPmJvOwo+ICAgCXN0cnVjdCB0dG1fbWVtX3R5cGVf bWFuYWdlciAqbWFuID0KPiAtCQkmYm8tPmJkZXYtPm1hbltiby0+bWVtLm1lbV90eXBlXTsKPiAr CQl0dG1fbWFuYWdlcl90eXBlKGJvLT5iZGV2LCBiby0+bWVtLm1lbV90eXBlKTsKPiAgIAo+ICAg CWlmICghbWFwLT52aXJ0dWFsKQo+ICAgCQlyZXR1cm47Cj4gQEAgLTYzNCw3ICs2MzQsNyBAQCBp bnQgdHRtX2JvX21vdmVfYWNjZWxfY2xlYW51cChzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJv LAo+ICAgCQkJICAgICAgc3RydWN0IHR0bV9tZW1fcmVnICpuZXdfbWVtKQo+ICAgewo+ICAgCXN0 cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2ID0gYm8tPmJkZXY7Cj4gLQlzdHJ1Y3QgdHRtX21lbV90 eXBlX21hbmFnZXIgKm1hbiA9ICZiZGV2LT5tYW5bbmV3X21lbS0+bWVtX3R5cGVdOwo+ICsJc3Ry dWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4gPSB0dG1fbWFuYWdlcl90eXBlKGJkZXYsIG5l d19tZW0tPm1lbV90eXBlKTsKPiAgIAlzdHJ1Y3QgdHRtX21lbV9yZWcgKm9sZF9tZW0gPSAmYm8t Pm1lbTsKPiAgIAlpbnQgcmV0Owo+ICAgCXN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqZ2hvc3Rf b2JqOwo+IEBAIC02OTcsOCArNjk3LDggQEAgaW50IHR0bV9ib19waXBlbGluZV9tb3ZlKHN0cnVj dCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCj4gICAJc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYg PSBiby0+YmRldjsKPiAgIAlzdHJ1Y3QgdHRtX21lbV9yZWcgKm9sZF9tZW0gPSAmYm8tPm1lbTsK PiAgIAo+IC0Jc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICpmcm9tID0gJmJkZXYtPm1hbltv bGRfbWVtLT5tZW1fdHlwZV07Cj4gLQlzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKnRvID0g JmJkZXYtPm1hbltuZXdfbWVtLT5tZW1fdHlwZV07Cj4gKwlzdHJ1Y3QgdHRtX21lbV90eXBlX21h bmFnZXIgKmZyb20gPSB0dG1fbWFuYWdlcl90eXBlKGJkZXYsIG9sZF9tZW0tPm1lbV90eXBlKTsK PiArCXN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqdG8gPSB0dG1fbWFuYWdlcl90eXBlKGJk ZXYsIG5ld19tZW0tPm1lbV90eXBlKTsKPiAgIAo+ICAgCWludCByZXQ7Cj4gICAKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm9fdm0uYyBiL2RyaXZlcnMvZ3B1L2RybS90 dG0vdHRtX2JvX3ZtLmMKPiBpbmRleCA0NjhhMGViOWU2MzIuLjVhZTY3OTE4NGViNSAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9ib192bS5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL3R0bS90dG1fYm9fdm0uYwo+IEBAIC0yODIsNyArMjgyLDcgQEAgdm1fZmF1bHRfdCB0 dG1fYm9fdm1fZmF1bHRfcmVzZXJ2ZWQoc3RydWN0IHZtX2ZhdWx0ICp2bWYsCj4gICAJdm1fZmF1 bHRfdCByZXQgPSBWTV9GQVVMVF9OT1BBR0U7Cj4gICAJdW5zaWduZWQgbG9uZyBhZGRyZXNzID0g dm1mLT5hZGRyZXNzOwo+ICAgCXN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuID0KPiAt CQkmYmRldi0+bWFuW2JvLT5tZW0ubWVtX3R5cGVdOwo+ICsJCXR0bV9tYW5hZ2VyX3R5cGUoYmRl diwgYm8tPm1lbS5tZW1fdHlwZSk7Cj4gICAKPiAgIAkvKgo+ICAgCSAqIFJlZnVzZSB0byBmYXVs dCBpbXBvcnRlZCBwYWdlcy4gVGhpcyBzaG91bGQgYmUgaGFuZGxlZAo+IGRpZmYgLS1naXQgYS9p bmNsdWRlL2RybS90dG0vdHRtX2JvX2RyaXZlci5oIGIvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19k cml2ZXIuaAo+IGluZGV4IDhjYzM5Y2Q1NWExNC4uZTgwZGVlZTNhZTk5IDEwMDY0NAo+IC0tLSBh L2luY2x1ZGUvZHJtL3R0bS90dG1fYm9fZHJpdmVyLmgKPiArKysgYi9pbmNsdWRlL2RybS90dG0v dHRtX2JvX2RyaXZlci5oCj4gQEAgLTQ0NCw2ICs0NDQsMTIgQEAgc3RydWN0IHR0bV9ib19kZXZp Y2Ugewo+ICAgCWJvb2wgbm9fcmV0cnk7Cj4gICB9Owo+ICAgCj4gK3N0YXRpYyBpbmxpbmUgc3Ry dWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICp0dG1fbWFuYWdlcl90eXBlKHN0cnVjdCB0dG1fYm9f ZGV2aWNlICpiZGV2LAo+ICsJCQkJCQkJICAgIGludCBtZW1fdHlwZSkKPiArewo+ICsJcmV0dXJu ICZiZGV2LT5tYW5bbWVtX3R5cGVdOwo+ICt9Cj4gKwo+ICAgLyoqCj4gICAgKiBzdHJ1Y3QgdHRt X2xydV9idWxrX21vdmVfcG9zCj4gICAgKgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCg==