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=-10.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,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 21D49CA9EAF for ; Mon, 21 Oct 2019 21:48:34 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 E478920659 for ; Mon, 21 Oct 2019 21:48:33 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="m4HecF6B" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E478920659 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=8Zw+Ftcvg33GDddTGzCR+Qs50vcbXgr8eAUH8AvwOSc=; b=m4HecF6B3EH9y3 XxomzjIk8rILkI9UprM83vVbRJ5wA5zIxSK+ktfEEJnhWjGceyx+f9u4dJC195aornMIkArf+Eg/X icH0MhgZfqYSciGxMNTTmnAT4J3UnMTscfTs3knSNdZq67WjjHnzbES94mlBW0yUMKHfJ5A3Jc0BH LEy0F7TeBEtgXx32Pu8xfXNKGrDZOhp+9Jv8AZ4DCi9c/87ztxhBY4p3QmbFOJm6QovBe8xV25RC9 7Mgb2y4GwEnJ0iCWZYx3UmvzlYhFGTYeoWQCyedGQJ3qQXg4YzoKMNQb6rtG69KcZAaT01Q0fyDO3 qOT0sZ3B5CukV5Heo8qw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iMfXN-0002nn-1A; Mon, 21 Oct 2019 21:48:25 +0000 Received: from mail-ot1-f66.google.com ([209.85.210.66]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iMfV4-0000HV-Fv; Mon, 21 Oct 2019 21:46:05 +0000 Received: by mail-ot1-f66.google.com with SMTP id c7so1602260otm.3; Mon, 21 Oct 2019 14:46:02 -0700 (PDT) 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=v85itWVb55sjk1S2/4vfjQdYVBkEeNhYbZwroc8bhoE=; b=uIEiTwG4Q7c59PocTtnhRKONA17NdISaISmR4179+Wi9ccqDlA6WdiQ9zMPmqBCpk0 +OLNgwHPEfHtPAQnySzuZ/Fds7nj0vWGX1OzSSU9hznoGtbnHUVC7t2iDHVFPkBttbB9 aW8Dgp5ukxmLE7Mm8Q4CYT0VjM87KuoiDocbx1SmqOXBfZMEXKY1tlJIRcSLEDzKGaA9 Jvyd0VQlr5bX8NY3yKiVLi2JWDC4IGpaR6ZTr61AHjHNfK5A07LKhlPwP9VpCztLatl4 pImO25MdHYPU7ZSdTGSMRHqte/zEGFyUaCiqoJdt+DX35CgjGAjCiIbFokztYSoWQBwg uzhA== X-Gm-Message-State: APjAAAUs9xaumcqxBTZWSUDSQViMgOg4TtHn7Wn8r0weIEIQYCDWQ8LT w7QEitRNDtI9OCw+CqDRLA== X-Google-Smtp-Source: APXvYqzkNxCqlFqsK5HBa4boCVhpMxwfWAj66hdD/5mch5qmynl4RhUugcgkNWf4J602suw2X3Zo7Q== X-Received: by 2002:a9d:5c0e:: with SMTP id o14mr57383otk.79.1571694361346; Mon, 21 Oct 2019 14:46:01 -0700 (PDT) Received: from xps15.herring.priv (24-155-109-49.dyn.grandenetworks.net. [24.155.109.49]) by smtp.googlemail.com with ESMTPSA id u130sm4122676oib.56.2019.10.21.14.45.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Oct 2019 14:46:00 -0700 (PDT) From: Rob Herring To: dri-devel@lists.freedesktop.org Subject: [PATCH 4/6] drm/cma-helper: Support DRM_MODE_DUMB_KERNEL_MAP flag Date: Mon, 21 Oct 2019 16:45:48 -0500 Message-Id: <20191021214550.1461-5-robh@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191021214550.1461-1-robh@kernel.org> References: <20191021214550.1461-1-robh@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191021_144602_850663_3BC32AC6 X-CRM114-Status: GOOD ( 16.72 ) X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Heiko=20St=C3=BCbner?= , Neil Armstrong , David Airlie , Liviu Dudau , Sandy Huang , Laurent Pinchart , Benjamin Gaignard , linux-amlogic@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com, Yannick Fertre , Kevin Hilman , Xinwei Kong , Xinliang Liu , linux-rockchip@lists.infradead.org, Chen-Yu Tsai , =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= , "James \(Qian\) Wang" , CK Hu , Philipp Zabel , Alexandre Torgue , Chen Feng , Maarten Lankhorst , linux-renesas-soc@vger.kernel.org, Maxime Ripard , linux-mediatek@lists.infradead.org, Matthias Brugger , Daniel Vetter , Sean Paul , linux-arm-kernel@lists.infradead.org, Philippe Cornu , Vincent Abriou , Kieran Bingham , Maxime Coquelin , Rongrong Zou , Brian Starkey Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org QWRkIHN1cHBvcnQgaW4gQ01BIGhlbHBlcnMgdG8gaGFuZGxlIGNhbGxlcnMgc3BlY2lmeWluZwpE Uk1fTU9ERV9EVU1CX0tFUk5FTF9NQVAgZmxhZy4gRXhpc3RpbmcgYmVoYXZpb3IgaXMgbWFpbnRh aW5lZCB3aXRoIHRoaXMKY2hhbmdlLiBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0ZSgpIGFsd2F5cyBj cmVhdGVzIGEga2VybmVsIG1hcHBpbmcgYXMKYmVmb3JlLiBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0 ZV9pbnRlcm5hbCgpIGxldHMgdGhlIGNhbGxlciBzZXQgdGhlIGZsYWdzCmFzIGRlc2lyZWQuIFRo ZXJlZm9yZSwgdXBkYXRlIGFsbCB0aGUgZXhpc3RpbmcgY2FsbGVycyBvZgpkcm1fZ2VtX2NtYV9k dW1iX2NyZWF0ZV9pbnRlcm5hbCgpIHRvIGFsc28gc2V0IHRoZQpEUk1fTU9ERV9EVU1CX0tFUk5F TF9NQVAgZmxhZy4KCkNjOiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGlu dXguaW50ZWwuY29tPgpDYzogTWF4aW1lIFJpcGFyZCA8bXJpcGFyZEBrZXJuZWwub3JnPgpDYzog U2VhbiBQYXVsIDxzZWFuQHBvb3JseS5ydW4+CkNjOiBEYXZpZCBBaXJsaWUgPGFpcmxpZWRAbGlu dXguaWU+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+CkNjOiAiSmFtZXMgKFFp YW4pIFdhbmciIDxqYW1lcy5xaWFuLndhbmdAYXJtLmNvbT4KQ2M6IExpdml1IER1ZGF1IDxsaXZp dS5kdWRhdUBhcm0uY29tPgpDYzogQnJpYW4gU3RhcmtleSA8YnJpYW4uc3RhcmtleUBhcm0uY29t PgpDYzogTmVpbCBBcm1zdHJvbmcgPG5hcm1zdHJvbmdAYmF5bGlicmUuY29tPgpDYzogS2V2aW4g SGlsbWFuIDxraGlsbWFuQGJheWxpYnJlLmNvbT4KQ2M6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJl bnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KQ2M6IEtpZXJhbiBCaW5naGFtIDxraWVyYW4u YmluZ2hhbStyZW5lc2FzQGlkZWFzb25ib2FyZC5jb20+CkNjOiBTYW5keSBIdWFuZyA8aGpjQHJv Y2stY2hpcHMuY29tPgpDYzogIkhlaWtvIFN0w7xibmVyIiA8aGVpa29Ac250ZWNoLmRlPgpDYzog WWFubmljayBGZXJ0cmUgPHlhbm5pY2suZmVydHJlQHN0LmNvbT4KQ2M6IFBoaWxpcHBlIENvcm51 IDxwaGlsaXBwZS5jb3JudUBzdC5jb20+CkNjOiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4u Z2FpZ25hcmRAbGluYXJvLm9yZz4KQ2M6IFZpbmNlbnQgQWJyaW91IDx2aW5jZW50LmFicmlvdUBz dC5jb20+CkNjOiBNYXhpbWUgQ29xdWVsaW4gPG1jb3F1ZWxpbi5zdG0zMkBnbWFpbC5jb20+CkNj OiBBbGV4YW5kcmUgVG9yZ3VlIDxhbGV4YW5kcmUudG9yZ3VlQHN0LmNvbT4KQ2M6IENoZW4tWXUg VHNhaSA8d2Vuc0Bjc2llLm9yZz4KQ2M6IGxpbnV4LWFtbG9naWNAbGlzdHMuaW5mcmFkZWFkLm9y ZwpDYzogbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCkNjOiBsaW51eC1yZW5l c2FzLXNvY0B2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LXJvY2tjaGlwQGxpc3RzLmluZnJhZGVh ZC5vcmcKQ2M6IGxpbnV4LXN0bTMyQHN0LW1kLW1haWxtYW4uc3Rvcm1yZXBseS5jb20KU2lnbmVk LW9mZi1ieTogUm9iIEhlcnJpbmcgPHJvYmhAa2VybmVsLm9yZz4KLS0tCiAuLi4vZ3B1L2RybS9h cm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5jICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0v YXJtL21hbGlkcF9kcnYuYyAgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vZHJt X2dlbV9jbWFfaGVscGVyLmMgICAgICAgICAgfCA0OCArKysrKysrKysrKy0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJz L2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2ttcy5jICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2dlbS5jICAgfCAgMSArCiBkcml2ZXJzL2dwdS9k cm0vc3RtL2Rydi5jICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0v c3VuNGkvc3VuNGlfZHJ2LmMgICAgICAgICAgICAgfCAgMSArCiA4IGZpbGVzIGNoYW5nZWQsIDM2 IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL2Fy bS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfa21zLmMKaW5kZXggZDQ5NzcyZGU5M2UwLi43Y2YwZGM0 Y2JmYzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29t ZWRhX2ttcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRh X2ttcy5jCkBAIC0zMSw2ICszMSw3IEBAIHN0YXRpYyBpbnQga29tZWRhX2dlbV9jbWFfZHVtYl9j cmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlLAogCXUzMiBwaXRjaCA9IERJVl9ST1VORF9VUChh cmdzLT53aWR0aCAqIGFyZ3MtPmJwcCwgOCk7CiAKIAlhcmdzLT5waXRjaCA9IEFMSUdOKHBpdGNo LCBtZGV2LT5jaGlwLmJ1c193aWR0aCk7CisJYXJncy0+ZmxhZ3MgPSBEUk1fTU9ERV9EVU1CX0tF Uk5FTF9NQVA7CiAKIAlyZXR1cm4gZHJtX2dlbV9jbWFfZHVtYl9jcmVhdGVfaW50ZXJuYWwoZmls ZSwgZGV2LCBhcmdzKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRw X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfZHJ2LmMKaW5kZXggOGE3NjMxNWFh YTBmLi5hZWIxYTc3OWVjYzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRw X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2Rydi5jCkBAIC00NjUsNiAr NDY1LDcgQEAgc3RhdGljIGludCBtYWxpZHBfZHVtYl9jcmVhdGUoc3RydWN0IGRybV9maWxlICpm aWxlX3ByaXYsCiAJdTggYWxpZ25tZW50ID0gbWFsaWRwX2h3X2dldF9waXRjaF9hbGlnbihtYWxp ZHAtPmRldiwgMSk7CiAKIAlhcmdzLT5waXRjaCA9IEFMSUdOKERJVl9ST1VORF9VUChhcmdzLT53 aWR0aCAqIGFyZ3MtPmJwcCwgOCksIGFsaWdubWVudCk7CisJYXJncy0+ZmxhZ3MgPSBEUk1fTU9E RV9EVU1CX0tFUk5FTF9NQVA7CiAKIAlyZXR1cm4gZHJtX2dlbV9jbWFfZHVtYl9jcmVhdGVfaW50 ZXJuYWwoZmlsZV9wcml2LCBkcm0sIGFyZ3MpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2RybV9nZW1fY21hX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fY21hX2hl bHBlci5jCmluZGV4IDRjZWJmZTAxZTZlYS4uZjkxZTllOGFkZWFmIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2dlbV9jbWFfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9nZW1fY21hX2hlbHBlci5jCkBAIC03OCwyMSArNzgsOCBAQCBfX2RybV9nZW1fY21hX2NyZWF0 ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLCBzaXplX3Qgc2l6ZSkKIAlyZXR1cm4gRVJSX1BUUihy ZXQpOwogfQogCi0vKioKLSAqIGRybV9nZW1fY21hX2NyZWF0ZSAtIGFsbG9jYXRlIGFuIG9iamVj dCB3aXRoIHRoZSBnaXZlbiBzaXplCi0gKiBAZHJtOiBEUk0gZGV2aWNlCi0gKiBAc2l6ZTogc2l6 ZSBvZiB0aGUgb2JqZWN0IHRvIGFsbG9jYXRlCi0gKgotICogVGhpcyBmdW5jdGlvbiBjcmVhdGVz IGEgQ01BIEdFTSBvYmplY3QgYW5kIGFsbG9jYXRlcyBhIGNvbnRpZ3VvdXMgY2h1bmsgb2YKLSAq IG1lbW9yeSBhcyBiYWNraW5nIHN0b3JlLiBUaGUgYmFja2luZyBtZW1vcnkgaGFzIHRoZSB3cml0 ZWNvbWJpbmUgYXR0cmlidXRlCi0gKiBzZXQuCi0gKgotICogUmV0dXJuczoKLSAqIEEgc3RydWN0 IGRybV9nZW1fY21hX29iamVjdCAqIG9uIHN1Y2Nlc3Mgb3IgYW4gRVJSX1BUUigpLWVuY29kZWQg bmVnYXRpdmUKLSAqIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KLSAqLwotc3RydWN0IGRybV9nZW1f Y21hX29iamVjdCAqZHJtX2dlbV9jbWFfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCi0J CQkJCSAgICAgIHNpemVfdCBzaXplKQorc3RhdGljIHN0cnVjdCBkcm1fZ2VtX2NtYV9vYmplY3Qg KgorZHJtX2dlbV9jbWFfY3JlYXRlX2ZsYWdzKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHNpemVf dCBzaXplLCB1MzIgZmxhZ3MpCiB7CiAJc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqY21hX29i ajsKIAlpbnQgcmV0OwpAQCAtMTAzLDYgKzkwLDkgQEAgc3RydWN0IGRybV9nZW1fY21hX29iamVj dCAqZHJtX2dlbV9jbWFfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCiAJaWYgKElTX0VS UihjbWFfb2JqKSkKIAkJcmV0dXJuIGNtYV9vYmo7CiAKKwlpZiAoIShmbGFncyAmIERSTV9NT0RF X0RVTUJfS0VSTkVMX01BUCkpCisJCWNtYV9vYmotPmRtYV9hdHRycyB8PSBETUFfQVRUUl9OT19L RVJORUxfTUFQUElORzsKKwogCWNtYV9vYmotPnZhZGRyID0gZG1hX2FsbG9jX2F0dHJzKGRybS0+ ZGV2LCBzaXplLCAmY21hX29iai0+cGFkZHIsCiAJCQkJCSBHRlBfS0VSTkVMIHwgX19HRlBfTk9X QVJOLAogCQkJCQkgY21hX29iai0+ZG1hX2F0dHJzKTsKQEAgLTExOSw2ICsxMDksMjUgQEAgc3Ry dWN0IGRybV9nZW1fY21hX29iamVjdCAqZHJtX2dlbV9jbWFfY3JlYXRlKHN0cnVjdCBkcm1fZGV2 aWNlICpkcm0sCiAJZHJtX2dlbV9vYmplY3RfcHV0X3VubG9ja2VkKCZjbWFfb2JqLT5iYXNlKTsK IAlyZXR1cm4gRVJSX1BUUihyZXQpOwogfQorCisvKioKKyAqIGRybV9nZW1fY21hX2NyZWF0ZSAt IGFsbG9jYXRlIGFuIG9iamVjdCB3aXRoIHRoZSBnaXZlbiBzaXplCisgKiBAZHJtOiBEUk0gZGV2 aWNlCisgKiBAc2l6ZTogc2l6ZSBvZiB0aGUgb2JqZWN0IHRvIGFsbG9jYXRlCisgKgorICogVGhp cyBmdW5jdGlvbiBjcmVhdGVzIGEgQ01BIEdFTSBvYmplY3QgYW5kIGFsbG9jYXRlcyBhIGNvbnRp Z3VvdXMgY2h1bmsgb2YKKyAqIG1lbW9yeSBhcyBiYWNraW5nIHN0b3JlLiBUaGUgYmFja2luZyBt ZW1vcnkgaGFzIHRoZSB3cml0ZWNvbWJpbmUgYXR0cmlidXRlCisgKiBzZXQuCisgKgorICogUmV0 dXJuczoKKyAqIEEgc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqIG9uIHN1Y2Nlc3Mgb3IgYW4g RVJSX1BUUigpLWVuY29kZWQgbmVnYXRpdmUKKyAqIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KKyAq Lworc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqZHJtX2dlbV9jbWFfY3JlYXRlKHN0cnVjdCBk cm1fZGV2aWNlICpkcm0sCisJCQkJCSAgICAgIHNpemVfdCBzaXplKQoreworCXJldHVybiBkcm1f Z2VtX2NtYV9jcmVhdGVfZmxhZ3MoZHJtLCBzaXplLCBEUk1fTU9ERV9EVU1CX0tFUk5FTF9NQVAp OworfQogRVhQT1JUX1NZTUJPTF9HUEwoZHJtX2dlbV9jbWFfY3JlYXRlKTsKIAogLyoqCkBAIC0x MzksMTQgKzE0OCwxNCBAQCBFWFBPUlRfU1lNQk9MX0dQTChkcm1fZ2VtX2NtYV9jcmVhdGUpOwog ICovCiBzdGF0aWMgc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqCiBkcm1fZ2VtX2NtYV9jcmVh dGVfd2l0aF9oYW5kbGUoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsCi0JCQkgICAgICAgc3Ry dWN0IGRybV9kZXZpY2UgKmRybSwgc2l6ZV90IHNpemUsCisJCQkgICAgICAgc3RydWN0IGRybV9k ZXZpY2UgKmRybSwgc2l6ZV90IHNpemUsIHUzMiBmbGFncywKIAkJCSAgICAgICB1aW50MzJfdCAq aGFuZGxlKQogewogCXN0cnVjdCBkcm1fZ2VtX2NtYV9vYmplY3QgKmNtYV9vYmo7CiAJc3RydWN0 IGRybV9nZW1fb2JqZWN0ICpnZW1fb2JqOwogCWludCByZXQ7CiAKLQljbWFfb2JqID0gZHJtX2dl bV9jbWFfY3JlYXRlKGRybSwgc2l6ZSk7CisJY21hX29iaiA9IGRybV9nZW1fY21hX2NyZWF0ZV9m bGFncyhkcm0sIHNpemUsIGZsYWdzKTsKIAlpZiAoSVNfRVJSKGNtYV9vYmopKQogCQlyZXR1cm4g Y21hX29iajsKIApAQCAtMjI1LDcgKzIzNCw3IEBAIGludCBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0 ZV9pbnRlcm5hbChzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKIAkJYXJncy0+c2l6ZSA9IGFy Z3MtPnBpdGNoICogYXJncy0+aGVpZ2h0OwogCiAJY21hX29iaiA9IGRybV9nZW1fY21hX2NyZWF0 ZV93aXRoX2hhbmRsZShmaWxlX3ByaXYsIGRybSwgYXJncy0+c2l6ZSwKLQkJCQkJCSAmYXJncy0+ aGFuZGxlKTsKKwkJCQkJCSBhcmdzLT5mbGFncywgJmFyZ3MtPmhhbmRsZSk7CiAJcmV0dXJuIFBU Ul9FUlJfT1JfWkVSTyhjbWFfb2JqKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGRybV9nZW1fY21h X2R1bWJfY3JlYXRlX2ludGVybmFsKTsKQEAgLTI1Niw5ICsyNjUsMTAgQEAgaW50IGRybV9nZW1f Y21hX2R1bWJfY3JlYXRlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LAogCiAJYXJncy0+cGl0 Y2ggPSBESVZfUk9VTkRfVVAoYXJncy0+d2lkdGggKiBhcmdzLT5icHAsIDgpOwogCWFyZ3MtPnNp emUgPSBhcmdzLT5waXRjaCAqIGFyZ3MtPmhlaWdodDsKKwlhcmdzLT5mbGFncyA9IERSTV9NT0RF X0RVTUJfS0VSTkVMX01BUDsKIAogCWNtYV9vYmogPSBkcm1fZ2VtX2NtYV9jcmVhdGVfd2l0aF9o YW5kbGUoZmlsZV9wcml2LCBkcm0sIGFyZ3MtPnNpemUsCi0JCQkJCQkgJmFyZ3MtPmhhbmRsZSk7 CisJCQkJCQkgYXJncy0+ZmxhZ3MsICZhcmdzLT5oYW5kbGUpOwogCXJldHVybiBQVFJfRVJSX09S X1pFUk8oY21hX29iaik7CiB9CiBFWFBPUlRfU1lNQk9MX0dQTChkcm1fZ2VtX2NtYV9kdW1iX2Ny ZWF0ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMgYi9k cml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMKaW5kZXggMzk3YzMzMTgyZjRmLi4xNTkz NTE4ZGNiZTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9kcnYuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMKQEAgLTgxLDYgKzgxLDcgQEAg c3RhdGljIGludCBtZXNvbl9kdW1iX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsIHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCiAJICovCiAJYXJncy0+cGl0Y2ggPSBBTElHTihESVZfUk9VTkRf VVAoYXJncy0+d2lkdGggKiBhcmdzLT5icHAsIDgpLCBTWl82NCk7CiAJYXJncy0+c2l6ZSA9IFBB R0VfQUxJR04oYXJncy0+cGl0Y2ggKiBhcmdzLT5oZWlnaHQpOworCWFyZ3MtPmZsYWdzID0gRFJN X01PREVfRFVNQl9LRVJORUxfTUFQOwogCiAJcmV0dXJuIGRybV9nZW1fY21hX2R1bWJfY3JlYXRl X2ludGVybmFsKGZpbGUsIGRldiwgYXJncyk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcmNhci1kdS9yY2FyX2R1X2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9k dV9rbXMuYwppbmRleCAyZGM5Y2FlZTg3NjcuLmM5YjFmMjk4Y2U3ZSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9rbXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v cmNhci1kdS9yY2FyX2R1X2ttcy5jCkBAIC0yOTksNiArMjk5LDcgQEAgaW50IHJjYXJfZHVfZHVt Yl9jcmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAog CQlhbGlnbiA9IDE2ICogYXJncy0+YnBwIC8gODsKIAogCWFyZ3MtPnBpdGNoID0gcm91bmR1cCht aW5fcGl0Y2gsIGFsaWduKTsKKwlhcmdzLT5mbGFncyA9IERSTV9NT0RFX0RVTUJfS0VSTkVMX01B UDsKIAogCXJldHVybiBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0ZV9pbnRlcm5hbChmaWxlLCBkZXYs IGFyZ3MpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlw X2RybV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZ2VtLmMK aW5kZXggNzU4MmQwZTZhNjBhLi5mMDliOWEwMzUzNzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Jv Y2tjaGlwL3JvY2tjaGlwX2RybV9nZW0uYwpAQCAtNDE5LDYgKzQxOSw3IEBAIGludCByb2NrY2hp cF9nZW1fZHVtYl9jcmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsCiAJICogYWxpZ24g dG8gNjQgYnl0ZXMgc2luY2UgTWFsaSByZXF1aXJlcyBpdC4KIAkgKi8KIAlhcmdzLT5waXRjaCA9 IEFMSUdOKG1pbl9waXRjaCwgNjQpOworCWFyZ3MtPmZsYWdzID0gRFJNX01PREVfRFVNQl9LRVJO RUxfTUFQOwogCWFyZ3MtPnNpemUgPSBhcmdzLT5waXRjaCAqIGFyZ3MtPmhlaWdodDsKIAogCXJr X29iaiA9IHJvY2tjaGlwX2dlbV9jcmVhdGVfd2l0aF9oYW5kbGUoZmlsZV9wcml2LCBkZXYsIGFy Z3MtPnNpemUsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RtL2Rydi5jIGIvZHJpdmVy cy9ncHUvZHJtL3N0bS9kcnYuYwppbmRleCA1YTlmOWFjYThiYzIuLjBmNzZhNGFjOTViMyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0bS9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v c3RtL2Rydi5jCkBAIC00Nyw2ICs0Nyw3IEBAIHN0YXRpYyBpbnQgc3RtX2dlbV9jbWFfZHVtYl9j cmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlLAogCSAqLwogCWFyZ3MtPnBpdGNoID0gcm91bmR1 cChtaW5fcGl0Y2gsIDEyOCk7CiAJYXJncy0+aGVpZ2h0ID0gcm91bmR1cChhcmdzLT5oZWlnaHQs IDQpOworCWFyZ3MtPmZsYWdzID0gRFJNX01PREVfRFVNQl9LRVJORUxfTUFQOwogCiAJcmV0dXJu IGRybV9nZW1fY21hX2R1bWJfY3JlYXRlX2ludGVybmFsKGZpbGUsIGRldiwgYXJncyk7CiB9CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfZHJ2LmMgYi9kcml2ZXJzL2dw dS9kcm0vc3VuNGkvc3VuNGlfZHJ2LmMKaW5kZXggYTU3NTdiMTFiNzMwLi5mNjUzYTVkMWUyZDYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9kcnYuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfZHJ2LmMKQEAgLTM0LDYgKzM0LDcgQEAgc3RhdGljIGlu dCBkcm1fc3VuNGlfZ2VtX2R1bWJfY3JlYXRlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LAog ewogCS8qIFRoZSBoYXJkd2FyZSBvbmx5IGFsbG93cyBldmVuIHBpdGNoZXMgZm9yIFlVViBidWZm ZXJzLiAqLwogCWFyZ3MtPnBpdGNoID0gQUxJR04oRElWX1JPVU5EX1VQKGFyZ3MtPndpZHRoICog YXJncy0+YnBwLCA4KSwgMik7CisJYXJncy0+ZmxhZ3MgPSBEUk1fTU9ERV9EVU1CX0tFUk5FTF9N QVA7CiAKIAlyZXR1cm4gZHJtX2dlbV9jbWFfZHVtYl9jcmVhdGVfaW50ZXJuYWwoZmlsZV9wcml2 LCBkcm0sIGFyZ3MpOwogfQotLSAKMi4yMC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KbGludXgtYW1sb2dpYyBtYWlsaW5nIGxpc3QKbGludXgtYW1s b2dpY0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxt YW4vbGlzdGluZm8vbGludXgtYW1sb2dpYwo= 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=-10.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS,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 2C3D1CA9EAF for ; Mon, 21 Oct 2019 21:48:03 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 E380920659 for ; Mon, 21 Oct 2019 21:48:02 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="amTv1+0d" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E380920659 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=1grdORgba+yxxlwoKabpmys72n+Smfr//0HsHpxNwJ4=; b=amTv1+0dpE6ZWa RbHdZ/aOcNjpUR9PU0IWE7mznNZQq+xgyjGMflY+pa5FBURwtOi+sj6TePtwmF0zfAZfHwfE6rdvi kAYgmrKFQDPdwjjpbGezq9JitnmvZ4mZ8lsjS3nFDviDILqDg0AKf7tka78q1hUGYmgXc4yxNMWw2 5WMf2dY1TEB0/D4jUdze/rhO89nbnaFGdS9i6tMzZ6GdAZL7D3T21IORKSGH1548yZIMScruiJKFe cUZYU1HQ1qLHvXEtzs+3p46xMDX4DC+KpfRxcdItdA5kvAZyOMEjN4igaaL+BMkHSPmMLEQ75K28i hoVsznmD3ojYCHL5dwXQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iMfX0-0002Pk-6K; Mon, 21 Oct 2019 21:48:02 +0000 Received: from mail-ot1-f66.google.com ([209.85.210.66]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iMfV4-0000HV-Fv; Mon, 21 Oct 2019 21:46:05 +0000 Received: by mail-ot1-f66.google.com with SMTP id c7so1602260otm.3; Mon, 21 Oct 2019 14:46:02 -0700 (PDT) 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=v85itWVb55sjk1S2/4vfjQdYVBkEeNhYbZwroc8bhoE=; b=uIEiTwG4Q7c59PocTtnhRKONA17NdISaISmR4179+Wi9ccqDlA6WdiQ9zMPmqBCpk0 +OLNgwHPEfHtPAQnySzuZ/Fds7nj0vWGX1OzSSU9hznoGtbnHUVC7t2iDHVFPkBttbB9 aW8Dgp5ukxmLE7Mm8Q4CYT0VjM87KuoiDocbx1SmqOXBfZMEXKY1tlJIRcSLEDzKGaA9 Jvyd0VQlr5bX8NY3yKiVLi2JWDC4IGpaR6ZTr61AHjHNfK5A07LKhlPwP9VpCztLatl4 pImO25MdHYPU7ZSdTGSMRHqte/zEGFyUaCiqoJdt+DX35CgjGAjCiIbFokztYSoWQBwg uzhA== X-Gm-Message-State: APjAAAUs9xaumcqxBTZWSUDSQViMgOg4TtHn7Wn8r0weIEIQYCDWQ8LT w7QEitRNDtI9OCw+CqDRLA== X-Google-Smtp-Source: APXvYqzkNxCqlFqsK5HBa4boCVhpMxwfWAj66hdD/5mch5qmynl4RhUugcgkNWf4J602suw2X3Zo7Q== X-Received: by 2002:a9d:5c0e:: with SMTP id o14mr57383otk.79.1571694361346; Mon, 21 Oct 2019 14:46:01 -0700 (PDT) Received: from xps15.herring.priv (24-155-109-49.dyn.grandenetworks.net. [24.155.109.49]) by smtp.googlemail.com with ESMTPSA id u130sm4122676oib.56.2019.10.21.14.45.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Oct 2019 14:46:00 -0700 (PDT) From: Rob Herring To: dri-devel@lists.freedesktop.org Subject: [PATCH 4/6] drm/cma-helper: Support DRM_MODE_DUMB_KERNEL_MAP flag Date: Mon, 21 Oct 2019 16:45:48 -0500 Message-Id: <20191021214550.1461-5-robh@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191021214550.1461-1-robh@kernel.org> References: <20191021214550.1461-1-robh@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191021_144602_850663_3BC32AC6 X-CRM114-Status: GOOD ( 16.72 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Heiko=20St=C3=BCbner?= , Neil Armstrong , David Airlie , Liviu Dudau , Sandy Huang , Laurent Pinchart , Benjamin Gaignard , linux-amlogic@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com, Yannick Fertre , Kevin Hilman , Xinwei Kong , Xinliang Liu , linux-rockchip@lists.infradead.org, Chen-Yu Tsai , =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= , "James \(Qian\) Wang" , CK Hu , Philipp Zabel , Alexandre Torgue , Chen Feng , Maarten Lankhorst , linux-renesas-soc@vger.kernel.org, Maxime Ripard , linux-mediatek@lists.infradead.org, Matthias Brugger , Daniel Vetter , Sean Paul , linux-arm-kernel@lists.infradead.org, Philippe Cornu , Vincent Abriou , Kieran Bingham , Maxime Coquelin , Rongrong Zou , Brian Starkey Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org QWRkIHN1cHBvcnQgaW4gQ01BIGhlbHBlcnMgdG8gaGFuZGxlIGNhbGxlcnMgc3BlY2lmeWluZwpE Uk1fTU9ERV9EVU1CX0tFUk5FTF9NQVAgZmxhZy4gRXhpc3RpbmcgYmVoYXZpb3IgaXMgbWFpbnRh aW5lZCB3aXRoIHRoaXMKY2hhbmdlLiBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0ZSgpIGFsd2F5cyBj cmVhdGVzIGEga2VybmVsIG1hcHBpbmcgYXMKYmVmb3JlLiBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0 ZV9pbnRlcm5hbCgpIGxldHMgdGhlIGNhbGxlciBzZXQgdGhlIGZsYWdzCmFzIGRlc2lyZWQuIFRo ZXJlZm9yZSwgdXBkYXRlIGFsbCB0aGUgZXhpc3RpbmcgY2FsbGVycyBvZgpkcm1fZ2VtX2NtYV9k dW1iX2NyZWF0ZV9pbnRlcm5hbCgpIHRvIGFsc28gc2V0IHRoZQpEUk1fTU9ERV9EVU1CX0tFUk5F TF9NQVAgZmxhZy4KCkNjOiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGlu dXguaW50ZWwuY29tPgpDYzogTWF4aW1lIFJpcGFyZCA8bXJpcGFyZEBrZXJuZWwub3JnPgpDYzog U2VhbiBQYXVsIDxzZWFuQHBvb3JseS5ydW4+CkNjOiBEYXZpZCBBaXJsaWUgPGFpcmxpZWRAbGlu dXguaWU+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+CkNjOiAiSmFtZXMgKFFp YW4pIFdhbmciIDxqYW1lcy5xaWFuLndhbmdAYXJtLmNvbT4KQ2M6IExpdml1IER1ZGF1IDxsaXZp dS5kdWRhdUBhcm0uY29tPgpDYzogQnJpYW4gU3RhcmtleSA8YnJpYW4uc3RhcmtleUBhcm0uY29t PgpDYzogTmVpbCBBcm1zdHJvbmcgPG5hcm1zdHJvbmdAYmF5bGlicmUuY29tPgpDYzogS2V2aW4g SGlsbWFuIDxraGlsbWFuQGJheWxpYnJlLmNvbT4KQ2M6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJl bnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KQ2M6IEtpZXJhbiBCaW5naGFtIDxraWVyYW4u YmluZ2hhbStyZW5lc2FzQGlkZWFzb25ib2FyZC5jb20+CkNjOiBTYW5keSBIdWFuZyA8aGpjQHJv Y2stY2hpcHMuY29tPgpDYzogIkhlaWtvIFN0w7xibmVyIiA8aGVpa29Ac250ZWNoLmRlPgpDYzog WWFubmljayBGZXJ0cmUgPHlhbm5pY2suZmVydHJlQHN0LmNvbT4KQ2M6IFBoaWxpcHBlIENvcm51 IDxwaGlsaXBwZS5jb3JudUBzdC5jb20+CkNjOiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4u Z2FpZ25hcmRAbGluYXJvLm9yZz4KQ2M6IFZpbmNlbnQgQWJyaW91IDx2aW5jZW50LmFicmlvdUBz dC5jb20+CkNjOiBNYXhpbWUgQ29xdWVsaW4gPG1jb3F1ZWxpbi5zdG0zMkBnbWFpbC5jb20+CkNj OiBBbGV4YW5kcmUgVG9yZ3VlIDxhbGV4YW5kcmUudG9yZ3VlQHN0LmNvbT4KQ2M6IENoZW4tWXUg VHNhaSA8d2Vuc0Bjc2llLm9yZz4KQ2M6IGxpbnV4LWFtbG9naWNAbGlzdHMuaW5mcmFkZWFkLm9y ZwpDYzogbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCkNjOiBsaW51eC1yZW5l c2FzLXNvY0B2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LXJvY2tjaGlwQGxpc3RzLmluZnJhZGVh ZC5vcmcKQ2M6IGxpbnV4LXN0bTMyQHN0LW1kLW1haWxtYW4uc3Rvcm1yZXBseS5jb20KU2lnbmVk LW9mZi1ieTogUm9iIEhlcnJpbmcgPHJvYmhAa2VybmVsLm9yZz4KLS0tCiAuLi4vZ3B1L2RybS9h cm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5jICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0v YXJtL21hbGlkcF9kcnYuYyAgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vZHJt X2dlbV9jbWFfaGVscGVyLmMgICAgICAgICAgfCA0OCArKysrKysrKysrKy0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJz L2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2ttcy5jICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2dlbS5jICAgfCAgMSArCiBkcml2ZXJzL2dwdS9k cm0vc3RtL2Rydi5jICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0v c3VuNGkvc3VuNGlfZHJ2LmMgICAgICAgICAgICAgfCAgMSArCiA4IGZpbGVzIGNoYW5nZWQsIDM2 IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL2Fy bS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfa21zLmMKaW5kZXggZDQ5NzcyZGU5M2UwLi43Y2YwZGM0 Y2JmYzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29t ZWRhX2ttcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRh X2ttcy5jCkBAIC0zMSw2ICszMSw3IEBAIHN0YXRpYyBpbnQga29tZWRhX2dlbV9jbWFfZHVtYl9j cmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlLAogCXUzMiBwaXRjaCA9IERJVl9ST1VORF9VUChh cmdzLT53aWR0aCAqIGFyZ3MtPmJwcCwgOCk7CiAKIAlhcmdzLT5waXRjaCA9IEFMSUdOKHBpdGNo LCBtZGV2LT5jaGlwLmJ1c193aWR0aCk7CisJYXJncy0+ZmxhZ3MgPSBEUk1fTU9ERV9EVU1CX0tF Uk5FTF9NQVA7CiAKIAlyZXR1cm4gZHJtX2dlbV9jbWFfZHVtYl9jcmVhdGVfaW50ZXJuYWwoZmls ZSwgZGV2LCBhcmdzKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRw X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfZHJ2LmMKaW5kZXggOGE3NjMxNWFh YTBmLi5hZWIxYTc3OWVjYzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRw X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2Rydi5jCkBAIC00NjUsNiAr NDY1LDcgQEAgc3RhdGljIGludCBtYWxpZHBfZHVtYl9jcmVhdGUoc3RydWN0IGRybV9maWxlICpm aWxlX3ByaXYsCiAJdTggYWxpZ25tZW50ID0gbWFsaWRwX2h3X2dldF9waXRjaF9hbGlnbihtYWxp ZHAtPmRldiwgMSk7CiAKIAlhcmdzLT5waXRjaCA9IEFMSUdOKERJVl9ST1VORF9VUChhcmdzLT53 aWR0aCAqIGFyZ3MtPmJwcCwgOCksIGFsaWdubWVudCk7CisJYXJncy0+ZmxhZ3MgPSBEUk1fTU9E RV9EVU1CX0tFUk5FTF9NQVA7CiAKIAlyZXR1cm4gZHJtX2dlbV9jbWFfZHVtYl9jcmVhdGVfaW50 ZXJuYWwoZmlsZV9wcml2LCBkcm0sIGFyZ3MpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2RybV9nZW1fY21hX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fY21hX2hl bHBlci5jCmluZGV4IDRjZWJmZTAxZTZlYS4uZjkxZTllOGFkZWFmIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2dlbV9jbWFfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9nZW1fY21hX2hlbHBlci5jCkBAIC03OCwyMSArNzgsOCBAQCBfX2RybV9nZW1fY21hX2NyZWF0 ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLCBzaXplX3Qgc2l6ZSkKIAlyZXR1cm4gRVJSX1BUUihy ZXQpOwogfQogCi0vKioKLSAqIGRybV9nZW1fY21hX2NyZWF0ZSAtIGFsbG9jYXRlIGFuIG9iamVj dCB3aXRoIHRoZSBnaXZlbiBzaXplCi0gKiBAZHJtOiBEUk0gZGV2aWNlCi0gKiBAc2l6ZTogc2l6 ZSBvZiB0aGUgb2JqZWN0IHRvIGFsbG9jYXRlCi0gKgotICogVGhpcyBmdW5jdGlvbiBjcmVhdGVz IGEgQ01BIEdFTSBvYmplY3QgYW5kIGFsbG9jYXRlcyBhIGNvbnRpZ3VvdXMgY2h1bmsgb2YKLSAq IG1lbW9yeSBhcyBiYWNraW5nIHN0b3JlLiBUaGUgYmFja2luZyBtZW1vcnkgaGFzIHRoZSB3cml0 ZWNvbWJpbmUgYXR0cmlidXRlCi0gKiBzZXQuCi0gKgotICogUmV0dXJuczoKLSAqIEEgc3RydWN0 IGRybV9nZW1fY21hX29iamVjdCAqIG9uIHN1Y2Nlc3Mgb3IgYW4gRVJSX1BUUigpLWVuY29kZWQg bmVnYXRpdmUKLSAqIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KLSAqLwotc3RydWN0IGRybV9nZW1f Y21hX29iamVjdCAqZHJtX2dlbV9jbWFfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCi0J CQkJCSAgICAgIHNpemVfdCBzaXplKQorc3RhdGljIHN0cnVjdCBkcm1fZ2VtX2NtYV9vYmplY3Qg KgorZHJtX2dlbV9jbWFfY3JlYXRlX2ZsYWdzKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHNpemVf dCBzaXplLCB1MzIgZmxhZ3MpCiB7CiAJc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqY21hX29i ajsKIAlpbnQgcmV0OwpAQCAtMTAzLDYgKzkwLDkgQEAgc3RydWN0IGRybV9nZW1fY21hX29iamVj dCAqZHJtX2dlbV9jbWFfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCiAJaWYgKElTX0VS UihjbWFfb2JqKSkKIAkJcmV0dXJuIGNtYV9vYmo7CiAKKwlpZiAoIShmbGFncyAmIERSTV9NT0RF X0RVTUJfS0VSTkVMX01BUCkpCisJCWNtYV9vYmotPmRtYV9hdHRycyB8PSBETUFfQVRUUl9OT19L RVJORUxfTUFQUElORzsKKwogCWNtYV9vYmotPnZhZGRyID0gZG1hX2FsbG9jX2F0dHJzKGRybS0+ ZGV2LCBzaXplLCAmY21hX29iai0+cGFkZHIsCiAJCQkJCSBHRlBfS0VSTkVMIHwgX19HRlBfTk9X QVJOLAogCQkJCQkgY21hX29iai0+ZG1hX2F0dHJzKTsKQEAgLTExOSw2ICsxMDksMjUgQEAgc3Ry dWN0IGRybV9nZW1fY21hX29iamVjdCAqZHJtX2dlbV9jbWFfY3JlYXRlKHN0cnVjdCBkcm1fZGV2 aWNlICpkcm0sCiAJZHJtX2dlbV9vYmplY3RfcHV0X3VubG9ja2VkKCZjbWFfb2JqLT5iYXNlKTsK IAlyZXR1cm4gRVJSX1BUUihyZXQpOwogfQorCisvKioKKyAqIGRybV9nZW1fY21hX2NyZWF0ZSAt IGFsbG9jYXRlIGFuIG9iamVjdCB3aXRoIHRoZSBnaXZlbiBzaXplCisgKiBAZHJtOiBEUk0gZGV2 aWNlCisgKiBAc2l6ZTogc2l6ZSBvZiB0aGUgb2JqZWN0IHRvIGFsbG9jYXRlCisgKgorICogVGhp cyBmdW5jdGlvbiBjcmVhdGVzIGEgQ01BIEdFTSBvYmplY3QgYW5kIGFsbG9jYXRlcyBhIGNvbnRp Z3VvdXMgY2h1bmsgb2YKKyAqIG1lbW9yeSBhcyBiYWNraW5nIHN0b3JlLiBUaGUgYmFja2luZyBt ZW1vcnkgaGFzIHRoZSB3cml0ZWNvbWJpbmUgYXR0cmlidXRlCisgKiBzZXQuCisgKgorICogUmV0 dXJuczoKKyAqIEEgc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqIG9uIHN1Y2Nlc3Mgb3IgYW4g RVJSX1BUUigpLWVuY29kZWQgbmVnYXRpdmUKKyAqIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KKyAq Lworc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqZHJtX2dlbV9jbWFfY3JlYXRlKHN0cnVjdCBk cm1fZGV2aWNlICpkcm0sCisJCQkJCSAgICAgIHNpemVfdCBzaXplKQoreworCXJldHVybiBkcm1f Z2VtX2NtYV9jcmVhdGVfZmxhZ3MoZHJtLCBzaXplLCBEUk1fTU9ERV9EVU1CX0tFUk5FTF9NQVAp OworfQogRVhQT1JUX1NZTUJPTF9HUEwoZHJtX2dlbV9jbWFfY3JlYXRlKTsKIAogLyoqCkBAIC0x MzksMTQgKzE0OCwxNCBAQCBFWFBPUlRfU1lNQk9MX0dQTChkcm1fZ2VtX2NtYV9jcmVhdGUpOwog ICovCiBzdGF0aWMgc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqCiBkcm1fZ2VtX2NtYV9jcmVh dGVfd2l0aF9oYW5kbGUoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsCi0JCQkgICAgICAgc3Ry dWN0IGRybV9kZXZpY2UgKmRybSwgc2l6ZV90IHNpemUsCisJCQkgICAgICAgc3RydWN0IGRybV9k ZXZpY2UgKmRybSwgc2l6ZV90IHNpemUsIHUzMiBmbGFncywKIAkJCSAgICAgICB1aW50MzJfdCAq aGFuZGxlKQogewogCXN0cnVjdCBkcm1fZ2VtX2NtYV9vYmplY3QgKmNtYV9vYmo7CiAJc3RydWN0 IGRybV9nZW1fb2JqZWN0ICpnZW1fb2JqOwogCWludCByZXQ7CiAKLQljbWFfb2JqID0gZHJtX2dl bV9jbWFfY3JlYXRlKGRybSwgc2l6ZSk7CisJY21hX29iaiA9IGRybV9nZW1fY21hX2NyZWF0ZV9m bGFncyhkcm0sIHNpemUsIGZsYWdzKTsKIAlpZiAoSVNfRVJSKGNtYV9vYmopKQogCQlyZXR1cm4g Y21hX29iajsKIApAQCAtMjI1LDcgKzIzNCw3IEBAIGludCBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0 ZV9pbnRlcm5hbChzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKIAkJYXJncy0+c2l6ZSA9IGFy Z3MtPnBpdGNoICogYXJncy0+aGVpZ2h0OwogCiAJY21hX29iaiA9IGRybV9nZW1fY21hX2NyZWF0 ZV93aXRoX2hhbmRsZShmaWxlX3ByaXYsIGRybSwgYXJncy0+c2l6ZSwKLQkJCQkJCSAmYXJncy0+ aGFuZGxlKTsKKwkJCQkJCSBhcmdzLT5mbGFncywgJmFyZ3MtPmhhbmRsZSk7CiAJcmV0dXJuIFBU Ul9FUlJfT1JfWkVSTyhjbWFfb2JqKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGRybV9nZW1fY21h X2R1bWJfY3JlYXRlX2ludGVybmFsKTsKQEAgLTI1Niw5ICsyNjUsMTAgQEAgaW50IGRybV9nZW1f Y21hX2R1bWJfY3JlYXRlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LAogCiAJYXJncy0+cGl0 Y2ggPSBESVZfUk9VTkRfVVAoYXJncy0+d2lkdGggKiBhcmdzLT5icHAsIDgpOwogCWFyZ3MtPnNp emUgPSBhcmdzLT5waXRjaCAqIGFyZ3MtPmhlaWdodDsKKwlhcmdzLT5mbGFncyA9IERSTV9NT0RF X0RVTUJfS0VSTkVMX01BUDsKIAogCWNtYV9vYmogPSBkcm1fZ2VtX2NtYV9jcmVhdGVfd2l0aF9o YW5kbGUoZmlsZV9wcml2LCBkcm0sIGFyZ3MtPnNpemUsCi0JCQkJCQkgJmFyZ3MtPmhhbmRsZSk7 CisJCQkJCQkgYXJncy0+ZmxhZ3MsICZhcmdzLT5oYW5kbGUpOwogCXJldHVybiBQVFJfRVJSX09S X1pFUk8oY21hX29iaik7CiB9CiBFWFBPUlRfU1lNQk9MX0dQTChkcm1fZ2VtX2NtYV9kdW1iX2Ny ZWF0ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMgYi9k cml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMKaW5kZXggMzk3YzMzMTgyZjRmLi4xNTkz NTE4ZGNiZTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9kcnYuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMKQEAgLTgxLDYgKzgxLDcgQEAg c3RhdGljIGludCBtZXNvbl9kdW1iX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsIHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCiAJICovCiAJYXJncy0+cGl0Y2ggPSBBTElHTihESVZfUk9VTkRf VVAoYXJncy0+d2lkdGggKiBhcmdzLT5icHAsIDgpLCBTWl82NCk7CiAJYXJncy0+c2l6ZSA9IFBB R0VfQUxJR04oYXJncy0+cGl0Y2ggKiBhcmdzLT5oZWlnaHQpOworCWFyZ3MtPmZsYWdzID0gRFJN X01PREVfRFVNQl9LRVJORUxfTUFQOwogCiAJcmV0dXJuIGRybV9nZW1fY21hX2R1bWJfY3JlYXRl X2ludGVybmFsKGZpbGUsIGRldiwgYXJncyk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcmNhci1kdS9yY2FyX2R1X2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9k dV9rbXMuYwppbmRleCAyZGM5Y2FlZTg3NjcuLmM5YjFmMjk4Y2U3ZSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9rbXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v cmNhci1kdS9yY2FyX2R1X2ttcy5jCkBAIC0yOTksNiArMjk5LDcgQEAgaW50IHJjYXJfZHVfZHVt Yl9jcmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAog CQlhbGlnbiA9IDE2ICogYXJncy0+YnBwIC8gODsKIAogCWFyZ3MtPnBpdGNoID0gcm91bmR1cCht aW5fcGl0Y2gsIGFsaWduKTsKKwlhcmdzLT5mbGFncyA9IERSTV9NT0RFX0RVTUJfS0VSTkVMX01B UDsKIAogCXJldHVybiBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0ZV9pbnRlcm5hbChmaWxlLCBkZXYs IGFyZ3MpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlw X2RybV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZ2VtLmMK aW5kZXggNzU4MmQwZTZhNjBhLi5mMDliOWEwMzUzNzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Jv Y2tjaGlwL3JvY2tjaGlwX2RybV9nZW0uYwpAQCAtNDE5LDYgKzQxOSw3IEBAIGludCByb2NrY2hp cF9nZW1fZHVtYl9jcmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsCiAJICogYWxpZ24g dG8gNjQgYnl0ZXMgc2luY2UgTWFsaSByZXF1aXJlcyBpdC4KIAkgKi8KIAlhcmdzLT5waXRjaCA9 IEFMSUdOKG1pbl9waXRjaCwgNjQpOworCWFyZ3MtPmZsYWdzID0gRFJNX01PREVfRFVNQl9LRVJO RUxfTUFQOwogCWFyZ3MtPnNpemUgPSBhcmdzLT5waXRjaCAqIGFyZ3MtPmhlaWdodDsKIAogCXJr X29iaiA9IHJvY2tjaGlwX2dlbV9jcmVhdGVfd2l0aF9oYW5kbGUoZmlsZV9wcml2LCBkZXYsIGFy Z3MtPnNpemUsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RtL2Rydi5jIGIvZHJpdmVy cy9ncHUvZHJtL3N0bS9kcnYuYwppbmRleCA1YTlmOWFjYThiYzIuLjBmNzZhNGFjOTViMyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0bS9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v c3RtL2Rydi5jCkBAIC00Nyw2ICs0Nyw3IEBAIHN0YXRpYyBpbnQgc3RtX2dlbV9jbWFfZHVtYl9j cmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlLAogCSAqLwogCWFyZ3MtPnBpdGNoID0gcm91bmR1 cChtaW5fcGl0Y2gsIDEyOCk7CiAJYXJncy0+aGVpZ2h0ID0gcm91bmR1cChhcmdzLT5oZWlnaHQs IDQpOworCWFyZ3MtPmZsYWdzID0gRFJNX01PREVfRFVNQl9LRVJORUxfTUFQOwogCiAJcmV0dXJu IGRybV9nZW1fY21hX2R1bWJfY3JlYXRlX2ludGVybmFsKGZpbGUsIGRldiwgYXJncyk7CiB9CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfZHJ2LmMgYi9kcml2ZXJzL2dw dS9kcm0vc3VuNGkvc3VuNGlfZHJ2LmMKaW5kZXggYTU3NTdiMTFiNzMwLi5mNjUzYTVkMWUyZDYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9kcnYuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfZHJ2LmMKQEAgLTM0LDYgKzM0LDcgQEAgc3RhdGljIGlu dCBkcm1fc3VuNGlfZ2VtX2R1bWJfY3JlYXRlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LAog ewogCS8qIFRoZSBoYXJkd2FyZSBvbmx5IGFsbG93cyBldmVuIHBpdGNoZXMgZm9yIFlVViBidWZm ZXJzLiAqLwogCWFyZ3MtPnBpdGNoID0gQUxJR04oRElWX1JPVU5EX1VQKGFyZ3MtPndpZHRoICog YXJncy0+YnBwLCA4KSwgMik7CisJYXJncy0+ZmxhZ3MgPSBEUk1fTU9ERV9EVU1CX0tFUk5FTF9N QVA7CiAKIAlyZXR1cm4gZHJtX2dlbV9jbWFfZHVtYl9jcmVhdGVfaW50ZXJuYWwoZmlsZV9wcml2 LCBkcm0sIGFyZ3MpOwogfQotLSAKMi4yMC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KTGludXgtbWVkaWF0ZWsgbWFpbGluZyBsaXN0CkxpbnV4LW1l ZGlhdGVrQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1tZWRpYXRlawo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Herring Subject: [PATCH 4/6] drm/cma-helper: Support DRM_MODE_DUMB_KERNEL_MAP flag Date: Mon, 21 Oct 2019 16:45:48 -0500 Message-ID: <20191021214550.1461-5-robh@kernel.org> References: <20191021214550.1461-1-robh@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20191021214550.1461-1-robh@kernel.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Neil Armstrong , David Airlie , Liviu Dudau , Laurent Pinchart , linux-amlogic@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com, Yannick Fertre , Kevin Hilman , Xinwei Kong , Xinliang Liu , linux-rockchip@lists.infradead.org, Chen-Yu Tsai , Kieran Bingham , "James (Qian) Wang" , Alexandre Torgue , Chen Feng , linux-renesas-soc@vger.kernel.org, linux-mediatek@lists.infradead.org, Matthias Brugger , Sean Paul , linux-arm-kernel@lists.infradead.org, Philippe Cornu List-Id: linux-rockchip.vger.kernel.org QWRkIHN1cHBvcnQgaW4gQ01BIGhlbHBlcnMgdG8gaGFuZGxlIGNhbGxlcnMgc3BlY2lmeWluZwpE Uk1fTU9ERV9EVU1CX0tFUk5FTF9NQVAgZmxhZy4gRXhpc3RpbmcgYmVoYXZpb3IgaXMgbWFpbnRh aW5lZCB3aXRoIHRoaXMKY2hhbmdlLiBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0ZSgpIGFsd2F5cyBj cmVhdGVzIGEga2VybmVsIG1hcHBpbmcgYXMKYmVmb3JlLiBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0 ZV9pbnRlcm5hbCgpIGxldHMgdGhlIGNhbGxlciBzZXQgdGhlIGZsYWdzCmFzIGRlc2lyZWQuIFRo ZXJlZm9yZSwgdXBkYXRlIGFsbCB0aGUgZXhpc3RpbmcgY2FsbGVycyBvZgpkcm1fZ2VtX2NtYV9k dW1iX2NyZWF0ZV9pbnRlcm5hbCgpIHRvIGFsc28gc2V0IHRoZQpEUk1fTU9ERV9EVU1CX0tFUk5F TF9NQVAgZmxhZy4KCkNjOiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGlu dXguaW50ZWwuY29tPgpDYzogTWF4aW1lIFJpcGFyZCA8bXJpcGFyZEBrZXJuZWwub3JnPgpDYzog U2VhbiBQYXVsIDxzZWFuQHBvb3JseS5ydW4+CkNjOiBEYXZpZCBBaXJsaWUgPGFpcmxpZWRAbGlu dXguaWU+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+CkNjOiAiSmFtZXMgKFFp YW4pIFdhbmciIDxqYW1lcy5xaWFuLndhbmdAYXJtLmNvbT4KQ2M6IExpdml1IER1ZGF1IDxsaXZp dS5kdWRhdUBhcm0uY29tPgpDYzogQnJpYW4gU3RhcmtleSA8YnJpYW4uc3RhcmtleUBhcm0uY29t PgpDYzogTmVpbCBBcm1zdHJvbmcgPG5hcm1zdHJvbmdAYmF5bGlicmUuY29tPgpDYzogS2V2aW4g SGlsbWFuIDxraGlsbWFuQGJheWxpYnJlLmNvbT4KQ2M6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJl bnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KQ2M6IEtpZXJhbiBCaW5naGFtIDxraWVyYW4u YmluZ2hhbStyZW5lc2FzQGlkZWFzb25ib2FyZC5jb20+CkNjOiBTYW5keSBIdWFuZyA8aGpjQHJv Y2stY2hpcHMuY29tPgpDYzogIkhlaWtvIFN0w7xibmVyIiA8aGVpa29Ac250ZWNoLmRlPgpDYzog WWFubmljayBGZXJ0cmUgPHlhbm5pY2suZmVydHJlQHN0LmNvbT4KQ2M6IFBoaWxpcHBlIENvcm51 IDxwaGlsaXBwZS5jb3JudUBzdC5jb20+CkNjOiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4u Z2FpZ25hcmRAbGluYXJvLm9yZz4KQ2M6IFZpbmNlbnQgQWJyaW91IDx2aW5jZW50LmFicmlvdUBz dC5jb20+CkNjOiBNYXhpbWUgQ29xdWVsaW4gPG1jb3F1ZWxpbi5zdG0zMkBnbWFpbC5jb20+CkNj OiBBbGV4YW5kcmUgVG9yZ3VlIDxhbGV4YW5kcmUudG9yZ3VlQHN0LmNvbT4KQ2M6IENoZW4tWXUg VHNhaSA8d2Vuc0Bjc2llLm9yZz4KQ2M6IGxpbnV4LWFtbG9naWNAbGlzdHMuaW5mcmFkZWFkLm9y ZwpDYzogbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCkNjOiBsaW51eC1yZW5l c2FzLXNvY0B2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LXJvY2tjaGlwQGxpc3RzLmluZnJhZGVh ZC5vcmcKQ2M6IGxpbnV4LXN0bTMyQHN0LW1kLW1haWxtYW4uc3Rvcm1yZXBseS5jb20KU2lnbmVk LW9mZi1ieTogUm9iIEhlcnJpbmcgPHJvYmhAa2VybmVsLm9yZz4KLS0tCiAuLi4vZ3B1L2RybS9h cm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5jICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0v YXJtL21hbGlkcF9kcnYuYyAgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vZHJt X2dlbV9jbWFfaGVscGVyLmMgICAgICAgICAgfCA0OCArKysrKysrKysrKy0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJz L2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2ttcy5jICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2dlbS5jICAgfCAgMSArCiBkcml2ZXJzL2dwdS9k cm0vc3RtL2Rydi5jICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0v c3VuNGkvc3VuNGlfZHJ2LmMgICAgICAgICAgICAgfCAgMSArCiA4IGZpbGVzIGNoYW5nZWQsIDM2 IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL2Fy bS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfa21zLmMKaW5kZXggZDQ5NzcyZGU5M2UwLi43Y2YwZGM0 Y2JmYzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29t ZWRhX2ttcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRh X2ttcy5jCkBAIC0zMSw2ICszMSw3IEBAIHN0YXRpYyBpbnQga29tZWRhX2dlbV9jbWFfZHVtYl9j cmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlLAogCXUzMiBwaXRjaCA9IERJVl9ST1VORF9VUChh cmdzLT53aWR0aCAqIGFyZ3MtPmJwcCwgOCk7CiAKIAlhcmdzLT5waXRjaCA9IEFMSUdOKHBpdGNo LCBtZGV2LT5jaGlwLmJ1c193aWR0aCk7CisJYXJncy0+ZmxhZ3MgPSBEUk1fTU9ERV9EVU1CX0tF Uk5FTF9NQVA7CiAKIAlyZXR1cm4gZHJtX2dlbV9jbWFfZHVtYl9jcmVhdGVfaW50ZXJuYWwoZmls ZSwgZGV2LCBhcmdzKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRw X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfZHJ2LmMKaW5kZXggOGE3NjMxNWFh YTBmLi5hZWIxYTc3OWVjYzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRw X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2Rydi5jCkBAIC00NjUsNiAr NDY1LDcgQEAgc3RhdGljIGludCBtYWxpZHBfZHVtYl9jcmVhdGUoc3RydWN0IGRybV9maWxlICpm aWxlX3ByaXYsCiAJdTggYWxpZ25tZW50ID0gbWFsaWRwX2h3X2dldF9waXRjaF9hbGlnbihtYWxp ZHAtPmRldiwgMSk7CiAKIAlhcmdzLT5waXRjaCA9IEFMSUdOKERJVl9ST1VORF9VUChhcmdzLT53 aWR0aCAqIGFyZ3MtPmJwcCwgOCksIGFsaWdubWVudCk7CisJYXJncy0+ZmxhZ3MgPSBEUk1fTU9E RV9EVU1CX0tFUk5FTF9NQVA7CiAKIAlyZXR1cm4gZHJtX2dlbV9jbWFfZHVtYl9jcmVhdGVfaW50 ZXJuYWwoZmlsZV9wcml2LCBkcm0sIGFyZ3MpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2RybV9nZW1fY21hX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fY21hX2hl bHBlci5jCmluZGV4IDRjZWJmZTAxZTZlYS4uZjkxZTllOGFkZWFmIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2dlbV9jbWFfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9nZW1fY21hX2hlbHBlci5jCkBAIC03OCwyMSArNzgsOCBAQCBfX2RybV9nZW1fY21hX2NyZWF0 ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLCBzaXplX3Qgc2l6ZSkKIAlyZXR1cm4gRVJSX1BUUihy ZXQpOwogfQogCi0vKioKLSAqIGRybV9nZW1fY21hX2NyZWF0ZSAtIGFsbG9jYXRlIGFuIG9iamVj dCB3aXRoIHRoZSBnaXZlbiBzaXplCi0gKiBAZHJtOiBEUk0gZGV2aWNlCi0gKiBAc2l6ZTogc2l6 ZSBvZiB0aGUgb2JqZWN0IHRvIGFsbG9jYXRlCi0gKgotICogVGhpcyBmdW5jdGlvbiBjcmVhdGVz IGEgQ01BIEdFTSBvYmplY3QgYW5kIGFsbG9jYXRlcyBhIGNvbnRpZ3VvdXMgY2h1bmsgb2YKLSAq IG1lbW9yeSBhcyBiYWNraW5nIHN0b3JlLiBUaGUgYmFja2luZyBtZW1vcnkgaGFzIHRoZSB3cml0 ZWNvbWJpbmUgYXR0cmlidXRlCi0gKiBzZXQuCi0gKgotICogUmV0dXJuczoKLSAqIEEgc3RydWN0 IGRybV9nZW1fY21hX29iamVjdCAqIG9uIHN1Y2Nlc3Mgb3IgYW4gRVJSX1BUUigpLWVuY29kZWQg bmVnYXRpdmUKLSAqIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KLSAqLwotc3RydWN0IGRybV9nZW1f Y21hX29iamVjdCAqZHJtX2dlbV9jbWFfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCi0J CQkJCSAgICAgIHNpemVfdCBzaXplKQorc3RhdGljIHN0cnVjdCBkcm1fZ2VtX2NtYV9vYmplY3Qg KgorZHJtX2dlbV9jbWFfY3JlYXRlX2ZsYWdzKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHNpemVf dCBzaXplLCB1MzIgZmxhZ3MpCiB7CiAJc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqY21hX29i ajsKIAlpbnQgcmV0OwpAQCAtMTAzLDYgKzkwLDkgQEAgc3RydWN0IGRybV9nZW1fY21hX29iamVj dCAqZHJtX2dlbV9jbWFfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCiAJaWYgKElTX0VS UihjbWFfb2JqKSkKIAkJcmV0dXJuIGNtYV9vYmo7CiAKKwlpZiAoIShmbGFncyAmIERSTV9NT0RF X0RVTUJfS0VSTkVMX01BUCkpCisJCWNtYV9vYmotPmRtYV9hdHRycyB8PSBETUFfQVRUUl9OT19L RVJORUxfTUFQUElORzsKKwogCWNtYV9vYmotPnZhZGRyID0gZG1hX2FsbG9jX2F0dHJzKGRybS0+ ZGV2LCBzaXplLCAmY21hX29iai0+cGFkZHIsCiAJCQkJCSBHRlBfS0VSTkVMIHwgX19HRlBfTk9X QVJOLAogCQkJCQkgY21hX29iai0+ZG1hX2F0dHJzKTsKQEAgLTExOSw2ICsxMDksMjUgQEAgc3Ry dWN0IGRybV9nZW1fY21hX29iamVjdCAqZHJtX2dlbV9jbWFfY3JlYXRlKHN0cnVjdCBkcm1fZGV2 aWNlICpkcm0sCiAJZHJtX2dlbV9vYmplY3RfcHV0X3VubG9ja2VkKCZjbWFfb2JqLT5iYXNlKTsK IAlyZXR1cm4gRVJSX1BUUihyZXQpOwogfQorCisvKioKKyAqIGRybV9nZW1fY21hX2NyZWF0ZSAt IGFsbG9jYXRlIGFuIG9iamVjdCB3aXRoIHRoZSBnaXZlbiBzaXplCisgKiBAZHJtOiBEUk0gZGV2 aWNlCisgKiBAc2l6ZTogc2l6ZSBvZiB0aGUgb2JqZWN0IHRvIGFsbG9jYXRlCisgKgorICogVGhp cyBmdW5jdGlvbiBjcmVhdGVzIGEgQ01BIEdFTSBvYmplY3QgYW5kIGFsbG9jYXRlcyBhIGNvbnRp Z3VvdXMgY2h1bmsgb2YKKyAqIG1lbW9yeSBhcyBiYWNraW5nIHN0b3JlLiBUaGUgYmFja2luZyBt ZW1vcnkgaGFzIHRoZSB3cml0ZWNvbWJpbmUgYXR0cmlidXRlCisgKiBzZXQuCisgKgorICogUmV0 dXJuczoKKyAqIEEgc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqIG9uIHN1Y2Nlc3Mgb3IgYW4g RVJSX1BUUigpLWVuY29kZWQgbmVnYXRpdmUKKyAqIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KKyAq Lworc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqZHJtX2dlbV9jbWFfY3JlYXRlKHN0cnVjdCBk cm1fZGV2aWNlICpkcm0sCisJCQkJCSAgICAgIHNpemVfdCBzaXplKQoreworCXJldHVybiBkcm1f Z2VtX2NtYV9jcmVhdGVfZmxhZ3MoZHJtLCBzaXplLCBEUk1fTU9ERV9EVU1CX0tFUk5FTF9NQVAp OworfQogRVhQT1JUX1NZTUJPTF9HUEwoZHJtX2dlbV9jbWFfY3JlYXRlKTsKIAogLyoqCkBAIC0x MzksMTQgKzE0OCwxNCBAQCBFWFBPUlRfU1lNQk9MX0dQTChkcm1fZ2VtX2NtYV9jcmVhdGUpOwog ICovCiBzdGF0aWMgc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqCiBkcm1fZ2VtX2NtYV9jcmVh dGVfd2l0aF9oYW5kbGUoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsCi0JCQkgICAgICAgc3Ry dWN0IGRybV9kZXZpY2UgKmRybSwgc2l6ZV90IHNpemUsCisJCQkgICAgICAgc3RydWN0IGRybV9k ZXZpY2UgKmRybSwgc2l6ZV90IHNpemUsIHUzMiBmbGFncywKIAkJCSAgICAgICB1aW50MzJfdCAq aGFuZGxlKQogewogCXN0cnVjdCBkcm1fZ2VtX2NtYV9vYmplY3QgKmNtYV9vYmo7CiAJc3RydWN0 IGRybV9nZW1fb2JqZWN0ICpnZW1fb2JqOwogCWludCByZXQ7CiAKLQljbWFfb2JqID0gZHJtX2dl bV9jbWFfY3JlYXRlKGRybSwgc2l6ZSk7CisJY21hX29iaiA9IGRybV9nZW1fY21hX2NyZWF0ZV9m bGFncyhkcm0sIHNpemUsIGZsYWdzKTsKIAlpZiAoSVNfRVJSKGNtYV9vYmopKQogCQlyZXR1cm4g Y21hX29iajsKIApAQCAtMjI1LDcgKzIzNCw3IEBAIGludCBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0 ZV9pbnRlcm5hbChzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKIAkJYXJncy0+c2l6ZSA9IGFy Z3MtPnBpdGNoICogYXJncy0+aGVpZ2h0OwogCiAJY21hX29iaiA9IGRybV9nZW1fY21hX2NyZWF0 ZV93aXRoX2hhbmRsZShmaWxlX3ByaXYsIGRybSwgYXJncy0+c2l6ZSwKLQkJCQkJCSAmYXJncy0+ aGFuZGxlKTsKKwkJCQkJCSBhcmdzLT5mbGFncywgJmFyZ3MtPmhhbmRsZSk7CiAJcmV0dXJuIFBU Ul9FUlJfT1JfWkVSTyhjbWFfb2JqKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGRybV9nZW1fY21h X2R1bWJfY3JlYXRlX2ludGVybmFsKTsKQEAgLTI1Niw5ICsyNjUsMTAgQEAgaW50IGRybV9nZW1f Y21hX2R1bWJfY3JlYXRlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LAogCiAJYXJncy0+cGl0 Y2ggPSBESVZfUk9VTkRfVVAoYXJncy0+d2lkdGggKiBhcmdzLT5icHAsIDgpOwogCWFyZ3MtPnNp emUgPSBhcmdzLT5waXRjaCAqIGFyZ3MtPmhlaWdodDsKKwlhcmdzLT5mbGFncyA9IERSTV9NT0RF X0RVTUJfS0VSTkVMX01BUDsKIAogCWNtYV9vYmogPSBkcm1fZ2VtX2NtYV9jcmVhdGVfd2l0aF9o YW5kbGUoZmlsZV9wcml2LCBkcm0sIGFyZ3MtPnNpemUsCi0JCQkJCQkgJmFyZ3MtPmhhbmRsZSk7 CisJCQkJCQkgYXJncy0+ZmxhZ3MsICZhcmdzLT5oYW5kbGUpOwogCXJldHVybiBQVFJfRVJSX09S X1pFUk8oY21hX29iaik7CiB9CiBFWFBPUlRfU1lNQk9MX0dQTChkcm1fZ2VtX2NtYV9kdW1iX2Ny ZWF0ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMgYi9k cml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMKaW5kZXggMzk3YzMzMTgyZjRmLi4xNTkz NTE4ZGNiZTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9kcnYuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMKQEAgLTgxLDYgKzgxLDcgQEAg c3RhdGljIGludCBtZXNvbl9kdW1iX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsIHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCiAJICovCiAJYXJncy0+cGl0Y2ggPSBBTElHTihESVZfUk9VTkRf VVAoYXJncy0+d2lkdGggKiBhcmdzLT5icHAsIDgpLCBTWl82NCk7CiAJYXJncy0+c2l6ZSA9IFBB R0VfQUxJR04oYXJncy0+cGl0Y2ggKiBhcmdzLT5oZWlnaHQpOworCWFyZ3MtPmZsYWdzID0gRFJN X01PREVfRFVNQl9LRVJORUxfTUFQOwogCiAJcmV0dXJuIGRybV9nZW1fY21hX2R1bWJfY3JlYXRl X2ludGVybmFsKGZpbGUsIGRldiwgYXJncyk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcmNhci1kdS9yY2FyX2R1X2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9k dV9rbXMuYwppbmRleCAyZGM5Y2FlZTg3NjcuLmM5YjFmMjk4Y2U3ZSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9rbXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v cmNhci1kdS9yY2FyX2R1X2ttcy5jCkBAIC0yOTksNiArMjk5LDcgQEAgaW50IHJjYXJfZHVfZHVt Yl9jcmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAog CQlhbGlnbiA9IDE2ICogYXJncy0+YnBwIC8gODsKIAogCWFyZ3MtPnBpdGNoID0gcm91bmR1cCht aW5fcGl0Y2gsIGFsaWduKTsKKwlhcmdzLT5mbGFncyA9IERSTV9NT0RFX0RVTUJfS0VSTkVMX01B UDsKIAogCXJldHVybiBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0ZV9pbnRlcm5hbChmaWxlLCBkZXYs IGFyZ3MpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlw X2RybV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZ2VtLmMK aW5kZXggNzU4MmQwZTZhNjBhLi5mMDliOWEwMzUzNzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Jv Y2tjaGlwL3JvY2tjaGlwX2RybV9nZW0uYwpAQCAtNDE5LDYgKzQxOSw3IEBAIGludCByb2NrY2hp cF9nZW1fZHVtYl9jcmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsCiAJICogYWxpZ24g dG8gNjQgYnl0ZXMgc2luY2UgTWFsaSByZXF1aXJlcyBpdC4KIAkgKi8KIAlhcmdzLT5waXRjaCA9 IEFMSUdOKG1pbl9waXRjaCwgNjQpOworCWFyZ3MtPmZsYWdzID0gRFJNX01PREVfRFVNQl9LRVJO RUxfTUFQOwogCWFyZ3MtPnNpemUgPSBhcmdzLT5waXRjaCAqIGFyZ3MtPmhlaWdodDsKIAogCXJr X29iaiA9IHJvY2tjaGlwX2dlbV9jcmVhdGVfd2l0aF9oYW5kbGUoZmlsZV9wcml2LCBkZXYsIGFy Z3MtPnNpemUsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RtL2Rydi5jIGIvZHJpdmVy cy9ncHUvZHJtL3N0bS9kcnYuYwppbmRleCA1YTlmOWFjYThiYzIuLjBmNzZhNGFjOTViMyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0bS9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v c3RtL2Rydi5jCkBAIC00Nyw2ICs0Nyw3IEBAIHN0YXRpYyBpbnQgc3RtX2dlbV9jbWFfZHVtYl9j cmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlLAogCSAqLwogCWFyZ3MtPnBpdGNoID0gcm91bmR1 cChtaW5fcGl0Y2gsIDEyOCk7CiAJYXJncy0+aGVpZ2h0ID0gcm91bmR1cChhcmdzLT5oZWlnaHQs IDQpOworCWFyZ3MtPmZsYWdzID0gRFJNX01PREVfRFVNQl9LRVJORUxfTUFQOwogCiAJcmV0dXJu IGRybV9nZW1fY21hX2R1bWJfY3JlYXRlX2ludGVybmFsKGZpbGUsIGRldiwgYXJncyk7CiB9CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfZHJ2LmMgYi9kcml2ZXJzL2dw dS9kcm0vc3VuNGkvc3VuNGlfZHJ2LmMKaW5kZXggYTU3NTdiMTFiNzMwLi5mNjUzYTVkMWUyZDYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9kcnYuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfZHJ2LmMKQEAgLTM0LDYgKzM0LDcgQEAgc3RhdGljIGlu dCBkcm1fc3VuNGlfZ2VtX2R1bWJfY3JlYXRlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LAog ewogCS8qIFRoZSBoYXJkd2FyZSBvbmx5IGFsbG93cyBldmVuIHBpdGNoZXMgZm9yIFlVViBidWZm ZXJzLiAqLwogCWFyZ3MtPnBpdGNoID0gQUxJR04oRElWX1JPVU5EX1VQKGFyZ3MtPndpZHRoICog YXJncy0+YnBwLCA4KSwgMik7CisJYXJncy0+ZmxhZ3MgPSBEUk1fTU9ERV9EVU1CX0tFUk5FTF9N QVA7CiAKIAlyZXR1cm4gZHJtX2dlbV9jbWFfZHVtYl9jcmVhdGVfaW50ZXJuYWwoZmlsZV9wcml2 LCBkcm0sIGFyZ3MpOwogfQotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWw= 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=-10.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,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 F184DCA9EAF for ; Mon, 21 Oct 2019 21:46:03 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id A133520659 for ; Mon, 21 Oct 2019 21:46:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1571694363; bh=ojGxKT7aKWngGUMWj+iW4WmJ9bGKh1xk+X7+GEuBzJA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=nnDFAVEX5gSQz1au3sp7OPQ+wSKQ4kCAHc96Tyka1V5Hzo2oJ4KLL62pDkUSPDQQ7 7q1o0TD1xUPEkLslyLSdN1DX44NDgaOm8fdB00EqD1FQpbIcA4J+T8w1R7rBvPVJvO 2LuVQtxoD78Umg/gLWKv3ejgp/EqPv8Lj2wEGiUE= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727264AbfJUVqD (ORCPT ); Mon, 21 Oct 2019 17:46:03 -0400 Received: from mail-ot1-f67.google.com ([209.85.210.67]:42125 "EHLO mail-ot1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726672AbfJUVqD (ORCPT ); Mon, 21 Oct 2019 17:46:03 -0400 Received: by mail-ot1-f67.google.com with SMTP id b16so1575743otk.9 for ; Mon, 21 Oct 2019 14:46:01 -0700 (PDT) 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=v85itWVb55sjk1S2/4vfjQdYVBkEeNhYbZwroc8bhoE=; b=VTehDItyPGZ4IfU6SF9ww9TbGI2D7+Ok1bIUM49j97S/svOaozZmWLJgAG6fsIFIS2 hA9238BuIEI3Q29rwIRhgqSXbDW/P/uoLwcZAhHnLCy7xiGqotLFCy8Gz+2CrMuyfaVY pih5TT9/xINDouj3M7gUV3XX8aXBl4icjEy+ETC4nJ8NWFLjsecmZbn9lqcLo1j1sCK7 gEl0CUYX8QOn7UMjWmWIGvR/3o+iGqqRcu8SbVXHlx6X6M8pPWP8ivjBiDIr2oyscQLu mA2DvlcvkiDlAtqKauWVL5wugM6bp/mLVTKBNiAe48SSQbg5Xa3I7Asl9iMBTO9j+Psl jEtg== X-Gm-Message-State: APjAAAW8UZsb/1m64QIAmq6HUSExBnzhzRJRNDV/SE3imfNXuKCicp/H 0KijYJxiBJTxZyz0e4cQDA== X-Google-Smtp-Source: APXvYqzkNxCqlFqsK5HBa4boCVhpMxwfWAj66hdD/5mch5qmynl4RhUugcgkNWf4J602suw2X3Zo7Q== X-Received: by 2002:a9d:5c0e:: with SMTP id o14mr57383otk.79.1571694361346; Mon, 21 Oct 2019 14:46:01 -0700 (PDT) Received: from xps15.herring.priv (24-155-109-49.dyn.grandenetworks.net. [24.155.109.49]) by smtp.googlemail.com with ESMTPSA id u130sm4122676oib.56.2019.10.21.14.45.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Oct 2019 14:46:00 -0700 (PDT) From: Rob Herring To: dri-devel@lists.freedesktop.org Cc: linux-arm-kernel@lists.infradead.org, Alexandre Torgue , Benjamin Gaignard , Chen Feng , Chen-Yu Tsai , CK Hu , Daniel Vetter , David Airlie , =?UTF-8?q?Heiko=20St=C3=BCbner?= , "James (Qian) Wang" , Kevin Hilman , Kieran Bingham , Laurent Pinchart , linux-mediatek@lists.infradead.org, linux-rockchip@lists.infradead.org, Liviu Dudau , Maarten Lankhorst , Matthias Brugger , Maxime Coquelin , Maxime Ripard , Neil Armstrong , =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= , Philippe Cornu , Philipp Zabel , Rongrong Zou , Sandy Huang , Sean Paul , Vincent Abriou , Xinliang Liu , Xinwei Kong , Yannick Fertre , Brian Starkey , linux-amlogic@lists.infradead.org, linux-renesas-soc@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com Subject: [PATCH 4/6] drm/cma-helper: Support DRM_MODE_DUMB_KERNEL_MAP flag Date: Mon, 21 Oct 2019 16:45:48 -0500 Message-Id: <20191021214550.1461-5-robh@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191021214550.1461-1-robh@kernel.org> References: <20191021214550.1461-1-robh@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-renesas-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-renesas-soc@vger.kernel.org Add support in CMA helpers to handle callers specifying DRM_MODE_DUMB_KERNEL_MAP flag. Existing behavior is maintained with this change. drm_gem_cma_dumb_create() always creates a kernel mapping as before. drm_gem_cma_dumb_create_internal() lets the caller set the flags as desired. Therefore, update all the existing callers of drm_gem_cma_dumb_create_internal() to also set the DRM_MODE_DUMB_KERNEL_MAP flag. Cc: Maarten Lankhorst Cc: Maxime Ripard Cc: Sean Paul Cc: David Airlie Cc: Daniel Vetter Cc: "James (Qian) Wang" Cc: Liviu Dudau Cc: Brian Starkey Cc: Neil Armstrong Cc: Kevin Hilman Cc: Laurent Pinchart Cc: Kieran Bingham Cc: Sandy Huang Cc: "Heiko Stübner" Cc: Yannick Fertre Cc: Philippe Cornu Cc: Benjamin Gaignard Cc: Vincent Abriou Cc: Maxime Coquelin Cc: Alexandre Torgue Cc: Chen-Yu Tsai Cc: linux-amlogic@lists.infradead.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-renesas-soc@vger.kernel.org Cc: linux-rockchip@lists.infradead.org Cc: linux-stm32@st-md-mailman.stormreply.com Signed-off-by: Rob Herring --- .../gpu/drm/arm/display/komeda/komeda_kms.c | 1 + drivers/gpu/drm/arm/malidp_drv.c | 1 + drivers/gpu/drm/drm_gem_cma_helper.c | 48 +++++++++++-------- drivers/gpu/drm/meson/meson_drv.c | 1 + drivers/gpu/drm/rcar-du/rcar_du_kms.c | 1 + drivers/gpu/drm/rockchip/rockchip_drm_gem.c | 1 + drivers/gpu/drm/stm/drv.c | 1 + drivers/gpu/drm/sun4i/sun4i_drv.c | 1 + 8 files changed, 36 insertions(+), 19 deletions(-) diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_kms.c b/drivers/gpu/drm/arm/display/komeda/komeda_kms.c index d49772de93e0..7cf0dc4cbfc1 100644 --- a/drivers/gpu/drm/arm/display/komeda/komeda_kms.c +++ b/drivers/gpu/drm/arm/display/komeda/komeda_kms.c @@ -31,6 +31,7 @@ static int komeda_gem_cma_dumb_create(struct drm_file *file, u32 pitch = DIV_ROUND_UP(args->width * args->bpp, 8); args->pitch = ALIGN(pitch, mdev->chip.bus_width); + args->flags = DRM_MODE_DUMB_KERNEL_MAP; return drm_gem_cma_dumb_create_internal(file, dev, args); } diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_drv.c index 8a76315aaa0f..aeb1a779ecc1 100644 --- a/drivers/gpu/drm/arm/malidp_drv.c +++ b/drivers/gpu/drm/arm/malidp_drv.c @@ -465,6 +465,7 @@ static int malidp_dumb_create(struct drm_file *file_priv, u8 alignment = malidp_hw_get_pitch_align(malidp->dev, 1); args->pitch = ALIGN(DIV_ROUND_UP(args->width * args->bpp, 8), alignment); + args->flags = DRM_MODE_DUMB_KERNEL_MAP; return drm_gem_cma_dumb_create_internal(file_priv, drm, args); } diff --git a/drivers/gpu/drm/drm_gem_cma_helper.c b/drivers/gpu/drm/drm_gem_cma_helper.c index 4cebfe01e6ea..f91e9e8adeaf 100644 --- a/drivers/gpu/drm/drm_gem_cma_helper.c +++ b/drivers/gpu/drm/drm_gem_cma_helper.c @@ -78,21 +78,8 @@ __drm_gem_cma_create(struct drm_device *drm, size_t size) return ERR_PTR(ret); } -/** - * drm_gem_cma_create - allocate an object with the given size - * @drm: DRM device - * @size: size of the object to allocate - * - * This function creates a CMA GEM object and allocates a contiguous chunk of - * memory as backing store. The backing memory has the writecombine attribute - * set. - * - * Returns: - * A struct drm_gem_cma_object * on success or an ERR_PTR()-encoded negative - * error code on failure. - */ -struct drm_gem_cma_object *drm_gem_cma_create(struct drm_device *drm, - size_t size) +static struct drm_gem_cma_object * +drm_gem_cma_create_flags(struct drm_device *drm, size_t size, u32 flags) { struct drm_gem_cma_object *cma_obj; int ret; @@ -103,6 +90,9 @@ struct drm_gem_cma_object *drm_gem_cma_create(struct drm_device *drm, if (IS_ERR(cma_obj)) return cma_obj; + if (!(flags & DRM_MODE_DUMB_KERNEL_MAP)) + cma_obj->dma_attrs |= DMA_ATTR_NO_KERNEL_MAPPING; + cma_obj->vaddr = dma_alloc_attrs(drm->dev, size, &cma_obj->paddr, GFP_KERNEL | __GFP_NOWARN, cma_obj->dma_attrs); @@ -119,6 +109,25 @@ struct drm_gem_cma_object *drm_gem_cma_create(struct drm_device *drm, drm_gem_object_put_unlocked(&cma_obj->base); return ERR_PTR(ret); } + +/** + * drm_gem_cma_create - allocate an object with the given size + * @drm: DRM device + * @size: size of the object to allocate + * + * This function creates a CMA GEM object and allocates a contiguous chunk of + * memory as backing store. The backing memory has the writecombine attribute + * set. + * + * Returns: + * A struct drm_gem_cma_object * on success or an ERR_PTR()-encoded negative + * error code on failure. + */ +struct drm_gem_cma_object *drm_gem_cma_create(struct drm_device *drm, + size_t size) +{ + return drm_gem_cma_create_flags(drm, size, DRM_MODE_DUMB_KERNEL_MAP); +} EXPORT_SYMBOL_GPL(drm_gem_cma_create); /** @@ -139,14 +148,14 @@ EXPORT_SYMBOL_GPL(drm_gem_cma_create); */ static struct drm_gem_cma_object * drm_gem_cma_create_with_handle(struct drm_file *file_priv, - struct drm_device *drm, size_t size, + struct drm_device *drm, size_t size, u32 flags, uint32_t *handle) { struct drm_gem_cma_object *cma_obj; struct drm_gem_object *gem_obj; int ret; - cma_obj = drm_gem_cma_create(drm, size); + cma_obj = drm_gem_cma_create_flags(drm, size, flags); if (IS_ERR(cma_obj)) return cma_obj; @@ -225,7 +234,7 @@ int drm_gem_cma_dumb_create_internal(struct drm_file *file_priv, args->size = args->pitch * args->height; cma_obj = drm_gem_cma_create_with_handle(file_priv, drm, args->size, - &args->handle); + args->flags, &args->handle); return PTR_ERR_OR_ZERO(cma_obj); } EXPORT_SYMBOL_GPL(drm_gem_cma_dumb_create_internal); @@ -256,9 +265,10 @@ int drm_gem_cma_dumb_create(struct drm_file *file_priv, args->pitch = DIV_ROUND_UP(args->width * args->bpp, 8); args->size = args->pitch * args->height; + args->flags = DRM_MODE_DUMB_KERNEL_MAP; cma_obj = drm_gem_cma_create_with_handle(file_priv, drm, args->size, - &args->handle); + args->flags, &args->handle); return PTR_ERR_OR_ZERO(cma_obj); } EXPORT_SYMBOL_GPL(drm_gem_cma_dumb_create); diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c index 397c33182f4f..1593518dcbe4 100644 --- a/drivers/gpu/drm/meson/meson_drv.c +++ b/drivers/gpu/drm/meson/meson_drv.c @@ -81,6 +81,7 @@ static int meson_dumb_create(struct drm_file *file, struct drm_device *dev, */ args->pitch = ALIGN(DIV_ROUND_UP(args->width * args->bpp, 8), SZ_64); args->size = PAGE_ALIGN(args->pitch * args->height); + args->flags = DRM_MODE_DUMB_KERNEL_MAP; return drm_gem_cma_dumb_create_internal(file, dev, args); } diff --git a/drivers/gpu/drm/rcar-du/rcar_du_kms.c b/drivers/gpu/drm/rcar-du/rcar_du_kms.c index 2dc9caee8767..c9b1f298ce7e 100644 --- a/drivers/gpu/drm/rcar-du/rcar_du_kms.c +++ b/drivers/gpu/drm/rcar-du/rcar_du_kms.c @@ -299,6 +299,7 @@ int rcar_du_dumb_create(struct drm_file *file, struct drm_device *dev, align = 16 * args->bpp / 8; args->pitch = roundup(min_pitch, align); + args->flags = DRM_MODE_DUMB_KERNEL_MAP; return drm_gem_cma_dumb_create_internal(file, dev, args); } diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c index 7582d0e6a60a..f09b9a035376 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c @@ -419,6 +419,7 @@ int rockchip_gem_dumb_create(struct drm_file *file_priv, * align to 64 bytes since Mali requires it. */ args->pitch = ALIGN(min_pitch, 64); + args->flags = DRM_MODE_DUMB_KERNEL_MAP; args->size = args->pitch * args->height; rk_obj = rockchip_gem_create_with_handle(file_priv, dev, args->size, diff --git a/drivers/gpu/drm/stm/drv.c b/drivers/gpu/drm/stm/drv.c index 5a9f9aca8bc2..0f76a4ac95b3 100644 --- a/drivers/gpu/drm/stm/drv.c +++ b/drivers/gpu/drm/stm/drv.c @@ -47,6 +47,7 @@ static int stm_gem_cma_dumb_create(struct drm_file *file, */ args->pitch = roundup(min_pitch, 128); args->height = roundup(args->height, 4); + args->flags = DRM_MODE_DUMB_KERNEL_MAP; return drm_gem_cma_dumb_create_internal(file, dev, args); } diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c index a5757b11b730..f653a5d1e2d6 100644 --- a/drivers/gpu/drm/sun4i/sun4i_drv.c +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c @@ -34,6 +34,7 @@ static int drm_sun4i_gem_dumb_create(struct drm_file *file_priv, { /* The hardware only allows even pitches for YUV buffers. */ args->pitch = ALIGN(DIV_ROUND_UP(args->width * args->bpp, 8), 2); + args->flags = DRM_MODE_DUMB_KERNEL_MAP; return drm_gem_cma_dumb_create_internal(file_priv, drm, args); } -- 2.20.1 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=-10.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,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 19672CA9EAF for ; Mon, 21 Oct 2019 21:47:21 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 DB46720659 for ; Mon, 21 Oct 2019 21:47:20 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="gzT5QJ0J" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DB46720659 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=pZk5eykcT6wzEw9FBqmLDWs1Y5anMnYVAmf72PTpuvg=; b=gzT5QJ0JMiM4gZ 233NhOKemaCzJuA9IDcW5tQSKO+7lD4pL+l4PFJpIDZ4acKFFq5b6ibdEfY0SlkrLIXgX/ICqSOmo OCqpQ53e7CXTZH4mgJNW+p5CrXvzvwtV3QE2W9BA/nHTUEyUxSnsS3paWuPfV9rdoZZAYeRfN4jGU DMD3hmskez/gK2HPZnrS5OWElFyOholPmOvducaufB5qFp/V3KIpAQ9KtVuhs5E3T7YwykSdbZWUU GHP0ODvK5cmflzIilZv838GyQLAA0TqHgzIC/o8orDt5feNTwCIF7Ir1b3//aLA9UtC5bKsPSNq9s FEh9KhKd3x4pQ2sPP6pA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iMfWB-0001NP-UE; Mon, 21 Oct 2019 21:47:11 +0000 Received: from mail-ot1-f66.google.com ([209.85.210.66]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iMfV4-0000HV-Fv; Mon, 21 Oct 2019 21:46:05 +0000 Received: by mail-ot1-f66.google.com with SMTP id c7so1602260otm.3; Mon, 21 Oct 2019 14:46:02 -0700 (PDT) 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=v85itWVb55sjk1S2/4vfjQdYVBkEeNhYbZwroc8bhoE=; b=uIEiTwG4Q7c59PocTtnhRKONA17NdISaISmR4179+Wi9ccqDlA6WdiQ9zMPmqBCpk0 +OLNgwHPEfHtPAQnySzuZ/Fds7nj0vWGX1OzSSU9hznoGtbnHUVC7t2iDHVFPkBttbB9 aW8Dgp5ukxmLE7Mm8Q4CYT0VjM87KuoiDocbx1SmqOXBfZMEXKY1tlJIRcSLEDzKGaA9 Jvyd0VQlr5bX8NY3yKiVLi2JWDC4IGpaR6ZTr61AHjHNfK5A07LKhlPwP9VpCztLatl4 pImO25MdHYPU7ZSdTGSMRHqte/zEGFyUaCiqoJdt+DX35CgjGAjCiIbFokztYSoWQBwg uzhA== X-Gm-Message-State: APjAAAUs9xaumcqxBTZWSUDSQViMgOg4TtHn7Wn8r0weIEIQYCDWQ8LT w7QEitRNDtI9OCw+CqDRLA== X-Google-Smtp-Source: APXvYqzkNxCqlFqsK5HBa4boCVhpMxwfWAj66hdD/5mch5qmynl4RhUugcgkNWf4J602suw2X3Zo7Q== X-Received: by 2002:a9d:5c0e:: with SMTP id o14mr57383otk.79.1571694361346; Mon, 21 Oct 2019 14:46:01 -0700 (PDT) Received: from xps15.herring.priv (24-155-109-49.dyn.grandenetworks.net. [24.155.109.49]) by smtp.googlemail.com with ESMTPSA id u130sm4122676oib.56.2019.10.21.14.45.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Oct 2019 14:46:00 -0700 (PDT) From: Rob Herring To: dri-devel@lists.freedesktop.org Subject: [PATCH 4/6] drm/cma-helper: Support DRM_MODE_DUMB_KERNEL_MAP flag Date: Mon, 21 Oct 2019 16:45:48 -0500 Message-Id: <20191021214550.1461-5-robh@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191021214550.1461-1-robh@kernel.org> References: <20191021214550.1461-1-robh@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191021_144602_850663_3BC32AC6 X-CRM114-Status: GOOD ( 16.72 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Heiko=20St=C3=BCbner?= , Neil Armstrong , David Airlie , Liviu Dudau , Sandy Huang , Laurent Pinchart , Benjamin Gaignard , linux-amlogic@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com, Yannick Fertre , Kevin Hilman , Xinwei Kong , Xinliang Liu , linux-rockchip@lists.infradead.org, Chen-Yu Tsai , =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= , "James \(Qian\) Wang" , CK Hu , Philipp Zabel , Alexandre Torgue , Chen Feng , Maarten Lankhorst , linux-renesas-soc@vger.kernel.org, Maxime Ripard , linux-mediatek@lists.infradead.org, Matthias Brugger , Daniel Vetter , Sean Paul , linux-arm-kernel@lists.infradead.org, Philippe Cornu , Vincent Abriou , Kieran Bingham , Maxime Coquelin , Rongrong Zou , Brian Starkey Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org QWRkIHN1cHBvcnQgaW4gQ01BIGhlbHBlcnMgdG8gaGFuZGxlIGNhbGxlcnMgc3BlY2lmeWluZwpE Uk1fTU9ERV9EVU1CX0tFUk5FTF9NQVAgZmxhZy4gRXhpc3RpbmcgYmVoYXZpb3IgaXMgbWFpbnRh aW5lZCB3aXRoIHRoaXMKY2hhbmdlLiBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0ZSgpIGFsd2F5cyBj cmVhdGVzIGEga2VybmVsIG1hcHBpbmcgYXMKYmVmb3JlLiBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0 ZV9pbnRlcm5hbCgpIGxldHMgdGhlIGNhbGxlciBzZXQgdGhlIGZsYWdzCmFzIGRlc2lyZWQuIFRo ZXJlZm9yZSwgdXBkYXRlIGFsbCB0aGUgZXhpc3RpbmcgY2FsbGVycyBvZgpkcm1fZ2VtX2NtYV9k dW1iX2NyZWF0ZV9pbnRlcm5hbCgpIHRvIGFsc28gc2V0IHRoZQpEUk1fTU9ERV9EVU1CX0tFUk5F TF9NQVAgZmxhZy4KCkNjOiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGlu dXguaW50ZWwuY29tPgpDYzogTWF4aW1lIFJpcGFyZCA8bXJpcGFyZEBrZXJuZWwub3JnPgpDYzog U2VhbiBQYXVsIDxzZWFuQHBvb3JseS5ydW4+CkNjOiBEYXZpZCBBaXJsaWUgPGFpcmxpZWRAbGlu dXguaWU+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+CkNjOiAiSmFtZXMgKFFp YW4pIFdhbmciIDxqYW1lcy5xaWFuLndhbmdAYXJtLmNvbT4KQ2M6IExpdml1IER1ZGF1IDxsaXZp dS5kdWRhdUBhcm0uY29tPgpDYzogQnJpYW4gU3RhcmtleSA8YnJpYW4uc3RhcmtleUBhcm0uY29t PgpDYzogTmVpbCBBcm1zdHJvbmcgPG5hcm1zdHJvbmdAYmF5bGlicmUuY29tPgpDYzogS2V2aW4g SGlsbWFuIDxraGlsbWFuQGJheWxpYnJlLmNvbT4KQ2M6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJl bnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KQ2M6IEtpZXJhbiBCaW5naGFtIDxraWVyYW4u YmluZ2hhbStyZW5lc2FzQGlkZWFzb25ib2FyZC5jb20+CkNjOiBTYW5keSBIdWFuZyA8aGpjQHJv Y2stY2hpcHMuY29tPgpDYzogIkhlaWtvIFN0w7xibmVyIiA8aGVpa29Ac250ZWNoLmRlPgpDYzog WWFubmljayBGZXJ0cmUgPHlhbm5pY2suZmVydHJlQHN0LmNvbT4KQ2M6IFBoaWxpcHBlIENvcm51 IDxwaGlsaXBwZS5jb3JudUBzdC5jb20+CkNjOiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4u Z2FpZ25hcmRAbGluYXJvLm9yZz4KQ2M6IFZpbmNlbnQgQWJyaW91IDx2aW5jZW50LmFicmlvdUBz dC5jb20+CkNjOiBNYXhpbWUgQ29xdWVsaW4gPG1jb3F1ZWxpbi5zdG0zMkBnbWFpbC5jb20+CkNj OiBBbGV4YW5kcmUgVG9yZ3VlIDxhbGV4YW5kcmUudG9yZ3VlQHN0LmNvbT4KQ2M6IENoZW4tWXUg VHNhaSA8d2Vuc0Bjc2llLm9yZz4KQ2M6IGxpbnV4LWFtbG9naWNAbGlzdHMuaW5mcmFkZWFkLm9y ZwpDYzogbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCkNjOiBsaW51eC1yZW5l c2FzLXNvY0B2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LXJvY2tjaGlwQGxpc3RzLmluZnJhZGVh ZC5vcmcKQ2M6IGxpbnV4LXN0bTMyQHN0LW1kLW1haWxtYW4uc3Rvcm1yZXBseS5jb20KU2lnbmVk LW9mZi1ieTogUm9iIEhlcnJpbmcgPHJvYmhAa2VybmVsLm9yZz4KLS0tCiAuLi4vZ3B1L2RybS9h cm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5jICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0v YXJtL21hbGlkcF9kcnYuYyAgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vZHJt X2dlbV9jbWFfaGVscGVyLmMgICAgICAgICAgfCA0OCArKysrKysrKysrKy0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJz L2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2ttcy5jICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2dlbS5jICAgfCAgMSArCiBkcml2ZXJzL2dwdS9k cm0vc3RtL2Rydi5jICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0v c3VuNGkvc3VuNGlfZHJ2LmMgICAgICAgICAgICAgfCAgMSArCiA4IGZpbGVzIGNoYW5nZWQsIDM2 IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL2Fy bS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfa21zLmMKaW5kZXggZDQ5NzcyZGU5M2UwLi43Y2YwZGM0 Y2JmYzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29t ZWRhX2ttcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRh X2ttcy5jCkBAIC0zMSw2ICszMSw3IEBAIHN0YXRpYyBpbnQga29tZWRhX2dlbV9jbWFfZHVtYl9j cmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlLAogCXUzMiBwaXRjaCA9IERJVl9ST1VORF9VUChh cmdzLT53aWR0aCAqIGFyZ3MtPmJwcCwgOCk7CiAKIAlhcmdzLT5waXRjaCA9IEFMSUdOKHBpdGNo LCBtZGV2LT5jaGlwLmJ1c193aWR0aCk7CisJYXJncy0+ZmxhZ3MgPSBEUk1fTU9ERV9EVU1CX0tF Uk5FTF9NQVA7CiAKIAlyZXR1cm4gZHJtX2dlbV9jbWFfZHVtYl9jcmVhdGVfaW50ZXJuYWwoZmls ZSwgZGV2LCBhcmdzKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRw X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfZHJ2LmMKaW5kZXggOGE3NjMxNWFh YTBmLi5hZWIxYTc3OWVjYzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRw X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2Rydi5jCkBAIC00NjUsNiAr NDY1LDcgQEAgc3RhdGljIGludCBtYWxpZHBfZHVtYl9jcmVhdGUoc3RydWN0IGRybV9maWxlICpm aWxlX3ByaXYsCiAJdTggYWxpZ25tZW50ID0gbWFsaWRwX2h3X2dldF9waXRjaF9hbGlnbihtYWxp ZHAtPmRldiwgMSk7CiAKIAlhcmdzLT5waXRjaCA9IEFMSUdOKERJVl9ST1VORF9VUChhcmdzLT53 aWR0aCAqIGFyZ3MtPmJwcCwgOCksIGFsaWdubWVudCk7CisJYXJncy0+ZmxhZ3MgPSBEUk1fTU9E RV9EVU1CX0tFUk5FTF9NQVA7CiAKIAlyZXR1cm4gZHJtX2dlbV9jbWFfZHVtYl9jcmVhdGVfaW50 ZXJuYWwoZmlsZV9wcml2LCBkcm0sIGFyZ3MpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2RybV9nZW1fY21hX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fY21hX2hl bHBlci5jCmluZGV4IDRjZWJmZTAxZTZlYS4uZjkxZTllOGFkZWFmIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2dlbV9jbWFfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9nZW1fY21hX2hlbHBlci5jCkBAIC03OCwyMSArNzgsOCBAQCBfX2RybV9nZW1fY21hX2NyZWF0 ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLCBzaXplX3Qgc2l6ZSkKIAlyZXR1cm4gRVJSX1BUUihy ZXQpOwogfQogCi0vKioKLSAqIGRybV9nZW1fY21hX2NyZWF0ZSAtIGFsbG9jYXRlIGFuIG9iamVj dCB3aXRoIHRoZSBnaXZlbiBzaXplCi0gKiBAZHJtOiBEUk0gZGV2aWNlCi0gKiBAc2l6ZTogc2l6 ZSBvZiB0aGUgb2JqZWN0IHRvIGFsbG9jYXRlCi0gKgotICogVGhpcyBmdW5jdGlvbiBjcmVhdGVz IGEgQ01BIEdFTSBvYmplY3QgYW5kIGFsbG9jYXRlcyBhIGNvbnRpZ3VvdXMgY2h1bmsgb2YKLSAq IG1lbW9yeSBhcyBiYWNraW5nIHN0b3JlLiBUaGUgYmFja2luZyBtZW1vcnkgaGFzIHRoZSB3cml0 ZWNvbWJpbmUgYXR0cmlidXRlCi0gKiBzZXQuCi0gKgotICogUmV0dXJuczoKLSAqIEEgc3RydWN0 IGRybV9nZW1fY21hX29iamVjdCAqIG9uIHN1Y2Nlc3Mgb3IgYW4gRVJSX1BUUigpLWVuY29kZWQg bmVnYXRpdmUKLSAqIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KLSAqLwotc3RydWN0IGRybV9nZW1f Y21hX29iamVjdCAqZHJtX2dlbV9jbWFfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCi0J CQkJCSAgICAgIHNpemVfdCBzaXplKQorc3RhdGljIHN0cnVjdCBkcm1fZ2VtX2NtYV9vYmplY3Qg KgorZHJtX2dlbV9jbWFfY3JlYXRlX2ZsYWdzKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHNpemVf dCBzaXplLCB1MzIgZmxhZ3MpCiB7CiAJc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqY21hX29i ajsKIAlpbnQgcmV0OwpAQCAtMTAzLDYgKzkwLDkgQEAgc3RydWN0IGRybV9nZW1fY21hX29iamVj dCAqZHJtX2dlbV9jbWFfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCiAJaWYgKElTX0VS UihjbWFfb2JqKSkKIAkJcmV0dXJuIGNtYV9vYmo7CiAKKwlpZiAoIShmbGFncyAmIERSTV9NT0RF X0RVTUJfS0VSTkVMX01BUCkpCisJCWNtYV9vYmotPmRtYV9hdHRycyB8PSBETUFfQVRUUl9OT19L RVJORUxfTUFQUElORzsKKwogCWNtYV9vYmotPnZhZGRyID0gZG1hX2FsbG9jX2F0dHJzKGRybS0+ ZGV2LCBzaXplLCAmY21hX29iai0+cGFkZHIsCiAJCQkJCSBHRlBfS0VSTkVMIHwgX19HRlBfTk9X QVJOLAogCQkJCQkgY21hX29iai0+ZG1hX2F0dHJzKTsKQEAgLTExOSw2ICsxMDksMjUgQEAgc3Ry dWN0IGRybV9nZW1fY21hX29iamVjdCAqZHJtX2dlbV9jbWFfY3JlYXRlKHN0cnVjdCBkcm1fZGV2 aWNlICpkcm0sCiAJZHJtX2dlbV9vYmplY3RfcHV0X3VubG9ja2VkKCZjbWFfb2JqLT5iYXNlKTsK IAlyZXR1cm4gRVJSX1BUUihyZXQpOwogfQorCisvKioKKyAqIGRybV9nZW1fY21hX2NyZWF0ZSAt IGFsbG9jYXRlIGFuIG9iamVjdCB3aXRoIHRoZSBnaXZlbiBzaXplCisgKiBAZHJtOiBEUk0gZGV2 aWNlCisgKiBAc2l6ZTogc2l6ZSBvZiB0aGUgb2JqZWN0IHRvIGFsbG9jYXRlCisgKgorICogVGhp cyBmdW5jdGlvbiBjcmVhdGVzIGEgQ01BIEdFTSBvYmplY3QgYW5kIGFsbG9jYXRlcyBhIGNvbnRp Z3VvdXMgY2h1bmsgb2YKKyAqIG1lbW9yeSBhcyBiYWNraW5nIHN0b3JlLiBUaGUgYmFja2luZyBt ZW1vcnkgaGFzIHRoZSB3cml0ZWNvbWJpbmUgYXR0cmlidXRlCisgKiBzZXQuCisgKgorICogUmV0 dXJuczoKKyAqIEEgc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqIG9uIHN1Y2Nlc3Mgb3IgYW4g RVJSX1BUUigpLWVuY29kZWQgbmVnYXRpdmUKKyAqIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KKyAq Lworc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqZHJtX2dlbV9jbWFfY3JlYXRlKHN0cnVjdCBk cm1fZGV2aWNlICpkcm0sCisJCQkJCSAgICAgIHNpemVfdCBzaXplKQoreworCXJldHVybiBkcm1f Z2VtX2NtYV9jcmVhdGVfZmxhZ3MoZHJtLCBzaXplLCBEUk1fTU9ERV9EVU1CX0tFUk5FTF9NQVAp OworfQogRVhQT1JUX1NZTUJPTF9HUEwoZHJtX2dlbV9jbWFfY3JlYXRlKTsKIAogLyoqCkBAIC0x MzksMTQgKzE0OCwxNCBAQCBFWFBPUlRfU1lNQk9MX0dQTChkcm1fZ2VtX2NtYV9jcmVhdGUpOwog ICovCiBzdGF0aWMgc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqCiBkcm1fZ2VtX2NtYV9jcmVh dGVfd2l0aF9oYW5kbGUoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsCi0JCQkgICAgICAgc3Ry dWN0IGRybV9kZXZpY2UgKmRybSwgc2l6ZV90IHNpemUsCisJCQkgICAgICAgc3RydWN0IGRybV9k ZXZpY2UgKmRybSwgc2l6ZV90IHNpemUsIHUzMiBmbGFncywKIAkJCSAgICAgICB1aW50MzJfdCAq aGFuZGxlKQogewogCXN0cnVjdCBkcm1fZ2VtX2NtYV9vYmplY3QgKmNtYV9vYmo7CiAJc3RydWN0 IGRybV9nZW1fb2JqZWN0ICpnZW1fb2JqOwogCWludCByZXQ7CiAKLQljbWFfb2JqID0gZHJtX2dl bV9jbWFfY3JlYXRlKGRybSwgc2l6ZSk7CisJY21hX29iaiA9IGRybV9nZW1fY21hX2NyZWF0ZV9m bGFncyhkcm0sIHNpemUsIGZsYWdzKTsKIAlpZiAoSVNfRVJSKGNtYV9vYmopKQogCQlyZXR1cm4g Y21hX29iajsKIApAQCAtMjI1LDcgKzIzNCw3IEBAIGludCBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0 ZV9pbnRlcm5hbChzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKIAkJYXJncy0+c2l6ZSA9IGFy Z3MtPnBpdGNoICogYXJncy0+aGVpZ2h0OwogCiAJY21hX29iaiA9IGRybV9nZW1fY21hX2NyZWF0 ZV93aXRoX2hhbmRsZShmaWxlX3ByaXYsIGRybSwgYXJncy0+c2l6ZSwKLQkJCQkJCSAmYXJncy0+ aGFuZGxlKTsKKwkJCQkJCSBhcmdzLT5mbGFncywgJmFyZ3MtPmhhbmRsZSk7CiAJcmV0dXJuIFBU Ul9FUlJfT1JfWkVSTyhjbWFfb2JqKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGRybV9nZW1fY21h X2R1bWJfY3JlYXRlX2ludGVybmFsKTsKQEAgLTI1Niw5ICsyNjUsMTAgQEAgaW50IGRybV9nZW1f Y21hX2R1bWJfY3JlYXRlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LAogCiAJYXJncy0+cGl0 Y2ggPSBESVZfUk9VTkRfVVAoYXJncy0+d2lkdGggKiBhcmdzLT5icHAsIDgpOwogCWFyZ3MtPnNp emUgPSBhcmdzLT5waXRjaCAqIGFyZ3MtPmhlaWdodDsKKwlhcmdzLT5mbGFncyA9IERSTV9NT0RF X0RVTUJfS0VSTkVMX01BUDsKIAogCWNtYV9vYmogPSBkcm1fZ2VtX2NtYV9jcmVhdGVfd2l0aF9o YW5kbGUoZmlsZV9wcml2LCBkcm0sIGFyZ3MtPnNpemUsCi0JCQkJCQkgJmFyZ3MtPmhhbmRsZSk7 CisJCQkJCQkgYXJncy0+ZmxhZ3MsICZhcmdzLT5oYW5kbGUpOwogCXJldHVybiBQVFJfRVJSX09S X1pFUk8oY21hX29iaik7CiB9CiBFWFBPUlRfU1lNQk9MX0dQTChkcm1fZ2VtX2NtYV9kdW1iX2Ny ZWF0ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMgYi9k cml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMKaW5kZXggMzk3YzMzMTgyZjRmLi4xNTkz NTE4ZGNiZTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9kcnYuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMKQEAgLTgxLDYgKzgxLDcgQEAg c3RhdGljIGludCBtZXNvbl9kdW1iX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsIHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCiAJICovCiAJYXJncy0+cGl0Y2ggPSBBTElHTihESVZfUk9VTkRf VVAoYXJncy0+d2lkdGggKiBhcmdzLT5icHAsIDgpLCBTWl82NCk7CiAJYXJncy0+c2l6ZSA9IFBB R0VfQUxJR04oYXJncy0+cGl0Y2ggKiBhcmdzLT5oZWlnaHQpOworCWFyZ3MtPmZsYWdzID0gRFJN X01PREVfRFVNQl9LRVJORUxfTUFQOwogCiAJcmV0dXJuIGRybV9nZW1fY21hX2R1bWJfY3JlYXRl X2ludGVybmFsKGZpbGUsIGRldiwgYXJncyk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcmNhci1kdS9yY2FyX2R1X2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9k dV9rbXMuYwppbmRleCAyZGM5Y2FlZTg3NjcuLmM5YjFmMjk4Y2U3ZSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9rbXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v cmNhci1kdS9yY2FyX2R1X2ttcy5jCkBAIC0yOTksNiArMjk5LDcgQEAgaW50IHJjYXJfZHVfZHVt Yl9jcmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAog CQlhbGlnbiA9IDE2ICogYXJncy0+YnBwIC8gODsKIAogCWFyZ3MtPnBpdGNoID0gcm91bmR1cCht aW5fcGl0Y2gsIGFsaWduKTsKKwlhcmdzLT5mbGFncyA9IERSTV9NT0RFX0RVTUJfS0VSTkVMX01B UDsKIAogCXJldHVybiBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0ZV9pbnRlcm5hbChmaWxlLCBkZXYs IGFyZ3MpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlw X2RybV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZ2VtLmMK aW5kZXggNzU4MmQwZTZhNjBhLi5mMDliOWEwMzUzNzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Jv Y2tjaGlwL3JvY2tjaGlwX2RybV9nZW0uYwpAQCAtNDE5LDYgKzQxOSw3IEBAIGludCByb2NrY2hp cF9nZW1fZHVtYl9jcmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsCiAJICogYWxpZ24g dG8gNjQgYnl0ZXMgc2luY2UgTWFsaSByZXF1aXJlcyBpdC4KIAkgKi8KIAlhcmdzLT5waXRjaCA9 IEFMSUdOKG1pbl9waXRjaCwgNjQpOworCWFyZ3MtPmZsYWdzID0gRFJNX01PREVfRFVNQl9LRVJO RUxfTUFQOwogCWFyZ3MtPnNpemUgPSBhcmdzLT5waXRjaCAqIGFyZ3MtPmhlaWdodDsKIAogCXJr X29iaiA9IHJvY2tjaGlwX2dlbV9jcmVhdGVfd2l0aF9oYW5kbGUoZmlsZV9wcml2LCBkZXYsIGFy Z3MtPnNpemUsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RtL2Rydi5jIGIvZHJpdmVy cy9ncHUvZHJtL3N0bS9kcnYuYwppbmRleCA1YTlmOWFjYThiYzIuLjBmNzZhNGFjOTViMyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0bS9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v c3RtL2Rydi5jCkBAIC00Nyw2ICs0Nyw3IEBAIHN0YXRpYyBpbnQgc3RtX2dlbV9jbWFfZHVtYl9j cmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlLAogCSAqLwogCWFyZ3MtPnBpdGNoID0gcm91bmR1 cChtaW5fcGl0Y2gsIDEyOCk7CiAJYXJncy0+aGVpZ2h0ID0gcm91bmR1cChhcmdzLT5oZWlnaHQs IDQpOworCWFyZ3MtPmZsYWdzID0gRFJNX01PREVfRFVNQl9LRVJORUxfTUFQOwogCiAJcmV0dXJu IGRybV9nZW1fY21hX2R1bWJfY3JlYXRlX2ludGVybmFsKGZpbGUsIGRldiwgYXJncyk7CiB9CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfZHJ2LmMgYi9kcml2ZXJzL2dw dS9kcm0vc3VuNGkvc3VuNGlfZHJ2LmMKaW5kZXggYTU3NTdiMTFiNzMwLi5mNjUzYTVkMWUyZDYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9kcnYuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfZHJ2LmMKQEAgLTM0LDYgKzM0LDcgQEAgc3RhdGljIGlu dCBkcm1fc3VuNGlfZ2VtX2R1bWJfY3JlYXRlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LAog ewogCS8qIFRoZSBoYXJkd2FyZSBvbmx5IGFsbG93cyBldmVuIHBpdGNoZXMgZm9yIFlVViBidWZm ZXJzLiAqLwogCWFyZ3MtPnBpdGNoID0gQUxJR04oRElWX1JPVU5EX1VQKGFyZ3MtPndpZHRoICog YXJncy0+YnBwLCA4KSwgMik7CisJYXJncy0+ZmxhZ3MgPSBEUk1fTU9ERV9EVU1CX0tFUk5FTF9N QVA7CiAKIAlyZXR1cm4gZHJtX2dlbV9jbWFfZHVtYl9jcmVhdGVfaW50ZXJuYWwoZmlsZV9wcml2 LCBkcm0sIGFyZ3MpOwogfQotLSAKMi4yMC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgt YXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=