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.6 required=3.0 tests=BAYES_00,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=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 44287C5517A for ; Tue, 10 Nov 2020 03:49:50 +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 DC7EF21D46 for ; Tue, 10 Nov 2020 03:49:49 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="dBD+44jG" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DC7EF21D46 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org 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 79E5D8979E; Tue, 10 Nov 2020 03:49:46 +0000 (UTC) Received: from mail-pf1-x441.google.com (mail-pf1-x441.google.com [IPv6:2607:f8b0:4864:20::441]) by gabe.freedesktop.org (Postfix) with ESMTPS id 33C6D8979D for ; Tue, 10 Nov 2020 03:49:43 +0000 (UTC) Received: by mail-pf1-x441.google.com with SMTP id w6so4653408pfu.1 for ; Mon, 09 Nov 2020 19:49:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=/CAm5bWjnLRF5xW6wICKjDF43YTUJt4tBtw4MXOZQXs=; b=dBD+44jGmFbFoFXY++I6IktKNehjjzi6CoBsCMrcYOymBfj5zE/vStj761efPBgK6A MNR9NUuQNyB3LuiqOMKYhFn+QpsaOR3EqXQtgMLwiireR4qDWnh7I/b6KkEVhq3boSq1 e1VAQbq8cj6LBP7KBxED1VA2yyg4arxNJlHGweTCzW+c0Xp59Dq2d5c/WiuqHMMmeUMB xNGpAJyp+MB1Bl6Ew7LCZ7PVnN3LIx2k1I95RCH9Bd8SR5qQMaTg2Do13Zsg0HgzDisJ OJ5pj9B/rHIJ8/PVY2cO2aMeNoeWGClKTxY0Bn0Tedl2aORG+ylWjeXMlsgddt97YJvI 7uBA== 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=/CAm5bWjnLRF5xW6wICKjDF43YTUJt4tBtw4MXOZQXs=; b=mJ/sHhJCAq8hJupzmBzh/vYoSUu2Q9chDHTd5vrihPAN/l4feQqQbjlPmb08ianmPn d/SRg0fSzsFAJJo3K6BrUCmKMVrOfmZvYzymFW6QbXODrfYerSEvuCnxItUiV1AXGbUG NoQshOLJkcMjS+N46e7KxhYWxb2rBLnB4s899uJKF2Rpdccceu1DWKGO6CasPLXyItjv 59EbR9m14WUvpNW995Nq8WSFLtqzIAQmAeSJppLIUZ8QzHXRf/LnZKfvkQ+F6y6Bpn55 hrHXRIWCQBrhlOQcTbgFa6ZkLgKBVm+Zs3lcMU0rLXeT2sVPkOypmUDFAR6c4UyKjdtB C+vA== X-Gm-Message-State: AOAM532LJImPN4OZErHaPE+wPASEjXEZ9NonbhnxQ6IqGu+tNDdBXVNi GqI7LxYvQ7FkwRfQTppGGNGasQ== X-Google-Smtp-Source: ABdhPJxvcYWk2OPolE4q4JwOpQlz9K50qG0yvs/6TVDC6KzBHjwMHICwpFev2nZZnMWQguhJWz3RhQ== X-Received: by 2002:a17:90a:f3d1:: with SMTP id ha17mr2903483pjb.164.1604980182703; Mon, 09 Nov 2020 19:49:42 -0800 (PST) Received: from localhost.localdomain ([2601:1c2:680:1319:692:26ff:feda:3a81]) by smtp.gmail.com with ESMTPSA id b4sm12380693pfi.208.2020.11.09.19.49.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Nov 2020 19:49:42 -0800 (PST) From: John Stultz To: lkml Subject: [PATCH v5 3/7] dma-buf: heaps: Remove heap-helpers code Date: Tue, 10 Nov 2020 03:49:30 +0000 Message-Id: <20201110034934.70898-4-john.stultz@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201110034934.70898-1-john.stultz@linaro.org> References: <20201110034934.70898-1-john.stultz@linaro.org> 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: Sandeep Patil , dri-devel@lists.freedesktop.org, Ezequiel Garcia , Robin Murphy , James Jones , Liam Mark , Laura Abbott , Chris Goldsworthy , Hridya Valsaraju , =?UTF-8?q?=C3=98rjan=20Eide?= , linux-media@vger.kernel.org, Suren Baghdasaryan , Daniel Mentz Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" VGhlIGhlYXAtaGVscGVycyBjb2RlIHdhcyBub3QgYXMgZ2VuZXJpYyBhcyBpbml0aWFsbHkgaG9w ZWQKYW5kIGl0IGlzIG5vdyBub3QgYmVpbmcgdXNlZCwgc28gcmVtb3ZlIGl0IGZyb20gdGhlIHRy ZWUuCgpDYzogU3VtaXQgU2Vtd2FsIDxzdW1pdC5zZW13YWxAbGluYXJvLm9yZz4KQ2M6IExpYW0g TWFyayA8bG1hcmtAY29kZWF1cm9yYS5vcmc+CkNjOiBMYXVyYSBBYmJvdHQgPGxhYmJvdHRAa2Vy bmVsLm9yZz4KQ2M6IEJyaWFuIFN0YXJrZXkgPEJyaWFuLlN0YXJrZXlAYXJtLmNvbT4KQ2M6IEhy aWR5YSBWYWxzYXJhanUgPGhyaWR5YUBnb29nbGUuY29tPgpDYzogU3VyZW4gQmFnaGRhc2FyeWFu IDxzdXJlbmJAZ29vZ2xlLmNvbT4KQ2M6IFNhbmRlZXAgUGF0aWwgPHNzcGF0aWxAZ29vZ2xlLmNv bT4KQ2M6IERhbmllbCBNZW50eiA8ZGFuaWVsbWVudHpAZ29vZ2xlLmNvbT4KQ2M6IENocmlzIEdv bGRzd29ydGh5IDxjZ29sZHN3b0Bjb2RlYXVyb3JhLm9yZz4KQ2M6IMOYcmphbiBFaWRlIDxvcmph bi5laWRlQGFybS5jb20+CkNjOiBSb2JpbiBNdXJwaHkgPHJvYmluLm11cnBoeUBhcm0uY29tPgpD YzogRXplcXVpZWwgR2FyY2lhIDxlemVxdWllbEBjb2xsYWJvcmEuY29tPgpDYzogU2ltb24gU2Vy IDxjb250YWN0QGVtZXJzaW9uLmZyPgpDYzogSmFtZXMgSm9uZXMgPGpham9uZXNAbnZpZGlhLmNv bT4KQ2M6IGxpbnV4LW1lZGlhQHZnZXIua2VybmVsLm9yZwpDYzogZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpSZXZpZXdlZC1ieTogQnJpYW4gU3RhcmtleSA8YnJpYW4uc3RhcmtleUBh cm0uY29tPgpTaWduZWQtb2ZmLWJ5OiBKb2huIFN0dWx0eiA8am9obi5zdHVsdHpAbGluYXJvLm9y Zz4KLS0tCiBkcml2ZXJzL2RtYS1idWYvaGVhcHMvTWFrZWZpbGUgICAgICAgfCAgIDEgLQogZHJp dmVycy9kbWEtYnVmL2hlYXBzL2hlYXAtaGVscGVycy5jIHwgMjcwIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQogZHJpdmVycy9kbWEtYnVmL2hlYXBzL2hlYXAtaGVscGVycy5oIHwgIDUzIC0t LS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAzMjQgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9kbWEtYnVmL2hlYXBzL2hlYXAtaGVscGVycy5jCiBkZWxldGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9kbWEtYnVmL2hlYXBzL2hlYXAtaGVscGVycy5oCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9kbWEtYnVmL2hlYXBzL01ha2VmaWxlIGIvZHJpdmVycy9kbWEtYnVmL2hlYXBzL01ha2Vm aWxlCmluZGV4IDZlNTRjZGVjM2RhMC4uOTc0NDY3NzkxMDMyIDEwMDY0NAotLS0gYS9kcml2ZXJz L2RtYS1idWYvaGVhcHMvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9kbWEtYnVmL2hlYXBzL01ha2Vm aWxlCkBAIC0xLDQgKzEsMyBAQAogIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAot b2JqLXkJCQkJCSs9IGhlYXAtaGVscGVycy5vCiBvYmotJChDT05GSUdfRE1BQlVGX0hFQVBTX1NZ U1RFTSkJKz0gc3lzdGVtX2hlYXAubwogb2JqLSQoQ09ORklHX0RNQUJVRl9IRUFQU19DTUEpCQkr PSBjbWFfaGVhcC5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS1idWYvaGVhcHMvaGVhcC1oZWxw ZXJzLmMgYi9kcml2ZXJzL2RtYS1idWYvaGVhcHMvaGVhcC1oZWxwZXJzLmMKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IGQwNjk2Y2Y5MzdhZi4uMDAwMDAwMDAwMDAwCi0tLSBhL2RyaXZl cnMvZG1hLWJ1Zi9oZWFwcy9oZWFwLWhlbHBlcnMuYworKysgL2Rldi9udWxsCkBAIC0xLDI3MCAr MCwwIEBACi0vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAotI2luY2x1ZGUgPGxp bnV4L2RldmljZS5oPgotI2luY2x1ZGUgPGxpbnV4L2RtYS1idWYuaD4KLSNpbmNsdWRlIDxsaW51 eC9lcnIuaD4KLSNpbmNsdWRlIDxsaW51eC9oaWdobWVtLmg+Ci0jaW5jbHVkZSA8bGludXgvaWRy Lmg+Ci0jaW5jbHVkZSA8bGludXgvbGlzdC5oPgotI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KLSNp bmNsdWRlIDxsaW51eC91YWNjZXNzLmg+Ci0jaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgotI2lu Y2x1ZGUgPHVhcGkvbGludXgvZG1hLWhlYXAuaD4KLQotI2luY2x1ZGUgImhlYXAtaGVscGVycy5o IgotCi12b2lkIGluaXRfaGVhcF9oZWxwZXJfYnVmZmVyKHN0cnVjdCBoZWFwX2hlbHBlcl9idWZm ZXIgKmJ1ZmZlciwKLQkJCSAgICAgdm9pZCAoKmZyZWUpKHN0cnVjdCBoZWFwX2hlbHBlcl9idWZm ZXIgKikpCi17Ci0JYnVmZmVyLT5wcml2X3ZpcnQgPSBOVUxMOwotCW11dGV4X2luaXQoJmJ1ZmZl ci0+bG9jayk7Ci0JYnVmZmVyLT52bWFwX2NudCA9IDA7Ci0JYnVmZmVyLT52YWRkciA9IE5VTEw7 Ci0JYnVmZmVyLT5wYWdlY291bnQgPSAwOwotCWJ1ZmZlci0+cGFnZXMgPSBOVUxMOwotCUlOSVRf TElTVF9IRUFEKCZidWZmZXItPmF0dGFjaG1lbnRzKTsKLQlidWZmZXItPmZyZWUgPSBmcmVlOwot fQotCi1zdHJ1Y3QgZG1hX2J1ZiAqaGVhcF9oZWxwZXJfZXhwb3J0X2RtYWJ1ZihzdHJ1Y3QgaGVh cF9oZWxwZXJfYnVmZmVyICpidWZmZXIsCi0JCQkJCSAgaW50IGZkX2ZsYWdzKQotewotCURFRklO RV9ETUFfQlVGX0VYUE9SVF9JTkZPKGV4cF9pbmZvKTsKLQotCWV4cF9pbmZvLm9wcyA9ICZoZWFw X2hlbHBlcl9vcHM7Ci0JZXhwX2luZm8uc2l6ZSA9IGJ1ZmZlci0+c2l6ZTsKLQlleHBfaW5mby5m bGFncyA9IGZkX2ZsYWdzOwotCWV4cF9pbmZvLnByaXYgPSBidWZmZXI7Ci0KLQlyZXR1cm4gZG1h X2J1Zl9leHBvcnQoJmV4cF9pbmZvKTsKLX0KLQotc3RhdGljIHZvaWQgKmRtYV9oZWFwX21hcF9r ZXJuZWwoc3RydWN0IGhlYXBfaGVscGVyX2J1ZmZlciAqYnVmZmVyKQotewotCXZvaWQgKnZhZGRy OwotCi0JdmFkZHIgPSB2bWFwKGJ1ZmZlci0+cGFnZXMsIGJ1ZmZlci0+cGFnZWNvdW50LCBWTV9N QVAsIFBBR0VfS0VSTkVMKTsKLQlpZiAoIXZhZGRyKQotCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVN KTsKLQotCXJldHVybiB2YWRkcjsKLX0KLQotc3RhdGljIHZvaWQgZG1hX2hlYXBfYnVmZmVyX2Rl c3Ryb3koc3RydWN0IGhlYXBfaGVscGVyX2J1ZmZlciAqYnVmZmVyKQotewotCWlmIChidWZmZXIt PnZtYXBfY250ID4gMCkgewotCQlXQVJOKDEsICIlczogYnVmZmVyIHN0aWxsIG1hcHBlZCBpbiB0 aGUga2VybmVsXG4iLCBfX2Z1bmNfXyk7Ci0JCXZ1bm1hcChidWZmZXItPnZhZGRyKTsKLQl9Ci0K LQlidWZmZXItPmZyZWUoYnVmZmVyKTsKLX0KLQotc3RhdGljIHZvaWQgKmRtYV9oZWFwX2J1ZmZl cl92bWFwX2dldChzdHJ1Y3QgaGVhcF9oZWxwZXJfYnVmZmVyICpidWZmZXIpCi17Ci0Jdm9pZCAq dmFkZHI7Ci0KLQlpZiAoYnVmZmVyLT52bWFwX2NudCkgewotCQlidWZmZXItPnZtYXBfY250Kys7 Ci0JCXJldHVybiBidWZmZXItPnZhZGRyOwotCX0KLQl2YWRkciA9IGRtYV9oZWFwX21hcF9rZXJu ZWwoYnVmZmVyKTsKLQlpZiAoSVNfRVJSKHZhZGRyKSkKLQkJcmV0dXJuIHZhZGRyOwotCWJ1ZmZl ci0+dmFkZHIgPSB2YWRkcjsKLQlidWZmZXItPnZtYXBfY250Kys7Ci0JcmV0dXJuIHZhZGRyOwot fQotCi1zdGF0aWMgdm9pZCBkbWFfaGVhcF9idWZmZXJfdm1hcF9wdXQoc3RydWN0IGhlYXBfaGVs cGVyX2J1ZmZlciAqYnVmZmVyKQotewotCWlmICghLS1idWZmZXItPnZtYXBfY250KSB7Ci0JCXZ1 bm1hcChidWZmZXItPnZhZGRyKTsKLQkJYnVmZmVyLT52YWRkciA9IE5VTEw7Ci0JfQotfQotCi1z dHJ1Y3QgZG1hX2hlYXBzX2F0dGFjaG1lbnQgewotCXN0cnVjdCBkZXZpY2UgKmRldjsKLQlzdHJ1 Y3Qgc2dfdGFibGUgdGFibGU7Ci0Jc3RydWN0IGxpc3RfaGVhZCBsaXN0OwotfTsKLQotc3RhdGlj IGludCBkbWFfaGVhcF9hdHRhY2goc3RydWN0IGRtYV9idWYgKmRtYWJ1ZiwKLQkJCSAgIHN0cnVj dCBkbWFfYnVmX2F0dGFjaG1lbnQgKmF0dGFjaG1lbnQpCi17Ci0Jc3RydWN0IGRtYV9oZWFwc19h dHRhY2htZW50ICphOwotCXN0cnVjdCBoZWFwX2hlbHBlcl9idWZmZXIgKmJ1ZmZlciA9IGRtYWJ1 Zi0+cHJpdjsKLQlpbnQgcmV0OwotCi0JYSA9IGt6YWxsb2Moc2l6ZW9mKCphKSwgR0ZQX0tFUk5F TCk7Ci0JaWYgKCFhKQotCQlyZXR1cm4gLUVOT01FTTsKLQotCXJldCA9IHNnX2FsbG9jX3RhYmxl X2Zyb21fcGFnZXMoJmEtPnRhYmxlLCBidWZmZXItPnBhZ2VzLAotCQkJCQlidWZmZXItPnBhZ2Vj b3VudCwgMCwKLQkJCQkJYnVmZmVyLT5wYWdlY291bnQgPDwgUEFHRV9TSElGVCwKLQkJCQkJR0ZQ X0tFUk5FTCk7Ci0JaWYgKHJldCkgewotCQlrZnJlZShhKTsKLQkJcmV0dXJuIHJldDsKLQl9Ci0K LQlhLT5kZXYgPSBhdHRhY2htZW50LT5kZXY7Ci0JSU5JVF9MSVNUX0hFQUQoJmEtPmxpc3QpOwot Ci0JYXR0YWNobWVudC0+cHJpdiA9IGE7Ci0KLQltdXRleF9sb2NrKCZidWZmZXItPmxvY2spOwot CWxpc3RfYWRkKCZhLT5saXN0LCAmYnVmZmVyLT5hdHRhY2htZW50cyk7Ci0JbXV0ZXhfdW5sb2Nr KCZidWZmZXItPmxvY2spOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGRtYV9oZWFw X2RldGFjaChzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmLAotCQkJICAgIHN0cnVjdCBkbWFfYnVmX2F0 dGFjaG1lbnQgKmF0dGFjaG1lbnQpCi17Ci0Jc3RydWN0IGRtYV9oZWFwc19hdHRhY2htZW50ICph ID0gYXR0YWNobWVudC0+cHJpdjsKLQlzdHJ1Y3QgaGVhcF9oZWxwZXJfYnVmZmVyICpidWZmZXIg PSBkbWFidWYtPnByaXY7Ci0KLQltdXRleF9sb2NrKCZidWZmZXItPmxvY2spOwotCWxpc3RfZGVs KCZhLT5saXN0KTsKLQltdXRleF91bmxvY2soJmJ1ZmZlci0+bG9jayk7Ci0KLQlzZ19mcmVlX3Rh YmxlKCZhLT50YWJsZSk7Ci0Ja2ZyZWUoYSk7Ci19Ci0KLXN0YXRpYwotc3RydWN0IHNnX3RhYmxl ICpkbWFfaGVhcF9tYXBfZG1hX2J1ZihzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICphdHRhY2ht ZW50LAotCQkJCSAgICAgIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpcmVjdGlvbikKLXsKLQlz dHJ1Y3QgZG1hX2hlYXBzX2F0dGFjaG1lbnQgKmEgPSBhdHRhY2htZW50LT5wcml2OwotCXN0cnVj dCBzZ190YWJsZSAqdGFibGUgPSAmYS0+dGFibGU7Ci0JaW50IHJldDsKLQotCXJldCA9IGRtYV9t YXBfc2d0YWJsZShhdHRhY2htZW50LT5kZXYsIHRhYmxlLCBkaXJlY3Rpb24sIDApOwotCWlmIChy ZXQpCi0JCXRhYmxlID0gRVJSX1BUUihyZXQpOwotCXJldHVybiB0YWJsZTsKLX0KLQotc3RhdGlj IHZvaWQgZG1hX2hlYXBfdW5tYXBfZG1hX2J1ZihzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICph dHRhY2htZW50LAotCQkJCSAgIHN0cnVjdCBzZ190YWJsZSAqdGFibGUsCi0JCQkJICAgZW51bSBk bWFfZGF0YV9kaXJlY3Rpb24gZGlyZWN0aW9uKQotewotCWRtYV91bm1hcF9zZ3RhYmxlKGF0dGFj aG1lbnQtPmRldiwgdGFibGUsIGRpcmVjdGlvbiwgMCk7Ci19Ci0KLXN0YXRpYyB2bV9mYXVsdF90 IGRtYV9oZWFwX3ZtX2ZhdWx0KHN0cnVjdCB2bV9mYXVsdCAqdm1mKQotewotCXN0cnVjdCB2bV9h cmVhX3N0cnVjdCAqdm1hID0gdm1mLT52bWE7Ci0Jc3RydWN0IGhlYXBfaGVscGVyX2J1ZmZlciAq YnVmZmVyID0gdm1hLT52bV9wcml2YXRlX2RhdGE7Ci0KLQlpZiAodm1mLT5wZ29mZiA+IGJ1ZmZl ci0+cGFnZWNvdW50KQotCQlyZXR1cm4gVk1fRkFVTFRfU0lHQlVTOwotCi0Jdm1mLT5wYWdlID0g YnVmZmVyLT5wYWdlc1t2bWYtPnBnb2ZmXTsKLQlnZXRfcGFnZSh2bWYtPnBhZ2UpOwotCi0JcmV0 dXJuIDA7Ci19Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3Qgdm1fb3BlcmF0aW9uc19zdHJ1Y3QgZG1h X2hlYXBfdm1fb3BzID0gewotCS5mYXVsdCA9IGRtYV9oZWFwX3ZtX2ZhdWx0LAotfTsKLQotc3Rh dGljIGludCBkbWFfaGVhcF9tbWFwKHN0cnVjdCBkbWFfYnVmICpkbWFidWYsIHN0cnVjdCB2bV9h cmVhX3N0cnVjdCAqdm1hKQotewotCXN0cnVjdCBoZWFwX2hlbHBlcl9idWZmZXIgKmJ1ZmZlciA9 IGRtYWJ1Zi0+cHJpdjsKLQotCWlmICgodm1hLT52bV9mbGFncyAmIChWTV9TSEFSRUQgfCBWTV9N QVlTSEFSRSkpID09IDApCi0JCXJldHVybiAtRUlOVkFMOwotCi0Jdm1hLT52bV9vcHMgPSAmZG1h X2hlYXBfdm1fb3BzOwotCXZtYS0+dm1fcHJpdmF0ZV9kYXRhID0gYnVmZmVyOwotCi0JcmV0dXJu IDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGRtYV9oZWFwX2RtYV9idWZfcmVsZWFzZShzdHJ1Y3QgZG1h X2J1ZiAqZG1hYnVmKQotewotCXN0cnVjdCBoZWFwX2hlbHBlcl9idWZmZXIgKmJ1ZmZlciA9IGRt YWJ1Zi0+cHJpdjsKLQotCWRtYV9oZWFwX2J1ZmZlcl9kZXN0cm95KGJ1ZmZlcik7Ci19Ci0KLXN0 YXRpYyBpbnQgZG1hX2hlYXBfZG1hX2J1Zl9iZWdpbl9jcHVfYWNjZXNzKHN0cnVjdCBkbWFfYnVm ICpkbWFidWYsCi0JCQkJCSAgICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyZWN0aW9uKQot ewotCXN0cnVjdCBoZWFwX2hlbHBlcl9idWZmZXIgKmJ1ZmZlciA9IGRtYWJ1Zi0+cHJpdjsKLQlz dHJ1Y3QgZG1hX2hlYXBzX2F0dGFjaG1lbnQgKmE7Ci0JaW50IHJldCA9IDA7Ci0KLQltdXRleF9s b2NrKCZidWZmZXItPmxvY2spOwotCi0JaWYgKGJ1ZmZlci0+dm1hcF9jbnQpCi0JCWludmFsaWRh dGVfa2VybmVsX3ZtYXBfcmFuZ2UoYnVmZmVyLT52YWRkciwgYnVmZmVyLT5zaXplKTsKLQotCWxp c3RfZm9yX2VhY2hfZW50cnkoYSwgJmJ1ZmZlci0+YXR0YWNobWVudHMsIGxpc3QpIHsKLQkJZG1h X3N5bmNfc2dfZm9yX2NwdShhLT5kZXYsIGEtPnRhYmxlLnNnbCwgYS0+dGFibGUubmVudHMsCi0J CQkJICAgIGRpcmVjdGlvbik7Ci0JfQotCW11dGV4X3VubG9jaygmYnVmZmVyLT5sb2NrKTsKLQot CXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyBpbnQgZG1hX2hlYXBfZG1hX2J1Zl9lbmRfY3B1X2Fj Y2VzcyhzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmLAotCQkJCQkgICBlbnVtIGRtYV9kYXRhX2RpcmVj dGlvbiBkaXJlY3Rpb24pCi17Ci0Jc3RydWN0IGhlYXBfaGVscGVyX2J1ZmZlciAqYnVmZmVyID0g ZG1hYnVmLT5wcml2OwotCXN0cnVjdCBkbWFfaGVhcHNfYXR0YWNobWVudCAqYTsKLQotCW11dGV4 X2xvY2soJmJ1ZmZlci0+bG9jayk7Ci0KLQlpZiAoYnVmZmVyLT52bWFwX2NudCkKLQkJZmx1c2hf a2VybmVsX3ZtYXBfcmFuZ2UoYnVmZmVyLT52YWRkciwgYnVmZmVyLT5zaXplKTsKLQotCWxpc3Rf Zm9yX2VhY2hfZW50cnkoYSwgJmJ1ZmZlci0+YXR0YWNobWVudHMsIGxpc3QpIHsKLQkJZG1hX3N5 bmNfc2dfZm9yX2RldmljZShhLT5kZXYsIGEtPnRhYmxlLnNnbCwgYS0+dGFibGUubmVudHMsCi0J CQkJICAgICAgIGRpcmVjdGlvbik7Ci0JfQotCW11dGV4X3VubG9jaygmYnVmZmVyLT5sb2NrKTsK LQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCAqZG1hX2hlYXBfZG1hX2J1Zl92bWFwKHN0 cnVjdCBkbWFfYnVmICpkbWFidWYpCi17Ci0Jc3RydWN0IGhlYXBfaGVscGVyX2J1ZmZlciAqYnVm ZmVyID0gZG1hYnVmLT5wcml2OwotCXZvaWQgKnZhZGRyOwotCi0JbXV0ZXhfbG9jaygmYnVmZmVy LT5sb2NrKTsKLQl2YWRkciA9IGRtYV9oZWFwX2J1ZmZlcl92bWFwX2dldChidWZmZXIpOwotCW11 dGV4X3VubG9jaygmYnVmZmVyLT5sb2NrKTsKLQotCXJldHVybiB2YWRkcjsKLX0KLQotc3RhdGlj IHZvaWQgZG1hX2hlYXBfZG1hX2J1Zl92dW5tYXAoc3RydWN0IGRtYV9idWYgKmRtYWJ1Ziwgdm9p ZCAqdmFkZHIpCi17Ci0Jc3RydWN0IGhlYXBfaGVscGVyX2J1ZmZlciAqYnVmZmVyID0gZG1hYnVm LT5wcml2OwotCi0JbXV0ZXhfbG9jaygmYnVmZmVyLT5sb2NrKTsKLQlkbWFfaGVhcF9idWZmZXJf dm1hcF9wdXQoYnVmZmVyKTsKLQltdXRleF91bmxvY2soJmJ1ZmZlci0+bG9jayk7Ci19Ci0KLWNv bnN0IHN0cnVjdCBkbWFfYnVmX29wcyBoZWFwX2hlbHBlcl9vcHMgPSB7Ci0JLm1hcF9kbWFfYnVm ID0gZG1hX2hlYXBfbWFwX2RtYV9idWYsCi0JLnVubWFwX2RtYV9idWYgPSBkbWFfaGVhcF91bm1h cF9kbWFfYnVmLAotCS5tbWFwID0gZG1hX2hlYXBfbW1hcCwKLQkucmVsZWFzZSA9IGRtYV9oZWFw X2RtYV9idWZfcmVsZWFzZSwKLQkuYXR0YWNoID0gZG1hX2hlYXBfYXR0YWNoLAotCS5kZXRhY2gg PSBkbWFfaGVhcF9kZXRhY2gsCi0JLmJlZ2luX2NwdV9hY2Nlc3MgPSBkbWFfaGVhcF9kbWFfYnVm X2JlZ2luX2NwdV9hY2Nlc3MsCi0JLmVuZF9jcHVfYWNjZXNzID0gZG1hX2hlYXBfZG1hX2J1Zl9l bmRfY3B1X2FjY2VzcywKLQkudm1hcCA9IGRtYV9oZWFwX2RtYV9idWZfdm1hcCwKLQkudnVubWFw ID0gZG1hX2hlYXBfZG1hX2J1Zl92dW5tYXAsCi19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEt YnVmL2hlYXBzL2hlYXAtaGVscGVycy5oIGIvZHJpdmVycy9kbWEtYnVmL2hlYXBzL2hlYXAtaGVs cGVycy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MDVkMmRmODgwMjQuLjAwMDAw MDAwMDAwMAotLS0gYS9kcml2ZXJzL2RtYS1idWYvaGVhcHMvaGVhcC1oZWxwZXJzLmgKKysrIC9k ZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi0vKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BM LTIuMCAqLwotLyoKLSAqIERNQUJVRiBIZWFwcyBoZWxwZXIgY29kZQotICoKLSAqIENvcHlyaWdo dCAoQykgMjAxMSBHb29nbGUsIEluYy4KLSAqIENvcHlyaWdodCAoQykgMjAxOSBMaW5hcm8gTHRk LgotICovCi0KLSNpZm5kZWYgX0hFQVBfSEVMUEVSU19ICi0jZGVmaW5lIF9IRUFQX0hFTFBFUlNf SAotCi0jaW5jbHVkZSA8bGludXgvZG1hLWhlYXAuaD4KLSNpbmNsdWRlIDxsaW51eC9saXN0Lmg+ Ci0KLS8qKgotICogc3RydWN0IGhlYXBfaGVscGVyX2J1ZmZlciAtIGhlbHBlciBidWZmZXIgbWV0 YWRhdGEKLSAqIEBoZWFwOgkJYmFjayBwb2ludGVyIHRvIHRoZSBoZWFwIHRoZSBidWZmZXIgY2Ft ZSBmcm9tCi0gKiBAZG1hYnVmOgkJYmFja2luZyBkbWEtYnVmIGZvciB0aGlzIGJ1ZmZlcgotICog QHNpemU6CQlzaXplIG9mIHRoZSBidWZmZXIKLSAqIEBwcml2X3ZpcnQJCXBvaW50ZXIgdG8gaGVh cCBzcGVjaWZpYyBwcml2YXRlIHZhbHVlCi0gKiBAbG9jawkJbXV0ZXh0IHRvIHByb3RlY3QgdGhl IGRhdGEgaW4gdGhpcyBzdHJ1Y3R1cmUKLSAqIEB2bWFwX2NudAkJY291bnQgb2Ygdm1hcCByZWZl cmVuY2VzIG9uIHRoZSBidWZmZXIKLSAqIEB2YWRkcgkJdm1hcCdlZCB2aXJ0dWFsIGFkZHJlc3MK LSAqIEBwYWdlY291bnQJCW51bWJlciBvZiBwYWdlcyBpbiB0aGUgYnVmZmVyCi0gKiBAcGFnZXMJ CWxpc3Qgb2YgcGFnZSBwb2ludGVycwotICogQGF0dGFjaG1lbnRzCQlsaXN0IG9mIGRldmljZSBh dHRhY2htZW50cwotICoKLSAqIEBmcmVlCQloZWFwIGNhbGxiYWNrIHRvIGZyZWUgdGhlIGJ1ZmZl cgotICovCi1zdHJ1Y3QgaGVhcF9oZWxwZXJfYnVmZmVyIHsKLQlzdHJ1Y3QgZG1hX2hlYXAgKmhl YXA7Ci0Jc3RydWN0IGRtYV9idWYgKmRtYWJ1ZjsKLQlzaXplX3Qgc2l6ZTsKLQotCXZvaWQgKnBy aXZfdmlydDsKLQlzdHJ1Y3QgbXV0ZXggbG9jazsKLQlpbnQgdm1hcF9jbnQ7Ci0Jdm9pZCAqdmFk ZHI7Ci0JcGdvZmZfdCBwYWdlY291bnQ7Ci0Jc3RydWN0IHBhZ2UgKipwYWdlczsKLQlzdHJ1Y3Qg bGlzdF9oZWFkIGF0dGFjaG1lbnRzOwotCi0Jdm9pZCAoKmZyZWUpKHN0cnVjdCBoZWFwX2hlbHBl cl9idWZmZXIgKmJ1ZmZlcik7Ci19OwotCi12b2lkIGluaXRfaGVhcF9oZWxwZXJfYnVmZmVyKHN0 cnVjdCBoZWFwX2hlbHBlcl9idWZmZXIgKmJ1ZmZlciwKLQkJCSAgICAgdm9pZCAoKmZyZWUpKHN0 cnVjdCBoZWFwX2hlbHBlcl9idWZmZXIgKikpOwotCi1zdHJ1Y3QgZG1hX2J1ZiAqaGVhcF9oZWxw ZXJfZXhwb3J0X2RtYWJ1ZihzdHJ1Y3QgaGVhcF9oZWxwZXJfYnVmZmVyICpidWZmZXIsCi0JCQkJ CSAgaW50IGZkX2ZsYWdzKTsKLQotZXh0ZXJuIGNvbnN0IHN0cnVjdCBkbWFfYnVmX29wcyBoZWFw X2hlbHBlcl9vcHM7Ci0jZW5kaWYgLyogX0hFQVBfSEVMUEVSU19IICovCi0tIAoyLjE3LjEKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBt YWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=