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=-15.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,NICE_REPLY_A,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 E5ABCC47082 for ; Mon, 31 May 2021 12:37:34 +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 AA6E36135C for ; Mon, 31 May 2021 12:37:34 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AA6E36135C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=amd.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4A83E6E918; Mon, 31 May 2021 12:37:34 +0000 (UTC) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2048.outbound.protection.outlook.com [40.107.220.48]) by gabe.freedesktop.org (Postfix) with ESMTPS id 239826E918; Mon, 31 May 2021 12:37:33 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ysrl/vQhGLXsVCyBHIS3SA0XGv/xhWRKWFZvPDKHImTYRbqyR9vYC3dMjdCzOoinh9zwP2ZrVMIV0rOqvXJ5mYUo6ti6Vb4Zn2KmRVndu5NyMYX9ny3TWf2GfbJrYzHSgE5IShA5c6yAUXWf33YcTr3aV6nOcSfZFajTmMgHOMtJa+iSpPoS2CX/XLQu45wKu4hK9NhjwKt9ueu5qbxUqyEAPUgy4gnYOyjrkN3sa2Se6lr3YpUH6e93KHuEJwO3cCeXEihjMskbMBZKfIzDgZHjH6AYfyT7VVHh9RcxD/h1+a0cyntoT9tSn9RMLokUJfF8KSeZKg4TSuk5o/N5Xg== 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=0hOmcJnr2FDn/1YJrZvJY9DIWa07/8LztMy41dECMhQ=; b=Va+WGif24WtatYV+spdfr5mAp3SXgHBe6JFnYpRhzCE5sfDq+sfSqLwbxDlgC4JOQpW/oGFYjPQQGg1V1ff0D1wV3RKR0SzzHHG1yoADsOzm/sRYXlumU3PgdAfOv2KYMdtWcXVVXtYvgJlz7HWSjosGDtDYJSYKRK0pVh4BD6zTLUROLislAx9VhOMwbsUm1Khyt7Lei+RVz1JGPPGjo3EjcjY8IJB6P1A0Q0WJMxRF6iw4abwgJrdPcivOhOBTUXRALciwjdzose60P+VifgN/Q1FYpFwMFzDazU2GOtISvnRYHRFnJclCPF0/0r/8G1mFu4JQ+qd2SxEyxWNQpA== 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=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0hOmcJnr2FDn/1YJrZvJY9DIWa07/8LztMy41dECMhQ=; b=WLUx+RkX4S2iTxs2ojtRo93KORrQ9jOoAaPiNphjDeNTk4y3/P+OMIladjbjwHCv9cWbcoj4BtyeLwXz4nmFP0jEpLKn6TCwZmoB109q5FheFFVzwH2E1iVF/kcvX6EcABhchcLPLacXucS1HO0ka5kRz1ivIlFhdakWiOQxAFU= Authentication-Results: ffwll.ch; dkim=none (message not signed) header.d=none;ffwll.ch; dmarc=none action=none header.from=amd.com; Received: from MN2PR12MB3775.namprd12.prod.outlook.com (2603:10b6:208:159::19) by MN2PR12MB4551.namprd12.prod.outlook.com (2603:10b6:208:263::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4173.26; Mon, 31 May 2021 12:37:31 +0000 Received: from MN2PR12MB3775.namprd12.prod.outlook.com ([fe80::6d4d:4674:1cf6:8d34]) by MN2PR12MB3775.namprd12.prod.outlook.com ([fe80::6d4d:4674:1cf6:8d34%6]) with mapi id 15.20.4173.030; Mon, 31 May 2021 12:37:31 +0000 To: =?UTF-8?Q?Thomas_Hellstr=c3=b6m?= , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org References: <20210531121940.267032-1-thomas.hellstrom@linux.intel.com> <20210531121940.267032-8-thomas.hellstrom@linux.intel.com> From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: Date: Mon, 31 May 2021 14:37:26 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 In-Reply-To: <20210531121940.267032-8-thomas.hellstrom@linux.intel.com> Content-Language: en-US X-Originating-IP: [2a02:908:1252:fb60:b94:4956:bad4:7c81] X-ClientProxiedBy: AM9P193CA0002.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::7) 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:b94:4956:bad4:7c81] (2a02:908:1252:fb60:b94:4956:bad4:7c81) by AM9P193CA0002.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4173.20 via Frontend Transport; Mon, 31 May 2021 12:37:30 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1cfd36ee-88c5-4652-a11a-08d92430dbc0 X-MS-TrafficTypeDiagnostic: MN2PR12MB4551: 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: QAWQIFdyBdLmj5+jGWv3srpYAZnn2RiKEy4ft9q6e3zjQ2ewxXuU/6AZBeSk+PGcqF3zp5aXUCoIkbgG19UGz8a3rxUg3mbdLCCe/dnInAsNZ5PHdq0aluKKSz2JtzLaJI8UEP6MEWRMCAgXPHphqgXUfFBj7WO9JRUU0BLnDmsaBHupGvQxBoed6GB2IN+sH99I/0WvB92gxKiYIAXiXOhLnOdap91rbHCtv0AtQ4KNXIhaWn1fIANWust32LhD2eGYoOIBFWxf7+dMgRxrUFml0goENhbM8f5XQl8onWVL7bs8mb1ybuIqf9dj2LgN+64xjB82g4uAG11/GANYT/tlCGJMpQL+O+KYb+bfaQGauKi2PXKJZhzLlt3omM7fdKvTXFUoJ7kAFTx9dfeZw4KoKiPEnZIo2Oy+nlXepy8IALeFPWKQOv4JV+K65UKQ8iFLiNFcGa47dPsFvj4h/oB6fspTNl3wWohVjzKab7DSX0czV19qFawOjVmvAn6vH6uuBIisDCeS825KDIz2+X5z4AGe/TtP62ePeCnK8291M+peyi7jJRNRuz4wLzINmEcHCounopih4FFKzsMWvhJZdkjEk9aA0tnqP83lUyz5iVIjesGrmxMiksxNatfMxVh7ptsZTRtEqm41DU/YzJLwz1rfNu7EHwHdrFXLuAqec+OvrwLTHi8o1tyWIuO/ 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; SFS:(4636009)(136003)(346002)(376002)(366004)(396003)(39860400002)(4326008)(31696002)(31686004)(16526019)(2906002)(2616005)(8676002)(316002)(186003)(8936002)(6666004)(86362001)(6486002)(478600001)(38100700002)(5660300002)(66556008)(66574015)(83380400001)(36756003)(66946007)(66476007)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?MzkySXVROFpQQjlxbEhOQXZGbVlJakNFZjZjNjJ5YlY3SzU2RkxlWldYSStP?= =?utf-8?B?VWVWeithY0o1b0U2QU1TQkpyRGRkNlkwN0JzS2lPZEtlVGh0c0w5UlNiYkps?= =?utf-8?B?TlNNeHVNT2VkUkI1WlRVb21aWk5UVnR4dU4yNXp1b1laVTNXNlBvYndTVG10?= =?utf-8?B?Tll5M1VySU43NzJ2YXkwblRDUUw0ZVoySk1BVU1mNFBTelFlY2k3c3B3OE43?= =?utf-8?B?bEZjWWcyRHpya21iTEtHL1hQa240aGRJakd6dXZ5aE90NlZXYTRmdGxZUWlE?= =?utf-8?B?UmhwRm5wYjRIc1VKT2RzTENHM1FXYXpLemtUeTNGREc5ZFVtcXdhVk5ic3Av?= =?utf-8?B?bHoxUmhUK3dJWk1ydUc5Wk8xMFM5NjFFTUlZTGNhalB1cHFIK2J3UnJIZnp4?= =?utf-8?B?dWZYbUk2TWZna2lBQkNKTFByTklRTHJuWVV5cmJ0UWpaZFFpOWVONkFkUXZ3?= =?utf-8?B?b2NtZHc1SnVxbFJkZWIweCt0Zk9QUjJjczdYUFFUd2FlZWNTcmNhYTBCR3M5?= =?utf-8?B?eGI1OXkraXN2TlpPUFptazRqNkZBWUZkanRacGZEdkUvY092VE54QlJSaGQ4?= =?utf-8?B?dGlrYWYxQUo3czdhMDJDL2tBMGNZNTFFZUlhNG9nekNzcEdVTGlTTTRaVlJK?= =?utf-8?B?dXdrVHk4VE9pYXJ5a1FQOFFRRW1tZDRxdW9NZ2hyZ3J3Z2dUQlRkbWRUZytu?= =?utf-8?B?RGRDRDJKd09zdTYyWHllSHhrdldLNDlwZ3RGWFFIT3o4VUpQaEVJL3hiRkRJ?= =?utf-8?B?ZWtodlRCWkhkbUpSbCtMQmVYc2lwbUpFY3I5MjltdEtTaG51djF4dUIzOHgx?= =?utf-8?B?VzR6SmR3TDRlOU1TZHFpR2VGYzFJb09NaVc1aDRPVFlEVVdBNDhDTDNzQXUv?= =?utf-8?B?YVVKNFgrdCtyczBoK3RveWptTSt3WGhxTExibGpDc0RHU1d5TDRuMmtpMGlm?= =?utf-8?B?NVlDN1RQNnNBZGdoU2RKQUhqU3FNdlkrZlhRdldwNURiQ2dHMDFnQ1JQc0FE?= =?utf-8?B?QlAzaHBhL0ZHOTlidjlwdjJMdGw5SzhYNnZYQ1JWOE5wQWRPT1oxVEIyOE1N?= =?utf-8?B?YTlEcnVvY21mZHJuS0lHSEp4aDFEOW9mMzVjS0UxTUNveWZkQnF3UXhXemRJ?= =?utf-8?B?RW9VRk5QZEVyUXZOWlpLODVzSmJ0WEFieDFMcGJNanpkRlNBQmExVVlIbm52?= =?utf-8?B?K3VHYWxjRjJxNWprSGJlSjZJb1dqNXRJWEJZQ21rME9QZjUvazg0aUI1dVdu?= =?utf-8?B?Q0RzUmFHL0htdHJJUnJUNlpuTlBFVmMyVHJleTdlWHF1OUZlcStlQ1laU2I4?= =?utf-8?B?VFJ5bHBpNzg1NFNHaVBmMGxQbDFUdHN3bDBsSWNpeDNjWEx6alRjam1LRTVN?= =?utf-8?B?aXFvbVhtUFYzYTNob2UvRmV2NjBJeVpIWm85cFdOL0ZLckVPaDlYczgvQTU5?= =?utf-8?B?c3BLakJmNCt4YmVFNDBqMWlRMlZzWVRDYzYvOXVmd1JGbW91TjdLL2RyOFd3?= =?utf-8?B?eEFUTmI5bzNYMWFSN1ZFR2NCcU5wV2dKb2xiRFFIN2JGOGFjSitmOGFkVU9v?= =?utf-8?B?QTl6NjV5UGY0MXZMTm9iUEVYc01CdFVjSDZNblBEeTRGSHhYT0daMHlzKzRv?= =?utf-8?B?WFo5WUgxd2swWEhPQ2kvTFhrT054Y2JKUGxqcCs0MjFsaklVeHh0SjRacDRq?= =?utf-8?B?OXJ0Mkg5aldpZFErMGJQekxXVHZUV29LbTA3cnlIYU50K0JDK2pFZHNGWFZZ?= =?utf-8?B?MXVoT3hFcXE4OWZxS3MweUc2RUlCYVhOc0lKMWZVaG5FZHZMb1djQTN6dEZq?= =?utf-8?B?enMxSWt1a0ZKS0RZQlZEVVRFNVlVajQrcVhXMThMcldYVjg2bzl4aldBVVJJ?= =?utf-8?Q?/5sEu2Rc3lq5r?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1cfd36ee-88c5-4652-a11a-08d92430dbc0 X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3775.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 May 2021 12:37:31.6108 (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: VskCiP+ut1r5esPG3wu3c5b3CetUm/w6nAUXsHRLHF8B4UhW2k8yejVSBzkl+wgk X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4551 Subject: Re: [Intel-gfx] [PATCH v7 07/15] drm: Add a prefetching memcpy_from_wc X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" CgpBbSAzMS4wNS4yMSB1bSAxNDoxOSBzY2hyaWViIFRob21hcyBIZWxsc3Ryw7ZtOgo+IFJlYWRp bmcgb3V0IG9mIHdyaXRlLWNvbWJpbmluZyBtYXBwZWQgbWVtb3J5IGlzIHR5cGljYWxseSB2ZXJ5 IHNsb3cKPiBzaW5jZSB0aGUgQ1BVIGRvZXNuJ3QgcHJlZmV0Y2guIEhvd2V2ZXIgc29tZSBhcmNo cyBoYXZlIHNwZWNpYWwKPiBpbnN0cnVjdGlvbnMgdG8gZG8gdGhpcy4KPgo+IFNvIGFkZCBhIGJl c3QtZWZmb3J0IG1lbWNweV9mcm9tX3djIHRha2luZyBkbWEtYnVmLW1hcCBwb2ludGVyCj4gYXJn dW1lbnRzIHRoYXQgYXR0ZW1wdHMgdG8gdXNlIGEgZmFzdCBwcmVmZXRjaGluZyBtZW1jcHkgYW5k Cj4gb3RoZXJ3aXNlIGZhbGxzIGJhY2sgdG8gb3JkaW5hcnkgbWVtY29waWVzLCB0YWtpbmcgdGhl IGlvbWVtIHRhZ2dpbmcKPiBpbnRvIGFjY291bnQuCj4KPiBUaGUgY29kZSBpcyBsYXJnZWx5IGNv cGllZCBmcm9tIGk5MTVfbWVtY3B5X2Zyb21fd2MuCj4KPiBDYzogRGFuaWVsIFZldHRlciA8ZGFu aWVsQGZmd2xsLmNoPgo+IENjOiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFt ZC5jb20+Cj4gU3VnZ2VzdGVkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+Cj4g U2lnbmVkLW9mZi1ieTogVGhvbWFzIEhlbGxzdHLDtm0gPHRob21hcy5oZWxsc3Ryb21AbGludXgu aW50ZWwuY29tPgoKQWNrZWQtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdA YW1kLmNvbT4KCj4gLS0tCj4gdjc6Cj4gLSBQZXJmb3JtIGEgbWVtY3B5IGV2ZW4gaWYgd2Fybmlu ZyB3aXRoIGluX2ludGVycnVwdCgpLiBTdWdnZXN0ZWQgYnkKPiAgICBDaHJpc3RpYW4gS8O2bmln Lgo+IC0gRml4IGNvbXBpbGF0aW9uIGZhaWx1cmUgb24gIVg4NiAoUmVwb3J0ZWQgYnkga2VybmVs IHRlc3Qgcm9ib3QKPiAgICBsa3BAaW50ZWwuY29tKQo+IC0tLQo+ICAgRG9jdW1lbnRhdGlvbi9n cHUvZHJtLW1tLnJzdCB8ICAgMiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2RybV9jYWNoZS5jICB8 IDE0NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAgZHJpdmVycy9ncHUv ZHJtL2RybV9kcnYuYyAgICB8ICAgMiArCj4gICBpbmNsdWRlL2RybS9kcm1fY2FjaGUuaCAgICAg IHwgICA3ICsrCj4gICA0IGZpbGVzIGNoYW5nZWQsIDE1NyBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCj4KPiBkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLW1tLnJzdCBiL0Rv Y3VtZW50YXRpb24vZ3B1L2RybS1tbS5yc3QKPiBpbmRleCAyMWJlNmRlYWRjMTIuLmM2NjA1OGM1 YmNlNyAxMDA2NDQKPiAtLS0gYS9Eb2N1bWVudGF0aW9uL2dwdS9kcm0tbW0ucnN0Cj4gKysrIGIv RG9jdW1lbnRhdGlvbi9ncHUvZHJtLW1tLnJzdAo+IEBAIC00NjksNyArNDY5LDcgQEAgRFJNIE1N IFJhbmdlIEFsbG9jYXRvciBGdW5jdGlvbiBSZWZlcmVuY2VzCj4gICAuLiBrZXJuZWwtZG9jOjog ZHJpdmVycy9ncHUvZHJtL2RybV9tbS5jCj4gICAgICA6ZXhwb3J0Ogo+ICAgCj4gLURSTSBDYWNo ZSBIYW5kbGluZwo+ICtEUk0gQ2FjaGUgSGFuZGxpbmcgYW5kIEZhc3QgV0MgbWVtY3B5KCkKPiAg ID09PT09PT09PT09PT09PT09PQo+ICAgCj4gICAuLiBrZXJuZWwtZG9jOjogZHJpdmVycy9ncHUv ZHJtL2RybV9jYWNoZS5jCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY2FjaGUu YyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY2FjaGUuYwo+IGluZGV4IDc5YTUwZWYxMjUwZi4uYjg4 N2Q3ZGVjOGI4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY2FjaGUuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY2FjaGUuYwo+IEBAIC0yOCw2ICsyOCw3IEBACj4gICAg KiBBdXRob3JzOiBUaG9tYXMgSGVsbHN0csO2bSA8dGhvbWFzLWF0LXR1bmdzdGVuZ3JhcGhpY3Mt ZG90LWNvbT4KPiAgICAqLwo+ICAgCj4gKyNpbmNsdWRlIDxsaW51eC9kbWEtYnVmLW1hcC5oPgo+ ICAgI2luY2x1ZGUgPGxpbnV4L2V4cG9ydC5oPgo+ICAgI2luY2x1ZGUgPGxpbnV4L2hpZ2htZW0u aD4KPiAgICNpbmNsdWRlIDxsaW51eC9tZW1fZW5jcnlwdC5oPgo+IEBAIC0zNSw2ICszNiw5IEBA Cj4gICAKPiAgICNpbmNsdWRlIDxkcm0vZHJtX2NhY2hlLmg+Cj4gICAKPiArLyogQSBzbWFsbCBi b3VuY2UgYnVmZmVyIHRoYXQgZml0cyBvbiB0aGUgc3RhY2suICovCj4gKyNkZWZpbmUgTUVNQ1BZ X0JPVU5DRV9TSVpFIDEyOAo+ICsKPiAgICNpZiBkZWZpbmVkKENPTkZJR19YODYpCj4gICAjaW5j bHVkZSA8YXNtL3NtcC5oPgo+ICAgCj4gQEAgLTIwOSwzICsyMTMsMTQ2IEBAIGJvb2wgZHJtX25l ZWRfc3dpb3RsYihpbnQgZG1hX2JpdHMpCj4gICAJcmV0dXJuIG1heF9pb21lbSA+ICgodTY0KTEg PDwgZG1hX2JpdHMpOwo+ICAgfQo+ICAgRVhQT1JUX1NZTUJPTChkcm1fbmVlZF9zd2lvdGxiKTsK PiArCj4gK3N0YXRpYyB2b2lkIG1lbWNweV9mYWxsYmFjayhzdHJ1Y3QgZG1hX2J1Zl9tYXAgKmRz dCwKPiArCQkJICAgIGNvbnN0IHN0cnVjdCBkbWFfYnVmX21hcCAqc3JjLAo+ICsJCQkgICAgdW5z aWduZWQgbG9uZyBsZW4pCj4gK3sKPiArCWlmICghZHN0LT5pc19pb21lbSAmJiAhc3JjLT5pc19p b21lbSkgewo+ICsJCW1lbWNweShkc3QtPnZhZGRyLCBzcmMtPnZhZGRyLCBsZW4pOwo+ICsJfSBl bHNlIGlmICghc3JjLT5pc19pb21lbSkgewo+ICsJCWRtYV9idWZfbWFwX21lbWNweV90byhkc3Qs IHNyYy0+dmFkZHIsIGxlbik7Cj4gKwl9IGVsc2UgaWYgKCFkc3QtPmlzX2lvbWVtKSB7Cj4gKwkJ bWVtY3B5X2Zyb21pbyhkc3QtPnZhZGRyLCBzcmMtPnZhZGRyX2lvbWVtLCBsZW4pOwo+ICsJfSBl bHNlIHsKPiArCQkvKgo+ICsJCSAqIEJvdW5jZSBzaXplIGlzIG5vdCBwZXJmb3JtYW5jZSB0dW5l ZCwgYnV0IHVzaW5nIGEKPiArCQkgKiBib3VuY2UgYnVmZmVyIGxpa2UgdGhpcyBpcyBzaWduaWZp Y2FudGx5IGZhc3RlciB0aGFuCj4gKwkJICogcmVzb3J0aW5nIHRvIGlvcmVhZHh4KCkgKyBpb3dy aXRleHgoKS4KPiArCQkgKi8KPiArCQljaGFyIGJvdW5jZVtNRU1DUFlfQk9VTkNFX1NJWkVdOwo+ ICsJCXZvaWQgX19pb21lbSAqX3NyYyA9IHNyYy0+dmFkZHJfaW9tZW07Cj4gKwkJdm9pZCBfX2lv bWVtICpfZHN0ID0gZHN0LT52YWRkcl9pb21lbTsKPiArCj4gKwkJd2hpbGUgKGxlbiA+PSBNRU1D UFlfQk9VTkNFX1NJWkUpIHsKPiArCQkJbWVtY3B5X2Zyb21pbyhib3VuY2UsIF9zcmMsIE1FTUNQ WV9CT1VOQ0VfU0laRSk7Cj4gKwkJCW1lbWNweV90b2lvKF9kc3QsIGJvdW5jZSwgTUVNQ1BZX0JP VU5DRV9TSVpFKTsKPiArCQkJX3NyYyArPSBNRU1DUFlfQk9VTkNFX1NJWkU7Cj4gKwkJCV9kc3Qg Kz0gTUVNQ1BZX0JPVU5DRV9TSVpFOwo+ICsJCQlsZW4gLT0gTUVNQ1BZX0JPVU5DRV9TSVpFOwo+ ICsJCX0KPiArCQlpZiAobGVuKSB7Cj4gKwkJCW1lbWNweV9mcm9taW8oYm91bmNlLCBfc3JjLCBN RU1DUFlfQk9VTkNFX1NJWkUpOwo+ICsJCQltZW1jcHlfdG9pbyhfZHN0LCBib3VuY2UsIE1FTUNQ WV9CT1VOQ0VfU0laRSk7Cj4gKwkJfQo+ICsJfQo+ICt9Cj4gKwo+ICsjaWZkZWYgQ09ORklHX1g4 Ngo+ICsKPiArc3RhdGljIERFRklORV9TVEFUSUNfS0VZX0ZBTFNFKGhhc19tb3ZudGRxYSk7Cj4g Kwo+ICtzdGF0aWMgdm9pZCBfX21lbWNweV9udGRxYSh2b2lkICpkc3QsIGNvbnN0IHZvaWQgKnNy YywgdW5zaWduZWQgbG9uZyBsZW4pCj4gK3sKPiArCWtlcm5lbF9mcHVfYmVnaW4oKTsKPiArCj4g Kwl3aGlsZSAobGVuID49IDQpIHsKPiArCQlhc20oIm1vdm50ZHFhCSglMCksICUleG1tMFxuIgo+ ICsJCSAgICAibW92bnRkcWEgMTYoJTApLCAlJXhtbTFcbiIKPiArCQkgICAgIm1vdm50ZHFhIDMy KCUwKSwgJSV4bW0yXG4iCj4gKwkJICAgICJtb3ZudGRxYSA0OCglMCksICUleG1tM1xuIgo+ICsJ CSAgICAibW92YXBzICUleG1tMCwgICAoJTEpXG4iCj4gKwkJICAgICJtb3ZhcHMgJSV4bW0xLCAx NiglMSlcbiIKPiArCQkgICAgIm1vdmFwcyAlJXhtbTIsIDMyKCUxKVxuIgo+ICsJCSAgICAibW92 YXBzICUleG1tMywgNDgoJTEpXG4iCj4gKwkJICAgIDo6ICJyIiAoc3JjKSwgInIiIChkc3QpIDog Im1lbW9yeSIpOwo+ICsJCXNyYyArPSA2NDsKPiArCQlkc3QgKz0gNjQ7Cj4gKwkJbGVuIC09IDQ7 Cj4gKwl9Cj4gKwl3aGlsZSAobGVuLS0pIHsKPiArCQlhc20oIm1vdm50ZHFhICglMCksICUleG1t MFxuIgo+ICsJCSAgICAibW92YXBzICUleG1tMCwgKCUxKVxuIgo+ICsJCSAgICA6OiAiciIgKHNy YyksICJyIiAoZHN0KSA6ICJtZW1vcnkiKTsKPiArCQlzcmMgKz0gMTY7Cj4gKwkJZHN0ICs9IDE2 Owo+ICsJfQo+ICsKPiArCWtlcm5lbF9mcHVfZW5kKCk7Cj4gK30KPiArCj4gKy8qCj4gKyAqIF9f ZHJtX21lbWNweV9mcm9tX3djIGNvcGllcyBAbGVuIGJ5dGVzIGZyb20gQHNyYyB0byBAZHN0IHVz aW5nCj4gKyAqIG5vbi10ZW1wb3JhbCBpbnN0cnVjdGlvbnMgd2hlcmUgYXZhaWxhYmxlLiBOb3Rl IHRoYXQgYWxsIGFyZ3VtZW50cwo+ICsgKiAoQHNyYywgQGRzdCkgbXVzdCBiZSBhbGlnbmVkIHRv IDE2IGJ5dGVzIGFuZCBAbGVuIG11c3QgYmUgYSBtdWx0aXBsZQo+ICsgKiBvZiAxNi4KPiArICov Cj4gK3N0YXRpYyB2b2lkIF9fZHJtX21lbWNweV9mcm9tX3djKHZvaWQgKmRzdCwgY29uc3Qgdm9p ZCAqc3JjLCB1bnNpZ25lZCBsb25nIGxlbikKPiArewo+ICsJaWYgKHVubGlrZWx5KCgodW5zaWdu ZWQgbG9uZylkc3QgfCAodW5zaWduZWQgbG9uZylzcmMgfCBsZW4pICYgMTUpKQo+ICsJCW1lbWNw eShkc3QsIHNyYywgbGVuKTsKPiArCWVsc2UgaWYgKGxpa2VseShsZW4pKQo+ICsJCV9fbWVtY3B5 X250ZHFhKGRzdCwgc3JjLCBsZW4gPj4gNCk7Cj4gK30KPiArCj4gKy8qKgo+ICsgKiBkcm1fbWVt Y3B5X2Zyb21fd2MgLSBQZXJmb3JtIHRoZSBmYXN0ZXN0IGF2YWlsYWJsZSBtZW1jcHkgZnJvbSBh IHNvdXJjZQo+ICsgKiB0aGF0IG1heSBiZSBXQy4KPiArICogQGRzdDogVGhlIGRlc3RpbmF0aW9u IHBvaW50ZXIKPiArICogQHNyYzogVGhlIHNvdXJjZSBwb2ludGVyCj4gKyAqIEBsZW46IFRoZSBz aXplIG9mIHRoZSBhcmVhIG8gdHJhbnNmZXIgaW4gYnl0ZXMKPiArICoKPiArICogVHJpZXMgYW4g YXJjaCBvcHRpbWl6ZWQgbWVtY3B5IGZvciBwcmVmZXRjaGluZyByZWFkaW5nIG91dCBvZiBhIFdD IHJlZ2lvbiwKPiArICogYW5kIGlmIG5vIHN1Y2ggYmVhc3QgaXMgYXZhaWxhYmxlLCBmYWxscyBi YWNrIHRvIGEgbm9ybWFsIG1lbWNweS4KPiArICovCj4gK3ZvaWQgZHJtX21lbWNweV9mcm9tX3dj KHN0cnVjdCBkbWFfYnVmX21hcCAqZHN0LAo+ICsJCQljb25zdCBzdHJ1Y3QgZG1hX2J1Zl9tYXAg KnNyYywKPiArCQkJdW5zaWduZWQgbG9uZyBsZW4pCj4gK3sKPiArCWlmIChXQVJOX09OKGluX2lu dGVycnVwdCgpKSkgewo+ICsJCW1lbWNweV9mYWxsYmFjayhkc3QsIHNyYywgbGVuKTsKPiArCQly ZXR1cm47Cj4gKwl9Cj4gKwo+ICsJaWYgKHN0YXRpY19icmFuY2hfbGlrZWx5KCZoYXNfbW92bnRk cWEpKSB7Cj4gKwkJX19kcm1fbWVtY3B5X2Zyb21fd2MoZHN0LT5pc19pb21lbSA/Cj4gKwkJCQkg ICAgICh2b2lkIF9fZm9yY2UgKilkc3QtPnZhZGRyX2lvbWVtIDoKPiArCQkJCSAgICAgZHN0LT52 YWRkciwKPiArCQkJCSAgICAgc3JjLT5pc19pb21lbSA/Cj4gKwkJCQkgICAgICh2b2lkIGNvbnN0 IF9fZm9yY2UgKilzcmMtPnZhZGRyX2lvbWVtIDoKPiArCQkJCSAgICAgc3JjLT52YWRkciwKPiAr CQkJCSAgICAgbGVuKTsKPiArCQlyZXR1cm47Cj4gKwl9Cj4gKwo+ICsJbWVtY3B5X2ZhbGxiYWNr KGRzdCwgc3JjLCBsZW4pOwo+ICt9Cj4gK0VYUE9SVF9TWU1CT0woZHJtX21lbWNweV9mcm9tX3dj KTsKPiArCj4gKy8qKgo+ICsgKiBkcm1fbWVtY3B5X2luaXRfZWFybHkgLSBPbmUgdGltZSBpbml0 aWFsaXphdGlvbiBvZiB0aGUgV0MgbWVtY3B5IGNvZGUKPiArICovCj4gK3ZvaWQgZHJtX21lbWNw eV9pbml0X2Vhcmx5KHZvaWQpCj4gK3sKPiArCS8qCj4gKwkgKiBTb21lIGh5cGVydmlzb3JzIChl LmcuIEtWTSkgZG9uJ3Qgc3VwcG9ydCBWRVgtcHJlZml4IGluc3RydWN0aW9ucwo+ICsJICogZW11 bGF0aW9uLiBTbyBkb24ndCBlbmFibGUgbW92bnRkcWEgaW4gaHlwZXJ2aXNvciBndWVzdC4KPiAr CSAqLwo+ICsJaWYgKHN0YXRpY19jcHVfaGFzKFg4Nl9GRUFUVVJFX1hNTTRfMSkgJiYKPiArCSAg ICAhYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0hZUEVSVklTT1IpKQo+ICsJCXN0YXRpY19icmFu Y2hfZW5hYmxlKCZoYXNfbW92bnRkcWEpOwo+ICt9Cj4gKyNlbHNlCj4gK3ZvaWQgZHJtX21lbWNw eV9mcm9tX3djKHN0cnVjdCBkbWFfYnVmX21hcCAqZHN0LAo+ICsJCQljb25zdCBzdHJ1Y3QgZG1h X2J1Zl9tYXAgKnNyYywKPiArCQkJdW5zaWduZWQgbG9uZyBsZW4pCj4gK3sKPiArCVdBUk5fT04o aW5faW50ZXJydXB0KCkpOwo+ICsKPiArCW1lbWNweV9mYWxsYmFjayhkc3QsIHNyYywgbGVuKTsK PiArfQo+ICsKPiArdm9pZCBkcm1fbWVtY3B5X2luaXRfZWFybHkodm9pZCkKPiArewo+ICt9Cj4g KyNlbmRpZiAvKiBDT05GSUdfWDg2ICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jCj4gaW5kZXggM2Q4ZDY4YTk4Yjk1 Li44ODA0ZWM3ZDMyMTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHJ2LmMKPiBAQCAtMzUsNiArMzUsNyBAQAo+ICAg I2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KPiAgICNpbmNsdWRlIDxsaW51eC9zcmN1Lmg+Cj4gICAK PiArI2luY2x1ZGUgPGRybS9kcm1fY2FjaGUuaD4KPiAgICNpbmNsdWRlIDxkcm0vZHJtX2NsaWVu dC5oPgo+ICAgI2luY2x1ZGUgPGRybS9kcm1fY29sb3JfbWdtdC5oPgo+ICAgI2luY2x1ZGUgPGRy bS9kcm1fZHJ2Lmg+Cj4gQEAgLTEwNDEsNiArMTA0Miw3IEBAIHN0YXRpYyBpbnQgX19pbml0IGRy bV9jb3JlX2luaXQodm9pZCkKPiAgIAo+ICAgCWRybV9jb25uZWN0b3JfaWRhX2luaXQoKTsKPiAg IAlpZHJfaW5pdCgmZHJtX21pbm9yc19pZHIpOwo+ICsJZHJtX21lbWNweV9pbml0X2Vhcmx5KCk7 Cj4gICAKPiAgIAlyZXQgPSBkcm1fc3lzZnNfaW5pdCgpOwo+ICAgCWlmIChyZXQgPCAwKSB7Cj4g ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jYWNoZS5oIGIvaW5jbHVkZS9kcm0vZHJtX2Nh Y2hlLmgKPiBpbmRleCBlOWFkNDg2M2Q5MTUuLmNjOWRlMTYzMmRkMyAxMDA2NDQKPiAtLS0gYS9p bmNsdWRlL2RybS9kcm1fY2FjaGUuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9jYWNoZS5oCj4g QEAgLTM1LDYgKzM1LDggQEAKPiAgIAo+ICAgI2luY2x1ZGUgPGxpbnV4L3NjYXR0ZXJsaXN0Lmg+ Cj4gICAKPiArc3RydWN0IGRtYV9idWZfbWFwOwo+ICsKPiAgIHZvaWQgZHJtX2NsZmx1c2hfcGFn ZXMoc3RydWN0IHBhZ2UgKnBhZ2VzW10sIHVuc2lnbmVkIGxvbmcgbnVtX3BhZ2VzKTsKPiAgIHZv aWQgZHJtX2NsZmx1c2hfc2coc3RydWN0IHNnX3RhYmxlICpzdCk7Cj4gICB2b2lkIGRybV9jbGZs dXNoX3ZpcnRfcmFuZ2Uodm9pZCAqYWRkciwgdW5zaWduZWQgbG9uZyBsZW5ndGgpOwo+IEBAIC03 MCw0ICs3Miw5IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBkcm1fYXJjaF9jYW5fd2NfbWVtb3J5KHZv aWQpCj4gICAjZW5kaWYKPiAgIH0KPiAgIAo+ICt2b2lkIGRybV9tZW1jcHlfaW5pdF9lYXJseSh2 b2lkKTsKPiArCj4gK3ZvaWQgZHJtX21lbWNweV9mcm9tX3djKHN0cnVjdCBkbWFfYnVmX21hcCAq ZHN0LAo+ICsJCQljb25zdCBzdHJ1Y3QgZG1hX2J1Zl9tYXAgKnNyYywKPiArCQkJdW5zaWduZWQg bG9uZyBsZW4pOwo+ICAgI2VuZGlmCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK