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=-4.8 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_1 autolearn=no 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 2B31DC33CB3 for ; Thu, 30 Jan 2020 08:33:03 +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 5EBE9214AF for ; Thu, 30 Jan 2020 08:33:01 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="M/+0qHcT" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5EBE9214AF Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.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 9E17F6F904; Thu, 30 Jan 2020 08:32:46 +0000 (UTC) Received: from mail-lj1-x241.google.com (mail-lj1-x241.google.com [IPv6:2a00:1450:4864:20::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9DBE96F8E5 for ; Thu, 30 Jan 2020 04:36:42 +0000 (UTC) Received: by mail-lj1-x241.google.com with SMTP id v17so1819247ljg.4 for ; Wed, 29 Jan 2020 20:36:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=oMLDcrmwGbZaDGy9KIAjsb7h1p7DOYmGR7M3dlAhSb4=; b=M/+0qHcT1s9jIFE6d1eLs4c//rdoF6InuD/gJl2yDrYx2QCjub34/a5T3YghJTEB+3 ZXtOtqoPv2+OwLLhRjS/ol1wLsAmUtNHgayAM9H2ay01TM4rgIErAxlijaDWUOULw0dw cQBNqE/fCx1oS7ieciAaq/3cuP+zAY9lQTVFTa/J3WQuNlvpv+Y+G0rpr/dF7wXTBxgs i0zYOS8JnlOam6aM8j29qHBHEB2ccfWwK3x8OEzIJEqaBO+CW2Bzu5dW2b8PxSBZaKTD sWPX3XlGLEuWo88oEruxnWLpy+EqGK3+M9K5vNst8fgYZ2UV8Yi4+dcByd61biu7wcJ+ 6EhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=oMLDcrmwGbZaDGy9KIAjsb7h1p7DOYmGR7M3dlAhSb4=; b=CghXAoWmR7SJaw5ZhKsHSZ6u00H/lC7EDkvSAWmDhwDdIPFyHvyaj9EQYBQ1zqzmYp qRjd7Hd5V9JnhS2zC51lsE8PEXsAo1ovts7cCozy5Eiw11856Hcm8JRdGr4SiNlQfpUY p5I8qtayE9jK6mcIe7nkuJuSEEMA063iTfFx7jiR8RTZp2kjafSeeM4cyKn6XgeBd03L YwJkDxe2cL+cHnFIMAqHr7qjdvu3Khi2DGNuEiteRVybp0kKZbwi6PfLGlGYcAKdz94l kgpSXgLti0J8P2nUJ6UrEG73ZQZIg+mxsLQDONtPvHkTTW+ea5YTK1b2D7mqC/uzjZ+E JEXQ== X-Gm-Message-State: APjAAAXyHT3bq5EcYT75lyTyJojK66cM+xT2mHivNAbaSMJRCIo6sWo8 c2wh3Tgtjpe56WeznfQ2FU5OcLfQ X-Google-Smtp-Source: APXvYqy7XklXlC/r1IFyydf3A8yo8o+/vQlrVWdlY8eWOrEHbIX1ctqWH2Hd4Eb607Sjy7du9IoAjg== X-Received: by 2002:a2e:7818:: with SMTP id t24mr1474901ljc.195.1580359000381; Wed, 29 Jan 2020 20:36:40 -0800 (PST) Received: from [192.168.2.145] (79-139-233-37.dynamic.spd-mgts.ru. [79.139.233.37]) by smtp.googlemail.com with ESMTPSA id w9sm2015472ljh.106.2020.01.29.20.36.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Jan 2020 20:36:39 -0800 (PST) Subject: Re: [Regression 5.5-rc1] Extremely low GPU performance on NVIDIA Tegra20/30 To: Thierry Reding References: <20191213151045.GB222809@ulmo> <2f5c6fda-adf9-c6c3-7601-fa912813ce1f@gmail.com> <20200129123935.GG2479935@ulmo> From: Dmitry Osipenko Message-ID: Date: Thu, 30 Jan 2020 07:36:36 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.3.0 MIME-Version: 1.0 In-Reply-To: <20200129123935.GG2479935@ulmo> Content-Language: en-US X-Mailman-Approved-At: Thu, 30 Jan 2020 08:32:45 +0000 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: "linux-tegra@vger.kernel.org" , DRI Development Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" MjkuMDEuMjAyMCAxNTozOSwgVGhpZXJyeSBSZWRpbmcg0L/QuNGI0LXRgjoKPiBPbiBNb24sIEph biAyMCwgMjAyMCBhdCAwNTo1MzowM0FNICswMzAwLCBEbWl0cnkgT3NpcGVua28gd3JvdGU6Cj4+ IDEzLjEyLjIwMTkgMTg6MzUsIERtaXRyeSBPc2lwZW5rbyDQv9C40YjQtdGCOgouLi4KPj4gSGVs bG8gVGhpZXJyeSwKPj4KPj4gSSB0b29rIGFub3RoZXIgbG9vayBhdCB0aGUgcHJvYmxlbSBhbmQg aGVyZSB3aGF0IHdhcyBmb3VuZDoKPj4KPj4gMSkgVGhlICJPcHRpb25hbGx5IGF0dGFjaCBjbGll bnRzIHRvIHRoZSBJT01NVSIgcGF0Y2ggaXMgd3JvbmcgYmVjYXVzZToKPj4KPj4gICAgIDEuIGhv c3QxeF9kcm1fcHJvYmUoKSBpcyBpbnZva2VkICpiZWZvcmUqIGFueSBvZiB0aGUKPj4gICAgICAg IGhvc3QxeF9jbGllbnRfaW9tbXVfYXR0YWNoKCkgaGFwcGVucywgc28gdGhlcmUgaXMgbm8gd2F5 Cj4+ICAgICAgICBvbiBlYXJ0aCB0aGUgJ3VzZV9leHBsaWNpdF9pb21tdScgY291bGQgZXZlciBi ZSB0cnVlLgo+IAo+IFRoYXQncyBub3QgY29ycmVjdC4gaG9zdDF4X2NsaWVudF9pb21tdV9hdHRh Y2goKSBoYXBwZW5zIGR1cmluZwo+IGhvc3QxeF9kZXZpY2VfaW5pdCgpLCB3aGljaCBpcyBjYWxs ZWQgZHVyaW5nIGhvc3QxeF9kcm1fcHJvYmUoKS4KCkxvb2tzIGxpa2UgSSBwcmV2aW91c2x5IGdv dCBjb25mdXNlZCBieSBhY2NpZGVudCwgbXkgYmFkLgoKPiBUaGUgaWRlYSBpcyB0aGF0IGhvc3Qx eF9kcm1fcHJvYmUoKSBzZXRzIHVwIHRoZSBtaW5pbXVtIElPTU1VIHNvIHRoYXQgYWxsCj4gZGV2 aWNlcyBjYW4gYXR0YWNoLCBpZiB0aGV5IHdhbnQgdG8uIElmIGFueSBvZiB0aGVtIGNvbm5lY3Qg KGJlY2F1c2UKPiB0aGV5IGFyZW4ndCBhbHJlYWR5IGF0dGFjaGVkIHZpYSBzb21ldGhpbmcgbGlr ZSB0aGUgRE1BL0lPTU1VIGdsdWUpCj4gdGhlbiB0aGUgdGVncmEtPnVzZV9leHBsaWNpdF9pb21t dSBpcyBzZXQgdG8gdHJ1ZSwgaW4gd2hpY2ggY2FzZSB0aGUKPiBJT01NVSBkb21haW4gc2V0dXAg Zm9yIGV4cGxpY2l0IElPTU1VIEFQSSB1c2FnZSBpcyBjb21wbGV0ZWQuIElmLCBvbgo+IHRoZSBv dGhlciBoYW5kLCBub25lIG9mIHRoZSBjbGllbnRzIGhhdmUgYSBuZWVkIGZvciB0aGUgZXhwbGlj aXQgSU9NTVUKPiBkb21haW4sIHRoZXJlJ3Mgbm8gbmVlZCB0byBzZXQgaXQgdXAgYW5kIGhvc3Qx eF9kcm1fcHJvYmUoKSB3aWxsIGp1c3QKPiBkaXNjYXJkIGl0LgoKVGhpcyBtYXRjaGVzIG15IHVu ZGVyc3RhbmRpbmcgb2Ygd2hhdCB5b3Ugd2FudGVkIHRvIGFjaGlldmUsIHRoYW5rcy4KCj4+ICAg ICAyLiBOb3QgYXR0YWNoaW5nIERSTSBjbGllbnRzIHRvIElPTU1VIGlmIEhPU1QxeCBpc24ndAo+ PiAgICAgICAgYXR0YWNoZWQgaXMgd3JvbmcgYmVjYXVzZSBpdCBuZXZlciBhdHRhY2hlZCBpbiB0 aGUgY2FzZQo+PiAgICAgICAgb2YgQ09ORklHX1RFR1JBX0hPU1QxWF9GSVJFV0FMTD15IFsxXSBh bmQgdGhpcyBhbHNvCj4+ICAgICAgICBtYWtlcyBubyBzZW5zZSBmb3IgVDIwLzMwIHRoYXQgZG8g bm90IHN1cHBvcnQgTFBBRS4KPiAKPiBJdCdzIG5vdCBhdCBhbGwgd3JvbmcuIFRha2UgZm9yIGV4 YW1wbGUgdGhlIGNhc2Ugb2YgVGVncmExMjQgYW5kCj4gVGVncmEyMTAgd2hlcmUgaG9zdDF4IGFu ZCBpdHMgY2xpZW50cyBjYW4gYWRkcmVzcyAzNCBiaXRzLiBJbiB0aG9zZQo+IGNhc2VzLCBhbGxv Y2F0aW5nIGluZGl2aWR1YWwgcGFnZXMgdmlhIHNobWVtIGhhcyBhIGhpZ2ggcHJvYmFiaWxpdHkg b2YKPiBoaXR0aW5nIHBoeXNpY2FsIGFkZHJlc3NlcyBiZXlvbmQgdGhlIDMyLWJpdCByYW5nZSwg d2hpY2ggbWVhbnMgdGhhdCB0aGUKPiBob3N0MXggY2FuIG5vdCBhY2Nlc3MgdGhlbSB1bmxlc3Mg aXQgaXMgYWxzbyBhdHRhY2hlZCB0byBhbiBJT01NVSB3aGVyZQo+IHBoeXNpY2FsIGFkZHJlc3Nl cyB0byA+PSA0IEdpQiBhZGRyZXNzZXMgY2FuIGJlIHRyYW5zbGF0ZWQgaW50byA8IDQgR2lCCj4g dmlydHVhbCBhZGRyZXNzZXMuIFRoaXMgaXMgYSB2ZXJ5IHJlYWwgcHJvYmxlbSB0aGF0IEkgd2Fz IHJ1bm5pbmcgaW50bwo+IHdoZW4gdGVzdGluZyBvbiBUZWdyYTEyNCBhbmQgVGVncmEyMTAuCgpX aHkgbm90IHRvIHNldCB0aGUgRE1BIG1hc2sgdG8gMzJiaXRzIGlmIElPTU1VIGlzIHVuYXZhaWxh YmxlPwoKSSdtIGEgYml0IHB1enpsZWQgYnkgdGhlIGFjdHVhbCBuZWVkIHRvIHN1cHBvcnQgdGhl IGNhc2Ugd2hlcmUgSG9zdDF4IGlzCmJhY2tlZCBieSBJT01NVSBhbmQgY2xpZW50cyBub3QuLiBI b3cgd2UgY291bGQgZXZlciBlbmQgdXAgd2l0aCB0aGlzCnNjZW5hcmlvIGluIHRoZSB1cHN0cmVh bSBrZXJuZWw/CgpXaGF0IGFib3V0IHRoZSByZXZlcnNlIHNjZW5hcmlvPyBZb3Ugd29uJ3QgYmUg YWJsZSB0byBwYXRjaCBjbWRzdHJlYW0KcHJvcGVybHkgZm9yID4zMmJpdCBhZGRyZXNzZXMuCgpU aGUgcm9vdCBvZiB0aGUgcHJvYmxlbSBpcyB0aGF0IFRlZ3JhIERSTSBVQVBJIGRvZXNuJ3Qgc3Vw cG9ydCA2NGJpdAphZGRyZXNzZXMsIHNvIHlvdSBjYW4ndCB1c2UgIndpZGUiIG9wY29kZXMgYW5k IGNhbid0IHBhdGNoIGNtZHN0cmVhbS4KClBlcmhhcHMgaXQgaXMgYmV0dGVyIG5vdCB0byBhZGQg YW55IG5ldyB0aGluZ3Mgb3IgcXVpcmtzIHRvIHRoZSBIb3N0MXggLwpUZWdyYSBEUk0gZm9yIG5v dy4gVGhlIGRyaXZlcnMgbmVlZCBhIHNlcmlvdXMgY2xlYW4gdXAsIG90aGVyd2lzZSBtZXNzCm9u bHkgY29udGludWVzIHRvIGdyb3cgdXAuIERvbid0IHlvdSB0aGluayBzbz8KCj4gQnV0IEkgYWdy ZWUgdGhhdCB0aGlzIHNob3VsZG4ndCBiZSBuZWNlc3Nhcnkgb24gVGVncmEyMCBhbmQgVGVncmEz MC4gV2UKPiBzaG91bGQgYmUgYWJsZSB0byByZW1lZHkgdGhlIHNpdHVhdGlvbiBvbiBUZWdyYTIw IGFuZCBUZWdyYTMwIGJ5IGFkZGluZwo+IGFub3RoZXIgY2hlY2ssIGJhc2VkIG9uIHRoZSBETUEg bWFzay4gU29tZXRoaW5nIGxpa2UgdGhlIGJlbG93IHNob3VsZAo+IHdvcms6Cj4gCj4gLS0tID44 IC0tLQpbc25pcF0KPiAtLS0gPjggLS0tCgpUaGlzIHdvcmtzLCB0aGFua3MuCgo+PiBbMV0KPj4g aHR0cHM6Ly9lbGl4aXIuYm9vdGxpbi5jb20vbGludXgvdjUuNS1yYzYvc291cmNlL2RyaXZlcnMv Z3B1L2hvc3QxeC9kZXYuYyNMMjA1Cj4+Cj4+IDIpIEJlY2F1c2Ugb2YgdGhlIGFib3ZlIHByb2Js ZW1zLCB0aGUgRFJNIGNsaWVudHMgYXJlIGVycm9uZW91c2x5IG5vdAo+PiBnZXR0aW5nIGF0dGFj aGVkIHRvIElPTU1VIGF0IGFsbCBhbmQgdGh1cyBDTUEgaXMgZ2V0dGluZyB1c2VkIGZvciB0aGUg Qk8KPj4gYWxsb2NhdGlvbnMuIEhlcmUgY29tZXMgdGhlIHByb2JsZW1zIGludHJvZHVjZWQgYnkg dGhlICJncHU6IGhvc3QxeDoKPj4gU3VwcG9ydCBETUEgbWFwcGluZyBvZiBidWZmZXJzIiBwYXRj aCwgd2hpY2ggbWFrZXMgRE1BIEFQSSB0byBwZXJmb3JtCj4+IENQVSBjYWNoZSBtYWludGVuYW5j ZSBvbiBlYWNoIGpvYiBzdWJtaXNzaW9uIGFuZCBhcHBhcmVudGx5IHRoaXMgaXMKPj4gc3VwZXIg YmFkIGZvciBwZXJmb3JtYW5jZS4gVGhpcyBhbHNvIG1ha2VzIG5vIHNlbnNlIGluIGNvbXBhcmlz b24gdG8gdGhlCj4+IGNhc2Ugb2YgZW5hYmxlZCBJT01NVSwgd2hlcmUgY2FjaGUgbWFpbnRlbmFu Y2UgaXNuJ3QgcGVyZm9ybWVkIGF0IGFsbAo+PiAobGlrZSBpdCBzaG91bGQgYmUpLgo+IAo+IEl0 IGFjdHVhbGx5IGRvZXMgbWFrZSBhIGxvdCBvZiBzZW5zZS4gVmVyeSBzdHJpY3RseSBzcGVha2lu ZyB3ZSB3ZXJlCj4gdmlvbGF0aW5nIHRoZSBETUEgQVBJIHByaW9yIHRvIHRoZSBhYm92ZSBwYXRj aCBiZWNhdXNlIHdlIHdlcmUgbm90IERNQQo+IG1hcHBpbmcgdGhlIGJ1ZmZlcnMgYXQgYWxsLiBX aGVuZXZlciB5b3UgcGFzcyBhIGJ1ZmZlciB0byBoYXJkd2FyZSB5b3UKPiBuZWVkIHRvIG1hcCBp dCBmb3IgdGhlIGRldmljZS4gQXQgdGhhdCBwb2ludCwgdGhlIGtlcm5lbCBkb2VzIG5vdCBrbm93 Cj4gd2hldGhlciBvciBub3QgdGhlIGJ1ZmZlciBpcyBkaXJ0eSwgc28gaXQgaGFzIHRvIHBlcmZv cm0gYSBjYWNoZSBmbHVzaC4KPiBTaW1pbGFyaWx5LCB3aGVuIHRoZSBoYXJkd2FyZSBpcyBkb25l IHdpdGggYSBidWZmZXIsIHdlIG5lZWQgdG8gdW5tYXAgaXQKPiBzbyB0aGF0IHRoZSBDUFUgY2Fu IGFjY2VzcyBpdCBhZ2Fpbi4gVGhpcyB0eXBpY2FsbHkgcmVxdWlyZXMgYSBjYWNoZQo+IGludmFs aWRhdGUuCj4gCj4gVGhhdCB0aGluZ3MgZXZlbiB3b3JrZWQgdG8gYmVnaW4gd2l0aCBtb3JlIGJ5 IGFjY2lkZW50IHRoYW4gYnkgZGVzaWduLgo+IAo+IFNvIHllcywgdGhpcyBpcyBkaWZmZXJlbnQg ZnJvbSB3aGF0IHdlIHdlcmUgZG9pbmcgYmVmb3JlLCBidXQgaXQncwo+IGFjdHVhbGx5IHRoZSBy aWdodCB0aGluZyB0byBkby4gVGhhdCBzYWlkLCBJJ20gc3VyZSB3ZSBjYW4gZmluZCB3YXlzIHRv Cj4gb3B0aW1pemUgdGhpcy4gRm9yIGV4YW1wbGUsIGFzIHBhcnQgb2YgdGhlIERNQSBBUEkgY29u dmVyc2lvbiBzZXJpZXMgSQo+IGFkZGVkIHRoZSBwb3NzaWJpbGl0eSB0byBzZXQgZGlyZWN0aW9u IGZsYWdzIGZvciByZWxvY2F0aW9uIGJ1ZmZlcnMuIEluCj4gY2FzZXMgd2hlcmUgaXQgaXMga25v d24gdGhhdCBhIGNlcnRhaW4gYnVmZmVyIHdpbGwgb25seSBiZSB1c2VkIGZvcgo+IHJlYWRpbmcs IHdlIHNob3VsZCBiZSBhYmxlIHRvIGF2b2lkIGF0IGxlYXN0IHRoZSBjYWNoZSBpbnZhbGlkYXRl Cj4gb3BlcmF0aW9uIGFmdGVyIGEgam9iIGlzIGRvbmUsIHNpbmNlIHRoZSBoYXJkd2FyZSB3b24n dCBoYXZlIG1vZGlmaWVkCj4gdGhlIGNvbnRlbnRzICh3aGVuIHVzaW5nIGFuIFNNTVUgdGhpcyBj YW4gZXZlbiBiZSBlbmZvcmNlZCkuIEl0J3MKPiBzbGlnaHRseSB0cmlja2llciB0byBhdm9pZCBj YWNoZSBmbHVzaGVzLiBGb3IgYnVmZmVycyB0aGF0IGFyZSBvbmx5Cj4gZ29pbmcgdG8gYmUgd3Jp dHRlbiwgdGhlcmUncyBubyBuZWVkIHRvIGZsdXNoIHRoZSBjYWNoZSBiZWNhdXNlIHRoZSBDUFVz Cj4gY2hhbmdlcyBjYW4gYmUgYXNzdW1lZCB0byBiZSBvdmVyd3JpdHRlbiBieSB0aGUgaGFyZHdh cmUgYW55d2F5LiBIb3dldmVyCj4gd2Ugc3RpbGwgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCB3ZSBp bnZhbGlkYXRlIHRoZSBjYWNoZXMgaW4gdGhhdCBjYXNlIHRvCj4gZW5zdXJlIHN1YnNlcXVlbnQg Y2FjaGUgZmx1c2hlcyBkb24ndCBvdmVyd3JpdGUgZGF0YSBhbHJlYWR5IHdyaXR0ZW4gYnkKPiBo YXJkd2FyZS4KPiAKPiBPbmUgb3RoZXIgcG90ZW50aWFsIG9wdGltaXphdGlvbiBJIGNhbiBpbWFn aW5lIGlzIHRvIGFkZCBmbGFncyB0byBtYWtlCj4gY2FjaGUgbWFpbnRlbmFuY2Ugb3B0aW9uYWwg b24gYnVmZmVycyB3aGVuIHdlIGtub3cgaXQncyBzYWZlIHRvIGRvIHNvLgo+IEknbSBub3Qgc3Vy ZSB3ZSBjYW4gYWx3YXlzIGtub3csIHNvIHRoaXMgaXMgZ29pbmcgdG8gcmVxdWlyZSBmdXJ0aGVy Cj4gdGhvdWdodC4KCkRvZXNuJ3Qgc291bmQgZ29vZCB0byBtZS4uIHRoaXMgaXMgbm90IGdvaW5n IHRvIGJlIGdvb2QgZm9yIEdQVSBkcml2ZXJzLgpBbGwgY2FjaGUgbWFpbnRlbmFuY2Ugc2hvdWxk IGJlIGluIGNvbnRyb2wgb2YgdXNlcnNwYWNlLCB0aGUgdXNlcnNwYWNlCnNob3VsZCBiZSB0ZWxs aW5nIGtlcm5lbCBkcml2ZXIgd2hlbiBpdCBuZWVkcyB0byBnZXQgQ1BVIGFjY2VzcyBhbmQgd2hl bgp0byBmaW5pc2ggdGhlIGFjY2Vzcy4gRE1BQlVGIGhhcyBnZW5lcmljIFVBUEkgZm9yIHRoZSBz eW5jaHJvbml6YXRpb25zLAphbHRob3VnaCBhIG1hdHVyZSBHUFUgZHJpdmVyIG1heSBuZWVkIG1v cmUgdGhhbiB0aGF0LgoKVG9kYXkgVGVncmEgRFJNIGRyaXZlciBzdXBwb3J0cyBvbmx5IHdyaXRl LWNvbWJpbmVkIEJPIGFsbG9jYXRpb25zLCBhbmQKdGh1cywgd2UgZG9uJ3QgbmVlZCB0byBkbyBt b3JlIHRoYW4gdG8gZmx1c2ggQ1BVIGJ1ZmZlcnMgYmVmb3JlCmV4ZWN1dGluZyBIVyBqb2IuCgo+ PiBQbGVhc2UgbGV0IG1lIGtub3cgaWYgeW91J3JlIGdvaW5nIHRvIGZpeCB0aGUgcHJvYmxlbXMg b3IgaWYgeW91J2QKPj4gcHJlZmVyIG1lIHRvIGNyZWF0ZSB0aGUgcGF0Y2hlcy4KPj4KPj4gSGVy ZSBpcyBhIGRyYWZ0IG9mIHRoZSBmaXggZm9yICMyLCBpdCBkb2Vzbid0IGNvdmVyIGNhc2Ugb2Yg aW1wb3J0ZWQKPj4gYnVmZmVycyAod2hpY2ggc2hvdWxkIGJlIHN0YXRpY2FsbHkgbWFwcGVkLCBJ SVVDKToKPj4KPj4gQEAgLTM4LDcgKzM4LDcgQEAgc3RhdGljIHN0cnVjdCBzZ190YWJsZSAqdGVn cmFfYm9fcGluKHN0cnVjdCBkZXZpY2UKPj4gKmRldiwgc3RydWN0IGhvc3QxeF9ibyAqYm8sCj4+ ICAgICAgICAgICogSWYgd2UndmUgbWFudWFsbHkgbWFwcGVkIHRoZSBidWZmZXIgb2JqZWN0IHRo cm91Z2ggdGhlIElPTU1VLAo+PiBtYWtlCj4+ICAgICAgICAgICogc3VyZSB0byByZXR1cm4gdGhl IElPVkEgYWRkcmVzcyBvZiBvdXIgbWFwcGluZy4KPj4gICAgICAgICAgKi8KPj4gLSAgICAgICBp ZiAocGh5cyAmJiBvYmotPm1tKSB7Cj4+ICsgICAgICAgaWYgKHBoeXMgJiYgKG9iai0+bW0gfHwg b2JqLT52YWRkcikpIHsKPj4gICAgICAgICAgICAgICAgICpwaHlzID0gb2JqLT5pb3ZhOwo+IAo+ IFRoaXMgZG9lc24ndCB3b3JrIGZvciB0aGUgY2FzZSB3aGVyZSB3ZSB1c2UgdGhlIERNQSBBUEkg Zm9yIG1hcHBpbmcuIE9yCj4gYXQgbGVhc3QgaXQgaXNuJ3QgZ29pbmcgdG8gd29yayBpbiB0aGUg Z2VuZXJhbCBjYXNlLgoKUmlnaHQsIGxvb2tzIGxpa2UgSSdsbCBuZWVkIHRvIHVwZGF0ZSBteSBt ZW1vcnkgYWJvdXQgdGhlIERNQSBBUEkgdXNhZ2UuCgo+IFRoZSByZWFzb24gaXMgYmVjYXVzZSBv YmotPmlvdmEgaXMgb25seSB2YWxpZCBmb3Igd2hhdGV2ZXIgdGhlIGRldmljZSB3YXMgdGhhdCBt YXBwZWQKPiBvciBhbGxvY2F0ZWQgdGhlIGJ1ZmZlciwgd2hpY2ggaW4gdGhpcyBjYXNlIGlzIHRo ZSBob3N0MXggZGV2aWNlLCB3aGljaAo+IGlzbid0IGV2ZW4gYSByZWFsIGRldmljZSwgc28gaXQg d29uJ3Qgd29yay4gVGhlIG9ubHkgY2FzZSB3aGVyZSBpdCBkb2VzCj4gd29yayBpcyBpZiB3ZSdy ZSBub3QgYmVoaW5kIGFuIElPTU1VLCBzbyBvYmotPmlvdmEgd2lsbCBhY3R1YWxseSBiZSB0aGUK PiBwaHlzaWNhbCBhZGRyZXNzLgoKQnV0IHdoeSBkbyB5b3UgbmVlZCB0byBkeW5hbWljYWxseSBt YXAvdW5tYXAgdGhlIHN0YXRpY2FsbHktYWxsb2NhdGVkCmJ1ZmZlcnMgb24gZWFjaCBqb2Igc3Vi bWlzc2lvbiwgY291bGQgeW91IHBsZWFzZSBleHBsYWluIHdoYXQgaXMgdGhlCnBvaW50PyBQZXJo YXBzIGl0J3MgYSB0ZW1wb3Jhcnkgd29ya2Fyb3VuZCBqdXN0IHRvIGdldCBhIG1pbmltdW0gb2YK dGhpbmdzIHdvcmtpbmcgZm9yIHRoZSBjYXNlIG9mIGltcGxpY2l0IElPTU1VPwoKQWxsIGJ1ZmZl cnMgc2hvdWxkIGJlIHN0YXRpY2FsbHkgYWxsb2NhdGVkIGFuZCBzdGF0aWNhbGx5IG1hcHBlZCwg YW5kCndoZW4gdGhlcmUgaXMgYSBuZWVkIHRvIHN5bmMgYW4gYWxyZWFkeSBtYXBwZWQgYnVmZmVy LCB0aGUgZG1hX3N5bmNfKgpBUEkgc2hvdWxkIGJlIHVzZWQuCgpMaWtlIEkgc2FpZCBhYm92ZSwg dGhlIHN5bmNpbmcgc2hvdWxkIGJlIGRvbmUgYnkgdXNlcnNwYWNlIGZvciB0aGUKYnVmZmVycyB0 aGF0IGFyZSBpbiBjb250cm9sIG9mIHVzZXJzcGFjZS4KCj4gU28gd2hhdCB0aGlzIGJhc2ljYWxs eSBlbmRzIHVwIGRvaW5nIGlzIGF2b2lkIGRtYV9tYXBfKigpIGFsbCB0aGUgdGltZSwKPiB3aGlj aCBJIGd1ZXNzIGlzIHdoYXQgeW91J3JlIHRyeWluZyB0byBhY2hpZXZlLiBCdXQgaXQgYWxzbyBn aXZlcyB5b3UKPiB0aGUgd3JvbmcgSS9PIHZpcnR1YWwgYWRkcmVzcyBpbiBhbnkgY2FzZSB3aGVy ZSBhbiBJT01NVSBpcyBpbnZvbHZlZC4KPiBBbHNvLCBhcyBkaXNjdXNzZWQgYWJvdmUsIGF2b2lk aW5nIGNhY2hlIG1haW50ZW5hbmNlIGlzbid0IGNvcnJlY3QuCgpBbHJpZ2h0LCB0aGVuIHJpZ2h0 IG5vdyB3ZSBuZWVkIHRvIGJ5cGFzcyB0aGUgZG1hX21hcF8qKCkgaW4gYSBjYXNlIG9mIGEKbm9u LWltcGxpY2l0IElPTU1VLCBpbiBvcmRlciB0byBicmluZyBiYWNrIHRoZSBnb29kIG9sZCBiZWhh dmlvciAoYXQKbGVhc3QgdGVtcG9yYXJ5LCB1bnRpbCB0aGVyZSB3aWxsIGJlIGEgbW9yZSBjb21w cmVoZW5zaXZlIHNvbHV0aW9uKS4KCldoYXQgZG8geW91IHRoaW5rIGFib3V0IHRoaXMgdmFyaWFu dDoKCi0tLSA+OCAtLS0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9nZW0uYyBi L2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9nZW0uYwppbmRleCAxMjM3ZGYxNTdlMDUuLjU1NWE2NDI0 ZTlmYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2dlbS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS90ZWdyYS9nZW0uYwpAQCAtNTQsMTYgKzU0LDI1IEBAIHN0YXRpYyBzdHJ1Y3Qg c2dfdGFibGUgKnRlZ3JhX2JvX3BpbihzdHJ1Y3QgZGV2aWNlCipkZXYsIHN0cnVjdCBob3N0MXhf Ym8gKmJvLAogCQkJCSAgICAgZG1hX2FkZHJfdCAqcGh5cykKIHsKIAlzdHJ1Y3QgdGVncmFfYm8g Km9iaiA9IGhvc3QxeF90b190ZWdyYV9ibyhibyk7CisJc3RydWN0IHRlZ3JhX2RybSAqdGVncmEg PSBvYmotPmdlbS5kZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBzZ190YWJsZSAqc2d0OwogCWlu dCBlcnI7CgotCS8qCi0JICogSWYgd2UndmUgbWFudWFsbHkgbWFwcGVkIHRoZSBidWZmZXIgb2Jq ZWN0IHRocm91Z2ggdGhlIElPTU1VLCBtYWtlCi0JICogc3VyZSB0byByZXR1cm4gdGhlIElPVkEg YWRkcmVzcyBvZiBvdXIgbWFwcGluZy4KLQkgKi8KLQlpZiAocGh5cyAmJiBvYmotPm1tKSB7Ci0J CSpwaHlzID0gb2JqLT5pb3ZhOwotCQlyZXR1cm4gTlVMTDsKKwlpZiAocGh5cyAmJiBpb21tdV9n ZXRfZG9tYWluX2Zvcl9kZXYoZGV2KSA9PSB0ZWdyYS0+ZG9tYWluKSB7CisJCS8qIGlmIElPTU1V IGlzbid0IGF2YWlsYWJsZSwgcmV0dXJuIElPVkE9UEhZUyBvZiB0aGUgbWFwcGluZyAqLworCQlp ZiAob2JqLT52YWRkcikgeworCQkJKnBoeXMgPSBvYmotPmlvdmE7CisJCQlyZXR1cm4gTlVMTDsK KwkJfQorCisJCS8qCisJCSAqIElmIHdlJ3ZlIG1hbnVhbGx5IG1hcHBlZCB0aGUgYnVmZmVyIG9i amVjdCB0aHJvdWdoIHRoZQorCQkgKiBJT01NVSwgbWFrZSBzdXJlIHRvIHJldHVybiB0aGUgSU9W QSBhZGRyZXNzIG9mIG91ciBtYXBwaW5nLgorCQkgKi8KKwkJaWYgKG9iai0+bW0pIHsKKwkJCSpw aHlzID0gb2JqLT5pb3ZhOworCQkJcmV0dXJuIE5VTEw7CisJCX0KIAl9CgogCS8qCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdy YS9wbGFuZS5jCmluZGV4IDZkMTg3MmRkZWYxNy4uOTEzMDRiOTAzNGZhIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vdGVncmEvcGxhbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEv cGxhbmUuYwpAQCAtOTcsMTYgKzk3LDE1IEBAIHN0YXRpYyBpbnQgdGVncmFfZGNfcGluKHN0cnVj dCB0ZWdyYV9kYyAqZGMsIHN0cnVjdAp0ZWdyYV9wbGFuZV9zdGF0ZSAqc3RhdGUpCgogCWZvciAo aSA9IDA7IGkgPCBzdGF0ZS0+YmFzZS5mYi0+Zm9ybWF0LT5udW1fcGxhbmVzOyBpKyspIHsKIAkJ c3RydWN0IHRlZ3JhX2JvICpibyA9IHRlZ3JhX2ZiX2dldF9wbGFuZShzdGF0ZS0+YmFzZS5mYiwg aSk7CisJCXN0cnVjdCBzZ190YWJsZSAqc2d0OwoKLQkJaWYgKCFkYy0+Y2xpZW50Lmdyb3VwKSB7 Ci0JCQlzdHJ1Y3Qgc2dfdGFibGUgKnNndDsKLQotCQkJc2d0ID0gaG9zdDF4X2JvX3BpbihkYy0+ ZGV2LCAmYm8tPmJhc2UsIE5VTEwpOwotCQkJaWYgKElTX0VSUihzZ3QpKSB7Ci0JCQkJZXJyID0g UFRSX0VSUihzZ3QpOwotCQkJCWdvdG8gdW5waW47Ci0JCQl9CisJCXNndCA9IGhvc3QxeF9ib19w aW4oZGMtPmRldiwgJmJvLT5iYXNlLCAmc3RhdGUtPmlvdmFbaV0pOworCQlpZiAoSVNfRVJSKHNn dCkpIHsKKwkJCWVyciA9IFBUUl9FUlIoc2d0KTsKKwkJCWdvdG8gdW5waW47CisJCX0KCisJCWlm IChzZ3QpIHsKIAkJCWVyciA9IGRtYV9tYXBfc2coZGMtPmRldiwgc2d0LT5zZ2wsIHNndC0+bmVu dHMsCiAJCQkJCSBETUFfVE9fREVWSUNFKTsKIAkJCWlmIChlcnIgPT0gMCkgewpAQCAtMTI3LDgg KzEyNiw2IEBAIHN0YXRpYyBpbnQgdGVncmFfZGNfcGluKHN0cnVjdCB0ZWdyYV9kYyAqZGMsIHN0 cnVjdAp0ZWdyYV9wbGFuZV9zdGF0ZSAqc3RhdGUpCgogCQkJc3RhdGUtPmlvdmFbaV0gPSBzZ19k bWFfYWRkcmVzcyhzZ3QtPnNnbCk7CiAJCQlzdGF0ZS0+c2d0W2ldID0gc2d0OwotCQl9IGVsc2Ug ewotCQkJc3RhdGUtPmlvdmFbaV0gPSBiby0+aW92YTsKIAkJfQogCX0KCkBAIC0xNDEsOCArMTM4 LDExIEBAIHN0YXRpYyBpbnQgdGVncmFfZGNfcGluKHN0cnVjdCB0ZWdyYV9kYyAqZGMsIHN0cnVj dAp0ZWdyYV9wbGFuZV9zdGF0ZSAqc3RhdGUpCiAJCXN0cnVjdCB0ZWdyYV9ibyAqYm8gPSB0ZWdy YV9mYl9nZXRfcGxhbmUoc3RhdGUtPmJhc2UuZmIsIGkpOwogCQlzdHJ1Y3Qgc2dfdGFibGUgKnNn dCA9IHN0YXRlLT5zZ3RbaV07CgotCQlkbWFfdW5tYXBfc2coZGMtPmRldiwgc2d0LT5zZ2wsIHNn dC0+bmVudHMsIERNQV9UT19ERVZJQ0UpOwotCQlob3N0MXhfYm9fdW5waW4oZGMtPmRldiwgJmJv LT5iYXNlLCBzZ3QpOworCQlpZiAoc2d0KSB7CisJCQlkbWFfdW5tYXBfc2coZGMtPmRldiwgc2d0 LT5zZ2wsIHNndC0+bmVudHMsCisJCQkJICAgICBETUFfVE9fREVWSUNFKTsKKwkJCWhvc3QxeF9i b191bnBpbihkYy0+ZGV2LCAmYm8tPmJhc2UsIHNndCk7CisJCX0KCiAJCXN0YXRlLT5pb3ZhW2ld ID0gRE1BX01BUFBJTkdfRVJST1I7CiAJCXN0YXRlLT5zZ3RbaV0gPSBOVUxMOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvaG9zdDF4L2pvYi5jIGIvZHJpdmVycy9ncHUvaG9zdDF4L2pvYi5jCmlu ZGV4IDYwYjJmZWRkMDA2MS4uNTM4YzBmMGI0MGE0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9o b3N0MXgvam9iLmMKKysrIGIvZHJpdmVycy9ncHUvaG9zdDF4L2pvYi5jCkBAIC0xMDgsNyArMTA4 LDcgQEAgc3RhdGljIHVuc2lnbmVkIGludCBwaW5fam9iKHN0cnVjdCBob3N0MXggKmhvc3QsCnN0 cnVjdCBob3N0MXhfam9iICpqb2IpCgogCWZvciAoaSA9IDA7IGkgPCBqb2ItPm51bV9yZWxvY3M7 IGkrKykgewogCQlzdHJ1Y3QgaG9zdDF4X3JlbG9jICpyZWxvYyA9ICZqb2ItPnJlbG9jc1tpXTsK LQkJZG1hX2FkZHJfdCBwaHlzX2FkZHIsICpwaHlzOworCQlkbWFfYWRkcl90IHBoeXNfYWRkcjsK IAkJc3RydWN0IHNnX3RhYmxlICpzZ3Q7CgogCQlyZWxvYy0+dGFyZ2V0LmJvID0gaG9zdDF4X2Jv X2dldChyZWxvYy0+dGFyZ2V0LmJvKTsKQEAgLTExNywxMiArMTE3LDcgQEAgc3RhdGljIHVuc2ln bmVkIGludCBwaW5fam9iKHN0cnVjdCBob3N0MXggKmhvc3QsCnN0cnVjdCBob3N0MXhfam9iICpq b2IpCiAJCQlnb3RvIHVucGluOwogCQl9CgotCQlpZiAoY2xpZW50LT5ncm91cCkKLQkJCXBoeXMg PSAmcGh5c19hZGRyOwotCQllbHNlCi0JCQlwaHlzID0gTlVMTDsKLQotCQlzZ3QgPSBob3N0MXhf Ym9fcGluKGRldiwgcmVsb2MtPnRhcmdldC5ibywgcGh5cyk7CisJCXNndCA9IGhvc3QxeF9ib19w aW4oZGV2LCByZWxvYy0+dGFyZ2V0LmJvLCAmcGh5c19hZGRyKTsKIAkJaWYgKElTX0VSUihzZ3Qp KSB7CiAJCQllcnIgPSBQVFJfRVJSKHNndCk7CiAJCQlnb3RvIHVucGluOwpAQCAtMTY4LDYgKzE2 MywxMyBAQCBzdGF0aWMgdW5zaWduZWQgaW50IHBpbl9qb2Ioc3RydWN0IGhvc3QxeCAqaG9zdCwK c3RydWN0IGhvc3QxeF9qb2IgKmpvYikKIAkJam9iLT5udW1fdW5waW5zKys7CiAJfQoKKwkvKgor CSAqIEluIGEgY2FzZSBvZiBlbmFibGVkIGZpcmV3YWxsLCBhbGwgdXNlciBnYXRoZXJzIGFyZSBj b3BpZWQgaW50bworCSAqIHRoZSBzZWN1cmVkIGpvYi0+Z2F0aGVyX2NvcHlfbWFwcGVkLgorCSAq LworCWlmIChJU19FTkFCTEVEKENPTkZJR19URUdSQV9IT1NUMVhfRklSRVdBTEwpKQorCQlyZXR1 cm4gMDsKKwogCWZvciAoaSA9IDA7IGkgPCBqb2ItPm51bV9nYXRoZXJzOyBpKyspIHsKIAkJc3Ry dWN0IGhvc3QxeF9qb2JfZ2F0aGVyICpnID0gJmpvYi0+Z2F0aGVyc1tpXTsKIAkJc2l6ZV90IGdh dGhlcl9zaXplID0gMDsKQEAgLTE4NCwxMyArMTg2LDEzIEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQg cGluX2pvYihzdHJ1Y3QgaG9zdDF4ICpob3N0LApzdHJ1Y3QgaG9zdDF4X2pvYiAqam9iKQogCQkJ Z290byB1bnBpbjsKIAkJfQoKLQkJc2d0ID0gaG9zdDF4X2JvX3Bpbihob3N0LT5kZXYsIGctPmJv LCBOVUxMKTsKKwkJc2d0ID0gaG9zdDF4X2JvX3Bpbihob3N0LT5kZXYsIGctPmJvLCAmcGh5c19h ZGRyKTsKIAkJaWYgKElTX0VSUihzZ3QpKSB7CiAJCQllcnIgPSBQVFJfRVJSKHNndCk7CiAJCQln b3RvIHVucGluOwogCQl9CgotCQlpZiAoIUlTX0VOQUJMRUQoQ09ORklHX1RFR1JBX0hPU1QxWF9G SVJFV0FMTCkgJiYgaG9zdC0+ZG9tYWluKSB7CisJCWlmIChob3N0LT5kb21haW4pIHsKIAkJCWZv cl9lYWNoX3NnKHNndC0+c2dsLCBzZywgc2d0LT5uZW50cywgaikKIAkJCQlnYXRoZXJfc2l6ZSAr PSBzZy0+bGVuZ3RoOwogCQkJZ2F0aGVyX3NpemUgPSBpb3ZhX2FsaWduKCZob3N0LT5pb3ZhLCBn YXRoZXJfc2l6ZSk7CkBAIC0yMTQsNyArMjE2LDcgQEAgc3RhdGljIHVuc2lnbmVkIGludCBwaW5f am9iKHN0cnVjdCBob3N0MXggKmhvc3QsCnN0cnVjdCBob3N0MXhfam9iICpqb2IpCgogCQkJam9i LT51bnBpbnNbam9iLT5udW1fdW5waW5zXS5zaXplID0gZ2F0aGVyX3NpemU7CiAJCQlwaHlzX2Fk ZHIgPSBpb3ZhX2RtYV9hZGRyKCZob3N0LT5pb3ZhLCBhbGxvYyk7Ci0JCX0gZWxzZSB7CisJCX0g ZWxzZSBpZiAoc2d0KSB7CiAJCQllcnIgPSBkbWFfbWFwX3NnKGhvc3QtPmRldiwgc2d0LT5zZ2ws IHNndC0+bmVudHMsCiAJCQkJCSBETUFfVE9fREVWSUNFKTsKIAkJCWlmICghZXJyKSB7CgotLS0g PjggLS0tCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=