From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 24D34C433DF for ; Sat, 10 Oct 2020 23:02:52 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id DD7E120795 for ; Sat, 10 Oct 2020 23:02:51 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="QdqGF5qe" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390891AbgJJW72 (ORCPT ); Sat, 10 Oct 2020 18:59:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47374 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387560AbgJJU1t (ORCPT ); Sat, 10 Oct 2020 16:27:49 -0400 Received: from mail-oi1-x243.google.com (mail-oi1-x243.google.com [IPv6:2607:f8b0:4864:20::243]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 95344C0613D0; Sat, 10 Oct 2020 13:27:18 -0700 (PDT) Received: by mail-oi1-x243.google.com with SMTP id c13so14162509oiy.6; Sat, 10 Oct 2020 13:27:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=oGo8IGgCZpTOoR3ZKZaP8e3qvIeXNb3yMrzl+Uani14=; b=QdqGF5qe16vB4wlkB20OoDG5GsZXhkiu+V7PIg7gevT+li9s2YZrjhJjrGKFlhR8f2 S2dMeFOHFe2Vy3+ViSPQkUcTH6WgZSgyFemNPe3jkRa1BRJLmCIpjdAjfS+Z+fMYuuFc J/zHg1WUv6YS6qXHyCbAbu2sfcz6kuW6fXvudSVSb/G2m0zjetF8vQarbaEqA1w5uj5C 1ytU+yCJQIoUFZyqLvf50g0rJYU5X+PHHN8XIpBwZ7Wgshsn/e8A5zDxqiYS9ZaCOgq0 +eTVZzOuHYBHFBmUTwz8gE0YQaPT+/D15xczuawlfzpKen+UVAP0g0nAO1GFs3+KLRMi 43mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=oGo8IGgCZpTOoR3ZKZaP8e3qvIeXNb3yMrzl+Uani14=; b=jfRtHi8KOqCmT0Yp6rQ0+SoB/5Y6165/0CrxTAvRWxcE1GtYIF1ZGrRYi2MJIQTUof dk6NusOkPAoYlotRnhPcxrp87AypG1VBydbU2IxKinqFvnXZkzGOBZF/A4DUsCOV/zC5 zgy0xaV3I82Y5Q3QdfBBP3RGupdsVCcCln7rpOXxCF3k+l8VrCtQXVgcHplUNpBD5aT5 X6fJavIqBzCvkKq0LaHn3d56xO1Cf9bZ6tfi3tEa5IiFkwPooBWNATSo/IG5IkPow099 PJkdoKyNtz9IOuFFeOEpcKyVTUtEuqDyLCUZ3bx+AL9S3SS5+qEyHNwLZz9OH2Bsriu6 LSlA== X-Gm-Message-State: AOAM530xTZ+4bvGW/ZlKTsz9c8crwmNzuwa3fwfO/R4kCyHD3/KipaMd KHcNOCJj3N+nZaV/N3KafAAwQyJHd+PqYfhjJdo= X-Google-Smtp-Source: ABdhPJwowo80GWbqkm6ZkqR7gSgknWZHhpMAZMgkL8s88FI9XTRLJCjdHnJ8k2W5KFXN71VQforAtfzOFMwHNRWQMIg= X-Received: by 2002:a05:6808:3bb:: with SMTP id n27mr6204755oie.130.1602361637761; Sat, 10 Oct 2020 13:27:17 -0700 (PDT) MIME-Version: 1.0 References: <20201009075934.3509076-1-daniel.vetter@ffwll.ch> <20201009075934.3509076-4-daniel.vetter@ffwll.ch> In-Reply-To: <20201009075934.3509076-4-daniel.vetter@ffwll.ch> From: Oded Gabbay Date: Sat, 10 Oct 2020 23:26:52 +0300 Message-ID: Subject: Re: [PATCH v2 03/17] misc/habana: Stop using frame_vector helpers To: Daniel Vetter Cc: DRI Development , LKML , kvm@vger.kernel.org, linux-mm , "list@263.net:IOMMU DRIVERS , Joerg Roedel ," , linux-samsung-soc , Linux Media Mailing List , linux-s390@vger.kernel.org, Daniel Vetter , Jason Gunthorpe , Andrew Morton , John Hubbard , =?UTF-8?B?SsOpcsO0bWUgR2xpc3Nl?= , Jan Kara , Dan Williams , Omer Shpigelman , Ofir Bitton , Tomer Tayar , Moti Haimovski , Greg Kroah-Hartman , Pawel Piskorski Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Oct 9, 2020 at 10:59 AM Daniel Vetter wrot= e: > > All we need are a pages array, pin_user_pages_fast can give us that > directly. Plus this avoids the entire raw pfn side of get_vaddr_frames. > Thanks for the patch Daniel. > Signed-off-by: Daniel Vetter > Cc: Jason Gunthorpe > Cc: Andrew Morton > Cc: John Hubbard > Cc: J=C3=A9r=C3=B4me Glisse > Cc: Jan Kara > Cc: Dan Williams > Cc: linux-mm@kvack.org > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-samsung-soc@vger.kernel.org > Cc: linux-media@vger.kernel.org > Cc: Oded Gabbay > Cc: Omer Shpigelman > Cc: Ofir Bitton > Cc: Tomer Tayar > Cc: Moti Haimovski > Cc: Daniel Vetter > Cc: Greg Kroah-Hartman > Cc: Pawel Piskorski > -- > v2: Use unpin_user_pages_dirty_lock (John) > --- > drivers/misc/habanalabs/Kconfig | 1 - > drivers/misc/habanalabs/common/habanalabs.h | 3 +- > drivers/misc/habanalabs/common/memory.c | 49 ++++++++------------- > 3 files changed, 20 insertions(+), 33 deletions(-) > > diff --git a/drivers/misc/habanalabs/Kconfig b/drivers/misc/habanalabs/Kc= onfig > index 8eb5d38c618e..2f04187f7167 100644 > --- a/drivers/misc/habanalabs/Kconfig > +++ b/drivers/misc/habanalabs/Kconfig > @@ -6,7 +6,6 @@ > config HABANA_AI > tristate "HabanaAI accelerators (habanalabs)" > depends on PCI && HAS_IOMEM > - select FRAME_VECTOR > select DMA_SHARED_BUFFER > select GENERIC_ALLOCATOR > select HWMON > diff --git a/drivers/misc/habanalabs/common/habanalabs.h b/drivers/misc/h= abanalabs/common/habanalabs.h > index edbd627b29d2..c1b3ad613b15 100644 > --- a/drivers/misc/habanalabs/common/habanalabs.h > +++ b/drivers/misc/habanalabs/common/habanalabs.h > @@ -881,7 +881,8 @@ struct hl_ctx_mgr { > struct hl_userptr { > enum vm_type_t vm_type; /* must be first */ > struct list_head job_node; > - struct frame_vector *vec; > + struct page **pages; > + unsigned int npages; Can you please update the kerneldoc comment section of this structure according to your changes ? > struct sg_table *sgt; > enum dma_data_direction dir; > struct list_head debugfs_list; > diff --git a/drivers/misc/habanalabs/common/memory.c b/drivers/misc/haban= alabs/common/memory.c > index 5ff4688683fd..327b64479f97 100644 > --- a/drivers/misc/habanalabs/common/memory.c > +++ b/drivers/misc/habanalabs/common/memory.c > @@ -1281,45 +1281,41 @@ static int get_user_memory(struct hl_device *hdev= , u64 addr, u64 size, > return -EFAULT; > } > > - userptr->vec =3D frame_vector_create(npages); > - if (!userptr->vec) { > + userptr->pages =3D kvmalloc_array(npages, sizeof(*userptr->pages)= , > + GFP_KERNEL); > + if (!userptr->pages) { > dev_err(hdev->dev, "Failed to create frame vector\n"); > return -ENOMEM; > } > > - rc =3D get_vaddr_frames(start, npages, FOLL_FORCE | FOLL_WRITE, > - userptr->vec); > + rc =3D pin_user_pages_fast(start, npages, FOLL_FORCE | FOLL_WRITE= , > + userptr->pages); > > if (rc !=3D npages) { > dev_err(hdev->dev, > "Failed to map host memory, user ptr probably wro= ng\n"); > if (rc < 0) > - goto destroy_framevec; > + goto destroy_pages; > + npages =3D rc; > rc =3D -EFAULT; > - goto put_framevec; > - } > - > - if (frame_vector_to_pages(userptr->vec) < 0) { > - dev_err(hdev->dev, > - "Failed to translate frame vector to pages\n"); > - rc =3D -EFAULT; > - goto put_framevec; > + goto put_pages; > } > + userptr->npages =3D npages; > > rc =3D sg_alloc_table_from_pages(userptr->sgt, > - frame_vector_pages(userptr->vec), > - npages, offset, size, GFP_ATOMIC)= ; > + userptr->pages, > + npages, offset, size, GFP_ATOMIC); I think that because the call to kvmalloc_array() is done with GFP_KERNEL, there is no point in using GFP_ATOMIC here. And actually, this path only needs to avoid yielding when using a special debug mode. So I suggest putting here GFP_KERNEL. In the meanwhile, I'll run this patch (coupled with the next patch) in our C/I to make sure there are no regressions. Thanks, Oded > if (rc < 0) { > dev_err(hdev->dev, "failed to create SG table from pages\= n"); > - goto put_framevec; > + goto put_pages; > } > > return 0; > > -put_framevec: > - put_vaddr_frames(userptr->vec); > -destroy_framevec: > - frame_vector_destroy(userptr->vec); > +put_pages: > + unpin_user_pages(userptr->pages, npages); > +destroy_pages: > + kvfree(userptr->pages); > return rc; > } > > @@ -1405,8 +1401,6 @@ int hl_pin_host_memory(struct hl_device *hdev, u64 = addr, u64 size, > */ > void hl_unpin_host_memory(struct hl_device *hdev, struct hl_userptr *use= rptr) > { > - struct page **pages; > - > hl_debugfs_remove_userptr(hdev, userptr); > > if (userptr->dma_mapped) > @@ -1414,15 +1408,8 @@ void hl_unpin_host_memory(struct hl_device *hdev, = struct hl_userptr *userptr) > userptr->sgt->nen= ts, > userptr->dir); > > - pages =3D frame_vector_pages(userptr->vec); > - if (!IS_ERR(pages)) { > - int i; > - > - for (i =3D 0; i < frame_vector_count(userptr->vec); i++) > - set_page_dirty_lock(pages[i]); > - } > - put_vaddr_frames(userptr->vec); > - frame_vector_destroy(userptr->vec); > + unpin_user_pages_dirty_lock(userptr->pages, userptr->npages, true= ); > + kvfree(userptr->pages); > > list_del(&userptr->job_node); > > -- > 2.28.0 > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.7 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 5B494C433DF for ; Sat, 10 Oct 2020 20:30:23 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 CD0C72067C for ; Sat, 10 Oct 2020 20:30:22 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="IL6bDxyQ"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="QdqGF5qe" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CD0C72067C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+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=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=zET526ZiXDrHimhE/ILSms0nCbMAyuY55aBa20JepME=; b=IL6bDxyQiyIzsL60L+Ry/YZ8I p6X94w8ve5S16lDRm4ZjmrVIO2DwkhLZqpnJRC+phr2P/2p+qBPhY6tyeQlLqKu6gmYG/ypAiYM0F 7xU8V2G+QVIImH1BqGlr7vqffXMvqOJNGMTiObsKHeo/GUWxjt8DPhFyIF+TW0Gc6ZOQxa2Fl+InD 8bHjlMjFggVCwQBfHgX6f6kflwcFmLXjwtbVfRGROXG2Xp/Ut9qZ4Em/nXFw51YQO82W8QltADbDQ OfUItHalwzBnG3DmnB8qnkuch2lWqeBmSRV3MyF7x3w/ZoSCwqYBjQz9km/mu6RmZ8hjXVdoaICBv Fslv/0/5w==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kRLSq-0006BR-RI; Sat, 10 Oct 2020 20:27:36 +0000 Received: from mail-oi1-x244.google.com ([2607:f8b0:4864:20::244]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kRLSc-00068Y-Ly for linux-arm-kernel@lists.infradead.org; Sat, 10 Oct 2020 20:27:24 +0000 Received: by mail-oi1-x244.google.com with SMTP id t77so14193571oie.4 for ; Sat, 10 Oct 2020 13:27:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=oGo8IGgCZpTOoR3ZKZaP8e3qvIeXNb3yMrzl+Uani14=; b=QdqGF5qe16vB4wlkB20OoDG5GsZXhkiu+V7PIg7gevT+li9s2YZrjhJjrGKFlhR8f2 S2dMeFOHFe2Vy3+ViSPQkUcTH6WgZSgyFemNPe3jkRa1BRJLmCIpjdAjfS+Z+fMYuuFc J/zHg1WUv6YS6qXHyCbAbu2sfcz6kuW6fXvudSVSb/G2m0zjetF8vQarbaEqA1w5uj5C 1ytU+yCJQIoUFZyqLvf50g0rJYU5X+PHHN8XIpBwZ7Wgshsn/e8A5zDxqiYS9ZaCOgq0 +eTVZzOuHYBHFBmUTwz8gE0YQaPT+/D15xczuawlfzpKen+UVAP0g0nAO1GFs3+KLRMi 43mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=oGo8IGgCZpTOoR3ZKZaP8e3qvIeXNb3yMrzl+Uani14=; b=eK1csg6HvWz8qS3bFMdTRm+v6DYuNK4JVL9wQvXPhkPVmfxsIU+WJ53Gm34iY2ZbGU xMvis78uLWEHGl3ayfm3gKzTXUb0fweLXzJyWpiv4u40OgRwSq/J2qro46pb0sV9ZJo4 OJP9ReaqBSXe6wYQ5vENMLo0uG9bEtLKZAXcIbWIWCXXOvwyZxIclIblsDlQi7tfRTl2 Ul9Zs996CV6AabcNS7gIinkOvu8TOU60F7v5Lm6yFbJMNzu0U8tK+kA8jajZnNySxHEB k1Shucq4ApThZ5iHfm+j/DBvKAgP9css46iqDJEOnd2bAsi0/XapVMydVyd4hCsyUPbi Ykkw== X-Gm-Message-State: AOAM533h5Jch2wbaiGgeCOENQGJ6VxNblOvQkUcyhS6ZSWouoXOvRf0E nt7LBSp2UGKnKzMPMf3qmHTHbEoho5IKA8DkLW8= X-Google-Smtp-Source: ABdhPJwowo80GWbqkm6ZkqR7gSgknWZHhpMAZMgkL8s88FI9XTRLJCjdHnJ8k2W5KFXN71VQforAtfzOFMwHNRWQMIg= X-Received: by 2002:a05:6808:3bb:: with SMTP id n27mr6204755oie.130.1602361637761; Sat, 10 Oct 2020 13:27:17 -0700 (PDT) MIME-Version: 1.0 References: <20201009075934.3509076-1-daniel.vetter@ffwll.ch> <20201009075934.3509076-4-daniel.vetter@ffwll.ch> In-Reply-To: <20201009075934.3509076-4-daniel.vetter@ffwll.ch> From: Oded Gabbay Date: Sat, 10 Oct 2020 23:26:52 +0300 Message-ID: Subject: Re: [PATCH v2 03/17] misc/habana: Stop using frame_vector helpers To: Daniel Vetter X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201010_162722_939246_F63B463C X-CRM114-Status: GOOD ( 27.23 ) 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: linux-s390@vger.kernel.org, linux-samsung-soc , Jan Kara , kvm@vger.kernel.org, Jason Gunthorpe , Pawel Piskorski , John Hubbard , LKML , DRI Development , Ofir Bitton , linux-mm , =?UTF-8?B?SsOpcsO0bWUgR2xpc3Nl?= , Tomer Tayar , Omer Shpigelman , Greg Kroah-Hartman , Daniel Vetter , Andrew Morton , Moti Haimovski , Dan Williams , "list@263.net:IOMMU DRIVERS , Joerg Roedel , " , Linux Media Mailing List Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gRnJpLCBPY3QgOSwgMjAyMCBhdCAxMDo1OSBBTSBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0 dGVyQGZmd2xsLmNoPiB3cm90ZToKPgo+IEFsbCB3ZSBuZWVkIGFyZSBhIHBhZ2VzIGFycmF5LCBw aW5fdXNlcl9wYWdlc19mYXN0IGNhbiBnaXZlIHVzIHRoYXQKPiBkaXJlY3RseS4gUGx1cyB0aGlz IGF2b2lkcyB0aGUgZW50aXJlIHJhdyBwZm4gc2lkZSBvZiBnZXRfdmFkZHJfZnJhbWVzLgo+ClRo YW5rcyBmb3IgdGhlIHBhdGNoIERhbmllbC4KCj4gU2lnbmVkLW9mZi1ieTogRGFuaWVsIFZldHRl ciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Cj4gQ2M6IEphc29uIEd1bnRob3JwZSA8amdnQHpp ZXBlLmNhPgo+IENjOiBBbmRyZXcgTW9ydG9uIDxha3BtQGxpbnV4LWZvdW5kYXRpb24ub3JnPgo+ IENjOiBKb2huIEh1YmJhcmQgPGpodWJiYXJkQG52aWRpYS5jb20+Cj4gQ2M6IErDqXLDtG1lIEds aXNzZSA8amdsaXNzZUByZWRoYXQuY29tPgo+IENjOiBKYW4gS2FyYSA8amFja0BzdXNlLmN6Pgo+ IENjOiBEYW4gV2lsbGlhbXMgPGRhbi5qLndpbGxpYW1zQGludGVsLmNvbT4KPiBDYzogbGludXgt bW1Aa3ZhY2sub3JnCj4gQ2M6IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwo+ IENjOiBsaW51eC1zYW1zdW5nLXNvY0B2Z2VyLmtlcm5lbC5vcmcKPiBDYzogbGludXgtbWVkaWFA dmdlci5rZXJuZWwub3JnCj4gQ2M6IE9kZWQgR2FiYmF5IDxvZGVkLmdhYmJheUBnbWFpbC5jb20+ Cj4gQ2M6IE9tZXIgU2hwaWdlbG1hbiA8b3NocGlnZWxtYW5AaGFiYW5hLmFpPgo+IENjOiBPZmly IEJpdHRvbiA8b2JpdHRvbkBoYWJhbmEuYWk+Cj4gQ2M6IFRvbWVyIFRheWFyIDx0dGF5YXJAaGFi YW5hLmFpPgo+IENjOiBNb3RpIEhhaW1vdnNraSA8bWhhaW1vdnNraUBoYWJhbmEuYWk+Cj4gQ2M6 IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4gQ2M6IEdyZWcgS3JvYWgt SGFydG1hbiA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+Cj4gQ2M6IFBhd2VsIFBpc2tvcnNr aSA8cHBpc2tvcnNraUBoYWJhbmEuYWk+Cj4gLS0KPiB2MjogVXNlIHVucGluX3VzZXJfcGFnZXNf ZGlydHlfbG9jayAoSm9obikKPiAtLS0KPiAgZHJpdmVycy9taXNjL2hhYmFuYWxhYnMvS2NvbmZp ZyAgICAgICAgICAgICB8ICAxIC0KPiAgZHJpdmVycy9taXNjL2hhYmFuYWxhYnMvY29tbW9uL2hh YmFuYWxhYnMuaCB8ICAzICstCj4gIGRyaXZlcnMvbWlzYy9oYWJhbmFsYWJzL2NvbW1vbi9tZW1v cnkuYyAgICAgfCA0OSArKysrKysrKy0tLS0tLS0tLS0tLS0KPiAgMyBmaWxlcyBjaGFuZ2VkLCAy MCBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L21pc2MvaGFiYW5hbGFicy9LY29uZmlnIGIvZHJpdmVycy9taXNjL2hhYmFuYWxhYnMvS2NvbmZp Zwo+IGluZGV4IDhlYjVkMzhjNjE4ZS4uMmYwNDE4N2Y3MTY3IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvbWlzYy9oYWJhbmFsYWJzL0tjb25maWcKPiArKysgYi9kcml2ZXJzL21pc2MvaGFiYW5hbGFi cy9LY29uZmlnCj4gQEAgLTYsNyArNiw2IEBACj4gIGNvbmZpZyBIQUJBTkFfQUkKPiAgICAgICAg IHRyaXN0YXRlICJIYWJhbmFBSSBhY2NlbGVyYXRvcnMgKGhhYmFuYWxhYnMpIgo+ICAgICAgICAg ZGVwZW5kcyBvbiBQQ0kgJiYgSEFTX0lPTUVNCj4gLSAgICAgICBzZWxlY3QgRlJBTUVfVkVDVE9S Cj4gICAgICAgICBzZWxlY3QgRE1BX1NIQVJFRF9CVUZGRVIKPiAgICAgICAgIHNlbGVjdCBHRU5F UklDX0FMTE9DQVRPUgo+ICAgICAgICAgc2VsZWN0IEhXTU9OCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvbWlzYy9oYWJhbmFsYWJzL2NvbW1vbi9oYWJhbmFsYWJzLmggYi9kcml2ZXJzL21pc2MvaGFi YW5hbGFicy9jb21tb24vaGFiYW5hbGFicy5oCj4gaW5kZXggZWRiZDYyN2IyOWQyLi5jMWIzYWQ2 MTNiMTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9taXNjL2hhYmFuYWxhYnMvY29tbW9uL2hhYmFu YWxhYnMuaAo+ICsrKyBiL2RyaXZlcnMvbWlzYy9oYWJhbmFsYWJzL2NvbW1vbi9oYWJhbmFsYWJz LmgKPiBAQCAtODgxLDcgKzg4MSw4IEBAIHN0cnVjdCBobF9jdHhfbWdyIHsKPiAgc3RydWN0IGhs X3VzZXJwdHIgewo+ICAgICAgICAgZW51bSB2bV90eXBlX3QgICAgICAgICAgdm1fdHlwZTsgLyog bXVzdCBiZSBmaXJzdCAqLwo+ICAgICAgICAgc3RydWN0IGxpc3RfaGVhZCAgICAgICAgam9iX25v ZGU7Cj4gLSAgICAgICBzdHJ1Y3QgZnJhbWVfdmVjdG9yICAgICAqdmVjOwo+ICsgICAgICAgc3Ry dWN0IHBhZ2UgICAgICAgICAgICAgKipwYWdlczsKPiArICAgICAgIHVuc2lnbmVkIGludCAgICAg ICAgICAgIG5wYWdlczsKQ2FuIHlvdSBwbGVhc2UgdXBkYXRlIHRoZSBrZXJuZWxkb2MgY29tbWVu dCBzZWN0aW9uIG9mIHRoaXMgc3RydWN0dXJlCmFjY29yZGluZyB0byB5b3VyIGNoYW5nZXMgPwoK PiAgICAgICAgIHN0cnVjdCBzZ190YWJsZSAgICAgICAgICpzZ3Q7Cj4gICAgICAgICBlbnVtIGRt YV9kYXRhX2RpcmVjdGlvbiBkaXI7Cj4gICAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkICAgICAgICBk ZWJ1Z2ZzX2xpc3Q7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWlzYy9oYWJhbmFsYWJzL2NvbW1v bi9tZW1vcnkuYyBiL2RyaXZlcnMvbWlzYy9oYWJhbmFsYWJzL2NvbW1vbi9tZW1vcnkuYwo+IGlu ZGV4IDVmZjQ2ODg2ODNmZC4uMzI3YjY0NDc5Zjk3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWlz Yy9oYWJhbmFsYWJzL2NvbW1vbi9tZW1vcnkuYwo+ICsrKyBiL2RyaXZlcnMvbWlzYy9oYWJhbmFs YWJzL2NvbW1vbi9tZW1vcnkuYwo+IEBAIC0xMjgxLDQ1ICsxMjgxLDQxIEBAIHN0YXRpYyBpbnQg Z2V0X3VzZXJfbWVtb3J5KHN0cnVjdCBobF9kZXZpY2UgKmhkZXYsIHU2NCBhZGRyLCB1NjQgc2l6 ZSwKPiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FRkFVTFQ7Cj4gICAgICAgICB9Cj4KPiAtICAg ICAgIHVzZXJwdHItPnZlYyA9IGZyYW1lX3ZlY3Rvcl9jcmVhdGUobnBhZ2VzKTsKPiAtICAgICAg IGlmICghdXNlcnB0ci0+dmVjKSB7Cj4gKyAgICAgICB1c2VycHRyLT5wYWdlcyA9IGt2bWFsbG9j X2FycmF5KG5wYWdlcywgc2l6ZW9mKCp1c2VycHRyLT5wYWdlcyksCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEdGUF9LRVJORUwpOwo+ICsgICAgICAgaWYgKCF1c2Vy cHRyLT5wYWdlcykgewo+ICAgICAgICAgICAgICAgICBkZXZfZXJyKGhkZXYtPmRldiwgIkZhaWxl ZCB0byBjcmVhdGUgZnJhbWUgdmVjdG9yXG4iKTsKPiAgICAgICAgICAgICAgICAgcmV0dXJuIC1F Tk9NRU07Cj4gICAgICAgICB9Cj4KPiAtICAgICAgIHJjID0gZ2V0X3ZhZGRyX2ZyYW1lcyhzdGFy dCwgbnBhZ2VzLCBGT0xMX0ZPUkNFIHwgRk9MTF9XUklURSwKPiAtICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVzZXJwdHItPnZlYyk7Cj4gKyAgICAgICByYyA9IHBpbl91c2VyX3BhZ2Vz X2Zhc3Qoc3RhcnQsIG5wYWdlcywgRk9MTF9GT1JDRSB8IEZPTExfV1JJVEUsCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdXNlcnB0ci0+cGFnZXMpOwo+Cj4gICAgICAgICBpZiAo cmMgIT0gbnBhZ2VzKSB7Cj4gICAgICAgICAgICAgICAgIGRldl9lcnIoaGRldi0+ZGV2LAo+ICAg ICAgICAgICAgICAgICAgICAgICAgICJGYWlsZWQgdG8gbWFwIGhvc3QgbWVtb3J5LCB1c2VyIHB0 ciBwcm9iYWJseSB3cm9uZ1xuIik7Cj4gICAgICAgICAgICAgICAgIGlmIChyYyA8IDApCj4gLSAg ICAgICAgICAgICAgICAgICAgICAgZ290byBkZXN0cm95X2ZyYW1ldmVjOwo+ICsgICAgICAgICAg ICAgICAgICAgICAgIGdvdG8gZGVzdHJveV9wYWdlczsKPiArICAgICAgICAgICAgICAgbnBhZ2Vz ID0gcmM7Cj4gICAgICAgICAgICAgICAgIHJjID0gLUVGQVVMVDsKPiAtICAgICAgICAgICAgICAg Z290byBwdXRfZnJhbWV2ZWM7Cj4gLSAgICAgICB9Cj4gLQo+IC0gICAgICAgaWYgKGZyYW1lX3Zl Y3Rvcl90b19wYWdlcyh1c2VycHRyLT52ZWMpIDwgMCkgewo+IC0gICAgICAgICAgICAgICBkZXZf ZXJyKGhkZXYtPmRldiwKPiAtICAgICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIHRyYW5z bGF0ZSBmcmFtZSB2ZWN0b3IgdG8gcGFnZXNcbiIpOwo+IC0gICAgICAgICAgICAgICByYyA9IC1F RkFVTFQ7Cj4gLSAgICAgICAgICAgICAgIGdvdG8gcHV0X2ZyYW1ldmVjOwo+ICsgICAgICAgICAg ICAgICBnb3RvIHB1dF9wYWdlczsKPiAgICAgICAgIH0KPiArICAgICAgIHVzZXJwdHItPm5wYWdl cyA9IG5wYWdlczsKPgo+ICAgICAgICAgcmMgPSBzZ19hbGxvY190YWJsZV9mcm9tX3BhZ2VzKHVz ZXJwdHItPnNndCwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJh bWVfdmVjdG9yX3BhZ2VzKHVzZXJwdHItPnZlYyksCj4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG5wYWdlcywgb2Zmc2V0LCBzaXplLCBHRlBfQVRPTUlDKTsKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VycHRyLT5wYWdlcywKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBucGFnZXMsIG9mZnNldCwgc2l6ZSwg R0ZQX0FUT01JQyk7CkkgdGhpbmsgdGhhdCBiZWNhdXNlIHRoZSBjYWxsIHRvIGt2bWFsbG9jX2Fy cmF5KCkgaXMgZG9uZSB3aXRoCkdGUF9LRVJORUwsIHRoZXJlIGlzIG5vIHBvaW50IGluIHVzaW5n IEdGUF9BVE9NSUMgaGVyZS4KQW5kIGFjdHVhbGx5LCB0aGlzIHBhdGggb25seSBuZWVkcyB0byBh dm9pZCB5aWVsZGluZyB3aGVuIHVzaW5nIGEKc3BlY2lhbCBkZWJ1ZyBtb2RlLgpTbyBJIHN1Z2dl c3QgcHV0dGluZyBoZXJlIEdGUF9LRVJORUwuCgpJbiB0aGUgbWVhbndoaWxlLCBJJ2xsIHJ1biB0 aGlzIHBhdGNoIChjb3VwbGVkIHdpdGggdGhlIG5leHQgcGF0Y2gpIGluCm91ciBDL0kgdG8gbWFr ZSBzdXJlIHRoZXJlIGFyZSBubyByZWdyZXNzaW9ucy4KVGhhbmtzLApPZGVkCgo+ICAgICAgICAg aWYgKHJjIDwgMCkgewo+ICAgICAgICAgICAgICAgICBkZXZfZXJyKGhkZXYtPmRldiwgImZhaWxl ZCB0byBjcmVhdGUgU0cgdGFibGUgZnJvbSBwYWdlc1xuIik7Cj4gLSAgICAgICAgICAgICAgIGdv dG8gcHV0X2ZyYW1ldmVjOwo+ICsgICAgICAgICAgICAgICBnb3RvIHB1dF9wYWdlczsKPiAgICAg ICAgIH0KPgo+ICAgICAgICAgcmV0dXJuIDA7Cj4KPiAtcHV0X2ZyYW1ldmVjOgo+IC0gICAgICAg cHV0X3ZhZGRyX2ZyYW1lcyh1c2VycHRyLT52ZWMpOwo+IC1kZXN0cm95X2ZyYW1ldmVjOgo+IC0g ICAgICAgZnJhbWVfdmVjdG9yX2Rlc3Ryb3kodXNlcnB0ci0+dmVjKTsKPiArcHV0X3BhZ2VzOgo+ ICsgICAgICAgdW5waW5fdXNlcl9wYWdlcyh1c2VycHRyLT5wYWdlcywgbnBhZ2VzKTsKPiArZGVz dHJveV9wYWdlczoKPiArICAgICAgIGt2ZnJlZSh1c2VycHRyLT5wYWdlcyk7Cj4gICAgICAgICBy ZXR1cm4gcmM7Cj4gIH0KPgo+IEBAIC0xNDA1LDggKzE0MDEsNiBAQCBpbnQgaGxfcGluX2hvc3Rf bWVtb3J5KHN0cnVjdCBobF9kZXZpY2UgKmhkZXYsIHU2NCBhZGRyLCB1NjQgc2l6ZSwKPiAgICov Cj4gIHZvaWQgaGxfdW5waW5faG9zdF9tZW1vcnkoc3RydWN0IGhsX2RldmljZSAqaGRldiwgc3Ry dWN0IGhsX3VzZXJwdHIgKnVzZXJwdHIpCj4gIHsKPiAtICAgICAgIHN0cnVjdCBwYWdlICoqcGFn ZXM7Cj4gLQo+ICAgICAgICAgaGxfZGVidWdmc19yZW1vdmVfdXNlcnB0cihoZGV2LCB1c2VycHRy KTsKPgo+ICAgICAgICAgaWYgKHVzZXJwdHItPmRtYV9tYXBwZWQpCj4gQEAgLTE0MTQsMTUgKzE0 MDgsOCBAQCB2b2lkIGhsX3VucGluX2hvc3RfbWVtb3J5KHN0cnVjdCBobF9kZXZpY2UgKmhkZXYs IHN0cnVjdCBobF91c2VycHRyICp1c2VycHRyKQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcnB0ci0+c2d0LT5uZW50cywKPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJw dHItPmRpcik7Cj4KPiAtICAgICAgIHBhZ2VzID0gZnJhbWVfdmVjdG9yX3BhZ2VzKHVzZXJwdHIt PnZlYyk7Cj4gLSAgICAgICBpZiAoIUlTX0VSUihwYWdlcykpIHsKPiAtICAgICAgICAgICAgICAg aW50IGk7Cj4gLQo+IC0gICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgZnJhbWVfdmVjdG9y X2NvdW50KHVzZXJwdHItPnZlYyk7IGkrKykKPiAtICAgICAgICAgICAgICAgICAgICAgICBzZXRf cGFnZV9kaXJ0eV9sb2NrKHBhZ2VzW2ldKTsKPiAtICAgICAgIH0KPiAtICAgICAgIHB1dF92YWRk cl9mcmFtZXModXNlcnB0ci0+dmVjKTsKPiAtICAgICAgIGZyYW1lX3ZlY3Rvcl9kZXN0cm95KHVz ZXJwdHItPnZlYyk7Cj4gKyAgICAgICB1bnBpbl91c2VyX3BhZ2VzX2RpcnR5X2xvY2sodXNlcnB0 ci0+cGFnZXMsIHVzZXJwdHItPm5wYWdlcywgdHJ1ZSk7Cj4gKyAgICAgICBrdmZyZWUodXNlcnB0 ci0+cGFnZXMpOwo+Cj4gICAgICAgICBsaXN0X2RlbCgmdXNlcnB0ci0+am9iX25vZGUpOwo+Cj4g LS0KPiAyLjI4LjAKPgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0 cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGlu Zm8vbGludXgtYXJtLWtlcm5lbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.5 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 36209C433DF for ; Sat, 10 Oct 2020 20:27:21 +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 C1D582076C for ; Sat, 10 Oct 2020 20:27:20 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="QdqGF5qe" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C1D582076C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com 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 840FA6E055; Sat, 10 Oct 2020 20:27:19 +0000 (UTC) Received: from mail-oi1-x241.google.com (mail-oi1-x241.google.com [IPv6:2607:f8b0:4864:20::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id D72046E055 for ; Sat, 10 Oct 2020 20:27:18 +0000 (UTC) Received: by mail-oi1-x241.google.com with SMTP id l85so14142067oih.10 for ; Sat, 10 Oct 2020 13:27:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=oGo8IGgCZpTOoR3ZKZaP8e3qvIeXNb3yMrzl+Uani14=; b=QdqGF5qe16vB4wlkB20OoDG5GsZXhkiu+V7PIg7gevT+li9s2YZrjhJjrGKFlhR8f2 S2dMeFOHFe2Vy3+ViSPQkUcTH6WgZSgyFemNPe3jkRa1BRJLmCIpjdAjfS+Z+fMYuuFc J/zHg1WUv6YS6qXHyCbAbu2sfcz6kuW6fXvudSVSb/G2m0zjetF8vQarbaEqA1w5uj5C 1ytU+yCJQIoUFZyqLvf50g0rJYU5X+PHHN8XIpBwZ7Wgshsn/e8A5zDxqiYS9ZaCOgq0 +eTVZzOuHYBHFBmUTwz8gE0YQaPT+/D15xczuawlfzpKen+UVAP0g0nAO1GFs3+KLRMi 43mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=oGo8IGgCZpTOoR3ZKZaP8e3qvIeXNb3yMrzl+Uani14=; b=o81coqFV+VSWTZ9T60wLqnI0f0wWx4MNZc17Uw9rvm6rYjHokzrD/SjM8nQgg34Qj8 pJgIiJh/fx4vvuFHyOoUkhMRcxh4Q/jlmagyxw3hnEWpJ/lRp3/AmprrDTrMNO/3fyva U6WexfL3v+HnUumsedWYeSzfEcQuXjlWJKkEqFbsEgohnNkzZLcAJkgSeDawYdgMM/n/ Z4gv1UEglmt1aXerBBOnr7b8TSKvLsz4UNubMYGHAcuiLEsNKeY0Xkrt6HhUIGYTsnYT RfAiXwdZ5f2bQ1b5eB7f2no2Fs2ZHgW5CShsWPpbQ16XVzO1uPw85sxfbEcs9W2sqciv JKXQ== X-Gm-Message-State: AOAM531qs2SAtgBXTIYxea0qCrXxwDUjSO5XJuPRTTAZbLuPuNsCzYbG 14UP/HaZ3uYJPhtSw/j+Sv9L7YwV2r4haW1B6Gs= X-Google-Smtp-Source: ABdhPJwowo80GWbqkm6ZkqR7gSgknWZHhpMAZMgkL8s88FI9XTRLJCjdHnJ8k2W5KFXN71VQforAtfzOFMwHNRWQMIg= X-Received: by 2002:a05:6808:3bb:: with SMTP id n27mr6204755oie.130.1602361637761; Sat, 10 Oct 2020 13:27:17 -0700 (PDT) MIME-Version: 1.0 References: <20201009075934.3509076-1-daniel.vetter@ffwll.ch> <20201009075934.3509076-4-daniel.vetter@ffwll.ch> In-Reply-To: <20201009075934.3509076-4-daniel.vetter@ffwll.ch> From: Oded Gabbay Date: Sat, 10 Oct 2020 23:26:52 +0300 Message-ID: Subject: Re: [PATCH v2 03/17] misc/habana: Stop using frame_vector helpers To: Daniel Vetter X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-s390@vger.kernel.org, linux-samsung-soc , Jan Kara , kvm@vger.kernel.org, Jason Gunthorpe , Pawel Piskorski , John Hubbard , LKML , DRI Development , Ofir Bitton , linux-mm , =?UTF-8?B?SsOpcsO0bWUgR2xpc3Nl?= , Tomer Tayar , Omer Shpigelman , Greg Kroah-Hartman , Daniel Vetter , Andrew Morton , Moti Haimovski , Dan Williams , "list@263.net:IOMMU DRIVERS , Joerg Roedel , " , Linux Media Mailing List Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gRnJpLCBPY3QgOSwgMjAyMCBhdCAxMDo1OSBBTSBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0 dGVyQGZmd2xsLmNoPiB3cm90ZToKPgo+IEFsbCB3ZSBuZWVkIGFyZSBhIHBhZ2VzIGFycmF5LCBw aW5fdXNlcl9wYWdlc19mYXN0IGNhbiBnaXZlIHVzIHRoYXQKPiBkaXJlY3RseS4gUGx1cyB0aGlz IGF2b2lkcyB0aGUgZW50aXJlIHJhdyBwZm4gc2lkZSBvZiBnZXRfdmFkZHJfZnJhbWVzLgo+ClRo YW5rcyBmb3IgdGhlIHBhdGNoIERhbmllbC4KCj4gU2lnbmVkLW9mZi1ieTogRGFuaWVsIFZldHRl ciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Cj4gQ2M6IEphc29uIEd1bnRob3JwZSA8amdnQHpp ZXBlLmNhPgo+IENjOiBBbmRyZXcgTW9ydG9uIDxha3BtQGxpbnV4LWZvdW5kYXRpb24ub3JnPgo+ IENjOiBKb2huIEh1YmJhcmQgPGpodWJiYXJkQG52aWRpYS5jb20+Cj4gQ2M6IErDqXLDtG1lIEds aXNzZSA8amdsaXNzZUByZWRoYXQuY29tPgo+IENjOiBKYW4gS2FyYSA8amFja0BzdXNlLmN6Pgo+ IENjOiBEYW4gV2lsbGlhbXMgPGRhbi5qLndpbGxpYW1zQGludGVsLmNvbT4KPiBDYzogbGludXgt bW1Aa3ZhY2sub3JnCj4gQ2M6IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwo+ IENjOiBsaW51eC1zYW1zdW5nLXNvY0B2Z2VyLmtlcm5lbC5vcmcKPiBDYzogbGludXgtbWVkaWFA dmdlci5rZXJuZWwub3JnCj4gQ2M6IE9kZWQgR2FiYmF5IDxvZGVkLmdhYmJheUBnbWFpbC5jb20+ Cj4gQ2M6IE9tZXIgU2hwaWdlbG1hbiA8b3NocGlnZWxtYW5AaGFiYW5hLmFpPgo+IENjOiBPZmly IEJpdHRvbiA8b2JpdHRvbkBoYWJhbmEuYWk+Cj4gQ2M6IFRvbWVyIFRheWFyIDx0dGF5YXJAaGFi YW5hLmFpPgo+IENjOiBNb3RpIEhhaW1vdnNraSA8bWhhaW1vdnNraUBoYWJhbmEuYWk+Cj4gQ2M6 IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4gQ2M6IEdyZWcgS3JvYWgt SGFydG1hbiA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+Cj4gQ2M6IFBhd2VsIFBpc2tvcnNr aSA8cHBpc2tvcnNraUBoYWJhbmEuYWk+Cj4gLS0KPiB2MjogVXNlIHVucGluX3VzZXJfcGFnZXNf ZGlydHlfbG9jayAoSm9obikKPiAtLS0KPiAgZHJpdmVycy9taXNjL2hhYmFuYWxhYnMvS2NvbmZp ZyAgICAgICAgICAgICB8ICAxIC0KPiAgZHJpdmVycy9taXNjL2hhYmFuYWxhYnMvY29tbW9uL2hh YmFuYWxhYnMuaCB8ICAzICstCj4gIGRyaXZlcnMvbWlzYy9oYWJhbmFsYWJzL2NvbW1vbi9tZW1v cnkuYyAgICAgfCA0OSArKysrKysrKy0tLS0tLS0tLS0tLS0KPiAgMyBmaWxlcyBjaGFuZ2VkLCAy MCBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L21pc2MvaGFiYW5hbGFicy9LY29uZmlnIGIvZHJpdmVycy9taXNjL2hhYmFuYWxhYnMvS2NvbmZp Zwo+IGluZGV4IDhlYjVkMzhjNjE4ZS4uMmYwNDE4N2Y3MTY3IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvbWlzYy9oYWJhbmFsYWJzL0tjb25maWcKPiArKysgYi9kcml2ZXJzL21pc2MvaGFiYW5hbGFi cy9LY29uZmlnCj4gQEAgLTYsNyArNiw2IEBACj4gIGNvbmZpZyBIQUJBTkFfQUkKPiAgICAgICAg IHRyaXN0YXRlICJIYWJhbmFBSSBhY2NlbGVyYXRvcnMgKGhhYmFuYWxhYnMpIgo+ICAgICAgICAg ZGVwZW5kcyBvbiBQQ0kgJiYgSEFTX0lPTUVNCj4gLSAgICAgICBzZWxlY3QgRlJBTUVfVkVDVE9S Cj4gICAgICAgICBzZWxlY3QgRE1BX1NIQVJFRF9CVUZGRVIKPiAgICAgICAgIHNlbGVjdCBHRU5F UklDX0FMTE9DQVRPUgo+ICAgICAgICAgc2VsZWN0IEhXTU9OCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvbWlzYy9oYWJhbmFsYWJzL2NvbW1vbi9oYWJhbmFsYWJzLmggYi9kcml2ZXJzL21pc2MvaGFi YW5hbGFicy9jb21tb24vaGFiYW5hbGFicy5oCj4gaW5kZXggZWRiZDYyN2IyOWQyLi5jMWIzYWQ2 MTNiMTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9taXNjL2hhYmFuYWxhYnMvY29tbW9uL2hhYmFu YWxhYnMuaAo+ICsrKyBiL2RyaXZlcnMvbWlzYy9oYWJhbmFsYWJzL2NvbW1vbi9oYWJhbmFsYWJz LmgKPiBAQCAtODgxLDcgKzg4MSw4IEBAIHN0cnVjdCBobF9jdHhfbWdyIHsKPiAgc3RydWN0IGhs X3VzZXJwdHIgewo+ICAgICAgICAgZW51bSB2bV90eXBlX3QgICAgICAgICAgdm1fdHlwZTsgLyog bXVzdCBiZSBmaXJzdCAqLwo+ICAgICAgICAgc3RydWN0IGxpc3RfaGVhZCAgICAgICAgam9iX25v ZGU7Cj4gLSAgICAgICBzdHJ1Y3QgZnJhbWVfdmVjdG9yICAgICAqdmVjOwo+ICsgICAgICAgc3Ry dWN0IHBhZ2UgICAgICAgICAgICAgKipwYWdlczsKPiArICAgICAgIHVuc2lnbmVkIGludCAgICAg ICAgICAgIG5wYWdlczsKQ2FuIHlvdSBwbGVhc2UgdXBkYXRlIHRoZSBrZXJuZWxkb2MgY29tbWVu dCBzZWN0aW9uIG9mIHRoaXMgc3RydWN0dXJlCmFjY29yZGluZyB0byB5b3VyIGNoYW5nZXMgPwoK PiAgICAgICAgIHN0cnVjdCBzZ190YWJsZSAgICAgICAgICpzZ3Q7Cj4gICAgICAgICBlbnVtIGRt YV9kYXRhX2RpcmVjdGlvbiBkaXI7Cj4gICAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkICAgICAgICBk ZWJ1Z2ZzX2xpc3Q7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWlzYy9oYWJhbmFsYWJzL2NvbW1v bi9tZW1vcnkuYyBiL2RyaXZlcnMvbWlzYy9oYWJhbmFsYWJzL2NvbW1vbi9tZW1vcnkuYwo+IGlu ZGV4IDVmZjQ2ODg2ODNmZC4uMzI3YjY0NDc5Zjk3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWlz Yy9oYWJhbmFsYWJzL2NvbW1vbi9tZW1vcnkuYwo+ICsrKyBiL2RyaXZlcnMvbWlzYy9oYWJhbmFs YWJzL2NvbW1vbi9tZW1vcnkuYwo+IEBAIC0xMjgxLDQ1ICsxMjgxLDQxIEBAIHN0YXRpYyBpbnQg Z2V0X3VzZXJfbWVtb3J5KHN0cnVjdCBobF9kZXZpY2UgKmhkZXYsIHU2NCBhZGRyLCB1NjQgc2l6 ZSwKPiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FRkFVTFQ7Cj4gICAgICAgICB9Cj4KPiAtICAg ICAgIHVzZXJwdHItPnZlYyA9IGZyYW1lX3ZlY3Rvcl9jcmVhdGUobnBhZ2VzKTsKPiAtICAgICAg IGlmICghdXNlcnB0ci0+dmVjKSB7Cj4gKyAgICAgICB1c2VycHRyLT5wYWdlcyA9IGt2bWFsbG9j X2FycmF5KG5wYWdlcywgc2l6ZW9mKCp1c2VycHRyLT5wYWdlcyksCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEdGUF9LRVJORUwpOwo+ICsgICAgICAgaWYgKCF1c2Vy cHRyLT5wYWdlcykgewo+ICAgICAgICAgICAgICAgICBkZXZfZXJyKGhkZXYtPmRldiwgIkZhaWxl ZCB0byBjcmVhdGUgZnJhbWUgdmVjdG9yXG4iKTsKPiAgICAgICAgICAgICAgICAgcmV0dXJuIC1F Tk9NRU07Cj4gICAgICAgICB9Cj4KPiAtICAgICAgIHJjID0gZ2V0X3ZhZGRyX2ZyYW1lcyhzdGFy dCwgbnBhZ2VzLCBGT0xMX0ZPUkNFIHwgRk9MTF9XUklURSwKPiAtICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVzZXJwdHItPnZlYyk7Cj4gKyAgICAgICByYyA9IHBpbl91c2VyX3BhZ2Vz X2Zhc3Qoc3RhcnQsIG5wYWdlcywgRk9MTF9GT1JDRSB8IEZPTExfV1JJVEUsCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdXNlcnB0ci0+cGFnZXMpOwo+Cj4gICAgICAgICBpZiAo cmMgIT0gbnBhZ2VzKSB7Cj4gICAgICAgICAgICAgICAgIGRldl9lcnIoaGRldi0+ZGV2LAo+ICAg ICAgICAgICAgICAgICAgICAgICAgICJGYWlsZWQgdG8gbWFwIGhvc3QgbWVtb3J5LCB1c2VyIHB0 ciBwcm9iYWJseSB3cm9uZ1xuIik7Cj4gICAgICAgICAgICAgICAgIGlmIChyYyA8IDApCj4gLSAg ICAgICAgICAgICAgICAgICAgICAgZ290byBkZXN0cm95X2ZyYW1ldmVjOwo+ICsgICAgICAgICAg ICAgICAgICAgICAgIGdvdG8gZGVzdHJveV9wYWdlczsKPiArICAgICAgICAgICAgICAgbnBhZ2Vz ID0gcmM7Cj4gICAgICAgICAgICAgICAgIHJjID0gLUVGQVVMVDsKPiAtICAgICAgICAgICAgICAg Z290byBwdXRfZnJhbWV2ZWM7Cj4gLSAgICAgICB9Cj4gLQo+IC0gICAgICAgaWYgKGZyYW1lX3Zl Y3Rvcl90b19wYWdlcyh1c2VycHRyLT52ZWMpIDwgMCkgewo+IC0gICAgICAgICAgICAgICBkZXZf ZXJyKGhkZXYtPmRldiwKPiAtICAgICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIHRyYW5z bGF0ZSBmcmFtZSB2ZWN0b3IgdG8gcGFnZXNcbiIpOwo+IC0gICAgICAgICAgICAgICByYyA9IC1F RkFVTFQ7Cj4gLSAgICAgICAgICAgICAgIGdvdG8gcHV0X2ZyYW1ldmVjOwo+ICsgICAgICAgICAg ICAgICBnb3RvIHB1dF9wYWdlczsKPiAgICAgICAgIH0KPiArICAgICAgIHVzZXJwdHItPm5wYWdl cyA9IG5wYWdlczsKPgo+ICAgICAgICAgcmMgPSBzZ19hbGxvY190YWJsZV9mcm9tX3BhZ2VzKHVz ZXJwdHItPnNndCwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJh bWVfdmVjdG9yX3BhZ2VzKHVzZXJwdHItPnZlYyksCj4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG5wYWdlcywgb2Zmc2V0LCBzaXplLCBHRlBfQVRPTUlDKTsKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VycHRyLT5wYWdlcywKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBucGFnZXMsIG9mZnNldCwgc2l6ZSwg R0ZQX0FUT01JQyk7CkkgdGhpbmsgdGhhdCBiZWNhdXNlIHRoZSBjYWxsIHRvIGt2bWFsbG9jX2Fy cmF5KCkgaXMgZG9uZSB3aXRoCkdGUF9LRVJORUwsIHRoZXJlIGlzIG5vIHBvaW50IGluIHVzaW5n IEdGUF9BVE9NSUMgaGVyZS4KQW5kIGFjdHVhbGx5LCB0aGlzIHBhdGggb25seSBuZWVkcyB0byBh dm9pZCB5aWVsZGluZyB3aGVuIHVzaW5nIGEKc3BlY2lhbCBkZWJ1ZyBtb2RlLgpTbyBJIHN1Z2dl c3QgcHV0dGluZyBoZXJlIEdGUF9LRVJORUwuCgpJbiB0aGUgbWVhbndoaWxlLCBJJ2xsIHJ1biB0 aGlzIHBhdGNoIChjb3VwbGVkIHdpdGggdGhlIG5leHQgcGF0Y2gpIGluCm91ciBDL0kgdG8gbWFr ZSBzdXJlIHRoZXJlIGFyZSBubyByZWdyZXNzaW9ucy4KVGhhbmtzLApPZGVkCgo+ICAgICAgICAg aWYgKHJjIDwgMCkgewo+ICAgICAgICAgICAgICAgICBkZXZfZXJyKGhkZXYtPmRldiwgImZhaWxl ZCB0byBjcmVhdGUgU0cgdGFibGUgZnJvbSBwYWdlc1xuIik7Cj4gLSAgICAgICAgICAgICAgIGdv dG8gcHV0X2ZyYW1ldmVjOwo+ICsgICAgICAgICAgICAgICBnb3RvIHB1dF9wYWdlczsKPiAgICAg ICAgIH0KPgo+ICAgICAgICAgcmV0dXJuIDA7Cj4KPiAtcHV0X2ZyYW1ldmVjOgo+IC0gICAgICAg cHV0X3ZhZGRyX2ZyYW1lcyh1c2VycHRyLT52ZWMpOwo+IC1kZXN0cm95X2ZyYW1ldmVjOgo+IC0g ICAgICAgZnJhbWVfdmVjdG9yX2Rlc3Ryb3kodXNlcnB0ci0+dmVjKTsKPiArcHV0X3BhZ2VzOgo+ ICsgICAgICAgdW5waW5fdXNlcl9wYWdlcyh1c2VycHRyLT5wYWdlcywgbnBhZ2VzKTsKPiArZGVz dHJveV9wYWdlczoKPiArICAgICAgIGt2ZnJlZSh1c2VycHRyLT5wYWdlcyk7Cj4gICAgICAgICBy ZXR1cm4gcmM7Cj4gIH0KPgo+IEBAIC0xNDA1LDggKzE0MDEsNiBAQCBpbnQgaGxfcGluX2hvc3Rf bWVtb3J5KHN0cnVjdCBobF9kZXZpY2UgKmhkZXYsIHU2NCBhZGRyLCB1NjQgc2l6ZSwKPiAgICov Cj4gIHZvaWQgaGxfdW5waW5faG9zdF9tZW1vcnkoc3RydWN0IGhsX2RldmljZSAqaGRldiwgc3Ry dWN0IGhsX3VzZXJwdHIgKnVzZXJwdHIpCj4gIHsKPiAtICAgICAgIHN0cnVjdCBwYWdlICoqcGFn ZXM7Cj4gLQo+ICAgICAgICAgaGxfZGVidWdmc19yZW1vdmVfdXNlcnB0cihoZGV2LCB1c2VycHRy KTsKPgo+ICAgICAgICAgaWYgKHVzZXJwdHItPmRtYV9tYXBwZWQpCj4gQEAgLTE0MTQsMTUgKzE0 MDgsOCBAQCB2b2lkIGhsX3VucGluX2hvc3RfbWVtb3J5KHN0cnVjdCBobF9kZXZpY2UgKmhkZXYs IHN0cnVjdCBobF91c2VycHRyICp1c2VycHRyKQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcnB0ci0+c2d0LT5uZW50cywKPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJw dHItPmRpcik7Cj4KPiAtICAgICAgIHBhZ2VzID0gZnJhbWVfdmVjdG9yX3BhZ2VzKHVzZXJwdHIt PnZlYyk7Cj4gLSAgICAgICBpZiAoIUlTX0VSUihwYWdlcykpIHsKPiAtICAgICAgICAgICAgICAg aW50IGk7Cj4gLQo+IC0gICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgZnJhbWVfdmVjdG9y X2NvdW50KHVzZXJwdHItPnZlYyk7IGkrKykKPiAtICAgICAgICAgICAgICAgICAgICAgICBzZXRf cGFnZV9kaXJ0eV9sb2NrKHBhZ2VzW2ldKTsKPiAtICAgICAgIH0KPiAtICAgICAgIHB1dF92YWRk cl9mcmFtZXModXNlcnB0ci0+dmVjKTsKPiAtICAgICAgIGZyYW1lX3ZlY3Rvcl9kZXN0cm95KHVz ZXJwdHItPnZlYyk7Cj4gKyAgICAgICB1bnBpbl91c2VyX3BhZ2VzX2RpcnR5X2xvY2sodXNlcnB0 ci0+cGFnZXMsIHVzZXJwdHItPm5wYWdlcywgdHJ1ZSk7Cj4gKyAgICAgICBrdmZyZWUodXNlcnB0 ci0+cGFnZXMpOwo+Cj4gICAgICAgICBsaXN0X2RlbCgmdXNlcnB0ci0+am9iX25vZGUpOwo+Cj4g LS0KPiAyLjI4LjAKPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK