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=-6.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS 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 77123C35671 for ; Sat, 22 Feb 2020 13:01:01 +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 F2E1F206EF for ; Sat, 22 Feb 2020 13:01:00 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ffwll.ch header.i=@ffwll.ch header.b="ktojaZgq" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F2E1F206EF Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch 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 87F7D6E8A4; Sat, 22 Feb 2020 13:00:59 +0000 (UTC) Received: from mail-oi1-x242.google.com (mail-oi1-x242.google.com [IPv6:2607:f8b0:4864:20::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id A32786E8A4 for ; Sat, 22 Feb 2020 13:00:58 +0000 (UTC) Received: by mail-oi1-x242.google.com with SMTP id p125so4500984oif.10 for ; Sat, 22 Feb 2020 05:00:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=uAW8hzELsysqDY3qu/27V2RAA5VLd/a+uRysz3qhtVs=; b=ktojaZgqxFyJpBqOnXJBbDUxmNoOwbtOXKfmaGNlrSKSYM8tchRREx72kNsSXbdi+a 1LUgJUXmNP3wJNt56tU/B4AX/7cjOEhONRshHS1UZADfzChrHQrePu0v0YoHX3eJYcEq ljUoGITVwmvEhojRScFZj3KlT8BhrlxziYCXA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=uAW8hzELsysqDY3qu/27V2RAA5VLd/a+uRysz3qhtVs=; b=Ct+XrEN29TXYyHJeC/bV82phlp9tnzyBQJ2FreZn3wwqIGCFzmnriw4bASX1fDC68G QTIYLk+1VGxj+C1wgQOiO7jsrCKfF0IGCcxmVxBtqfkIuryKHSlM4ZGGlFswQYNp3mZE TD0p1ZxNzZo4x+aJskN4k8O/c37QZb1Db4voyr4IWams19ucPYm4fArFtoUZjiCwbpdq MWj2A7KodMtslrY9sLkk8oAZq9cNlRQl094XXGqWqi0/Lzh4rjtNlOx4tkJI79TaE5Qp 5vD9Zt0zuTa0kyy74ORiJFWlqDm0oOr3T5doEvShHyP802KAH7nCqRogqGXCoO19/1xK +JPw== X-Gm-Message-State: APjAAAXX6EdbhKn794wiEd41i6+l2eNCK/hztD5tXdwUH+Uk+F1pvUWI rTNlE24G5GUbjw0qJ3KuTfK5T8T5OmmkVU1RwMM9Cg== X-Google-Smtp-Source: APXvYqwFKAsUHI1Co5S9FZxskg2YlN48vc5M8SYmP40UaBv0v9kAjBmd0XaqQpj1EMO0dLP9uS4u9vsgJsBtCYortOY= X-Received: by 2002:aca:2407:: with SMTP id n7mr6166083oic.14.1582376457563; Sat, 22 Feb 2020 05:00:57 -0800 (PST) MIME-Version: 1.0 References: <20200221210319.2245170-1-daniel.vetter@ffwll.ch> <20200221210319.2245170-46-daniel.vetter@ffwll.ch> In-Reply-To: From: Daniel Vetter Date: Sat, 22 Feb 2020 14:00:46 +0100 Message-ID: Subject: Re: [PATCH 45/51] drm/gm12u320: Simplify upload work To: Hans de Goede 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: Daniel Vetter , Intel Graphics Development , DRI Development Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gU2F0LCBGZWIgMjIsIDIwMjAgYXQgMTozMCBQTSBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUBy ZWRoYXQuY29tPiB3cm90ZToKPgo+IEhpLAo+Cj4gT24gMi8yMS8yMCAxMDowMyBQTSwgRGFuaWVs IFZldHRlciB3cm90ZToKPiA+IEluc3RlYWQgb2YgaGF2aW5nIGEgd29yayBpdGVtIHRoYXQgbmV2 ZXIgc3RvcHMgKHdoaWNoIHJlYWxseSBzaG91bGQgYmUKPiA+IGEga3RocmVhZCksIHdpdGggYSBk ZWRpY2F0ZWQgd29ya3F1ZXVlIHRvIG5vdCB1cHNldCBhbnlvbmUgZWxzZSwgdXNlIGEKPiA+IGRl bGF5ZWQgd29yay4gQSBidW5jaCBvZiBjaGFuZ2VzOgo+ID4KPiA+IC0gV2UgY2FuIHRocm93IG91 dCBhbGwgdGhlIGN1c3RvbSB3YWtldXAgYW5kIHJlcXVldWUgbG9naWMgYW5kIHN0YXRlCj4gPiAg ICB0cmFja2luZy4gSWYgd2Ugc2NoZWR1bGUgdGhlIHdvcmsgd2l0aCBhIDAgZGVsYXkgaXQnbGwg Z2V0Cj4gPiAgICBzY2hlZHVsZWQgaW1tZWRpYXRlbHkuCj4KPiBJJ20gYWZyYWlkIHRoYXQgdGhh dCBpcyBub3QgdHJ1ZSwgZnJvbSB0aGUga2RvYyBvZgo+IHF1ZXVlX2RlbGF5ZWRfd29ya19vbigp ICAod2hpY2ggdGhlIG90aGVyIGZ1bmN0aW9ucyBhcmUgd3JhcHBlcnMgb2YpIDoKPgo+ICAgKiBS ZXR1cm46ICVmYWxzZSBpZiBAd29yayB3YXMgYWxyZWFkeSBvbiBhIHF1ZXVlLCAldHJ1ZSBvdGhl cndpc2UuICBJZgo+ICAgKiBAZGVsYXkgaXMgemVybyBhbmQgQGR3b3JrIGlzIGlkbGUsIGl0IHdp bGwgYmUgc2NoZWR1bGVkIGZvciBpbW1lZGlhdGUKPiAgICogZXhlY3V0aW9uLgo+Cj4gQW5kIHNp bmNlIHRoZSB3b3JrIGdldHMgc2NoZWR1bGVkIHdpdGggSURMRV9USU1FT1VUIGF0IHRoZSBlbmQg b2YKPiB0aGUgKG1vZGlmaWVkKSBnbTEydTMyMF9mYl91cGRhdGVfd29yaywgaXQgd2lsbCBub3Qg YmUgaWRsZSB3aGVuCj4gZ20xMnUzMjBfZmJfbWFya19kaXJ0eSgpIGRvZXMgdGhlIHNjaGVkdWxl IHdpdGggMCB0aW1lb3V0LCBzbyBpdAo+IHdpbGwgc3RheSBzY2hlZHVsZWQgYXQgdGhlIG9sZCBJ RExFX1RJTUVPVVQgYW5kIHdlIHdpbGwgZ2V0IGEKPiB2ZXJ5IGxvdyBmcmFtZXJhdGUuCj4KPiBJ bnN0ZWFkIHdlIGNvdWxkIHVzZSBtb2RfZGVsYXllZF93b3JrX29uIGluIHRoZSBjYXNlIHdoZXJl IHdlIHdhbnQKPiAwIHRpbWVvdXQsIHRoYXQgd2lsbCBiZWhhdmUgYXMgcXVldWVfZGVsYXllZF93 b3JrX29uKCkgd2hlbiB0aGUgd29yawo+IGhhcyBub3QgYmVlbiBzY2hlZHVsZWQgeWV0IGFuZCBp dCB3aWxsIG1vZGlmeSB0aGUgdGltZW91dCBvdGhlcndpc2UuCj4KPiBUaGlzIHdpbGwgc3RpbGwg YWxsb3cgdXMgdG8gZ2V0IHJpZCBvZiB0aGUgd2FpdHEuCgpIbSBJIG1pc3NlZCB0aGF0LCB3aWxs IGZpeC4KCj4gIyMjCj4KPiBNb3JlIGluIGdlbmVyYWwgdGhvdWdoIEknbSBub3Qgc3VyZSBpZiBn ZXR0aW5nIHJpZCBvZiBoYXZpbmcgb3VyIG93bgo+IHdvcmtxdWV1ZSBpcyBhIGdvb2QgaWRlYSAo Z2V0dGluZyByaWQgb2YgdGhlIHdhaXRxIGlzIHN0aWxsIGEgbmljZQo+IGNsZWFudXApLiBUaGVz ZSBwcm9qZWN0b3JzIGNhbiBiZSBjb25uZWN0ZWQgb3ZlciBVU0IyLCBhbmQgd2Ugc2VuZCAyMAo+ IGJsb2NrcyBmb3IgYSBmcmFtZSB1cGRhdGUuIEZvciBlYWNoIGJsb2NrIHdlIHNlbmQgYSBjb21t YW5kICsgZGF0YQo+ICsgcmVhZGJhY2sgc3RhdHVzLCB0aGUgZGF0YSBwYXJ0IGRvZXMgbm90IGZp dCBpbiBhIHNpbmdsZSBVU0IgMiB0aW1lc2xpY2UKPiBzbyB0aGF0IHRha2VzIDIgbXMgKyAxIG1z IGZvciB0aGUgY29tbWFuZCArIDFtcyBvZiB0aGUgc3RhdHVzLCBzbyB0aGlzCj4gdGFrZXMgYXBy b3guIDgwIG1zIG9uIGFuIGlkbGUgVVNCLTIgYnVzLCBpZiB0aGUgYnVzIGlzIGluIHVzZSB0aGlu Z3MgZ2V0Cj4gd29yc2UgYW5kIHRoaXMgYXNzdW1lcyBpbnN0YW50IHR1cm4gYXJvdW5kIGZvciBh bGwgdGhlIGNvbW1hbmRzIGZyb20gdGhlCj4gcHJvamVjdG9yLgo+Cj4gc2NoZWR1bGVfZGVsYXll ZF93b3JrKCkgdXNlcyB0aGUgc3lzdGVtX3dxIGFuZCB0aGF0IGlzIGRlc2NyaWJlZCBpbgo+IHRo ZSBkb2NzIGFzOgo+Cj4gICAqIHN5c3RlbV93cSBpcyB0aGUgb25lIHVzZWQgYnkgc2NoZWR1bGVb X2RlbGF5ZWRdX3dvcmtbX29uXSgpLgo+ICAgKiBNdWx0aS1DUFUgbXVsdGktdGhyZWFkZWQuICBU aGVyZSBhcmUgdXNlcnMgd2hpY2ggZXhwZWN0IHJlbGF0aXZlbHkKPiAgICogc2hvcnQgcXVldWUg Zmx1c2ggdGltZS4gIERvbid0IHF1ZXVlIHdvcmtzIHdoaWNoIGNhbiBydW4gZm9yIHRvbwo+ICAg KiBsb25nLgo+Cj4gQXJndWFibHkgODAgbXMgaXMgd2F5IHRvbyBsb25nLCB3aGljaCB3b3VsZCBi cmluZyB1cyB0bzoKCnRiaCBJIGhhdmUgbm8gaWRlYSB3aGF0J3MgY29uc2lkZXJlZCAibG9uZyIg aW4gdGhpcyBjb250ZXh0LgoKPiAgICogc3lzdGVtX2xvbmdfd3EgaXMgc2ltaWxhciB0byBzeXN0 ZW1fd3EgYnV0IG1heSBob3N0IGxvbmcgcnVubmluZwo+ICAgKiB3b3Jrcy4gIFF1ZXVlIGZsdXNo aW5nIG1pZ2h0IHRha2UgcmVsYXRpdmVseSBsb25nLgo+Cj4gQnV0IHdoZW4gY29ubmVjdGVkIG92 ZXIgVVNCLTMgd2UgY2FuIGVhc2lseSBkbyA2MCBGUFMgYW5kIHdlIHJlYWxseQo+IGRvbid0IHdh bnQgZnJhbWUgdXBkYXRlcyB0byBiZSBkZWxheWVkIGJ5IG90aGVyIGxvbmcgcnVubmluZyB3b3Jr cy4KClRoaXMgaXMgbm90IHdoYXQgaGFwcGVucywgdGhlIHdvcmtlciBzdWJzeXN0ZW0gc3Bvb2xz IHVwIG5ldyB0aHJlYWRzCmluIHRoYXQgY2FzZS4gSWYgeW91J3JlIHdvcnJpZWQgYWJvdXQgbGF0 ZW5jeSB0aGVuIHVzZQpzeXN0ZW1fdW5ib3VuZF93cS4gVGhlIG9ubHkgcmVhc29uIHlvdSB3YW50 IHlvdXIgb3duIHdvcmtxdWV1ZSBpcyBpZgp5b3UgbmVlZCB0byBmbHVzaCB0aGUgZW50aXJlIHF1 ZXVlIChpbnN0ZWFkIG9mIGluZGl2aWR1YWwgd29yayBpdGVtcykKbWF5YmUgYmVjYXVzZSB5b3Ug ZG9uJ3Qgd2FudCB0byBkZWFkbG9jayB3aXRoIHJhbmRvbSBvdGhlciB3b3JrIGl0ZW1zCnRoYXQg cnVuIHRoZXJlLiBBcyBsb25nIGFzIGFsbCB5b3UgZG8gaXMgcnVuIGEgc2luZ2xlIHdvcmsgaXRl bSwgeW91CmNhbiBqdXN0IGZsdXNoIHRoYXQsIHNvIG5vIGNvbmNlcm4uIElpcmMgdGhlIHdvcmtl ciBzdWJzeXN0ZW0gZXZlbgppbnRlcm5hbGx5IG1lcmdlcyB0aGUgYWN0dWFsIHdvcmtlciB0aHJl YWRzLCBzbyB5b3VyIG93biB3cSBpcyBqdXN0CmJvb2sta2VlcGluZyBmb3IgcXVldWUgZmx1c2hl cy4KCj4gU28gbmVpdGhlciBvZiB0aGUgc3RhbmRhcmQgYXZhaWxhYmxlIHF1ZXVlcyBpcyByZWFs bHkgc3VpdGFibGUKPiBhbmQgdGh1cyB3ZSByZWFsbHkgc2hvdWxkIGtlZXAgdXNpbmcgb3VyIG93 biBxdWV1ZSBmb3IgdGhpcyBJTUhPLgoKV2UgY2FuIHBpY2sgYW5vdGhlciBvbmUsIGJ1dCB5b3Vy IG93biBpcyBpbW8gc3RpbGwgb3ZlcmtpbGwuIFdlIGRvbid0CmV2ZW4gZG8gdGhhdCBpbiBhdG9t aWMgaGVscGVycywgYW5kIHRob3NlIGhhbmcgb3V0IGZvciBhdCBsZWFzdCBhIGZ1bGwKZnJhbWUg b24gdGhlIHdvcmtlciB0aHJlYWQgdG9vLiBUaHVzIGZhciBubyBzY3JlYW1pbmcgKGJ1dCB5ZWFo IGl0J3MKbWF5YmUgbm90IDgwbXMpLgoKYnR3LCBjYW4geW91IGdpdmUgdGhpcyBhIHNwaW4gd2l0 aCB5b3VyIGh3PyBUZXN0aW5nIHRoaXMgc3R1ZmYsCmVzcGVjaWFsbHkgaG90dW5wbHVnIGFuZCBk cml2ZXIgbG9hZCB3b3VsZCBiZSByZWFsbHkgZ29vZC4KClRoYW5rcywgRGFuaWVsCgo+Cj4gUmVn YXJkcywKPgo+IEhhbnMKPgo+Cj4KPgo+Cj4KPgo+ID4KPiA+IC0gUGVyc2lzdGVudCBzdGF0ZSAo ZnJhbWUgJiBkcmF3X3N0YXR1c190aW1lb3V0KSBuZWVkIHRvIGJlIG1vdmVkIG91dAo+ID4gICAg b2YgdGhlIHdvcmsuCj4gPgo+ID4gLSBkaWZmIGlzIGJpZ2dlciB0aGFuIHRoZSBjaGFuZ2VzLCBi aWdnZXN0IGNodW5rIGlzIHJlaW5kZW50aW5nIHRoZQo+ID4gICAgd29yayBmbiBiZWNhdXNlIGl0 IGxvc3QgaXRzIHdoaWxlIGxvb3AuCj4gPgo+ID4gTG90cyBvZiBjb2RlIGRlbGV0aW5nIGFzIGNv bnNlcXVlbmNlIGFsbCBvdmVyLiBTcGVjaWZpY2FsbHkgd2UgY2FuCj4gPiBkZWxldGUgdGhlIGRy bV9kcml2ZXIucmVsZWFzZSBjb2RlIG5vdyEKPiA+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwg VmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KPiA+IENjOiBIYW5zIGRlIEdvZWRlIDxo ZGVnb2VkZUByZWRoYXQuY29tPgo+ID4gQ2M6ICJOb3JhbGYgVHLDuG5uZXMiIDxub3JhbGZAdHJv bm5lcy5vcmc+Cj4gPiAtLS0KPiA+ICAgZHJpdmVycy9ncHUvZHJtL3RpbnkvZ20xMnUzMjAuYyB8 IDE3MCArKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gICAxIGZpbGUgY2hhbmdl ZCwgNjcgaW5zZXJ0aW9ucygrKSwgMTAzIGRlbGV0aW9ucygtKQo+ID4KPiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vdGlueS9nbTEydTMyMC5jIGIvZHJpdmVycy9ncHUvZHJtL3Rpbnkv Z20xMnUzMjAuYwo+ID4gaW5kZXggYzIyYjJlZTQ3MGViLi40NmY1Y2VhMzM1YTcgMTAwNjQ0Cj4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGlueS9nbTEydTMyMC5jCj4gPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vdGlueS9nbTEydTMyMC5jCj4gPiBAQCAtODksMTMgKzg5LDEyIEBAIHN0cnVjdCBn bTEydTMyMF9kZXZpY2Ugewo+ID4gICAgICAgdW5zaWduZWQgY2hhciAgICAgICAgICAgICAgICAg ICAqY21kX2J1ZjsKPiA+ICAgICAgIHVuc2lnbmVkIGNoYXIgICAgICAgICAgICAgICAgICAgKmRh dGFfYnVmW0dNMTJVMzIwX0JMT0NLX0NPVU5UXTsKPiA+ICAgICAgIHN0cnVjdCB7Cj4gPiAtICAg ICAgICAgICAgIGJvb2wgICAgICAgICAgICAgICAgICAgICBydW47Cj4gPiAtICAgICAgICAgICAg IHN0cnVjdCB3b3JrcXVldWVfc3RydWN0ICp3b3JrcTsKPiA+IC0gICAgICAgICAgICAgc3RydWN0 IHdvcmtfc3RydWN0ICAgICAgIHdvcms7Cj4gPiAtICAgICAgICAgICAgIHdhaXRfcXVldWVfaGVh ZF90ICAgICAgICB3YWl0cTsKPiA+ICsgICAgICAgICAgICAgc3RydWN0IGRlbGF5ZWRfd29yayAg ICAgICB3b3JrOwo+ID4gICAgICAgICAgICAgICBzdHJ1Y3QgbXV0ZXggICAgICAgICAgICAgbG9j azsKPiA+ICAgICAgICAgICAgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAgKmZiOwo+ID4gICAg ICAgICAgICAgICBzdHJ1Y3QgZHJtX3JlY3QgICAgICAgICAgcmVjdDsKPiA+ICsgICAgICAgICAg ICAgaW50IGZyYW1lOwo+ID4gKyAgICAgICAgICAgICBpbnQgZHJhd19zdGF0dXNfdGltZW91dDsK PiA+ICAgICAgIH0gZmJfdXBkYXRlOwo+ID4gICB9Owo+ID4KPiA+IEBAIC0xODMsMTkgKzE4Miw5 IEBAIHN0YXRpYyBpbnQgZ20xMnUzMjBfdXNiX2FsbG9jKHN0cnVjdCBnbTEydTMyMF9kZXZpY2Ug KmdtMTJ1MzIwKQo+ID4gICAgICAgICAgICAgICAgICAgICAgZGF0YV9ibG9ja19mb290ZXIsIERB VEFfQkxPQ0tfRk9PVEVSX1NJWkUpOwo+ID4gICAgICAgfQo+ID4KPiA+IC0gICAgIGdtMTJ1MzIw LT5mYl91cGRhdGUud29ya3EgPSBjcmVhdGVfc2luZ2xldGhyZWFkX3dvcmtxdWV1ZShEUklWRVJf TkFNRSk7Cj4gPiAtICAgICBpZiAoIWdtMTJ1MzIwLT5mYl91cGRhdGUud29ya3EpCj4gPiAtICAg ICAgICAgICAgIHJldHVybiAtRU5PTUVNOwo+ID4gLQo+ID4gICAgICAgcmV0dXJuIDA7Cj4gPiAg IH0KPiA+Cj4gPiAtc3RhdGljIHZvaWQgZ20xMnUzMjBfdXNiX2ZyZWUoc3RydWN0IGdtMTJ1MzIw X2RldmljZSAqZ20xMnUzMjApCj4gPiAtewo+ID4gLSAgICAgaWYgKGdtMTJ1MzIwLT5mYl91cGRh dGUud29ya3EpCj4gPiAtICAgICAgICAgICAgIGRlc3Ryb3lfd29ya3F1ZXVlKGdtMTJ1MzIwLT5m Yl91cGRhdGUud29ya3EpOwo+ID4gLX0KPiA+IC0KPiA+ICAgc3RhdGljIGludCBnbTEydTMyMF9t aXNjX3JlcXVlc3Qoc3RydWN0IGdtMTJ1MzIwX2RldmljZSAqZ20xMnUzMjAsCj4gPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdTggcmVxX2EsIHU4IHJlcV9iLAo+ID4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHU4IGFyZ19hLCB1OCBhcmdfYiwgdTggYXJnX2MsIHU4IGFy Z19kKQo+ID4gQEAgLTMzOCw4MCArMzI3LDc2IEBAIHN0YXRpYyB2b2lkIGdtMTJ1MzIwX2NvcHlf ZmJfdG9fYmxvY2tzKHN0cnVjdCBnbTEydTMyMF9kZXZpY2UgKmdtMTJ1MzIwKQo+ID4gICBzdGF0 aWMgdm9pZCBnbTEydTMyMF9mYl91cGRhdGVfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmsp Cj4gPiAgIHsKPiA+ICAgICAgIHN0cnVjdCBnbTEydTMyMF9kZXZpY2UgKmdtMTJ1MzIwID0KPiA+ IC0gICAgICAgICAgICAgY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBnbTEydTMyMF9kZXZpY2Us IGZiX3VwZGF0ZS53b3JrKTsKPiA+IC0gICAgIGludCBkcmF3X3N0YXR1c190aW1lb3V0ID0gRklS U1RfRlJBTUVfVElNRU9VVDsKPiA+ICsgICAgICAgICAgICAgY29udGFpbmVyX29mKHRvX2RlbGF5 ZWRfd29yayh3b3JrKSwgc3RydWN0IGdtMTJ1MzIwX2RldmljZSwKPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgIGZiX3VwZGF0ZS53b3JrKTsKPiA+ICAgICAgIGludCBibG9jaywgYmxvY2tf c2l6ZSwgbGVuOwo+ID4gLSAgICAgaW50IGZyYW1lID0gMDsKPiA+ICAgICAgIGludCByZXQgPSAw Owo+ID4KPiA+IC0gICAgIHdoaWxlIChnbTEydTMyMC0+ZmJfdXBkYXRlLnJ1bikgewo+ID4gLSAg ICAgICAgICAgICBnbTEydTMyMF9jb3B5X2ZiX3RvX2Jsb2NrcyhnbTEydTMyMCk7Cj4gPiAtCj4g PiAtICAgICAgICAgICAgIGZvciAoYmxvY2sgPSAwOyBibG9jayA8IEdNMTJVMzIwX0JMT0NLX0NP VU5UOyBibG9jaysrKSB7Cj4gPiAtICAgICAgICAgICAgICAgICAgICAgaWYgKGJsb2NrID09IEdN MTJVMzIwX0JMT0NLX0NPVU5UIC0gMSkKPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJsb2NrX3NpemUgPSBEQVRBX0xBU1RfQkxPQ0tfU0laRTsKPiA+IC0gICAgICAgICAgICAgICAg ICAgICBlbHNlCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja19zaXplID0g REFUQV9CTE9DS19TSVpFOwo+ID4gLQo+ID4gLSAgICAgICAgICAgICAgICAgICAgIC8qIFNlbmQg ZGF0YSBjb21tYW5kIHRvIGRldmljZSAqLwo+ID4gLSAgICAgICAgICAgICAgICAgICAgIG1lbWNw eShnbTEydTMyMC0+Y21kX2J1ZiwgY21kX2RhdGEsIENNRF9TSVpFKTsKPiA+IC0gICAgICAgICAg ICAgICAgICAgICBnbTEydTMyMC0+Y21kX2J1Zls4XSA9IGJsb2NrX3NpemUgJiAweGZmOwo+ID4g LSAgICAgICAgICAgICAgICAgICAgIGdtMTJ1MzIwLT5jbWRfYnVmWzldID0gYmxvY2tfc2l6ZSA+ PiA4Owo+ID4gLSAgICAgICAgICAgICAgICAgICAgIGdtMTJ1MzIwLT5jbWRfYnVmWzIwXSA9IDB4 ZmMgLSBibG9jayAqIDQ7Cj4gPiAtICAgICAgICAgICAgICAgICAgICAgZ20xMnUzMjAtPmNtZF9i dWZbMjFdID0gYmxvY2sgfCAoZnJhbWUgPDwgNyk7Cj4gPiAtCj4gPiAtICAgICAgICAgICAgICAg ICAgICAgcmV0ID0gdXNiX2J1bGtfbXNnKGdtMTJ1MzIwLT51ZGV2LAo+ID4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdXNiX3NuZGJ1bGtwaXBlKGdtMTJ1MzIwLT51ZGV2LCBEQVRBX1NO RF9FUFQpLAo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ20xMnUzMjAtPmNtZF9i dWYsIENNRF9TSVpFLCAmbGVuLAo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ01E X1RJTUVPVVQpOwo+ID4gLSAgICAgICAgICAgICAgICAgICAgIGlmIChyZXQgfHwgbGVuICE9IENN RF9TSVpFKQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnI7Cj4gPiAt Cj4gPiAtICAgICAgICAgICAgICAgICAgICAgLyogU2VuZCBkYXRhIGJsb2NrIHRvIGRldmljZSAq Lwo+ID4gLSAgICAgICAgICAgICAgICAgICAgIHJldCA9IHVzYl9idWxrX21zZyhnbTEydTMyMC0+ dWRldiwKPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzYl9zbmRidWxrcGlwZShn bTEydTMyMC0+dWRldiwgREFUQV9TTkRfRVBUKSwKPiA+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGdtMTJ1MzIwLT5kYXRhX2J1ZltibG9ja10sIGJsb2NrX3NpemUsCj4gPiAtICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmbGVuLCBEQVRBX1RJTUVPVVQpOwo+ID4gLSAgICAgICAg ICAgICAgICAgICAgIGlmIChyZXQgfHwgbGVuICE9IGJsb2NrX3NpemUpCj4gPiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBnb3RvIGVycjsKPiA+IC0KPiA+IC0gICAgICAgICAgICAgICAg ICAgICAvKiBSZWFkIHN0YXR1cyAqLwo+ID4gLSAgICAgICAgICAgICAgICAgICAgIHJldCA9IHVz Yl9idWxrX21zZyhnbTEydTMyMC0+dWRldiwKPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVzYl9yY3ZidWxrcGlwZShnbTEydTMyMC0+dWRldiwgREFUQV9SQ1ZfRVBUKSwKPiA+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdtMTJ1MzIwLT5jbWRfYnVmLCBSRUFEX1NUQVRV U19TSVpFLCAmbGVuLAo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ01EX1RJTUVP VVQpOwo+ID4gLSAgICAgICAgICAgICAgICAgICAgIGlmIChyZXQgfHwgbGVuICE9IFJFQURfU1RB VFVTX1NJWkUpCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycjsKPiA+ IC0gICAgICAgICAgICAgfQo+ID4gKyAgICAgZ20xMnUzMjBfY29weV9mYl90b19ibG9ja3MoZ20x MnUzMjApOwo+ID4gKwo+ID4gKyAgICAgZm9yIChibG9jayA9IDA7IGJsb2NrIDwgR00xMlUzMjBf QkxPQ0tfQ09VTlQ7IGJsb2NrKyspIHsKPiA+ICsgICAgICAgICAgICAgaWYgKGJsb2NrID09IEdN MTJVMzIwX0JMT0NLX0NPVU5UIC0gMSkKPiA+ICsgICAgICAgICAgICAgICAgICAgICBibG9ja19z aXplID0gREFUQV9MQVNUX0JMT0NLX1NJWkU7Cj4gPiArICAgICAgICAgICAgIGVsc2UKPiA+ICsg ICAgICAgICAgICAgICAgICAgICBibG9ja19zaXplID0gREFUQV9CTE9DS19TSVpFOwo+ID4gKwo+ ID4gKyAgICAgICAgICAgICAvKiBTZW5kIGRhdGEgY29tbWFuZCB0byBkZXZpY2UgKi8KPiA+ICsg ICAgICAgICAgICAgbWVtY3B5KGdtMTJ1MzIwLT5jbWRfYnVmLCBjbWRfZGF0YSwgQ01EX1NJWkUp Owo+ID4gKyAgICAgICAgICAgICBnbTEydTMyMC0+Y21kX2J1Zls4XSA9IGJsb2NrX3NpemUgJiAw eGZmOwo+ID4gKyAgICAgICAgICAgICBnbTEydTMyMC0+Y21kX2J1Zls5XSA9IGJsb2NrX3NpemUg Pj4gODsKPiA+ICsgICAgICAgICAgICAgZ20xMnUzMjAtPmNtZF9idWZbMjBdID0gMHhmYyAtIGJs b2NrICogNDsKPiA+ICsgICAgICAgICAgICAgZ20xMnUzMjAtPmNtZF9idWZbMjFdID0KPiA+ICsg ICAgICAgICAgICAgICAgICAgICBibG9jayB8IChnbTEydTMyMC0+ZmJfdXBkYXRlLmZyYW1lIDw8 IDcpOwo+ID4KPiA+IC0gICAgICAgICAgICAgLyogU2VuZCBkcmF3IGNvbW1hbmQgdG8gZGV2aWNl ICovCj4gPiAtICAgICAgICAgICAgIG1lbWNweShnbTEydTMyMC0+Y21kX2J1ZiwgY21kX2RyYXcs IENNRF9TSVpFKTsKPiA+ICAgICAgICAgICAgICAgcmV0ID0gdXNiX2J1bGtfbXNnKGdtMTJ1MzIw LT51ZGV2LAo+ID4gICAgICAgICAgICAgICAgICAgICAgIHVzYl9zbmRidWxrcGlwZShnbTEydTMy MC0+dWRldiwgREFUQV9TTkRfRVBUKSwKPiA+IC0gICAgICAgICAgICAgICAgICAgICBnbTEydTMy MC0+Y21kX2J1ZiwgQ01EX1NJWkUsICZsZW4sIENNRF9USU1FT1VUKTsKPiA+ICsgICAgICAgICAg ICAgICAgICAgICBnbTEydTMyMC0+Y21kX2J1ZiwgQ01EX1NJWkUsICZsZW4sCj4gPiArICAgICAg ICAgICAgICAgICAgICAgQ01EX1RJTUVPVVQpOwo+ID4gICAgICAgICAgICAgICBpZiAocmV0IHx8 IGxlbiAhPSBDTURfU0laRSkKPiA+ICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycjsKPiA+ Cj4gPiArICAgICAgICAgICAgIC8qIFNlbmQgZGF0YSBibG9jayB0byBkZXZpY2UgKi8KPiA+ICsg ICAgICAgICAgICAgcmV0ID0gdXNiX2J1bGtfbXNnKGdtMTJ1MzIwLT51ZGV2LAo+ID4gKyAgICAg ICAgICAgICAgICAgICAgIHVzYl9zbmRidWxrcGlwZShnbTEydTMyMC0+dWRldiwgREFUQV9TTkRf RVBUKSwKPiA+ICsgICAgICAgICAgICAgICAgICAgICBnbTEydTMyMC0+ZGF0YV9idWZbYmxvY2td LCBibG9ja19zaXplLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICZsZW4sIERBVEFfVElNRU9V VCk7Cj4gPiArICAgICAgICAgICAgIGlmIChyZXQgfHwgbGVuICE9IGJsb2NrX3NpemUpCj4gPiAr ICAgICAgICAgICAgICAgICAgICAgZ290byBlcnI7Cj4gPiArCj4gPiAgICAgICAgICAgICAgIC8q IFJlYWQgc3RhdHVzICovCj4gPiAgICAgICAgICAgICAgIHJldCA9IHVzYl9idWxrX21zZyhnbTEy dTMyMC0+dWRldiwKPiA+ICAgICAgICAgICAgICAgICAgICAgICB1c2JfcmN2YnVsa3BpcGUoZ20x MnUzMjAtPnVkZXYsIERBVEFfUkNWX0VQVCksCj4gPiAgICAgICAgICAgICAgICAgICAgICAgZ20x MnUzMjAtPmNtZF9idWYsIFJFQURfU1RBVFVTX1NJWkUsICZsZW4sCj4gPiAtICAgICAgICAgICAg ICAgICAgICAgZHJhd19zdGF0dXNfdGltZW91dCk7Cj4gPiArICAgICAgICAgICAgICAgICAgICAg Q01EX1RJTUVPVVQpOwo+ID4gICAgICAgICAgICAgICBpZiAocmV0IHx8IGxlbiAhPSBSRUFEX1NU QVRVU19TSVpFKQo+ID4gICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyOwo+ID4gLQo+ID4g LSAgICAgICAgICAgICBkcmF3X3N0YXR1c190aW1lb3V0ID0gQ01EX1RJTUVPVVQ7Cj4gPiAtICAg ICAgICAgICAgIGZyYW1lID0gIWZyYW1lOwo+ID4gLQo+ID4gLSAgICAgICAgICAgICAvKgo+ID4g LSAgICAgICAgICAgICAgKiBXZSBtdXN0IGRyYXcgYSBmcmFtZSBldmVyeSAycyBvdGhlcndpc2Ug dGhlIHByb2plY3Rvcgo+ID4gLSAgICAgICAgICAgICAgKiBzd2l0Y2hlcyBiYWNrIHRvIHNob3dp bmcgaXRzIGxvZ28uCj4gPiAtICAgICAgICAgICAgICAqLwo+ID4gLSAgICAgICAgICAgICB3YWl0 X2V2ZW50X3RpbWVvdXQoZ20xMnUzMjAtPmZiX3VwZGF0ZS53YWl0cSwKPiA+IC0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICFnbTEydTMyMC0+ZmJfdXBkYXRlLnJ1biB8fAo+ID4gLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbTEydTMyMC0+ZmJfdXBkYXRlLmZi ICE9IE5VTEwsCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJRExFX1RJTUVP VVQpOwo+ID4gICAgICAgfQo+ID4gKwo+ID4gKyAgICAgLyogU2VuZCBkcmF3IGNvbW1hbmQgdG8g ZGV2aWNlICovCj4gPiArICAgICBtZW1jcHkoZ20xMnUzMjAtPmNtZF9idWYsIGNtZF9kcmF3LCBD TURfU0laRSk7Cj4gPiArICAgICByZXQgPSB1c2JfYnVsa19tc2coZ20xMnUzMjAtPnVkZXYsCj4g PiArICAgICAgICAgICAgIHVzYl9zbmRidWxrcGlwZShnbTEydTMyMC0+dWRldiwgREFUQV9TTkRf RVBUKSwKPiA+ICsgICAgICAgICAgICAgZ20xMnUzMjAtPmNtZF9idWYsIENNRF9TSVpFLCAmbGVu LCBDTURfVElNRU9VVCk7Cj4gPiArICAgICBpZiAocmV0IHx8IGxlbiAhPSBDTURfU0laRSkKPiA+ ICsgICAgICAgICAgICAgZ290byBlcnI7Cj4gPiArCj4gPiArICAgICAvKiBSZWFkIHN0YXR1cyAq Lwo+ID4gKyAgICAgcmV0ID0gdXNiX2J1bGtfbXNnKGdtMTJ1MzIwLT51ZGV2LAo+ID4gKyAgICAg ICAgICAgICB1c2JfcmN2YnVsa3BpcGUoZ20xMnUzMjAtPnVkZXYsIERBVEFfUkNWX0VQVCksCj4g PiArICAgICAgICAgICAgIGdtMTJ1MzIwLT5jbWRfYnVmLCBSRUFEX1NUQVRVU19TSVpFLCAmbGVu LAo+ID4gKyAgICAgICAgICAgICBnbTEydTMyMC0+ZmJfdXBkYXRlLmRyYXdfc3RhdHVzX3RpbWVv dXQpOwo+ID4gKyAgICAgaWYgKHJldCB8fCBsZW4gIT0gUkVBRF9TVEFUVVNfU0laRSkKPiA+ICsg ICAgICAgICAgICAgZ290byBlcnI7Cj4gPiArCj4gPiArICAgICBnbTEydTMyMC0+ZmJfdXBkYXRl LmRyYXdfc3RhdHVzX3RpbWVvdXQgPSBDTURfVElNRU9VVDsKPiA+ICsgICAgIGdtMTJ1MzIwLT5m Yl91cGRhdGUuZnJhbWUgPSAhZ20xMnUzMjAtPmZiX3VwZGF0ZS5mcmFtZTsKPiA+ICsKPiA+ICsg ICAgIC8qCj4gPiArICAgICAgKiBXZSBtdXN0IGRyYXcgYSBmcmFtZSBldmVyeSAycyBvdGhlcndp c2UgdGhlIHByb2plY3Rvcgo+ID4gKyAgICAgICogc3dpdGNoZXMgYmFjayB0byBzaG93aW5nIGl0 cyBsb2dvLgo+ID4gKyAgICAgICovCj4gPiArICAgICBzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmdt MTJ1MzIwLT5mYl91cGRhdGUud29yaywgSURMRV9USU1FT1VUKTsKPiA+ICsKPiA+ICAgICAgIHJl dHVybjsKPiA+ICAgZXJyOgo+ID4gICAgICAgLyogRG8gbm90IGxvZyBlcnJvcnMgY2F1c2VkIGJ5 IG1vZHVsZSB1bmxvYWQgb3IgZGV2aWNlIHVucGx1ZyAqLwo+ID4gQEAgLTQ0NiwzNiArNDMxLDI0 IEBAIHN0YXRpYyB2b2lkIGdtMTJ1MzIwX2ZiX21hcmtfZGlydHkoc3RydWN0IGRybV9mcmFtZWJ1 ZmZlciAqZmIsCj4gPiAgICAgICBtdXRleF91bmxvY2soJmdtMTJ1MzIwLT5mYl91cGRhdGUubG9j ayk7Cj4gPgo+ID4gICAgICAgaWYgKHdha2V1cCkKPiA+IC0gICAgICAgICAgICAgd2FrZV91cCgm Z20xMnUzMjAtPmZiX3VwZGF0ZS53YWl0cSk7Cj4gPiArICAgICAgICAgICAgIHNjaGVkdWxlX2Rl bGF5ZWRfd29yaygmZ20xMnUzMjAtPmZiX3VwZGF0ZS53b3JrLCAwKTsKPiA+Cj4gPiAgICAgICBp ZiAob2xkX2ZiKQo+ID4gICAgICAgICAgICAgICBkcm1fZnJhbWVidWZmZXJfcHV0KG9sZF9mYik7 Cj4gPiAgIH0KPiA+Cj4gPiAtc3RhdGljIHZvaWQgZ20xMnUzMjBfc3RhcnRfZmJfdXBkYXRlKHN0 cnVjdCBnbTEydTMyMF9kZXZpY2UgKmdtMTJ1MzIwKQo+ID4gLXsKPiA+IC0gICAgIG11dGV4X2xv Y2soJmdtMTJ1MzIwLT5mYl91cGRhdGUubG9jayk7Cj4gPiAtICAgICBnbTEydTMyMC0+ZmJfdXBk YXRlLnJ1biA9IHRydWU7Cj4gPiAtICAgICBtdXRleF91bmxvY2soJmdtMTJ1MzIwLT5mYl91cGRh dGUubG9jayk7Cj4gPiAtCj4gPiAtICAgICBxdWV1ZV93b3JrKGdtMTJ1MzIwLT5mYl91cGRhdGUu d29ya3EsICZnbTEydTMyMC0+ZmJfdXBkYXRlLndvcmspOwo+ID4gLX0KPiA+IC0KPiA+ICAgc3Rh dGljIHZvaWQgZ20xMnUzMjBfc3RvcF9mYl91cGRhdGUoc3RydWN0IGdtMTJ1MzIwX2RldmljZSAq Z20xMnUzMjApCj4gPiAgIHsKPiA+IC0gICAgIG11dGV4X2xvY2soJmdtMTJ1MzIwLT5mYl91cGRh dGUubG9jayk7Cj4gPiAtICAgICBnbTEydTMyMC0+ZmJfdXBkYXRlLnJ1biA9IGZhbHNlOwo+ID4g LSAgICAgbXV0ZXhfdW5sb2NrKCZnbTEydTMyMC0+ZmJfdXBkYXRlLmxvY2spOwo+ID4gKyAgICAg c3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqb2xkX2ZiOwo+ID4KPiA+IC0gICAgIHdha2VfdXAoJmdt MTJ1MzIwLT5mYl91cGRhdGUud2FpdHEpOwo+ID4gLSAgICAgY2FuY2VsX3dvcmtfc3luYygmZ20x MnUzMjAtPmZiX3VwZGF0ZS53b3JrKTsKPiA+ICsgICAgIGNhbmNlbF9kZWxheWVkX3dvcmtfc3lu YygmZ20xMnUzMjAtPmZiX3VwZGF0ZS53b3JrKTsKPiA+Cj4gPiAgICAgICBtdXRleF9sb2NrKCZn bTEydTMyMC0+ZmJfdXBkYXRlLmxvY2spOwo+ID4gLSAgICAgaWYgKGdtMTJ1MzIwLT5mYl91cGRh dGUuZmIpIHsKPiA+IC0gICAgICAgICAgICAgZHJtX2ZyYW1lYnVmZmVyX3B1dChnbTEydTMyMC0+ ZmJfdXBkYXRlLmZiKTsKPiA+IC0gICAgICAgICAgICAgZ20xMnUzMjAtPmZiX3VwZGF0ZS5mYiA9 IE5VTEw7Cj4gPiAtICAgICB9Cj4gPiArICAgICBvbGRfZmIgPSBnbTEydTMyMC0+ZmJfdXBkYXRl LmZiOwo+ID4gKyAgICAgZ20xMnUzMjAtPmZiX3VwZGF0ZS5mYiA9IE5VTEw7Cj4gPiAgICAgICBt dXRleF91bmxvY2soJmdtMTJ1MzIwLT5mYl91cGRhdGUubG9jayk7Cj4gPiArCj4gPiArICAgICBk cm1fZnJhbWVidWZmZXJfcHV0KG9sZF9mYik7Cj4gPiAgIH0KPiA+Cj4gPiAgIHN0YXRpYyBpbnQg Z20xMnUzMjBfc2V0X2Vjb21vZGUoc3RydWN0IGdtMTJ1MzIwX2RldmljZSAqZ20xMnUzMjApCj4g PiBAQCAtNTgzLDExICs1NTYsMTEgQEAgc3RhdGljIHZvaWQgZ20xMnUzMjBfcGlwZV9lbmFibGUo c3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlICpwaXBlLAo+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiA+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFu ZV9zdGF0ZSkKPiA+ICAgewo+ID4gLSAgICAgc3RydWN0IGdtMTJ1MzIwX2RldmljZSAqZ20xMnUz MjAgPSBwaXBlLT5jcnRjLmRldi0+ZGV2X3ByaXZhdGU7Cj4gPiAgICAgICBzdHJ1Y3QgZHJtX3Jl Y3QgcmVjdCA9IHsgMCwgMCwgR00xMlUzMjBfVVNFUl9XSURUSCwgR00xMlUzMjBfSEVJR0hUIH07 Cj4gPiArICAgICBzdHJ1Y3QgZ20xMnUzMjBfZGV2aWNlICpnbTEydTMyMCA9IHBpcGUtPmNydGMu ZGV2LT5kZXZfcHJpdmF0ZTsKPiA+Cj4gPiArICAgICBnbTEydTMyMC0+ZmJfdXBkYXRlLmRyYXdf c3RhdHVzX3RpbWVvdXQgPSBGSVJTVF9GUkFNRV9USU1FT1VUOwo+ID4gICAgICAgZ20xMnUzMjBf ZmJfbWFya19kaXJ0eShwbGFuZV9zdGF0ZS0+ZmIsICZyZWN0KTsKPiA+IC0gICAgIGdtMTJ1MzIw X3N0YXJ0X2ZiX3VwZGF0ZShnbTEydTMyMCk7Cj4gPiAgIH0KPiA+Cj4gPiAgIHN0YXRpYyB2b2lk IGdtMTJ1MzIwX3BpcGVfZGlzYWJsZShzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGUgKnBp cGUpCj4gPiBAQCAtNjIyLDEzICs1OTUsNiBAQCBzdGF0aWMgY29uc3QgdWludDY0X3QgZ20xMnUz MjBfcGlwZV9tb2RpZmllcnNbXSA9IHsKPiA+ICAgICAgIERSTV9GT1JNQVRfTU9EX0lOVkFMSUQK PiA+ICAgfTsKPiA+Cj4gPiAtc3RhdGljIHZvaWQgZ20xMnUzMjBfZHJpdmVyX3JlbGVhc2Uoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKPiA+IC17Cj4gPiAtICAgICBzdHJ1Y3QgZ20xMnUzMjBfZGV2 aWNlICpnbTEydTMyMCA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gPiAtCj4gPiAtICAgICBnbTEydTMy MF91c2JfZnJlZShnbTEydTMyMCk7Cj4gPiAtfQo+ID4gLQo+ID4gICBERUZJTkVfRFJNX0dFTV9G T1BTKGdtMTJ1MzIwX2ZvcHMpOwo+ID4KPiA+ICAgc3RhdGljIHN0cnVjdCBkcm1fZHJpdmVyIGdt MTJ1MzIwX2RybV9kcml2ZXIgPSB7Cj4gPiBAQCAtNjQwLDcgKzYwNiw2IEBAIHN0YXRpYyBzdHJ1 Y3QgZHJtX2RyaXZlciBnbTEydTMyMF9kcm1fZHJpdmVyID0gewo+ID4gICAgICAgLm1ham9yICAg ICAgICAgICA9IERSSVZFUl9NQUpPUiwKPiA+ICAgICAgIC5taW5vciAgICAgICAgICAgPSBEUklW RVJfTUlOT1IsCj4gPgo+ID4gLSAgICAgLnJlbGVhc2UgICAgICAgICA9IGdtMTJ1MzIwX2RyaXZl cl9yZWxlYXNlLAo+ID4gICAgICAgLmZvcHMgICAgICAgICAgICA9ICZnbTEydTMyMF9mb3BzLAo+ ID4gICAgICAgRFJNX0dFTV9TSE1FTV9EUklWRVJfT1BTLAo+ID4gICB9Owo+ID4gQEAgLTY3MCw5 ICs2MzUsOCBAQCBzdGF0aWMgaW50IGdtMTJ1MzIwX3VzYl9wcm9iZShzdHJ1Y3QgdXNiX2ludGVy ZmFjZSAqaW50ZXJmYWNlLAo+ID4gICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKPiA+Cj4g PiAgICAgICBnbTEydTMyMC0+dWRldiA9IGludGVyZmFjZV90b191c2JkZXYoaW50ZXJmYWNlKTsK PiA+IC0gICAgIElOSVRfV09SSygmZ20xMnUzMjAtPmZiX3VwZGF0ZS53b3JrLCBnbTEydTMyMF9m Yl91cGRhdGVfd29yayk7Cj4gPiArICAgICBJTklUX0RFTEFZRURfV09SSygmZ20xMnUzMjAtPmZi X3VwZGF0ZS53b3JrLCBnbTEydTMyMF9mYl91cGRhdGVfd29yayk7Cj4gPiAgICAgICBtdXRleF9p bml0KCZnbTEydTMyMC0+ZmJfdXBkYXRlLmxvY2spOwo+ID4gLSAgICAgaW5pdF93YWl0cXVldWVf aGVhZCgmZ20xMnUzMjAtPmZiX3VwZGF0ZS53YWl0cSk7Cj4gPgo+ID4gICAgICAgZGV2ID0gJmdt MTJ1MzIwLT5kZXY7Cj4gPiAgICAgICByZXQgPSBkZXZtX2RybV9kZXZfaW5pdCgmaW50ZXJmYWNl LT5kZXYsIGRldiwgJmdtMTJ1MzIwX2RybV9kcml2ZXIpOwo+ID4KPgoKCi0tIApEYW5pZWwgVmV0 dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgorNDEgKDApIDc5IDM2NSA1 NyA0OCAtIGh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbAo=