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=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 A895ACA9EA0 for ; Fri, 25 Oct 2019 14:02:53 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 76B3121D7B for ; Fri, 25 Oct 2019 14:02:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1572012173; bh=LjaXfOzXjbGolgL5lavCG74WEHxzKaRoSBWdDKMWtVk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=kFTA9ZujuG7Jq+kGeFBzL/JfndA9tTBblL29KOFZfmOM2t1W1MFcWZWW05ZsAvIUi Z5nCxy3odiGSlP8xqZv4hkhFdPaOVDD91QPhc7AS0nncefg/AGF7F+UuITA1lo15ro TL+M0rwFJ2H++/KH8RtO+ZHY59BoAHgWhIUOsHl4= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2395035AbfJYOCn (ORCPT ); Fri, 25 Oct 2019 10:02:43 -0400 Received: from mail.kernel.org ([198.145.29.99]:52412 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2505344AbfJYN5e (ORCPT ); Fri, 25 Oct 2019 09:57:34 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 35487222C2; Fri, 25 Oct 2019 13:57:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1572011853; bh=LjaXfOzXjbGolgL5lavCG74WEHxzKaRoSBWdDKMWtVk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=0ih27qVApl+ccaZv/TklXD0Uk0csf2d1FPpVoTbPLXw6hn4JlGLSHOWjk+L/9ybmS KIfInF3ulY6s6oSKB4l/NndSHqubd3Yb0AVt9OwY+OxIZejYokCEhExL7jOay3CXCN jhOa6erAmybIbAudFHgcnTEe7Fa00w8SWF82s8+8= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Rob Clark , Stephan Gerhold , Sean Paul , Sasha Levin , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org Subject: [PATCH AUTOSEL 4.14 11/25] drm/msm: Use the correct dma_sync calls in msm_gem Date: Fri, 25 Oct 2019 09:56:59 -0400 Message-Id: <20191025135715.25468-11-sashal@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191025135715.25468-1-sashal@kernel.org> References: <20191025135715.25468-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org From: Rob Clark [ Upstream commit 3de433c5b38af49a5fc7602721e2ab5d39f1e69c ] [subject was: drm/msm: shake fist angrily at dma-mapping] So, using dma_sync_* for our cache needs works out w/ dma iommu ops, but it falls appart with dma direct ops. The problem is that, depending on display generation, we can have either set of dma ops (mdp4 and dpu have iommu wired to mdss node, which maps to toplevel drm device, but mdp5 has iommu wired up to the mdp sub-node within mdss). Fixes this splat on mdp5 devices: Unable to handle kernel paging request at virtual address ffffffff80000000 Mem abort info: ESR = 0x96000144 Exception class = DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 Data abort info: ISV = 0, ISS = 0x00000144 CM = 1, WnR = 1 swapper pgtable: 4k pages, 48-bit VAs, pgdp=00000000810e4000 [ffffffff80000000] pgd=0000000000000000 Internal error: Oops: 96000144 [#1] SMP Modules linked in: btqcomsmd btqca bluetooth cfg80211 ecdh_generic ecc rfkill libarc4 panel_simple msm wcnss_ctrl qrtr_smd drm_kms_helper venus_enc venus_dec videobuf2_dma_sg videobuf2_memops drm venus_core ipv6 qrtr qcom_wcnss_pil v4l2_mem2mem qcom_sysmon videobuf2_v4l2 qmi_helpers videobuf2_common crct10dif_ce mdt_loader qcom_common videodev qcom_glink_smem remoteproc bmc150_accel_i2c bmc150_magn_i2c bmc150_accel_core bmc150_magn snd_soc_lpass_apq8016 snd_soc_msm8916_analog mms114 mc nf_defrag_ipv6 snd_soc_lpass_cpu snd_soc_apq8016_sbc industrialio_triggered_buffer kfifo_buf snd_soc_lpass_platform snd_soc_msm8916_digital drm_panel_orientation_quirks CPU: 2 PID: 33 Comm: kworker/2:1 Not tainted 5.3.0-rc2 #1 Hardware name: Samsung Galaxy A5U (EUR) (DT) Workqueue: events deferred_probe_work_func pstate: 80000005 (Nzcv daif -PAN -UAO) pc : __clean_dcache_area_poc+0x20/0x38 lr : arch_sync_dma_for_device+0x28/0x30 sp : ffff0000115736a0 x29: ffff0000115736a0 x28: 0000000000000001 x27: ffff800074830800 x26: ffff000011478000 x25: 0000000000000000 x24: 0000000000000001 x23: ffff000011478a98 x22: ffff800009fd1c10 x21: 0000000000000001 x20: ffff800075ad0a00 x19: 0000000000000000 x18: ffff0000112b2000 x17: 0000000000000000 x16: 0000000000000000 x15: 00000000fffffff0 x14: ffff000011455d70 x13: 0000000000000000 x12: 0000000000000028 x11: 0000000000000001 x10: ffff00001106c000 x9 : ffff7e0001d6b380 x8 : 0000000000001000 x7 : ffff7e0001d6b380 x6 : ffff7e0001d6b382 x5 : 0000000000000000 x4 : 0000000000001000 x3 : 000000000000003f x2 : 0000000000000040 x1 : ffffffff80001000 x0 : ffffffff80000000 Call trace: __clean_dcache_area_poc+0x20/0x38 dma_direct_sync_sg_for_device+0xb8/0xe8 get_pages+0x22c/0x250 [msm] msm_gem_get_and_pin_iova+0xdc/0x168 [msm] ... Fixes the combination of two patches: Fixes: 0036bc73ccbe (drm/msm: stop abusing dma_map/unmap for cache) Fixes: 449fa54d6815 (dma-direct: correct the physical addr in dma_direct_sync_sg_for_cpu/device) Tested-by: Stephan Gerhold Signed-off-by: Rob Clark [seanpaul changed subject to something more desriptive] Signed-off-by: Sean Paul Link: https://patchwork.freedesktop.org/patch/msgid/20190730214633.17820-1-robdclark@gmail.com Signed-off-by: Sasha Levin --- drivers/gpu/drm/msm/msm_gem.c | 47 +++++++++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c index 3a91ccd92c473..300c4624aa6c0 100644 --- a/drivers/gpu/drm/msm/msm_gem.c +++ b/drivers/gpu/drm/msm/msm_gem.c @@ -43,6 +43,46 @@ static bool use_pages(struct drm_gem_object *obj) return !msm_obj->vram_node; } +/* + * Cache sync.. this is a bit over-complicated, to fit dma-mapping + * API. Really GPU cache is out of scope here (handled on cmdstream) + * and all we need to do is invalidate newly allocated pages before + * mapping to CPU as uncached/writecombine. + * + * On top of this, we have the added headache, that depending on + * display generation, the display's iommu may be wired up to either + * the toplevel drm device (mdss), or to the mdp sub-node, meaning + * that here we either have dma-direct or iommu ops. + * + * Let this be a cautionary tail of abstraction gone wrong. + */ + +static void sync_for_device(struct msm_gem_object *msm_obj) +{ + struct device *dev = msm_obj->base.dev->dev; + + if (get_dma_ops(dev)) { + dma_sync_sg_for_device(dev, msm_obj->sgt->sgl, + msm_obj->sgt->nents, DMA_BIDIRECTIONAL); + } else { + dma_map_sg(dev, msm_obj->sgt->sgl, + msm_obj->sgt->nents, DMA_BIDIRECTIONAL); + } +} + +static void sync_for_cpu(struct msm_gem_object *msm_obj) +{ + struct device *dev = msm_obj->base.dev->dev; + + if (get_dma_ops(dev)) { + dma_sync_sg_for_cpu(dev, msm_obj->sgt->sgl, + msm_obj->sgt->nents, DMA_BIDIRECTIONAL); + } else { + dma_unmap_sg(dev, msm_obj->sgt->sgl, + msm_obj->sgt->nents, DMA_BIDIRECTIONAL); + } +} + /* allocate pages from VRAM carveout, used when no IOMMU: */ static struct page **get_pages_vram(struct drm_gem_object *obj, int npages) { @@ -108,8 +148,7 @@ static struct page **get_pages(struct drm_gem_object *obj) * because display controller, GPU, etc. are not coherent: */ if (msm_obj->flags & (MSM_BO_WC|MSM_BO_UNCACHED)) - dma_sync_sg_for_device(dev->dev, msm_obj->sgt->sgl, - msm_obj->sgt->nents, DMA_BIDIRECTIONAL); + sync_for_device(msm_obj); } return msm_obj->pages; @@ -138,9 +177,7 @@ static void put_pages(struct drm_gem_object *obj) * GPU, etc. are not coherent: */ if (msm_obj->flags & (MSM_BO_WC|MSM_BO_UNCACHED)) - dma_sync_sg_for_cpu(obj->dev->dev, msm_obj->sgt->sgl, - msm_obj->sgt->nents, - DMA_BIDIRECTIONAL); + sync_for_cpu(msm_obj); sg_free_table(msm_obj->sgt); kfree(msm_obj->sgt); -- 2.20.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sasha Levin Subject: [PATCH AUTOSEL 4.14 11/25] drm/msm: Use the correct dma_sync calls in msm_gem Date: Fri, 25 Oct 2019 09:56:59 -0400 Message-ID: <20191025135715.25468-11-sashal@kernel.org> References: <20191025135715.25468-1-sashal@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20191025135715.25468-1-sashal-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, stable-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: Rob Clark , Sasha Levin , Stephan Gerhold , linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Sean Paul , freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogUm9iIENsYXJrIDxyb2JkY2xhcmtAY2hyb21pdW0ub3JnPgoKWyBVcHN0cmVhbSBjb21t aXQgM2RlNDMzYzViMzhhZjQ5YTVmYzc2MDI3MjFlMmFiNWQzOWYxZTY5YyBdCgpbc3ViamVjdCB3 YXM6IGRybS9tc206IHNoYWtlIGZpc3QgYW5ncmlseSBhdCBkbWEtbWFwcGluZ10KClNvLCB1c2lu ZyBkbWFfc3luY18qIGZvciBvdXIgY2FjaGUgbmVlZHMgd29ya3Mgb3V0IHcvIGRtYSBpb21tdSBv cHMsIGJ1dAppdCBmYWxscyBhcHBhcnQgd2l0aCBkbWEgZGlyZWN0IG9wcy4gIFRoZSBwcm9ibGVt IGlzIHRoYXQsIGRlcGVuZGluZyBvbgpkaXNwbGF5IGdlbmVyYXRpb24sIHdlIGNhbiBoYXZlIGVp dGhlciBzZXQgb2YgZG1hIG9wcyAobWRwNCBhbmQgZHB1IGhhdmUKaW9tbXUgd2lyZWQgdG8gbWRz cyBub2RlLCB3aGljaCBtYXBzIHRvIHRvcGxldmVsIGRybSBkZXZpY2UsIGJ1dCBtZHA1CmhhcyBp b21tdSB3aXJlZCB1cCB0byB0aGUgbWRwIHN1Yi1ub2RlIHdpdGhpbiBtZHNzKS4KCkZpeGVzIHRo aXMgc3BsYXQgb24gbWRwNSBkZXZpY2VzOgoKICAgVW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgcGFn aW5nIHJlcXVlc3QgYXQgdmlydHVhbCBhZGRyZXNzIGZmZmZmZmZmODAwMDAwMDAKICAgTWVtIGFi b3J0IGluZm86CiAgICAgRVNSID0gMHg5NjAwMDE0NAogICAgIEV4Y2VwdGlvbiBjbGFzcyA9IERB QlQgKGN1cnJlbnQgRUwpLCBJTCA9IDMyIGJpdHMKICAgICBTRVQgPSAwLCBGblYgPSAwCiAgICAg RUEgPSAwLCBTMVBUVyA9IDAKICAgRGF0YSBhYm9ydCBpbmZvOgogICAgIElTViA9IDAsIElTUyA9 IDB4MDAwMDAxNDQKICAgICBDTSA9IDEsIFduUiA9IDEKICAgc3dhcHBlciBwZ3RhYmxlOiA0ayBw YWdlcywgNDgtYml0IFZBcywgcGdkcD0wMDAwMDAwMDgxMGU0MDAwCiAgIFtmZmZmZmZmZjgwMDAw MDAwXSBwZ2Q9MDAwMDAwMDAwMDAwMDAwMAogICBJbnRlcm5hbCBlcnJvcjogT29wczogOTYwMDAx NDQgWyMxXSBTTVAKICAgTW9kdWxlcyBsaW5rZWQgaW46IGJ0cWNvbXNtZCBidHFjYSBibHVldG9v dGggY2ZnODAyMTEgZWNkaF9nZW5lcmljIGVjYyByZmtpbGwgbGliYXJjNCBwYW5lbF9zaW1wbGUg bXNtIHdjbnNzX2N0cmwgcXJ0cl9zbWQgZHJtX2ttc19oZWxwZXIgdmVudXNfZW5jIHZlbnVzX2Rl YyB2aWRlb2J1ZjJfZG1hX3NnIHZpZGVvYnVmMl9tZW1vcHMgZHJtIHZlbnVzX2NvcmUgaXB2NiBx cnRyIHFjb21fd2Nuc3NfcGlsIHY0bDJfbWVtMm1lbSBxY29tX3N5c21vbiB2aWRlb2J1ZjJfdjRs MiBxbWlfaGVscGVycyB2aWRlb2J1ZjJfY29tbW9uIGNyY3QxMGRpZl9jZSBtZHRfbG9hZGVyIHFj b21fY29tbW9uIHZpZGVvZGV2IHFjb21fZ2xpbmtfc21lbSByZW1vdGVwcm9jIGJtYzE1MF9hY2Nl bF9pMmMgYm1jMTUwX21hZ25faTJjIGJtYzE1MF9hY2NlbF9jb3JlIGJtYzE1MF9tYWduIHNuZF9z b2NfbHBhc3NfYXBxODAxNiBzbmRfc29jX21zbTg5MTZfYW5hbG9nIG1tczExNCBtYyBuZl9kZWZy YWdfaXB2NiBzbmRfc29jX2xwYXNzX2NwdSBzbmRfc29jX2FwcTgwMTZfc2JjIGluZHVzdHJpYWxp b190cmlnZ2VyZWRfYnVmZmVyIGtmaWZvX2J1ZiBzbmRfc29jX2xwYXNzX3BsYXRmb3JtIHNuZF9z b2NfbXNtODkxNl9kaWdpdGFsIGRybV9wYW5lbF9vcmllbnRhdGlvbl9xdWlya3MKICAgQ1BVOiAy IFBJRDogMzMgQ29tbToga3dvcmtlci8yOjEgTm90IHRhaW50ZWQgNS4zLjAtcmMyICMxCiAgIEhh cmR3YXJlIG5hbWU6IFNhbXN1bmcgR2FsYXh5IEE1VSAoRVVSKSAoRFQpCiAgIFdvcmtxdWV1ZTog ZXZlbnRzIGRlZmVycmVkX3Byb2JlX3dvcmtfZnVuYwogICBwc3RhdGU6IDgwMDAwMDA1IChOemN2 IGRhaWYgLVBBTiAtVUFPKQogICBwYyA6IF9fY2xlYW5fZGNhY2hlX2FyZWFfcG9jKzB4MjAvMHgz OAogICBsciA6IGFyY2hfc3luY19kbWFfZm9yX2RldmljZSsweDI4LzB4MzAKICAgc3AgOiBmZmZm MDAwMDExNTczNmEwCiAgIHgyOTogZmZmZjAwMDAxMTU3MzZhMCB4Mjg6IDAwMDAwMDAwMDAwMDAw MDEKICAgeDI3OiBmZmZmODAwMDc0ODMwODAwIHgyNjogZmZmZjAwMDAxMTQ3ODAwMAogICB4MjU6 IDAwMDAwMDAwMDAwMDAwMDAgeDI0OiAwMDAwMDAwMDAwMDAwMDAxCiAgIHgyMzogZmZmZjAwMDAx MTQ3OGE5OCB4MjI6IGZmZmY4MDAwMDlmZDFjMTAKICAgeDIxOiAwMDAwMDAwMDAwMDAwMDAxIHgy MDogZmZmZjgwMDA3NWFkMGEwMAogICB4MTk6IDAwMDAwMDAwMDAwMDAwMDAgeDE4OiBmZmZmMDAw MDExMmIyMDAwCiAgIHgxNzogMDAwMDAwMDAwMDAwMDAwMCB4MTY6IDAwMDAwMDAwMDAwMDAwMDAK ICAgeDE1OiAwMDAwMDAwMGZmZmZmZmYwIHgxNDogZmZmZjAwMDAxMTQ1NWQ3MAogICB4MTM6IDAw MDAwMDAwMDAwMDAwMDAgeDEyOiAwMDAwMDAwMDAwMDAwMDI4CiAgIHgxMTogMDAwMDAwMDAwMDAw MDAwMSB4MTA6IGZmZmYwMDAwMTEwNmMwMDAKICAgeDkgOiBmZmZmN2UwMDAxZDZiMzgwIHg4IDog MDAwMDAwMDAwMDAwMTAwMAogICB4NyA6IGZmZmY3ZTAwMDFkNmIzODAgeDYgOiBmZmZmN2UwMDAx ZDZiMzgyCiAgIHg1IDogMDAwMDAwMDAwMDAwMDAwMCB4NCA6IDAwMDAwMDAwMDAwMDEwMDAKICAg eDMgOiAwMDAwMDAwMDAwMDAwMDNmIHgyIDogMDAwMDAwMDAwMDAwMDA0MAogICB4MSA6IGZmZmZm ZmZmODAwMDEwMDAgeDAgOiBmZmZmZmZmZjgwMDAwMDAwCiAgIENhbGwgdHJhY2U6CiAgICBfX2Ns ZWFuX2RjYWNoZV9hcmVhX3BvYysweDIwLzB4MzgKICAgIGRtYV9kaXJlY3Rfc3luY19zZ19mb3Jf ZGV2aWNlKzB4YjgvMHhlOAogICAgZ2V0X3BhZ2VzKzB4MjJjLzB4MjUwIFttc21dCiAgICBtc21f Z2VtX2dldF9hbmRfcGluX2lvdmErMHhkYy8weDE2OCBbbXNtXQogICAgLi4uCgpGaXhlcyB0aGUg Y29tYmluYXRpb24gb2YgdHdvIHBhdGNoZXM6CgpGaXhlczogMDAzNmJjNzNjY2JlIChkcm0vbXNt OiBzdG9wIGFidXNpbmcgZG1hX21hcC91bm1hcCBmb3IgY2FjaGUpCkZpeGVzOiA0NDlmYTU0ZDY4 MTUgKGRtYS1kaXJlY3Q6IGNvcnJlY3QgdGhlIHBoeXNpY2FsIGFkZHIgaW4gZG1hX2RpcmVjdF9z eW5jX3NnX2Zvcl9jcHUvZGV2aWNlKQpUZXN0ZWQtYnk6IFN0ZXBoYW4gR2VyaG9sZCA8c3RlcGhh bkBnZXJob2xkLm5ldD4KU2lnbmVkLW9mZi1ieTogUm9iIENsYXJrIDxyb2JkY2xhcmtAY2hyb21p dW0ub3JnPgpbc2VhbnBhdWwgY2hhbmdlZCBzdWJqZWN0IHRvIHNvbWV0aGluZyBtb3JlIGRlc3Jp cHRpdmVdClNpZ25lZC1vZmYtYnk6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgpM aW5rOiBodHRwczovL3BhdGNod29yay5mcmVlZGVza3RvcC5vcmcvcGF0Y2gvbXNnaWQvMjAxOTA3 MzAyMTQ2MzMuMTc4MjAtMS1yb2JkY2xhcmtAZ21haWwuY29tClNpZ25lZC1vZmYtYnk6IFNhc2hh IExldmluIDxzYXNoYWxAa2VybmVsLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9n ZW0uYyB8IDQ3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiAxIGZpbGUgY2hh bmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL21zbV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbS5j CmluZGV4IDNhOTFjY2Q5MmM0NzMuLjMwMGM0NjI0YWE2YzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9tc20vbXNtX2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbS5j CkBAIC00Myw2ICs0Myw0NiBAQCBzdGF0aWMgYm9vbCB1c2VfcGFnZXMoc3RydWN0IGRybV9nZW1f b2JqZWN0ICpvYmopCiAJcmV0dXJuICFtc21fb2JqLT52cmFtX25vZGU7CiB9CiAKKy8qCisgKiBD YWNoZSBzeW5jLi4gdGhpcyBpcyBhIGJpdCBvdmVyLWNvbXBsaWNhdGVkLCB0byBmaXQgZG1hLW1h cHBpbmcKKyAqIEFQSS4gIFJlYWxseSBHUFUgY2FjaGUgaXMgb3V0IG9mIHNjb3BlIGhlcmUgKGhh bmRsZWQgb24gY21kc3RyZWFtKQorICogYW5kIGFsbCB3ZSBuZWVkIHRvIGRvIGlzIGludmFsaWRh dGUgbmV3bHkgYWxsb2NhdGVkIHBhZ2VzIGJlZm9yZQorICogbWFwcGluZyB0byBDUFUgYXMgdW5j YWNoZWQvd3JpdGVjb21iaW5lLgorICoKKyAqIE9uIHRvcCBvZiB0aGlzLCB3ZSBoYXZlIHRoZSBh ZGRlZCBoZWFkYWNoZSwgdGhhdCBkZXBlbmRpbmcgb24KKyAqIGRpc3BsYXkgZ2VuZXJhdGlvbiwg dGhlIGRpc3BsYXkncyBpb21tdSBtYXkgYmUgd2lyZWQgdXAgdG8gZWl0aGVyCisgKiB0aGUgdG9w bGV2ZWwgZHJtIGRldmljZSAobWRzcyksIG9yIHRvIHRoZSBtZHAgc3ViLW5vZGUsIG1lYW5pbmcK KyAqIHRoYXQgaGVyZSB3ZSBlaXRoZXIgaGF2ZSBkbWEtZGlyZWN0IG9yIGlvbW11IG9wcy4KKyAq CisgKiBMZXQgdGhpcyBiZSBhIGNhdXRpb25hcnkgdGFpbCBvZiBhYnN0cmFjdGlvbiBnb25lIHdy b25nLgorICovCisKK3N0YXRpYyB2b2lkIHN5bmNfZm9yX2RldmljZShzdHJ1Y3QgbXNtX2dlbV9v YmplY3QgKm1zbV9vYmopCit7CisJc3RydWN0IGRldmljZSAqZGV2ID0gbXNtX29iai0+YmFzZS5k ZXYtPmRldjsKKworCWlmIChnZXRfZG1hX29wcyhkZXYpKSB7CisJCWRtYV9zeW5jX3NnX2Zvcl9k ZXZpY2UoZGV2LCBtc21fb2JqLT5zZ3QtPnNnbCwKKwkJCW1zbV9vYmotPnNndC0+bmVudHMsIERN QV9CSURJUkVDVElPTkFMKTsKKwl9IGVsc2UgeworCQlkbWFfbWFwX3NnKGRldiwgbXNtX29iai0+ c2d0LT5zZ2wsCisJCQltc21fb2JqLT5zZ3QtPm5lbnRzLCBETUFfQklESVJFQ1RJT05BTCk7CisJ fQorfQorCitzdGF0aWMgdm9pZCBzeW5jX2Zvcl9jcHUoc3RydWN0IG1zbV9nZW1fb2JqZWN0ICpt c21fb2JqKQoreworCXN0cnVjdCBkZXZpY2UgKmRldiA9IG1zbV9vYmotPmJhc2UuZGV2LT5kZXY7 CisKKwlpZiAoZ2V0X2RtYV9vcHMoZGV2KSkgeworCQlkbWFfc3luY19zZ19mb3JfY3B1KGRldiwg bXNtX29iai0+c2d0LT5zZ2wsCisJCQltc21fb2JqLT5zZ3QtPm5lbnRzLCBETUFfQklESVJFQ1RJ T05BTCk7CisJfSBlbHNlIHsKKwkJZG1hX3VubWFwX3NnKGRldiwgbXNtX29iai0+c2d0LT5zZ2ws CisJCQltc21fb2JqLT5zZ3QtPm5lbnRzLCBETUFfQklESVJFQ1RJT05BTCk7CisJfQorfQorCiAv KiBhbGxvY2F0ZSBwYWdlcyBmcm9tIFZSQU0gY2FydmVvdXQsIHVzZWQgd2hlbiBubyBJT01NVTog Ki8KIHN0YXRpYyBzdHJ1Y3QgcGFnZSAqKmdldF9wYWdlc192cmFtKHN0cnVjdCBkcm1fZ2VtX29i amVjdCAqb2JqLCBpbnQgbnBhZ2VzKQogewpAQCAtMTA4LDggKzE0OCw3IEBAIHN0YXRpYyBzdHJ1 Y3QgcGFnZSAqKmdldF9wYWdlcyhzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaikKIAkJICogYmVj YXVzZSBkaXNwbGF5IGNvbnRyb2xsZXIsIEdQVSwgZXRjLiBhcmUgbm90IGNvaGVyZW50OgogCQkg Ki8KIAkJaWYgKG1zbV9vYmotPmZsYWdzICYgKE1TTV9CT19XQ3xNU01fQk9fVU5DQUNIRUQpKQot CQkJZG1hX3N5bmNfc2dfZm9yX2RldmljZShkZXYtPmRldiwgbXNtX29iai0+c2d0LT5zZ2wsCi0J CQkJCW1zbV9vYmotPnNndC0+bmVudHMsIERNQV9CSURJUkVDVElPTkFMKTsKKwkJCXN5bmNfZm9y X2RldmljZShtc21fb2JqKTsKIAl9CiAKIAlyZXR1cm4gbXNtX29iai0+cGFnZXM7CkBAIC0xMzgs OSArMTc3LDcgQEAgc3RhdGljIHZvaWQgcHV0X3BhZ2VzKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAq b2JqKQogCQkJICogR1BVLCBldGMuIGFyZSBub3QgY29oZXJlbnQ6CiAJCQkgKi8KIAkJCWlmICht c21fb2JqLT5mbGFncyAmIChNU01fQk9fV0N8TVNNX0JPX1VOQ0FDSEVEKSkKLQkJCQlkbWFfc3lu Y19zZ19mb3JfY3B1KG9iai0+ZGV2LT5kZXYsIG1zbV9vYmotPnNndC0+c2dsLAotCQkJCQkgICAg IG1zbV9vYmotPnNndC0+bmVudHMsCi0JCQkJCSAgICAgRE1BX0JJRElSRUNUSU9OQUwpOworCQkJ CXN5bmNfZm9yX2NwdShtc21fb2JqKTsKIAogCQkJc2dfZnJlZV90YWJsZShtc21fb2JqLT5zZ3Qp OwogCQkJa2ZyZWUobXNtX29iai0+c2d0KTsKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVl ZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5v 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=INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,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 1B11CCA9EBC for ; Fri, 25 Oct 2019 13:57:37 +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 F0A8021D82 for ; Fri, 25 Oct 2019 13:57:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F0A8021D82 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.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 6EF706EA4A; Fri, 25 Oct 2019 13:57:36 +0000 (UTC) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by gabe.freedesktop.org (Postfix) with ESMTPS id 490536EA4A; Fri, 25 Oct 2019 13:57:33 +0000 (UTC) Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 35487222C2; Fri, 25 Oct 2019 13:57:32 +0000 (UTC) From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Subject: [PATCH AUTOSEL 4.14 11/25] drm/msm: Use the correct dma_sync calls in msm_gem Date: Fri, 25 Oct 2019 09:56:59 -0400 Message-Id: <20191025135715.25468-11-sashal@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191025135715.25468-1-sashal@kernel.org> References: <20191025135715.25468-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1572011853; bh=LjaXfOzXjbGolgL5lavCG74WEHxzKaRoSBWdDKMWtVk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=0ih27qVApl+ccaZv/TklXD0Uk0csf2d1FPpVoTbPLXw6hn4JlGLSHOWjk+L/9ybmS KIfInF3ulY6s6oSKB4l/NndSHqubd3Yb0AVt9OwY+OxIZejYokCEhExL7jOay3CXCN jhOa6erAmybIbAudFHgcnTEe7Fa00w8SWF82s8+8= X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Rob Clark , Sasha Levin , Stephan Gerhold , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, Sean Paul , freedreno@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Message-ID: <20191025135659.qS3Z8CU6C_InW1M8QylB_Wcyj7Vg7mk37FT2zsGY5ho@z> RnJvbTogUm9iIENsYXJrIDxyb2JkY2xhcmtAY2hyb21pdW0ub3JnPgoKWyBVcHN0cmVhbSBjb21t aXQgM2RlNDMzYzViMzhhZjQ5YTVmYzc2MDI3MjFlMmFiNWQzOWYxZTY5YyBdCgpbc3ViamVjdCB3 YXM6IGRybS9tc206IHNoYWtlIGZpc3QgYW5ncmlseSBhdCBkbWEtbWFwcGluZ10KClNvLCB1c2lu ZyBkbWFfc3luY18qIGZvciBvdXIgY2FjaGUgbmVlZHMgd29ya3Mgb3V0IHcvIGRtYSBpb21tdSBv cHMsIGJ1dAppdCBmYWxscyBhcHBhcnQgd2l0aCBkbWEgZGlyZWN0IG9wcy4gIFRoZSBwcm9ibGVt IGlzIHRoYXQsIGRlcGVuZGluZyBvbgpkaXNwbGF5IGdlbmVyYXRpb24sIHdlIGNhbiBoYXZlIGVp dGhlciBzZXQgb2YgZG1hIG9wcyAobWRwNCBhbmQgZHB1IGhhdmUKaW9tbXUgd2lyZWQgdG8gbWRz cyBub2RlLCB3aGljaCBtYXBzIHRvIHRvcGxldmVsIGRybSBkZXZpY2UsIGJ1dCBtZHA1CmhhcyBp b21tdSB3aXJlZCB1cCB0byB0aGUgbWRwIHN1Yi1ub2RlIHdpdGhpbiBtZHNzKS4KCkZpeGVzIHRo aXMgc3BsYXQgb24gbWRwNSBkZXZpY2VzOgoKICAgVW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgcGFn aW5nIHJlcXVlc3QgYXQgdmlydHVhbCBhZGRyZXNzIGZmZmZmZmZmODAwMDAwMDAKICAgTWVtIGFi b3J0IGluZm86CiAgICAgRVNSID0gMHg5NjAwMDE0NAogICAgIEV4Y2VwdGlvbiBjbGFzcyA9IERB QlQgKGN1cnJlbnQgRUwpLCBJTCA9IDMyIGJpdHMKICAgICBTRVQgPSAwLCBGblYgPSAwCiAgICAg RUEgPSAwLCBTMVBUVyA9IDAKICAgRGF0YSBhYm9ydCBpbmZvOgogICAgIElTViA9IDAsIElTUyA9 IDB4MDAwMDAxNDQKICAgICBDTSA9IDEsIFduUiA9IDEKICAgc3dhcHBlciBwZ3RhYmxlOiA0ayBw YWdlcywgNDgtYml0IFZBcywgcGdkcD0wMDAwMDAwMDgxMGU0MDAwCiAgIFtmZmZmZmZmZjgwMDAw MDAwXSBwZ2Q9MDAwMDAwMDAwMDAwMDAwMAogICBJbnRlcm5hbCBlcnJvcjogT29wczogOTYwMDAx NDQgWyMxXSBTTVAKICAgTW9kdWxlcyBsaW5rZWQgaW46IGJ0cWNvbXNtZCBidHFjYSBibHVldG9v dGggY2ZnODAyMTEgZWNkaF9nZW5lcmljIGVjYyByZmtpbGwgbGliYXJjNCBwYW5lbF9zaW1wbGUg bXNtIHdjbnNzX2N0cmwgcXJ0cl9zbWQgZHJtX2ttc19oZWxwZXIgdmVudXNfZW5jIHZlbnVzX2Rl YyB2aWRlb2J1ZjJfZG1hX3NnIHZpZGVvYnVmMl9tZW1vcHMgZHJtIHZlbnVzX2NvcmUgaXB2NiBx cnRyIHFjb21fd2Nuc3NfcGlsIHY0bDJfbWVtMm1lbSBxY29tX3N5c21vbiB2aWRlb2J1ZjJfdjRs MiBxbWlfaGVscGVycyB2aWRlb2J1ZjJfY29tbW9uIGNyY3QxMGRpZl9jZSBtZHRfbG9hZGVyIHFj b21fY29tbW9uIHZpZGVvZGV2IHFjb21fZ2xpbmtfc21lbSByZW1vdGVwcm9jIGJtYzE1MF9hY2Nl bF9pMmMgYm1jMTUwX21hZ25faTJjIGJtYzE1MF9hY2NlbF9jb3JlIGJtYzE1MF9tYWduIHNuZF9z b2NfbHBhc3NfYXBxODAxNiBzbmRfc29jX21zbTg5MTZfYW5hbG9nIG1tczExNCBtYyBuZl9kZWZy YWdfaXB2NiBzbmRfc29jX2xwYXNzX2NwdSBzbmRfc29jX2FwcTgwMTZfc2JjIGluZHVzdHJpYWxp b190cmlnZ2VyZWRfYnVmZmVyIGtmaWZvX2J1ZiBzbmRfc29jX2xwYXNzX3BsYXRmb3JtIHNuZF9z b2NfbXNtODkxNl9kaWdpdGFsIGRybV9wYW5lbF9vcmllbnRhdGlvbl9xdWlya3MKICAgQ1BVOiAy IFBJRDogMzMgQ29tbToga3dvcmtlci8yOjEgTm90IHRhaW50ZWQgNS4zLjAtcmMyICMxCiAgIEhh cmR3YXJlIG5hbWU6IFNhbXN1bmcgR2FsYXh5IEE1VSAoRVVSKSAoRFQpCiAgIFdvcmtxdWV1ZTog ZXZlbnRzIGRlZmVycmVkX3Byb2JlX3dvcmtfZnVuYwogICBwc3RhdGU6IDgwMDAwMDA1IChOemN2 IGRhaWYgLVBBTiAtVUFPKQogICBwYyA6IF9fY2xlYW5fZGNhY2hlX2FyZWFfcG9jKzB4MjAvMHgz OAogICBsciA6IGFyY2hfc3luY19kbWFfZm9yX2RldmljZSsweDI4LzB4MzAKICAgc3AgOiBmZmZm MDAwMDExNTczNmEwCiAgIHgyOTogZmZmZjAwMDAxMTU3MzZhMCB4Mjg6IDAwMDAwMDAwMDAwMDAw MDEKICAgeDI3OiBmZmZmODAwMDc0ODMwODAwIHgyNjogZmZmZjAwMDAxMTQ3ODAwMAogICB4MjU6 IDAwMDAwMDAwMDAwMDAwMDAgeDI0OiAwMDAwMDAwMDAwMDAwMDAxCiAgIHgyMzogZmZmZjAwMDAx MTQ3OGE5OCB4MjI6IGZmZmY4MDAwMDlmZDFjMTAKICAgeDIxOiAwMDAwMDAwMDAwMDAwMDAxIHgy MDogZmZmZjgwMDA3NWFkMGEwMAogICB4MTk6IDAwMDAwMDAwMDAwMDAwMDAgeDE4OiBmZmZmMDAw MDExMmIyMDAwCiAgIHgxNzogMDAwMDAwMDAwMDAwMDAwMCB4MTY6IDAwMDAwMDAwMDAwMDAwMDAK ICAgeDE1OiAwMDAwMDAwMGZmZmZmZmYwIHgxNDogZmZmZjAwMDAxMTQ1NWQ3MAogICB4MTM6IDAw MDAwMDAwMDAwMDAwMDAgeDEyOiAwMDAwMDAwMDAwMDAwMDI4CiAgIHgxMTogMDAwMDAwMDAwMDAw MDAwMSB4MTA6IGZmZmYwMDAwMTEwNmMwMDAKICAgeDkgOiBmZmZmN2UwMDAxZDZiMzgwIHg4IDog MDAwMDAwMDAwMDAwMTAwMAogICB4NyA6IGZmZmY3ZTAwMDFkNmIzODAgeDYgOiBmZmZmN2UwMDAx ZDZiMzgyCiAgIHg1IDogMDAwMDAwMDAwMDAwMDAwMCB4NCA6IDAwMDAwMDAwMDAwMDEwMDAKICAg eDMgOiAwMDAwMDAwMDAwMDAwMDNmIHgyIDogMDAwMDAwMDAwMDAwMDA0MAogICB4MSA6IGZmZmZm ZmZmODAwMDEwMDAgeDAgOiBmZmZmZmZmZjgwMDAwMDAwCiAgIENhbGwgdHJhY2U6CiAgICBfX2Ns ZWFuX2RjYWNoZV9hcmVhX3BvYysweDIwLzB4MzgKICAgIGRtYV9kaXJlY3Rfc3luY19zZ19mb3Jf ZGV2aWNlKzB4YjgvMHhlOAogICAgZ2V0X3BhZ2VzKzB4MjJjLzB4MjUwIFttc21dCiAgICBtc21f Z2VtX2dldF9hbmRfcGluX2lvdmErMHhkYy8weDE2OCBbbXNtXQogICAgLi4uCgpGaXhlcyB0aGUg Y29tYmluYXRpb24gb2YgdHdvIHBhdGNoZXM6CgpGaXhlczogMDAzNmJjNzNjY2JlIChkcm0vbXNt OiBzdG9wIGFidXNpbmcgZG1hX21hcC91bm1hcCBmb3IgY2FjaGUpCkZpeGVzOiA0NDlmYTU0ZDY4 MTUgKGRtYS1kaXJlY3Q6IGNvcnJlY3QgdGhlIHBoeXNpY2FsIGFkZHIgaW4gZG1hX2RpcmVjdF9z eW5jX3NnX2Zvcl9jcHUvZGV2aWNlKQpUZXN0ZWQtYnk6IFN0ZXBoYW4gR2VyaG9sZCA8c3RlcGhh bkBnZXJob2xkLm5ldD4KU2lnbmVkLW9mZi1ieTogUm9iIENsYXJrIDxyb2JkY2xhcmtAY2hyb21p dW0ub3JnPgpbc2VhbnBhdWwgY2hhbmdlZCBzdWJqZWN0IHRvIHNvbWV0aGluZyBtb3JlIGRlc3Jp cHRpdmVdClNpZ25lZC1vZmYtYnk6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgpM aW5rOiBodHRwczovL3BhdGNod29yay5mcmVlZGVza3RvcC5vcmcvcGF0Y2gvbXNnaWQvMjAxOTA3 MzAyMTQ2MzMuMTc4MjAtMS1yb2JkY2xhcmtAZ21haWwuY29tClNpZ25lZC1vZmYtYnk6IFNhc2hh IExldmluIDxzYXNoYWxAa2VybmVsLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9n ZW0uYyB8IDQ3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiAxIGZpbGUgY2hh bmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL21zbV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbS5j CmluZGV4IDNhOTFjY2Q5MmM0NzMuLjMwMGM0NjI0YWE2YzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9tc20vbXNtX2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbS5j CkBAIC00Myw2ICs0Myw0NiBAQCBzdGF0aWMgYm9vbCB1c2VfcGFnZXMoc3RydWN0IGRybV9nZW1f b2JqZWN0ICpvYmopCiAJcmV0dXJuICFtc21fb2JqLT52cmFtX25vZGU7CiB9CiAKKy8qCisgKiBD YWNoZSBzeW5jLi4gdGhpcyBpcyBhIGJpdCBvdmVyLWNvbXBsaWNhdGVkLCB0byBmaXQgZG1hLW1h cHBpbmcKKyAqIEFQSS4gIFJlYWxseSBHUFUgY2FjaGUgaXMgb3V0IG9mIHNjb3BlIGhlcmUgKGhh bmRsZWQgb24gY21kc3RyZWFtKQorICogYW5kIGFsbCB3ZSBuZWVkIHRvIGRvIGlzIGludmFsaWRh dGUgbmV3bHkgYWxsb2NhdGVkIHBhZ2VzIGJlZm9yZQorICogbWFwcGluZyB0byBDUFUgYXMgdW5j YWNoZWQvd3JpdGVjb21iaW5lLgorICoKKyAqIE9uIHRvcCBvZiB0aGlzLCB3ZSBoYXZlIHRoZSBh ZGRlZCBoZWFkYWNoZSwgdGhhdCBkZXBlbmRpbmcgb24KKyAqIGRpc3BsYXkgZ2VuZXJhdGlvbiwg dGhlIGRpc3BsYXkncyBpb21tdSBtYXkgYmUgd2lyZWQgdXAgdG8gZWl0aGVyCisgKiB0aGUgdG9w bGV2ZWwgZHJtIGRldmljZSAobWRzcyksIG9yIHRvIHRoZSBtZHAgc3ViLW5vZGUsIG1lYW5pbmcK KyAqIHRoYXQgaGVyZSB3ZSBlaXRoZXIgaGF2ZSBkbWEtZGlyZWN0IG9yIGlvbW11IG9wcy4KKyAq CisgKiBMZXQgdGhpcyBiZSBhIGNhdXRpb25hcnkgdGFpbCBvZiBhYnN0cmFjdGlvbiBnb25lIHdy b25nLgorICovCisKK3N0YXRpYyB2b2lkIHN5bmNfZm9yX2RldmljZShzdHJ1Y3QgbXNtX2dlbV9v YmplY3QgKm1zbV9vYmopCit7CisJc3RydWN0IGRldmljZSAqZGV2ID0gbXNtX29iai0+YmFzZS5k ZXYtPmRldjsKKworCWlmIChnZXRfZG1hX29wcyhkZXYpKSB7CisJCWRtYV9zeW5jX3NnX2Zvcl9k ZXZpY2UoZGV2LCBtc21fb2JqLT5zZ3QtPnNnbCwKKwkJCW1zbV9vYmotPnNndC0+bmVudHMsIERN QV9CSURJUkVDVElPTkFMKTsKKwl9IGVsc2UgeworCQlkbWFfbWFwX3NnKGRldiwgbXNtX29iai0+ c2d0LT5zZ2wsCisJCQltc21fb2JqLT5zZ3QtPm5lbnRzLCBETUFfQklESVJFQ1RJT05BTCk7CisJ fQorfQorCitzdGF0aWMgdm9pZCBzeW5jX2Zvcl9jcHUoc3RydWN0IG1zbV9nZW1fb2JqZWN0ICpt c21fb2JqKQoreworCXN0cnVjdCBkZXZpY2UgKmRldiA9IG1zbV9vYmotPmJhc2UuZGV2LT5kZXY7 CisKKwlpZiAoZ2V0X2RtYV9vcHMoZGV2KSkgeworCQlkbWFfc3luY19zZ19mb3JfY3B1KGRldiwg bXNtX29iai0+c2d0LT5zZ2wsCisJCQltc21fb2JqLT5zZ3QtPm5lbnRzLCBETUFfQklESVJFQ1RJ T05BTCk7CisJfSBlbHNlIHsKKwkJZG1hX3VubWFwX3NnKGRldiwgbXNtX29iai0+c2d0LT5zZ2ws CisJCQltc21fb2JqLT5zZ3QtPm5lbnRzLCBETUFfQklESVJFQ1RJT05BTCk7CisJfQorfQorCiAv KiBhbGxvY2F0ZSBwYWdlcyBmcm9tIFZSQU0gY2FydmVvdXQsIHVzZWQgd2hlbiBubyBJT01NVTog Ki8KIHN0YXRpYyBzdHJ1Y3QgcGFnZSAqKmdldF9wYWdlc192cmFtKHN0cnVjdCBkcm1fZ2VtX29i amVjdCAqb2JqLCBpbnQgbnBhZ2VzKQogewpAQCAtMTA4LDggKzE0OCw3IEBAIHN0YXRpYyBzdHJ1 Y3QgcGFnZSAqKmdldF9wYWdlcyhzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaikKIAkJICogYmVj YXVzZSBkaXNwbGF5IGNvbnRyb2xsZXIsIEdQVSwgZXRjLiBhcmUgbm90IGNvaGVyZW50OgogCQkg Ki8KIAkJaWYgKG1zbV9vYmotPmZsYWdzICYgKE1TTV9CT19XQ3xNU01fQk9fVU5DQUNIRUQpKQot CQkJZG1hX3N5bmNfc2dfZm9yX2RldmljZShkZXYtPmRldiwgbXNtX29iai0+c2d0LT5zZ2wsCi0J CQkJCW1zbV9vYmotPnNndC0+bmVudHMsIERNQV9CSURJUkVDVElPTkFMKTsKKwkJCXN5bmNfZm9y X2RldmljZShtc21fb2JqKTsKIAl9CiAKIAlyZXR1cm4gbXNtX29iai0+cGFnZXM7CkBAIC0xMzgs OSArMTc3LDcgQEAgc3RhdGljIHZvaWQgcHV0X3BhZ2VzKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAq b2JqKQogCQkJICogR1BVLCBldGMuIGFyZSBub3QgY29oZXJlbnQ6CiAJCQkgKi8KIAkJCWlmICht c21fb2JqLT5mbGFncyAmIChNU01fQk9fV0N8TVNNX0JPX1VOQ0FDSEVEKSkKLQkJCQlkbWFfc3lu Y19zZ19mb3JfY3B1KG9iai0+ZGV2LT5kZXYsIG1zbV9vYmotPnNndC0+c2dsLAotCQkJCQkgICAg IG1zbV9vYmotPnNndC0+bmVudHMsCi0JCQkJCSAgICAgRE1BX0JJRElSRUNUSU9OQUwpOworCQkJ CXN5bmNfZm9yX2NwdShtc21fb2JqKTsKIAogCQkJc2dfZnJlZV90YWJsZShtc21fb2JqLT5zZ3Qp OwogCQkJa2ZyZWUobXNtX29iai0+c2d0KTsKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs