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=-9.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,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable 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 7F026C35669 for ; Fri, 21 Feb 2020 21:05:30 +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 55F76208C4 for ; Fri, 21 Feb 2020 21:05:30 +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="PwyRtK3e" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 55F76208C4 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 DCCC36F570; Fri, 21 Feb 2020 21:05:08 +0000 (UTC) Received: from mail-wm1-x341.google.com (mail-wm1-x341.google.com [IPv6:2a00:1450:4864:20::341]) by gabe.freedesktop.org (Postfix) with ESMTPS id B343C6F550 for ; Fri, 21 Feb 2020 21:04:28 +0000 (UTC) Received: by mail-wm1-x341.google.com with SMTP id t23so3173437wmi.1 for ; Fri, 21 Feb 2020 13:04:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=tOUUVqY1CV1gMXd07njtAYuorsof/48pb4s0iJJf3ng=; b=PwyRtK3eO1K7DsMCzSsfrxv/CB37v66svOGujPFej4srGDDk+vVbFeiM5YYe3sZNGb hybZ/ww7dKc5aCYp7CY8LWaUWBcfbb+ZUZxsLH0mW93EdDS4DXUyg7ja0qqYJAdtJ8Yk hr4maYymRsFM470BvbJm8+eBkj2YSNcnjaQ/k= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=tOUUVqY1CV1gMXd07njtAYuorsof/48pb4s0iJJf3ng=; b=ZEBjzT9yns/kFCD03XxrwQig/mVr0mJK90ZuTjnUmd0o6Rh0voeA2NSmgzscwtnBwv 5Id2WJdwvbPsOzUOJeRpVmqyLoV0ZI+qUVS+h2fbUczU7BAm/j0+c7PrpFqoZ4m+ONUO +/WNU05kjVemOaflPStqpZOYmTCmkU0ST1lMZB/ZKR80xmQgQmo6t+0vxIDcK+De/Lrn QKXk8bA1crjRpfmLaPnRJSicW2i5CV+1Lh4e1KmDGwumm6JViwhB7wccmzNCy3P+fv9V kyfRpf3+zCA4lSXnPv7g9PD9DtaGE4smCumLN6/ZFzUpb0vl8Nvb8joc5jOF0xr9moHP yUMg== X-Gm-Message-State: APjAAAVra1QLJ4YScx2veLw6szdxdqA2PUWByK8TBnmXqA5o0yhj5AR9 aZKpye5N5UoSxG5vf1jfzfr4yMceKiA= X-Google-Smtp-Source: APXvYqzghLZ+0xqgwIjXROuRWV7E0aP7/PW6hHIyRyJUL9Ui7PMIHK2zKFdjs3cQ4ze1pOmmww3CeA== X-Received: by 2002:a05:600c:291d:: with SMTP id i29mr5888591wmd.39.1582319066658; Fri, 21 Feb 2020 13:04:26 -0800 (PST) Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa]) by smtp.gmail.com with ESMTPSA id z6sm5483930wrw.36.2020.02.21.13.04.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Feb 2020 13:04:25 -0800 (PST) From: Daniel Vetter To: DRI Development Subject: [PATCH 45/51] drm/gm12u320: Simplify upload work Date: Fri, 21 Feb 2020 22:03:13 +0100 Message-Id: <20200221210319.2245170-46-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200221210319.2245170-1-daniel.vetter@ffwll.ch> References: <20200221210319.2245170-1-daniel.vetter@ffwll.ch> MIME-Version: 1.0 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 , Hans de Goede , Daniel Vetter Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SW5zdGVhZCBvZiBoYXZpbmcgYSB3b3JrIGl0ZW0gdGhhdCBuZXZlciBzdG9wcyAod2hpY2ggcmVh bGx5IHNob3VsZCBiZQphIGt0aHJlYWQpLCB3aXRoIGEgZGVkaWNhdGVkIHdvcmtxdWV1ZSB0byBu b3QgdXBzZXQgYW55b25lIGVsc2UsIHVzZSBhCmRlbGF5ZWQgd29yay4gQSBidW5jaCBvZiBjaGFu Z2VzOgoKLSBXZSBjYW4gdGhyb3cgb3V0IGFsbCB0aGUgY3VzdG9tIHdha2V1cCBhbmQgcmVxdWV1 ZSBsb2dpYyBhbmQgc3RhdGUKICB0cmFja2luZy4gSWYgd2Ugc2NoZWR1bGUgdGhlIHdvcmsgd2l0 aCBhIDAgZGVsYXkgaXQnbGwgZ2V0CiAgc2NoZWR1bGVkIGltbWVkaWF0ZWx5LgoKLSBQZXJzaXN0 ZW50IHN0YXRlIChmcmFtZSAmIGRyYXdfc3RhdHVzX3RpbWVvdXQpIG5lZWQgdG8gYmUgbW92ZWQg b3V0CiAgb2YgdGhlIHdvcmsuCgotIGRpZmYgaXMgYmlnZ2VyIHRoYW4gdGhlIGNoYW5nZXMsIGJp Z2dlc3QgY2h1bmsgaXMgcmVpbmRlbnRpbmcgdGhlCiAgd29yayBmbiBiZWNhdXNlIGl0IGxvc3Qg aXRzIHdoaWxlIGxvb3AuCgpMb3RzIG9mIGNvZGUgZGVsZXRpbmcgYXMgY29uc2VxdWVuY2UgYWxs IG92ZXIuIFNwZWNpZmljYWxseSB3ZSBjYW4KZGVsZXRlIHRoZSBkcm1fZHJpdmVyLnJlbGVhc2Ug Y29kZSBub3chCgpTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGlu dGVsLmNvbT4KQ2M6IEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+CkNjOiAiTm9y YWxmIFRyw7hubmVzIiA8bm9yYWxmQHRyb25uZXMub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS90 aW55L2dtMTJ1MzIwLmMgfCAxNzAgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCA2NyBpbnNlcnRpb25zKCspLCAxMDMgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3RpbnkvZ20xMnUzMjAuYyBiL2RyaXZlcnMvZ3B1L2RybS90 aW55L2dtMTJ1MzIwLmMKaW5kZXggYzIyYjJlZTQ3MGViLi40NmY1Y2VhMzM1YTcgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS90aW55L2dtMTJ1MzIwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L3RpbnkvZ20xMnUzMjAuYwpAQCAtODksMTMgKzg5LDEyIEBAIHN0cnVjdCBnbTEydTMyMF9kZXZp Y2UgewogCXVuc2lnbmVkIGNoYXIgICAgICAgICAgICAgICAgICAgKmNtZF9idWY7CiAJdW5zaWdu ZWQgY2hhciAgICAgICAgICAgICAgICAgICAqZGF0YV9idWZbR00xMlUzMjBfQkxPQ0tfQ09VTlRd OwogCXN0cnVjdCB7Ci0JCWJvb2wgICAgICAgICAgICAgICAgICAgICBydW47Ci0JCXN0cnVjdCB3 b3JrcXVldWVfc3RydWN0ICp3b3JrcTsKLQkJc3RydWN0IHdvcmtfc3RydWN0ICAgICAgIHdvcms7 Ci0JCXdhaXRfcXVldWVfaGVhZF90ICAgICAgICB3YWl0cTsKKwkJc3RydWN0IGRlbGF5ZWRfd29y ayAgICAgICB3b3JrOwogCQlzdHJ1Y3QgbXV0ZXggICAgICAgICAgICAgbG9jazsKIAkJc3RydWN0 IGRybV9mcmFtZWJ1ZmZlciAgKmZiOwogCQlzdHJ1Y3QgZHJtX3JlY3QgICAgICAgICAgcmVjdDsK KwkJaW50IGZyYW1lOworCQlpbnQgZHJhd19zdGF0dXNfdGltZW91dDsKIAl9IGZiX3VwZGF0ZTsK IH07CiAKQEAgLTE4MywxOSArMTgyLDkgQEAgc3RhdGljIGludCBnbTEydTMyMF91c2JfYWxsb2Mo c3RydWN0IGdtMTJ1MzIwX2RldmljZSAqZ20xMnUzMjApCiAJCSAgICAgICBkYXRhX2Jsb2NrX2Zv b3RlciwgREFUQV9CTE9DS19GT09URVJfU0laRSk7CiAJfQogCi0JZ20xMnUzMjAtPmZiX3VwZGF0 ZS53b3JrcSA9IGNyZWF0ZV9zaW5nbGV0aHJlYWRfd29ya3F1ZXVlKERSSVZFUl9OQU1FKTsKLQlp ZiAoIWdtMTJ1MzIwLT5mYl91cGRhdGUud29ya3EpCi0JCXJldHVybiAtRU5PTUVNOwotCiAJcmV0 dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIGdtMTJ1MzIwX3VzYl9mcmVlKHN0cnVjdCBnbTEydTMy MF9kZXZpY2UgKmdtMTJ1MzIwKQotewotCWlmIChnbTEydTMyMC0+ZmJfdXBkYXRlLndvcmtxKQot CQlkZXN0cm95X3dvcmtxdWV1ZShnbTEydTMyMC0+ZmJfdXBkYXRlLndvcmtxKTsKLX0KLQogc3Rh dGljIGludCBnbTEydTMyMF9taXNjX3JlcXVlc3Qoc3RydWN0IGdtMTJ1MzIwX2RldmljZSAqZ20x MnUzMjAsCiAJCQkJIHU4IHJlcV9hLCB1OCByZXFfYiwKIAkJCQkgdTggYXJnX2EsIHU4IGFyZ19i LCB1OCBhcmdfYywgdTggYXJnX2QpCkBAIC0zMzgsODAgKzMyNyw3NiBAQCBzdGF0aWMgdm9pZCBn bTEydTMyMF9jb3B5X2ZiX3RvX2Jsb2NrcyhzdHJ1Y3QgZ20xMnUzMjBfZGV2aWNlICpnbTEydTMy MCkKIHN0YXRpYyB2b2lkIGdtMTJ1MzIwX2ZiX3VwZGF0ZV93b3JrKHN0cnVjdCB3b3JrX3N0cnVj dCAqd29yaykKIHsKIAlzdHJ1Y3QgZ20xMnUzMjBfZGV2aWNlICpnbTEydTMyMCA9Ci0JCWNvbnRh aW5lcl9vZih3b3JrLCBzdHJ1Y3QgZ20xMnUzMjBfZGV2aWNlLCBmYl91cGRhdGUud29yayk7Ci0J aW50IGRyYXdfc3RhdHVzX3RpbWVvdXQgPSBGSVJTVF9GUkFNRV9USU1FT1VUOworCQljb250YWlu ZXJfb2YodG9fZGVsYXllZF93b3JrKHdvcmspLCBzdHJ1Y3QgZ20xMnUzMjBfZGV2aWNlLAorCQkJ ICAgICBmYl91cGRhdGUud29yayk7CiAJaW50IGJsb2NrLCBibG9ja19zaXplLCBsZW47Ci0JaW50 IGZyYW1lID0gMDsKIAlpbnQgcmV0ID0gMDsKIAotCXdoaWxlIChnbTEydTMyMC0+ZmJfdXBkYXRl LnJ1bikgewotCQlnbTEydTMyMF9jb3B5X2ZiX3RvX2Jsb2NrcyhnbTEydTMyMCk7Ci0KLQkJZm9y IChibG9jayA9IDA7IGJsb2NrIDwgR00xMlUzMjBfQkxPQ0tfQ09VTlQ7IGJsb2NrKyspIHsKLQkJ CWlmIChibG9jayA9PSBHTTEyVTMyMF9CTE9DS19DT1VOVCAtIDEpCi0JCQkJYmxvY2tfc2l6ZSA9 IERBVEFfTEFTVF9CTE9DS19TSVpFOwotCQkJZWxzZQotCQkJCWJsb2NrX3NpemUgPSBEQVRBX0JM T0NLX1NJWkU7Ci0KLQkJCS8qIFNlbmQgZGF0YSBjb21tYW5kIHRvIGRldmljZSAqLwotCQkJbWVt Y3B5KGdtMTJ1MzIwLT5jbWRfYnVmLCBjbWRfZGF0YSwgQ01EX1NJWkUpOwotCQkJZ20xMnUzMjAt PmNtZF9idWZbOF0gPSBibG9ja19zaXplICYgMHhmZjsKLQkJCWdtMTJ1MzIwLT5jbWRfYnVmWzld ID0gYmxvY2tfc2l6ZSA+PiA4OwotCQkJZ20xMnUzMjAtPmNtZF9idWZbMjBdID0gMHhmYyAtIGJs b2NrICogNDsKLQkJCWdtMTJ1MzIwLT5jbWRfYnVmWzIxXSA9IGJsb2NrIHwgKGZyYW1lIDw8IDcp OwotCi0JCQlyZXQgPSB1c2JfYnVsa19tc2coZ20xMnUzMjAtPnVkZXYsCi0JCQkJdXNiX3NuZGJ1 bGtwaXBlKGdtMTJ1MzIwLT51ZGV2LCBEQVRBX1NORF9FUFQpLAotCQkJCWdtMTJ1MzIwLT5jbWRf YnVmLCBDTURfU0laRSwgJmxlbiwKLQkJCQlDTURfVElNRU9VVCk7Ci0JCQlpZiAocmV0IHx8IGxl biAhPSBDTURfU0laRSkKLQkJCQlnb3RvIGVycjsKLQotCQkJLyogU2VuZCBkYXRhIGJsb2NrIHRv IGRldmljZSAqLwotCQkJcmV0ID0gdXNiX2J1bGtfbXNnKGdtMTJ1MzIwLT51ZGV2LAotCQkJCXVz Yl9zbmRidWxrcGlwZShnbTEydTMyMC0+dWRldiwgREFUQV9TTkRfRVBUKSwKLQkJCQlnbTEydTMy MC0+ZGF0YV9idWZbYmxvY2tdLCBibG9ja19zaXplLAotCQkJCSZsZW4sIERBVEFfVElNRU9VVCk7 Ci0JCQlpZiAocmV0IHx8IGxlbiAhPSBibG9ja19zaXplKQotCQkJCWdvdG8gZXJyOwotCi0JCQkv KiBSZWFkIHN0YXR1cyAqLwotCQkJcmV0ID0gdXNiX2J1bGtfbXNnKGdtMTJ1MzIwLT51ZGV2LAot CQkJCXVzYl9yY3ZidWxrcGlwZShnbTEydTMyMC0+dWRldiwgREFUQV9SQ1ZfRVBUKSwKLQkJCQln bTEydTMyMC0+Y21kX2J1ZiwgUkVBRF9TVEFUVVNfU0laRSwgJmxlbiwKLQkJCQlDTURfVElNRU9V VCk7Ci0JCQlpZiAocmV0IHx8IGxlbiAhPSBSRUFEX1NUQVRVU19TSVpFKQotCQkJCWdvdG8gZXJy OwotCQl9CisJZ20xMnUzMjBfY29weV9mYl90b19ibG9ja3MoZ20xMnUzMjApOworCisJZm9yIChi bG9jayA9IDA7IGJsb2NrIDwgR00xMlUzMjBfQkxPQ0tfQ09VTlQ7IGJsb2NrKyspIHsKKwkJaWYg KGJsb2NrID09IEdNMTJVMzIwX0JMT0NLX0NPVU5UIC0gMSkKKwkJCWJsb2NrX3NpemUgPSBEQVRB X0xBU1RfQkxPQ0tfU0laRTsKKwkJZWxzZQorCQkJYmxvY2tfc2l6ZSA9IERBVEFfQkxPQ0tfU0la RTsKKworCQkvKiBTZW5kIGRhdGEgY29tbWFuZCB0byBkZXZpY2UgKi8KKwkJbWVtY3B5KGdtMTJ1 MzIwLT5jbWRfYnVmLCBjbWRfZGF0YSwgQ01EX1NJWkUpOworCQlnbTEydTMyMC0+Y21kX2J1Zls4 XSA9IGJsb2NrX3NpemUgJiAweGZmOworCQlnbTEydTMyMC0+Y21kX2J1Zls5XSA9IGJsb2NrX3Np emUgPj4gODsKKwkJZ20xMnUzMjAtPmNtZF9idWZbMjBdID0gMHhmYyAtIGJsb2NrICogNDsKKwkJ Z20xMnUzMjAtPmNtZF9idWZbMjFdID0KKwkJCWJsb2NrIHwgKGdtMTJ1MzIwLT5mYl91cGRhdGUu ZnJhbWUgPDwgNyk7CiAKLQkJLyogU2VuZCBkcmF3IGNvbW1hbmQgdG8gZGV2aWNlICovCi0JCW1l bWNweShnbTEydTMyMC0+Y21kX2J1ZiwgY21kX2RyYXcsIENNRF9TSVpFKTsKIAkJcmV0ID0gdXNi X2J1bGtfbXNnKGdtMTJ1MzIwLT51ZGV2LAogCQkJdXNiX3NuZGJ1bGtwaXBlKGdtMTJ1MzIwLT51 ZGV2LCBEQVRBX1NORF9FUFQpLAotCQkJZ20xMnUzMjAtPmNtZF9idWYsIENNRF9TSVpFLCAmbGVu LCBDTURfVElNRU9VVCk7CisJCQlnbTEydTMyMC0+Y21kX2J1ZiwgQ01EX1NJWkUsICZsZW4sCisJ CQlDTURfVElNRU9VVCk7CiAJCWlmIChyZXQgfHwgbGVuICE9IENNRF9TSVpFKQogCQkJZ290byBl cnI7CiAKKwkJLyogU2VuZCBkYXRhIGJsb2NrIHRvIGRldmljZSAqLworCQlyZXQgPSB1c2JfYnVs a19tc2coZ20xMnUzMjAtPnVkZXYsCisJCQl1c2Jfc25kYnVsa3BpcGUoZ20xMnUzMjAtPnVkZXYs IERBVEFfU05EX0VQVCksCisJCQlnbTEydTMyMC0+ZGF0YV9idWZbYmxvY2tdLCBibG9ja19zaXpl LAorCQkJJmxlbiwgREFUQV9USU1FT1VUKTsKKwkJaWYgKHJldCB8fCBsZW4gIT0gYmxvY2tfc2l6 ZSkKKwkJCWdvdG8gZXJyOworCiAJCS8qIFJlYWQgc3RhdHVzICovCiAJCXJldCA9IHVzYl9idWxr X21zZyhnbTEydTMyMC0+dWRldiwKIAkJCXVzYl9yY3ZidWxrcGlwZShnbTEydTMyMC0+dWRldiwg REFUQV9SQ1ZfRVBUKSwKIAkJCWdtMTJ1MzIwLT5jbWRfYnVmLCBSRUFEX1NUQVRVU19TSVpFLCAm bGVuLAotCQkJZHJhd19zdGF0dXNfdGltZW91dCk7CisJCQlDTURfVElNRU9VVCk7CiAJCWlmIChy ZXQgfHwgbGVuICE9IFJFQURfU1RBVFVTX1NJWkUpCiAJCQlnb3RvIGVycjsKLQotCQlkcmF3X3N0 YXR1c190aW1lb3V0ID0gQ01EX1RJTUVPVVQ7Ci0JCWZyYW1lID0gIWZyYW1lOwotCi0JCS8qCi0J CSAqIFdlIG11c3QgZHJhdyBhIGZyYW1lIGV2ZXJ5IDJzIG90aGVyd2lzZSB0aGUgcHJvamVjdG9y Ci0JCSAqIHN3aXRjaGVzIGJhY2sgdG8gc2hvd2luZyBpdHMgbG9nby4KLQkJICovCi0JCXdhaXRf ZXZlbnRfdGltZW91dChnbTEydTMyMC0+ZmJfdXBkYXRlLndhaXRxLAotCQkJCSAgICFnbTEydTMy MC0+ZmJfdXBkYXRlLnJ1biB8fAotCQkJCQlnbTEydTMyMC0+ZmJfdXBkYXRlLmZiICE9IE5VTEws Ci0JCQkJICAgSURMRV9USU1FT1VUKTsKIAl9CisKKwkvKiBTZW5kIGRyYXcgY29tbWFuZCB0byBk ZXZpY2UgKi8KKwltZW1jcHkoZ20xMnUzMjAtPmNtZF9idWYsIGNtZF9kcmF3LCBDTURfU0laRSk7 CisJcmV0ID0gdXNiX2J1bGtfbXNnKGdtMTJ1MzIwLT51ZGV2LAorCQl1c2Jfc25kYnVsa3BpcGUo Z20xMnUzMjAtPnVkZXYsIERBVEFfU05EX0VQVCksCisJCWdtMTJ1MzIwLT5jbWRfYnVmLCBDTURf U0laRSwgJmxlbiwgQ01EX1RJTUVPVVQpOworCWlmIChyZXQgfHwgbGVuICE9IENNRF9TSVpFKQor CQlnb3RvIGVycjsKKworCS8qIFJlYWQgc3RhdHVzICovCisJcmV0ID0gdXNiX2J1bGtfbXNnKGdt MTJ1MzIwLT51ZGV2LAorCQl1c2JfcmN2YnVsa3BpcGUoZ20xMnUzMjAtPnVkZXYsIERBVEFfUkNW X0VQVCksCisJCWdtMTJ1MzIwLT5jbWRfYnVmLCBSRUFEX1NUQVRVU19TSVpFLCAmbGVuLAorCQln bTEydTMyMC0+ZmJfdXBkYXRlLmRyYXdfc3RhdHVzX3RpbWVvdXQpOworCWlmIChyZXQgfHwgbGVu ICE9IFJFQURfU1RBVFVTX1NJWkUpCisJCWdvdG8gZXJyOworCisJZ20xMnUzMjAtPmZiX3VwZGF0 ZS5kcmF3X3N0YXR1c190aW1lb3V0ID0gQ01EX1RJTUVPVVQ7CisJZ20xMnUzMjAtPmZiX3VwZGF0 ZS5mcmFtZSA9ICFnbTEydTMyMC0+ZmJfdXBkYXRlLmZyYW1lOworCisJLyoKKwkgKiBXZSBtdXN0 IGRyYXcgYSBmcmFtZSBldmVyeSAycyBvdGhlcndpc2UgdGhlIHByb2plY3RvcgorCSAqIHN3aXRj aGVzIGJhY2sgdG8gc2hvd2luZyBpdHMgbG9nby4KKwkgKi8KKwlzY2hlZHVsZV9kZWxheWVkX3dv cmsoJmdtMTJ1MzIwLT5mYl91cGRhdGUud29yaywgSURMRV9USU1FT1VUKTsKKwogCXJldHVybjsK IGVycjoKIAkvKiBEbyBub3QgbG9nIGVycm9ycyBjYXVzZWQgYnkgbW9kdWxlIHVubG9hZCBvciBk ZXZpY2UgdW5wbHVnICovCkBAIC00NDYsMzYgKzQzMSwyNCBAQCBzdGF0aWMgdm9pZCBnbTEydTMy MF9mYl9tYXJrX2RpcnR5KHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAogCW11dGV4X3VubG9j aygmZ20xMnUzMjAtPmZiX3VwZGF0ZS5sb2NrKTsKIAogCWlmICh3YWtldXApCi0JCXdha2VfdXAo JmdtMTJ1MzIwLT5mYl91cGRhdGUud2FpdHEpOworCQlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmdt MTJ1MzIwLT5mYl91cGRhdGUud29yaywgMCk7CiAKIAlpZiAob2xkX2ZiKQogCQlkcm1fZnJhbWVi dWZmZXJfcHV0KG9sZF9mYik7CiB9CiAKLXN0YXRpYyB2b2lkIGdtMTJ1MzIwX3N0YXJ0X2ZiX3Vw ZGF0ZShzdHJ1Y3QgZ20xMnUzMjBfZGV2aWNlICpnbTEydTMyMCkKLXsKLQltdXRleF9sb2NrKCZn bTEydTMyMC0+ZmJfdXBkYXRlLmxvY2spOwotCWdtMTJ1MzIwLT5mYl91cGRhdGUucnVuID0gdHJ1 ZTsKLQltdXRleF91bmxvY2soJmdtMTJ1MzIwLT5mYl91cGRhdGUubG9jayk7Ci0KLQlxdWV1ZV93 b3JrKGdtMTJ1MzIwLT5mYl91cGRhdGUud29ya3EsICZnbTEydTMyMC0+ZmJfdXBkYXRlLndvcmsp OwotfQotCiBzdGF0aWMgdm9pZCBnbTEydTMyMF9zdG9wX2ZiX3VwZGF0ZShzdHJ1Y3QgZ20xMnUz MjBfZGV2aWNlICpnbTEydTMyMCkKIHsKLQltdXRleF9sb2NrKCZnbTEydTMyMC0+ZmJfdXBkYXRl LmxvY2spOwotCWdtMTJ1MzIwLT5mYl91cGRhdGUucnVuID0gZmFsc2U7Ci0JbXV0ZXhfdW5sb2Nr KCZnbTEydTMyMC0+ZmJfdXBkYXRlLmxvY2spOworCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKm9s ZF9mYjsKIAotCXdha2VfdXAoJmdtMTJ1MzIwLT5mYl91cGRhdGUud2FpdHEpOwotCWNhbmNlbF93 b3JrX3N5bmMoJmdtMTJ1MzIwLT5mYl91cGRhdGUud29yayk7CisJY2FuY2VsX2RlbGF5ZWRfd29y a19zeW5jKCZnbTEydTMyMC0+ZmJfdXBkYXRlLndvcmspOwogCiAJbXV0ZXhfbG9jaygmZ20xMnUz MjAtPmZiX3VwZGF0ZS5sb2NrKTsKLQlpZiAoZ20xMnUzMjAtPmZiX3VwZGF0ZS5mYikgewotCQlk cm1fZnJhbWVidWZmZXJfcHV0KGdtMTJ1MzIwLT5mYl91cGRhdGUuZmIpOwotCQlnbTEydTMyMC0+ ZmJfdXBkYXRlLmZiID0gTlVMTDsKLQl9CisJb2xkX2ZiID0gZ20xMnUzMjAtPmZiX3VwZGF0ZS5m YjsKKwlnbTEydTMyMC0+ZmJfdXBkYXRlLmZiID0gTlVMTDsKIAltdXRleF91bmxvY2soJmdtMTJ1 MzIwLT5mYl91cGRhdGUubG9jayk7CisKKwlkcm1fZnJhbWVidWZmZXJfcHV0KG9sZF9mYik7CiB9 CiAKIHN0YXRpYyBpbnQgZ20xMnUzMjBfc2V0X2Vjb21vZGUoc3RydWN0IGdtMTJ1MzIwX2Rldmlj ZSAqZ20xMnUzMjApCkBAIC01ODMsMTEgKzU1NiwxMSBAQCBzdGF0aWMgdm9pZCBnbTEydTMyMF9w aXBlX2VuYWJsZShzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGUgKnBpcGUsCiAJCQkJIHN0 cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQkgc3RydWN0IGRybV9wbGFuZV9z dGF0ZSAqcGxhbmVfc3RhdGUpCiB7Ci0Jc3RydWN0IGdtMTJ1MzIwX2RldmljZSAqZ20xMnUzMjAg PSBwaXBlLT5jcnRjLmRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGRybV9yZWN0IHJlY3QgPSB7 IDAsIDAsIEdNMTJVMzIwX1VTRVJfV0lEVEgsIEdNMTJVMzIwX0hFSUdIVCB9OworCXN0cnVjdCBn bTEydTMyMF9kZXZpY2UgKmdtMTJ1MzIwID0gcGlwZS0+Y3J0Yy5kZXYtPmRldl9wcml2YXRlOwog CisJZ20xMnUzMjAtPmZiX3VwZGF0ZS5kcmF3X3N0YXR1c190aW1lb3V0ID0gRklSU1RfRlJBTUVf VElNRU9VVDsKIAlnbTEydTMyMF9mYl9tYXJrX2RpcnR5KHBsYW5lX3N0YXRlLT5mYiwgJnJlY3Qp OwotCWdtMTJ1MzIwX3N0YXJ0X2ZiX3VwZGF0ZShnbTEydTMyMCk7CiB9CiAKIHN0YXRpYyB2b2lk IGdtMTJ1MzIwX3BpcGVfZGlzYWJsZShzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGUgKnBp cGUpCkBAIC02MjIsMTMgKzU5NSw2IEBAIHN0YXRpYyBjb25zdCB1aW50NjRfdCBnbTEydTMyMF9w aXBlX21vZGlmaWVyc1tdID0gewogCURSTV9GT1JNQVRfTU9EX0lOVkFMSUQKIH07CiAKLXN0YXRp YyB2b2lkIGdtMTJ1MzIwX2RyaXZlcl9yZWxlYXNlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCi17 Ci0Jc3RydWN0IGdtMTJ1MzIwX2RldmljZSAqZ20xMnUzMjAgPSBkZXYtPmRldl9wcml2YXRlOwot Ci0JZ20xMnUzMjBfdXNiX2ZyZWUoZ20xMnUzMjApOwotfQotCiBERUZJTkVfRFJNX0dFTV9GT1BT KGdtMTJ1MzIwX2ZvcHMpOwogCiBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIgZ20xMnUzMjBfZHJt X2RyaXZlciA9IHsKQEAgLTY0MCw3ICs2MDYsNiBAQCBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIg Z20xMnUzMjBfZHJtX2RyaXZlciA9IHsKIAkubWFqb3IJCSA9IERSSVZFUl9NQUpPUiwKIAkubWlu b3IJCSA9IERSSVZFUl9NSU5PUiwKIAotCS5yZWxlYXNlCSA9IGdtMTJ1MzIwX2RyaXZlcl9yZWxl YXNlLAogCS5mb3BzCQkgPSAmZ20xMnUzMjBfZm9wcywKIAlEUk1fR0VNX1NITUVNX0RSSVZFUl9P UFMsCiB9OwpAQCAtNjcwLDkgKzYzNSw4IEBAIHN0YXRpYyBpbnQgZ20xMnUzMjBfdXNiX3Byb2Jl KHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRlcmZhY2UsCiAJCXJldHVybiAtRU5PTUVNOwogCiAJ Z20xMnUzMjAtPnVkZXYgPSBpbnRlcmZhY2VfdG9fdXNiZGV2KGludGVyZmFjZSk7Ci0JSU5JVF9X T1JLKCZnbTEydTMyMC0+ZmJfdXBkYXRlLndvcmssIGdtMTJ1MzIwX2ZiX3VwZGF0ZV93b3JrKTsK KwlJTklUX0RFTEFZRURfV09SSygmZ20xMnUzMjAtPmZiX3VwZGF0ZS53b3JrLCBnbTEydTMyMF9m Yl91cGRhdGVfd29yayk7CiAJbXV0ZXhfaW5pdCgmZ20xMnUzMjAtPmZiX3VwZGF0ZS5sb2NrKTsK LQlpbml0X3dhaXRxdWV1ZV9oZWFkKCZnbTEydTMyMC0+ZmJfdXBkYXRlLndhaXRxKTsKIAogCWRl diA9ICZnbTEydTMyMC0+ZGV2OwogCXJldCA9IGRldm1fZHJtX2Rldl9pbml0KCZpbnRlcmZhY2Ut PmRldiwgZGV2LCAmZ20xMnUzMjBfZHJtX2RyaXZlcik7Ci0tIAoyLjI0LjEKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxp c3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=