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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 91AB4C433F5 for ; Tue, 19 Oct 2021 14:02:09 +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 4DD8760234 for ; Tue, 19 Oct 2021 14:02:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 4DD8760234 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9864E6EA8E; Tue, 19 Oct 2021 14:02:08 +0000 (UTC) Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com [IPv6:2a00:1450:4864:20::42c]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5CA446EA8E for ; Tue, 19 Oct 2021 14:02:07 +0000 (UTC) Received: by mail-wr1-x42c.google.com with SMTP id i12so47850064wrb.7 for ; Tue, 19 Oct 2021 07:02:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=qcZPXHneJ4LmI4c2/WT4alze3Z0wmZBTDnwmisEp4nU=; b=npvQVM69xSh8AwNE5XoPPVf6CFXpcFUmm66j1MuzJfpAXOSDa2Cu0H+sRgJryJNZpc 1LSoLGqShhYOHFDSTL3G/asoSWQNVDch0MnbcVRN8rixY3LR32PyGSl46cn9XqKAsDUV yxj3l5wr5RDZJ107PkqM3tUqMMscACfvKU8VKLjWz6OXuxffs7rabv74Gf4jZXNKdX8C jY0E5BWmt1d8/z11OBrpEZnpGuwl+tkkpBJ3gc3Y9IKNwPDny7H0pBCEVHAIrSzRayws /sBBpFIsNazU43byA3GJeDmLBe7yg/atG70GLKbILhLBG0LuwLXdUQXAINn8kpEJZIeR lPmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=qcZPXHneJ4LmI4c2/WT4alze3Z0wmZBTDnwmisEp4nU=; b=YL1RekloC8kizHHcQ5HoPiQ0g1Ew4RW0dLOOXYD3aVe6vCOaTO41OsW/H2jgIp0V0y dG9FwbR4XgXRepiKvHoBNrlA1OqOQnPrWFKJEzirfBQx4DFPd+6fDxiE58kT8CnDX33c ydD32NIkEJRHaMi7mlMi0KVYe/tzyRqQN6YuYgKnHJG2JaYGsvFBcaDYGa1Watetl2ut 1Y6rhCeFr7p3/N1YpPBihrNX4BXDJxvjHRlyBthcs8/zFBK1lbfsI2SrJui7Fq9ntDcF 6g7b8GJ/LqTGJKXUa6H05B1DA/pfBSTH/xsdC5NvScGPGUZhBX40kk5iDiJzwmOwXi/2 YW1g== X-Gm-Message-State: AOAM533zb8ncmanNd54i4Qqpl6gfejV+LVqnLMsp4u/I1lHFFMadVwYA tiy1ohGf+BuOOmEzoxfq2fowamDAzLa8 X-Google-Smtp-Source: ABdhPJwWzhdHc7uj+A4KH1r8rZ8tmuyMN1XN7SG/nuLT5CqlS8LA2upjOiomzlseL9vXPb3fr4aqLQ== X-Received: by 2002:a05:6000:1544:: with SMTP id 4mr45976625wry.374.1634652125847; Tue, 19 Oct 2021 07:02:05 -0700 (PDT) Received: from ?IPv6:2a02:810b:f40:4200:c0be:9a16:558c:2838? ([2a02:810b:f40:4200:c0be:9a16:558c:2838]) by smtp.gmail.com with ESMTPSA id x21sm2269499wmc.14.2021.10.19.07.02.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 19 Oct 2021 07:02:05 -0700 (PDT) Subject: Re: drm/rockchip: Implement mmap as GEM object function To: Thomas Zimmermann , hjc@rock-chips.com, heiko@sntech.de, airlied@linux.ie, daniel@ffwll.ch Cc: linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org References: <20210624095502.8945-1-tzimmermann@suse.de> From: Alex Bee Message-ID: <7e0c55c3-604f-6948-fce2-a7c1df17a4a5@gmail.com> Date: Tue, 19 Oct 2021 16:02:04 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: <20210624095502.8945-1-tzimmermann@suse.de> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US 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: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Am 24.06.21 um 11:55 schrieb Thomas Zimmermann: > Moving the driver-specific mmap code into a GEM object function allows > for using DRM helpers for various mmap callbacks. > > The respective rockchip functions are being removed. The file_operations > structure fops is now being created by the helper macro > DEFINE_DRM_GEM_FOPS(). Also     Tested-by: Alex Bee on RK3188/RK3066, i.e. on SoCs w/o IOMMU for vop. Could someone pick this up for review/merging? Thanks, Alex. > Signed-off-by: Thomas Zimmermann > Tested-by: Heiko Stuebner > --- > drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 13 +----- > drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c | 3 +- > drivers/gpu/drm/rockchip/rockchip_drm_gem.c | 44 +++++-------------- > drivers/gpu/drm/rockchip/rockchip_drm_gem.h | 7 --- > 4 files changed, 15 insertions(+), 52 deletions(-) > > diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c > index b730b8d5d949..2e3ab573a817 100644 > --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c > +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c > @@ -208,16 +208,7 @@ static void rockchip_drm_unbind(struct device *dev) > drm_dev_put(drm_dev); > } > > -static const struct file_operations rockchip_drm_driver_fops = { > - .owner = THIS_MODULE, > - .open = drm_open, > - .mmap = rockchip_gem_mmap, > - .poll = drm_poll, > - .read = drm_read, > - .unlocked_ioctl = drm_ioctl, > - .compat_ioctl = drm_compat_ioctl, > - .release = drm_release, > -}; > +DEFINE_DRM_GEM_FOPS(rockchip_drm_driver_fops); > > static const struct drm_driver rockchip_drm_driver = { > .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC, > @@ -226,7 +217,7 @@ static const struct drm_driver rockchip_drm_driver = { > .prime_handle_to_fd = drm_gem_prime_handle_to_fd, > .prime_fd_to_handle = drm_gem_prime_fd_to_handle, > .gem_prime_import_sg_table = rockchip_gem_prime_import_sg_table, > - .gem_prime_mmap = rockchip_gem_mmap_buf, > + .gem_prime_mmap = drm_gem_prime_mmap, > .fops = &rockchip_drm_driver_fops, > .name = DRIVER_NAME, > .desc = DRIVER_DESC, > diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c b/drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c > index 2fdc455c4ad7..d8418dd39d0e 100644 > --- a/drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c > +++ b/drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c > @@ -7,6 +7,7 @@ > #include > #include > #include > +#include > #include > > #include "rockchip_drm_drv.h" > @@ -24,7 +25,7 @@ static int rockchip_fbdev_mmap(struct fb_info *info, > struct drm_fb_helper *helper = info->par; > struct rockchip_drm_private *private = to_drm_private(helper); > > - return rockchip_gem_mmap_buf(private->fbdev_bo, vma); > + return drm_gem_prime_mmap(private->fbdev_bo, vma); > } > > static const struct fb_ops rockchip_drm_fbdev_ops = { > diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c > index 7971f57436dd..63eb73b624aa 100644 > --- a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c > +++ b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c > @@ -240,12 +240,22 @@ static int rockchip_drm_gem_object_mmap(struct drm_gem_object *obj, > int ret; > struct rockchip_gem_object *rk_obj = to_rockchip_obj(obj); > > + /* > + * Set vm_pgoff (used as a fake buffer offset by DRM) to 0 and map the > + * whole buffer from the start. > + */ > + vma->vm_pgoff = 0; > + > /* > * We allocated a struct page table for rk_obj, so clear > * VM_PFNMAP flag that was set by drm_gem_mmap_obj()/drm_gem_mmap(). > */ > + vma->vm_flags |= VM_IO | VM_DONTEXPAND | VM_DONTDUMP; > vma->vm_flags &= ~VM_PFNMAP; > > + vma->vm_page_prot = pgprot_writecombine(vm_get_page_prot(vma->vm_flags)); > + vma->vm_page_prot = pgprot_decrypted(vma->vm_page_prot); > + > if (rk_obj->pages) > ret = rockchip_drm_gem_object_mmap_iommu(obj, vma); > else > @@ -257,39 +267,6 @@ static int rockchip_drm_gem_object_mmap(struct drm_gem_object *obj, > return ret; > } > > -int rockchip_gem_mmap_buf(struct drm_gem_object *obj, > - struct vm_area_struct *vma) > -{ > - int ret; > - > - ret = drm_gem_mmap_obj(obj, obj->size, vma); > - if (ret) > - return ret; > - > - return rockchip_drm_gem_object_mmap(obj, vma); > -} > - > -/* drm driver mmap file operations */ > -int rockchip_gem_mmap(struct file *filp, struct vm_area_struct *vma) > -{ > - struct drm_gem_object *obj; > - int ret; > - > - ret = drm_gem_mmap(filp, vma); > - if (ret) > - return ret; > - > - /* > - * Set vm_pgoff (used as a fake buffer offset by DRM) to 0 and map the > - * whole buffer from the start. > - */ > - vma->vm_pgoff = 0; > - > - obj = vma->vm_private_data; > - > - return rockchip_drm_gem_object_mmap(obj, vma); > -} > - > static void rockchip_gem_release_object(struct rockchip_gem_object *rk_obj) > { > drm_gem_object_release(&rk_obj->base); > @@ -301,6 +278,7 @@ static const struct drm_gem_object_funcs rockchip_gem_object_funcs = { > .get_sg_table = rockchip_gem_prime_get_sg_table, > .vmap = rockchip_gem_prime_vmap, > .vunmap = rockchip_gem_prime_vunmap, > + .mmap = rockchip_drm_gem_object_mmap, > .vm_ops = &drm_gem_cma_vm_ops, > }; > > diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_gem.h b/drivers/gpu/drm/rockchip/rockchip_drm_gem.h > index 5a70a56cd406..47c1861eece0 100644 > --- a/drivers/gpu/drm/rockchip/rockchip_drm_gem.h > +++ b/drivers/gpu/drm/rockchip/rockchip_drm_gem.h > @@ -34,13 +34,6 @@ rockchip_gem_prime_import_sg_table(struct drm_device *dev, > int rockchip_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map); > void rockchip_gem_prime_vunmap(struct drm_gem_object *obj, struct dma_buf_map *map); > > -/* drm driver mmap file operations */ > -int rockchip_gem_mmap(struct file *filp, struct vm_area_struct *vma); > - > -/* mmap a gem object to userspace. */ > -int rockchip_gem_mmap_buf(struct drm_gem_object *obj, > - struct vm_area_struct *vma); > - > struct rockchip_gem_object * > rockchip_gem_create_object(struct drm_device *drm, unsigned int size, > bool alloc_kmap); 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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 66050C433EF for ; Tue, 19 Oct 2021 14:02:29 +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 0540360ED5 for ; Tue, 19 Oct 2021 14:02:28 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 0540360ED5 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:Cc:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Ls0S7FI55wNgIIGmJwbeJYDW9UGImRF60uJoo9Lj1LI=; b=S1CJtAmXSjE0a5kV+k2U6G0RIZ S5brJcuDiPOjc2b7ytVOYIxwzYt4hT0Z1FAKoWcZILMneSEiKvg7xhIjMIYaDDUSEIcUihM6eLTHI NSjqkBAjJVrrb15Dvgl0bPD/AJQqY74bb/KSf1UDXMdBOAEkO5xaijgMYfO6dmjrxvymgzs65VfJ4 EO7oaoC4cHLG3brYMmhTOiml1tet4u4Wd/z3jnXYaior0awifer9N9zbZKtQ+5uqo1Yv5qrryPToJ 1GUXK/gQFSgPX/qCDccwhLvrggn8AYaoVpyOkTjKSFEmxhwPtAThfPjG5vN3y/fc4c6Br5eM2pMLG 5Gpo/Y+g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mcphA-001UKf-Mf; Tue, 19 Oct 2021 14:02:24 +0000 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mcpgy-001UJO-LF; Tue, 19 Oct 2021 14:02:14 +0000 Received: by mail-wr1-x433.google.com with SMTP id m22so48144008wrb.0; Tue, 19 Oct 2021 07:02:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=qcZPXHneJ4LmI4c2/WT4alze3Z0wmZBTDnwmisEp4nU=; b=npvQVM69xSh8AwNE5XoPPVf6CFXpcFUmm66j1MuzJfpAXOSDa2Cu0H+sRgJryJNZpc 1LSoLGqShhYOHFDSTL3G/asoSWQNVDch0MnbcVRN8rixY3LR32PyGSl46cn9XqKAsDUV yxj3l5wr5RDZJ107PkqM3tUqMMscACfvKU8VKLjWz6OXuxffs7rabv74Gf4jZXNKdX8C jY0E5BWmt1d8/z11OBrpEZnpGuwl+tkkpBJ3gc3Y9IKNwPDny7H0pBCEVHAIrSzRayws /sBBpFIsNazU43byA3GJeDmLBe7yg/atG70GLKbILhLBG0LuwLXdUQXAINn8kpEJZIeR lPmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=qcZPXHneJ4LmI4c2/WT4alze3Z0wmZBTDnwmisEp4nU=; b=aZwAV1WSxGQNkGGZ27qboPsNRQWUUlPECtQ2DeBDZKxrJvuKuJyA8vqp1OaOSuAhPq pbnjw0TqYYMITmOYPA2p0n2UGeU+5+3Y0SJqAnkiTy8vsuZWuj/U4IUzfu1QUypr31n3 mOEKqk1gr4wMxQycpRbt8qMGv5wgHDPjHdsV0xBziEHRMw6QWX8hwhHMOgDDJcdEGDeD VI1l4sDxEjfPpm9wymRIvXhW5M8h6/ajtxTJhduy63ObgdmX8bXY6bJSsdo85sB8rTSc WCPcw0Ll1aXiQaq1r6/rhzfZ4ycrVAbM4OO7mnANnS+h8nK+CCg7CYecWtUF6pU7ZbVu c/BA== X-Gm-Message-State: AOAM530EpBX0bJ3LGYNQmJ+uiLpaTY2gDaMJsUHX7PdgXJ4wc/EEjCIb d9OO+za6VJL5qXMWL+nsLg== X-Google-Smtp-Source: ABdhPJwWzhdHc7uj+A4KH1r8rZ8tmuyMN1XN7SG/nuLT5CqlS8LA2upjOiomzlseL9vXPb3fr4aqLQ== X-Received: by 2002:a05:6000:1544:: with SMTP id 4mr45976625wry.374.1634652125847; Tue, 19 Oct 2021 07:02:05 -0700 (PDT) Received: from ?IPv6:2a02:810b:f40:4200:c0be:9a16:558c:2838? ([2a02:810b:f40:4200:c0be:9a16:558c:2838]) by smtp.gmail.com with ESMTPSA id x21sm2269499wmc.14.2021.10.19.07.02.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 19 Oct 2021 07:02:05 -0700 (PDT) Subject: Re: drm/rockchip: Implement mmap as GEM object function To: Thomas Zimmermann , hjc@rock-chips.com, heiko@sntech.de, airlied@linux.ie, daniel@ffwll.ch Cc: linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org References: <20210624095502.8945-1-tzimmermann@suse.de> From: Alex Bee Message-ID: <7e0c55c3-604f-6948-fce2-a7c1df17a4a5@gmail.com> Date: Tue, 19 Oct 2021 16:02:04 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: <20210624095502.8945-1-tzimmermann@suse.de> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211019_070212_708746_9DAB8148 X-CRM114-Status: GOOD ( 24.95 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org CkFtIDI0LjA2LjIxIHVtIDExOjU1IHNjaHJpZWIgVGhvbWFzIFppbW1lcm1hbm46Cj4gTW92aW5n IHRoZSBkcml2ZXItc3BlY2lmaWMgbW1hcCBjb2RlIGludG8gYSBHRU0gb2JqZWN0IGZ1bmN0aW9u IGFsbG93cwo+IGZvciB1c2luZyBEUk0gaGVscGVycyBmb3IgdmFyaW91cyBtbWFwIGNhbGxiYWNr cy4KPgo+IFRoZSByZXNwZWN0aXZlIHJvY2tjaGlwIGZ1bmN0aW9ucyBhcmUgYmVpbmcgcmVtb3Zl ZC4gVGhlIGZpbGVfb3BlcmF0aW9ucwo+IHN0cnVjdHVyZSBmb3BzIGlzIG5vdyBiZWluZyBjcmVh dGVkIGJ5IHRoZSBoZWxwZXIgbWFjcm8KPiBERUZJTkVfRFJNX0dFTV9GT1BTKCkuCgpBbHNvCgog wqDCoMKgIFRlc3RlZC1ieTogQWxleCBCZWUgPGtuYWVyemNoZUBnbWFpbC5jb20+CgpvbiBSSzMx ODgvUkszMDY2LCBpLmUuIG9uIFNvQ3Mgdy9vIElPTU1VIGZvciB2b3AuCgpDb3VsZCBzb21lb25l IHBpY2sgdGhpcyB1cCBmb3IgcmV2aWV3L21lcmdpbmc/CgpUaGFua3MsCgpBbGV4LgoKPiBTaWdu ZWQtb2ZmLWJ5OiBUaG9tYXMgWmltbWVybWFubiA8dHppbW1lcm1hbm5Ac3VzZS5kZT4KPiBUZXN0 ZWQtYnk6IEhlaWtvIFN0dWVibmVyIDxoZWlrb0BzbnRlY2guZGU+Cj4gLS0tCj4gICBkcml2ZXJz L2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5jICAgfCAxMyArLS0tLS0KPiAgIGRy aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZmJkZXYuYyB8ICAzICstCj4gICBk cml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2dlbS5jICAgfCA0NCArKysrKy0t LS0tLS0tLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2dl bS5oICAgfCAgNyAtLS0KPiAgIDQgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgNTIg ZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3Jv Y2tjaGlwX2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1f ZHJ2LmMKPiBpbmRleCBiNzMwYjhkNWQ5NDkuLjJlM2FiNTczYTgxNyAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9kcnYuYwo+IEBAIC0yMDgsMTYgKzIwOCw3 IEBAIHN0YXRpYyB2b2lkIHJvY2tjaGlwX2RybV91bmJpbmQoc3RydWN0IGRldmljZSAqZGV2KQo+ ICAgCWRybV9kZXZfcHV0KGRybV9kZXYpOwo+ICAgfQo+ICAgCj4gLXN0YXRpYyBjb25zdCBzdHJ1 Y3QgZmlsZV9vcGVyYXRpb25zIHJvY2tjaGlwX2RybV9kcml2ZXJfZm9wcyA9IHsKPiAtCS5vd25l ciA9IFRISVNfTU9EVUxFLAo+IC0JLm9wZW4gPSBkcm1fb3BlbiwKPiAtCS5tbWFwID0gcm9ja2No aXBfZ2VtX21tYXAsCj4gLQkucG9sbCA9IGRybV9wb2xsLAo+IC0JLnJlYWQgPSBkcm1fcmVhZCwK PiAtCS51bmxvY2tlZF9pb2N0bCA9IGRybV9pb2N0bCwKPiAtCS5jb21wYXRfaW9jdGwgPSBkcm1f Y29tcGF0X2lvY3RsLAo+IC0JLnJlbGVhc2UgPSBkcm1fcmVsZWFzZSwKPiAtfTsKPiArREVGSU5F X0RSTV9HRU1fRk9QUyhyb2NrY2hpcF9kcm1fZHJpdmVyX2ZvcHMpOwo+ICAgCj4gICBzdGF0aWMg Y29uc3Qgc3RydWN0IGRybV9kcml2ZXIgcm9ja2NoaXBfZHJtX2RyaXZlciA9IHsKPiAgIAkuZHJp dmVyX2ZlYXR1cmVzCT0gRFJJVkVSX01PREVTRVQgfCBEUklWRVJfR0VNIHwgRFJJVkVSX0FUT01J QywKPiBAQCAtMjI2LDcgKzIxNyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2RyaXZlciBy b2NrY2hpcF9kcm1fZHJpdmVyID0gewo+ICAgCS5wcmltZV9oYW5kbGVfdG9fZmQJPSBkcm1fZ2Vt X3ByaW1lX2hhbmRsZV90b19mZCwKPiAgIAkucHJpbWVfZmRfdG9faGFuZGxlCT0gZHJtX2dlbV9w cmltZV9mZF90b19oYW5kbGUsCj4gICAJLmdlbV9wcmltZV9pbXBvcnRfc2dfdGFibGUJPSByb2Nr Y2hpcF9nZW1fcHJpbWVfaW1wb3J0X3NnX3RhYmxlLAo+IC0JLmdlbV9wcmltZV9tbWFwCQk9IHJv Y2tjaGlwX2dlbV9tbWFwX2J1ZiwKPiArCS5nZW1fcHJpbWVfbW1hcAkJPSBkcm1fZ2VtX3ByaW1l X21tYXAsCj4gICAJLmZvcHMJCQk9ICZyb2NrY2hpcF9kcm1fZHJpdmVyX2ZvcHMsCj4gICAJLm5h bWUJPSBEUklWRVJfTkFNRSwKPiAgIAkuZGVzYwk9IERSSVZFUl9ERVNDLAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2ZiZGV2LmMgYi9kcml2ZXJz L2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2ZiZGV2LmMKPiBpbmRleCAyZmRjNDU1YzRh ZDcuLmQ4NDE4ZGQzOWQwZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAv cm9ja2NoaXBfZHJtX2ZiZGV2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9j a2NoaXBfZHJtX2ZiZGV2LmMKPiBAQCAtNyw2ICs3LDcgQEAKPiAgICNpbmNsdWRlIDxkcm0vZHJt Lmg+Cj4gICAjaW5jbHVkZSA8ZHJtL2RybV9mYl9oZWxwZXIuaD4KPiAgICNpbmNsdWRlIDxkcm0v ZHJtX2ZvdXJjYy5oPgo+ICsjaW5jbHVkZSA8ZHJtL2RybV9wcmltZS5oPgo+ICAgI2luY2x1ZGUg PGRybS9kcm1fcHJvYmVfaGVscGVyLmg+Cj4gICAKPiAgICNpbmNsdWRlICJyb2NrY2hpcF9kcm1f ZHJ2LmgiCj4gQEAgLTI0LDcgKzI1LDcgQEAgc3RhdGljIGludCByb2NrY2hpcF9mYmRldl9tbWFw KHN0cnVjdCBmYl9pbmZvICppbmZvLAo+ICAgCXN0cnVjdCBkcm1fZmJfaGVscGVyICpoZWxwZXIg PSBpbmZvLT5wYXI7Cj4gICAJc3RydWN0IHJvY2tjaGlwX2RybV9wcml2YXRlICpwcml2YXRlID0g dG9fZHJtX3ByaXZhdGUoaGVscGVyKTsKPiAgIAo+IC0JcmV0dXJuIHJvY2tjaGlwX2dlbV9tbWFw X2J1Zihwcml2YXRlLT5mYmRldl9ibywgdm1hKTsKPiArCXJldHVybiBkcm1fZ2VtX3ByaW1lX21t YXAocHJpdmF0ZS0+ZmJkZXZfYm8sIHZtYSk7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZmJfb3BzIHJvY2tjaGlwX2RybV9mYmRldl9vcHMgPSB7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZ2VtLmMgYi9kcml2ZXJzL2dwdS9k cm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2dlbS5jCj4gaW5kZXggNzk3MWY1NzQzNmRkLi42M2Vi NzNiNjI0YWEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlw X2RybV9nZW0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1f Z2VtLmMKPiBAQCAtMjQwLDEyICsyNDAsMjIgQEAgc3RhdGljIGludCByb2NrY2hpcF9kcm1fZ2Vt X29iamVjdF9tbWFwKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLAo+ICAgCWludCByZXQ7Cj4g ICAJc3RydWN0IHJvY2tjaGlwX2dlbV9vYmplY3QgKnJrX29iaiA9IHRvX3JvY2tjaGlwX29iaihv YmopOwo+ICAgCj4gKwkvKgo+ICsJICogU2V0IHZtX3Bnb2ZmICh1c2VkIGFzIGEgZmFrZSBidWZm ZXIgb2Zmc2V0IGJ5IERSTSkgdG8gMCBhbmQgbWFwIHRoZQo+ICsJICogd2hvbGUgYnVmZmVyIGZy b20gdGhlIHN0YXJ0Lgo+ICsJICovCj4gKwl2bWEtPnZtX3Bnb2ZmID0gMDsKPiArCj4gICAJLyoK PiAgIAkgKiBXZSBhbGxvY2F0ZWQgYSBzdHJ1Y3QgcGFnZSB0YWJsZSBmb3Igcmtfb2JqLCBzbyBj bGVhcgo+ICAgCSAqIFZNX1BGTk1BUCBmbGFnIHRoYXQgd2FzIHNldCBieSBkcm1fZ2VtX21tYXBf b2JqKCkvZHJtX2dlbV9tbWFwKCkuCj4gICAJICovCj4gKwl2bWEtPnZtX2ZsYWdzIHw9IFZNX0lP IHwgVk1fRE9OVEVYUEFORCB8IFZNX0RPTlREVU1QOwo+ICAgCXZtYS0+dm1fZmxhZ3MgJj0gflZN X1BGTk1BUDsKPiAgIAo+ICsJdm1hLT52bV9wYWdlX3Byb3QgPSBwZ3Byb3Rfd3JpdGVjb21iaW5l KHZtX2dldF9wYWdlX3Byb3Qodm1hLT52bV9mbGFncykpOwo+ICsJdm1hLT52bV9wYWdlX3Byb3Qg PSBwZ3Byb3RfZGVjcnlwdGVkKHZtYS0+dm1fcGFnZV9wcm90KTsKPiArCj4gICAJaWYgKHJrX29i ai0+cGFnZXMpCj4gICAJCXJldCA9IHJvY2tjaGlwX2RybV9nZW1fb2JqZWN0X21tYXBfaW9tbXUo b2JqLCB2bWEpOwo+ICAgCWVsc2UKPiBAQCAtMjU3LDM5ICsyNjcsNiBAQCBzdGF0aWMgaW50IHJv Y2tjaGlwX2RybV9nZW1fb2JqZWN0X21tYXAoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosCj4g ICAJcmV0dXJuIHJldDsKPiAgIH0KPiAgIAo+IC1pbnQgcm9ja2NoaXBfZ2VtX21tYXBfYnVmKHN0 cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLAo+IC0JCQkgIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAq dm1hKQo+IC17Cj4gLQlpbnQgcmV0Owo+IC0KPiAtCXJldCA9IGRybV9nZW1fbW1hcF9vYmoob2Jq LCBvYmotPnNpemUsIHZtYSk7Cj4gLQlpZiAocmV0KQo+IC0JCXJldHVybiByZXQ7Cj4gLQo+IC0J cmV0dXJuIHJvY2tjaGlwX2RybV9nZW1fb2JqZWN0X21tYXAob2JqLCB2bWEpOwo+IC19Cj4gLQo+ IC0vKiBkcm0gZHJpdmVyIG1tYXAgZmlsZSBvcGVyYXRpb25zICovCj4gLWludCByb2NrY2hpcF9n ZW1fbW1hcChzdHJ1Y3QgZmlsZSAqZmlscCwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpCj4g LXsKPiAtCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqOwo+IC0JaW50IHJldDsKPiAtCj4gLQly ZXQgPSBkcm1fZ2VtX21tYXAoZmlscCwgdm1hKTsKPiAtCWlmIChyZXQpCj4gLQkJcmV0dXJuIHJl dDsKPiAtCj4gLQkvKgo+IC0JICogU2V0IHZtX3Bnb2ZmICh1c2VkIGFzIGEgZmFrZSBidWZmZXIg b2Zmc2V0IGJ5IERSTSkgdG8gMCBhbmQgbWFwIHRoZQo+IC0JICogd2hvbGUgYnVmZmVyIGZyb20g dGhlIHN0YXJ0Lgo+IC0JICovCj4gLQl2bWEtPnZtX3Bnb2ZmID0gMDsKPiAtCj4gLQlvYmogPSB2 bWEtPnZtX3ByaXZhdGVfZGF0YTsKPiAtCj4gLQlyZXR1cm4gcm9ja2NoaXBfZHJtX2dlbV9vYmpl Y3RfbW1hcChvYmosIHZtYSk7Cj4gLX0KPiAtCj4gICBzdGF0aWMgdm9pZCByb2NrY2hpcF9nZW1f cmVsZWFzZV9vYmplY3Qoc3RydWN0IHJvY2tjaGlwX2dlbV9vYmplY3QgKnJrX29iaikKPiAgIHsK PiAgIAlkcm1fZ2VtX29iamVjdF9yZWxlYXNlKCZya19vYmotPmJhc2UpOwo+IEBAIC0zMDEsNiAr Mjc4LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZ2VtX29iamVjdF9mdW5jcyByb2NrY2hp cF9nZW1fb2JqZWN0X2Z1bmNzID0gewo+ICAgCS5nZXRfc2dfdGFibGUgPSByb2NrY2hpcF9nZW1f cHJpbWVfZ2V0X3NnX3RhYmxlLAo+ICAgCS52bWFwID0gcm9ja2NoaXBfZ2VtX3ByaW1lX3ZtYXAs Cj4gICAJLnZ1bm1hcAk9IHJvY2tjaGlwX2dlbV9wcmltZV92dW5tYXAsCj4gKwkubW1hcCA9IHJv Y2tjaGlwX2RybV9nZW1fb2JqZWN0X21tYXAsCj4gICAJLnZtX29wcyA9ICZkcm1fZ2VtX2NtYV92 bV9vcHMsCj4gICB9Owo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hp cC9yb2NrY2hpcF9kcm1fZ2VtLmggYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBf ZHJtX2dlbS5oCj4gaW5kZXggNWE3MGE1NmNkNDA2Li40N2MxODYxZWVjZTAgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9nZW0uaAo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZ2VtLmgKPiBAQCAtMzQsMTMgKzM0 LDYgQEAgcm9ja2NoaXBfZ2VtX3ByaW1lX2ltcG9ydF9zZ190YWJsZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAo+ICAgaW50IHJvY2tjaGlwX2dlbV9wcmltZV92bWFwKHN0cnVjdCBkcm1fZ2VtX29i amVjdCAqb2JqLCBzdHJ1Y3QgZG1hX2J1Zl9tYXAgKm1hcCk7Cj4gICB2b2lkIHJvY2tjaGlwX2dl bV9wcmltZV92dW5tYXAoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosIHN0cnVjdCBkbWFfYnVm X21hcCAqbWFwKTsKPiAgIAo+IC0vKiBkcm0gZHJpdmVyIG1tYXAgZmlsZSBvcGVyYXRpb25zICov Cj4gLWludCByb2NrY2hpcF9nZW1fbW1hcChzdHJ1Y3QgZmlsZSAqZmlscCwgc3RydWN0IHZtX2Fy ZWFfc3RydWN0ICp2bWEpOwo+IC0KPiAtLyogbW1hcCBhIGdlbSBvYmplY3QgdG8gdXNlcnNwYWNl LiAqLwo+IC1pbnQgcm9ja2NoaXBfZ2VtX21tYXBfYnVmKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAq b2JqLAo+IC0JCQkgIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKTsKPiAtCj4gICBzdHJ1Y3Qg cm9ja2NoaXBfZ2VtX29iamVjdCAqCj4gICAJcm9ja2NoaXBfZ2VtX2NyZWF0ZV9vYmplY3Qoc3Ry dWN0IGRybV9kZXZpY2UgKmRybSwgdW5zaWduZWQgaW50IHNpemUsCj4gICAJCQkJICAgYm9vbCBh bGxvY19rbWFwKTsKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkxpbnV4LXJvY2tjaGlwIG1haWxpbmcgbGlzdApMaW51eC1yb2NrY2hpcEBsaXN0cy5pbmZy YWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGlu dXgtcm9ja2NoaXAK 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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 75938C433EF for ; Tue, 19 Oct 2021 14:04:00 +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 439BE60FE8 for ; Tue, 19 Oct 2021 14:04:00 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 439BE60FE8 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:Cc:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=zZVgOOx1YEoWgICiSLSeXefULMJbqXEh+jYFrxMU7i0=; b=Dx5L4qHcn6ZffrGAGhvKPBOnP0 7JHKnhj+STv8X8dS231nK2hrI8X2lxXtrfMU3bmpJL/PRY+pW2edDmlOamYMdwmgijO+CiZ0Dxplx ISiTI9xmAqBX/2TGh6SNc8fgy1cLO2x0JTal9S75VS5DX2Y5ekwiQifVb25ZsSxX7PIgk5nlO3v5U 4+saQQcO5U37nkJORwIBriw9Nifd1q6n7LVB9h9DfuNzsGZEO9nIRJ7P8zFWw2UU7Hd6g6NyCmQpu aA9HJZhl1TTyVdL5Cl0UxHWHf9ilCf94Vca7cLKmjFUSuV+BhFL7hRSwNRrevlzf/u2lnN5ZzqjkB ntqpJ5Rg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mcph2-001UKL-4U; Tue, 19 Oct 2021 14:02:16 +0000 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mcpgy-001UJO-LF; Tue, 19 Oct 2021 14:02:14 +0000 Received: by mail-wr1-x433.google.com with SMTP id m22so48144008wrb.0; Tue, 19 Oct 2021 07:02:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=qcZPXHneJ4LmI4c2/WT4alze3Z0wmZBTDnwmisEp4nU=; b=npvQVM69xSh8AwNE5XoPPVf6CFXpcFUmm66j1MuzJfpAXOSDa2Cu0H+sRgJryJNZpc 1LSoLGqShhYOHFDSTL3G/asoSWQNVDch0MnbcVRN8rixY3LR32PyGSl46cn9XqKAsDUV yxj3l5wr5RDZJ107PkqM3tUqMMscACfvKU8VKLjWz6OXuxffs7rabv74Gf4jZXNKdX8C jY0E5BWmt1d8/z11OBrpEZnpGuwl+tkkpBJ3gc3Y9IKNwPDny7H0pBCEVHAIrSzRayws /sBBpFIsNazU43byA3GJeDmLBe7yg/atG70GLKbILhLBG0LuwLXdUQXAINn8kpEJZIeR lPmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=qcZPXHneJ4LmI4c2/WT4alze3Z0wmZBTDnwmisEp4nU=; b=aZwAV1WSxGQNkGGZ27qboPsNRQWUUlPECtQ2DeBDZKxrJvuKuJyA8vqp1OaOSuAhPq pbnjw0TqYYMITmOYPA2p0n2UGeU+5+3Y0SJqAnkiTy8vsuZWuj/U4IUzfu1QUypr31n3 mOEKqk1gr4wMxQycpRbt8qMGv5wgHDPjHdsV0xBziEHRMw6QWX8hwhHMOgDDJcdEGDeD VI1l4sDxEjfPpm9wymRIvXhW5M8h6/ajtxTJhduy63ObgdmX8bXY6bJSsdo85sB8rTSc WCPcw0Ll1aXiQaq1r6/rhzfZ4ycrVAbM4OO7mnANnS+h8nK+CCg7CYecWtUF6pU7ZbVu c/BA== X-Gm-Message-State: AOAM530EpBX0bJ3LGYNQmJ+uiLpaTY2gDaMJsUHX7PdgXJ4wc/EEjCIb d9OO+za6VJL5qXMWL+nsLg== X-Google-Smtp-Source: ABdhPJwWzhdHc7uj+A4KH1r8rZ8tmuyMN1XN7SG/nuLT5CqlS8LA2upjOiomzlseL9vXPb3fr4aqLQ== X-Received: by 2002:a05:6000:1544:: with SMTP id 4mr45976625wry.374.1634652125847; Tue, 19 Oct 2021 07:02:05 -0700 (PDT) Received: from ?IPv6:2a02:810b:f40:4200:c0be:9a16:558c:2838? ([2a02:810b:f40:4200:c0be:9a16:558c:2838]) by smtp.gmail.com with ESMTPSA id x21sm2269499wmc.14.2021.10.19.07.02.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 19 Oct 2021 07:02:05 -0700 (PDT) Subject: Re: drm/rockchip: Implement mmap as GEM object function To: Thomas Zimmermann , hjc@rock-chips.com, heiko@sntech.de, airlied@linux.ie, daniel@ffwll.ch Cc: linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org References: <20210624095502.8945-1-tzimmermann@suse.de> From: Alex Bee Message-ID: <7e0c55c3-604f-6948-fce2-a7c1df17a4a5@gmail.com> Date: Tue, 19 Oct 2021 16:02:04 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: <20210624095502.8945-1-tzimmermann@suse.de> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211019_070212_708746_9DAB8148 X-CRM114-Status: GOOD ( 24.95 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CkFtIDI0LjA2LjIxIHVtIDExOjU1IHNjaHJpZWIgVGhvbWFzIFppbW1lcm1hbm46Cj4gTW92aW5n IHRoZSBkcml2ZXItc3BlY2lmaWMgbW1hcCBjb2RlIGludG8gYSBHRU0gb2JqZWN0IGZ1bmN0aW9u IGFsbG93cwo+IGZvciB1c2luZyBEUk0gaGVscGVycyBmb3IgdmFyaW91cyBtbWFwIGNhbGxiYWNr cy4KPgo+IFRoZSByZXNwZWN0aXZlIHJvY2tjaGlwIGZ1bmN0aW9ucyBhcmUgYmVpbmcgcmVtb3Zl ZC4gVGhlIGZpbGVfb3BlcmF0aW9ucwo+IHN0cnVjdHVyZSBmb3BzIGlzIG5vdyBiZWluZyBjcmVh dGVkIGJ5IHRoZSBoZWxwZXIgbWFjcm8KPiBERUZJTkVfRFJNX0dFTV9GT1BTKCkuCgpBbHNvCgog wqDCoMKgIFRlc3RlZC1ieTogQWxleCBCZWUgPGtuYWVyemNoZUBnbWFpbC5jb20+CgpvbiBSSzMx ODgvUkszMDY2LCBpLmUuIG9uIFNvQ3Mgdy9vIElPTU1VIGZvciB2b3AuCgpDb3VsZCBzb21lb25l IHBpY2sgdGhpcyB1cCBmb3IgcmV2aWV3L21lcmdpbmc/CgpUaGFua3MsCgpBbGV4LgoKPiBTaWdu ZWQtb2ZmLWJ5OiBUaG9tYXMgWmltbWVybWFubiA8dHppbW1lcm1hbm5Ac3VzZS5kZT4KPiBUZXN0 ZWQtYnk6IEhlaWtvIFN0dWVibmVyIDxoZWlrb0BzbnRlY2guZGU+Cj4gLS0tCj4gICBkcml2ZXJz L2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5jICAgfCAxMyArLS0tLS0KPiAgIGRy aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZmJkZXYuYyB8ICAzICstCj4gICBk cml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2dlbS5jICAgfCA0NCArKysrKy0t LS0tLS0tLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2dl bS5oICAgfCAgNyAtLS0KPiAgIDQgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgNTIg ZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3Jv Y2tjaGlwX2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1f ZHJ2LmMKPiBpbmRleCBiNzMwYjhkNWQ5NDkuLjJlM2FiNTczYTgxNyAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9kcnYuYwo+IEBAIC0yMDgsMTYgKzIwOCw3 IEBAIHN0YXRpYyB2b2lkIHJvY2tjaGlwX2RybV91bmJpbmQoc3RydWN0IGRldmljZSAqZGV2KQo+ ICAgCWRybV9kZXZfcHV0KGRybV9kZXYpOwo+ICAgfQo+ICAgCj4gLXN0YXRpYyBjb25zdCBzdHJ1 Y3QgZmlsZV9vcGVyYXRpb25zIHJvY2tjaGlwX2RybV9kcml2ZXJfZm9wcyA9IHsKPiAtCS5vd25l ciA9IFRISVNfTU9EVUxFLAo+IC0JLm9wZW4gPSBkcm1fb3BlbiwKPiAtCS5tbWFwID0gcm9ja2No aXBfZ2VtX21tYXAsCj4gLQkucG9sbCA9IGRybV9wb2xsLAo+IC0JLnJlYWQgPSBkcm1fcmVhZCwK PiAtCS51bmxvY2tlZF9pb2N0bCA9IGRybV9pb2N0bCwKPiAtCS5jb21wYXRfaW9jdGwgPSBkcm1f Y29tcGF0X2lvY3RsLAo+IC0JLnJlbGVhc2UgPSBkcm1fcmVsZWFzZSwKPiAtfTsKPiArREVGSU5F X0RSTV9HRU1fRk9QUyhyb2NrY2hpcF9kcm1fZHJpdmVyX2ZvcHMpOwo+ICAgCj4gICBzdGF0aWMg Y29uc3Qgc3RydWN0IGRybV9kcml2ZXIgcm9ja2NoaXBfZHJtX2RyaXZlciA9IHsKPiAgIAkuZHJp dmVyX2ZlYXR1cmVzCT0gRFJJVkVSX01PREVTRVQgfCBEUklWRVJfR0VNIHwgRFJJVkVSX0FUT01J QywKPiBAQCAtMjI2LDcgKzIxNyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2RyaXZlciBy b2NrY2hpcF9kcm1fZHJpdmVyID0gewo+ICAgCS5wcmltZV9oYW5kbGVfdG9fZmQJPSBkcm1fZ2Vt X3ByaW1lX2hhbmRsZV90b19mZCwKPiAgIAkucHJpbWVfZmRfdG9faGFuZGxlCT0gZHJtX2dlbV9w cmltZV9mZF90b19oYW5kbGUsCj4gICAJLmdlbV9wcmltZV9pbXBvcnRfc2dfdGFibGUJPSByb2Nr Y2hpcF9nZW1fcHJpbWVfaW1wb3J0X3NnX3RhYmxlLAo+IC0JLmdlbV9wcmltZV9tbWFwCQk9IHJv Y2tjaGlwX2dlbV9tbWFwX2J1ZiwKPiArCS5nZW1fcHJpbWVfbW1hcAkJPSBkcm1fZ2VtX3ByaW1l X21tYXAsCj4gICAJLmZvcHMJCQk9ICZyb2NrY2hpcF9kcm1fZHJpdmVyX2ZvcHMsCj4gICAJLm5h bWUJPSBEUklWRVJfTkFNRSwKPiAgIAkuZGVzYwk9IERSSVZFUl9ERVNDLAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2ZiZGV2LmMgYi9kcml2ZXJz L2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2ZiZGV2LmMKPiBpbmRleCAyZmRjNDU1YzRh ZDcuLmQ4NDE4ZGQzOWQwZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAv cm9ja2NoaXBfZHJtX2ZiZGV2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9j a2NoaXBfZHJtX2ZiZGV2LmMKPiBAQCAtNyw2ICs3LDcgQEAKPiAgICNpbmNsdWRlIDxkcm0vZHJt Lmg+Cj4gICAjaW5jbHVkZSA8ZHJtL2RybV9mYl9oZWxwZXIuaD4KPiAgICNpbmNsdWRlIDxkcm0v ZHJtX2ZvdXJjYy5oPgo+ICsjaW5jbHVkZSA8ZHJtL2RybV9wcmltZS5oPgo+ICAgI2luY2x1ZGUg PGRybS9kcm1fcHJvYmVfaGVscGVyLmg+Cj4gICAKPiAgICNpbmNsdWRlICJyb2NrY2hpcF9kcm1f ZHJ2LmgiCj4gQEAgLTI0LDcgKzI1LDcgQEAgc3RhdGljIGludCByb2NrY2hpcF9mYmRldl9tbWFw KHN0cnVjdCBmYl9pbmZvICppbmZvLAo+ICAgCXN0cnVjdCBkcm1fZmJfaGVscGVyICpoZWxwZXIg PSBpbmZvLT5wYXI7Cj4gICAJc3RydWN0IHJvY2tjaGlwX2RybV9wcml2YXRlICpwcml2YXRlID0g dG9fZHJtX3ByaXZhdGUoaGVscGVyKTsKPiAgIAo+IC0JcmV0dXJuIHJvY2tjaGlwX2dlbV9tbWFw X2J1Zihwcml2YXRlLT5mYmRldl9ibywgdm1hKTsKPiArCXJldHVybiBkcm1fZ2VtX3ByaW1lX21t YXAocHJpdmF0ZS0+ZmJkZXZfYm8sIHZtYSk7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZmJfb3BzIHJvY2tjaGlwX2RybV9mYmRldl9vcHMgPSB7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZ2VtLmMgYi9kcml2ZXJzL2dwdS9k cm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2dlbS5jCj4gaW5kZXggNzk3MWY1NzQzNmRkLi42M2Vi NzNiNjI0YWEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlw X2RybV9nZW0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1f Z2VtLmMKPiBAQCAtMjQwLDEyICsyNDAsMjIgQEAgc3RhdGljIGludCByb2NrY2hpcF9kcm1fZ2Vt X29iamVjdF9tbWFwKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLAo+ICAgCWludCByZXQ7Cj4g ICAJc3RydWN0IHJvY2tjaGlwX2dlbV9vYmplY3QgKnJrX29iaiA9IHRvX3JvY2tjaGlwX29iaihv YmopOwo+ICAgCj4gKwkvKgo+ICsJICogU2V0IHZtX3Bnb2ZmICh1c2VkIGFzIGEgZmFrZSBidWZm ZXIgb2Zmc2V0IGJ5IERSTSkgdG8gMCBhbmQgbWFwIHRoZQo+ICsJICogd2hvbGUgYnVmZmVyIGZy b20gdGhlIHN0YXJ0Lgo+ICsJICovCj4gKwl2bWEtPnZtX3Bnb2ZmID0gMDsKPiArCj4gICAJLyoK PiAgIAkgKiBXZSBhbGxvY2F0ZWQgYSBzdHJ1Y3QgcGFnZSB0YWJsZSBmb3Igcmtfb2JqLCBzbyBj bGVhcgo+ICAgCSAqIFZNX1BGTk1BUCBmbGFnIHRoYXQgd2FzIHNldCBieSBkcm1fZ2VtX21tYXBf b2JqKCkvZHJtX2dlbV9tbWFwKCkuCj4gICAJICovCj4gKwl2bWEtPnZtX2ZsYWdzIHw9IFZNX0lP IHwgVk1fRE9OVEVYUEFORCB8IFZNX0RPTlREVU1QOwo+ICAgCXZtYS0+dm1fZmxhZ3MgJj0gflZN X1BGTk1BUDsKPiAgIAo+ICsJdm1hLT52bV9wYWdlX3Byb3QgPSBwZ3Byb3Rfd3JpdGVjb21iaW5l KHZtX2dldF9wYWdlX3Byb3Qodm1hLT52bV9mbGFncykpOwo+ICsJdm1hLT52bV9wYWdlX3Byb3Qg PSBwZ3Byb3RfZGVjcnlwdGVkKHZtYS0+dm1fcGFnZV9wcm90KTsKPiArCj4gICAJaWYgKHJrX29i ai0+cGFnZXMpCj4gICAJCXJldCA9IHJvY2tjaGlwX2RybV9nZW1fb2JqZWN0X21tYXBfaW9tbXUo b2JqLCB2bWEpOwo+ICAgCWVsc2UKPiBAQCAtMjU3LDM5ICsyNjcsNiBAQCBzdGF0aWMgaW50IHJv Y2tjaGlwX2RybV9nZW1fb2JqZWN0X21tYXAoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosCj4g ICAJcmV0dXJuIHJldDsKPiAgIH0KPiAgIAo+IC1pbnQgcm9ja2NoaXBfZ2VtX21tYXBfYnVmKHN0 cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLAo+IC0JCQkgIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAq dm1hKQo+IC17Cj4gLQlpbnQgcmV0Owo+IC0KPiAtCXJldCA9IGRybV9nZW1fbW1hcF9vYmoob2Jq LCBvYmotPnNpemUsIHZtYSk7Cj4gLQlpZiAocmV0KQo+IC0JCXJldHVybiByZXQ7Cj4gLQo+IC0J cmV0dXJuIHJvY2tjaGlwX2RybV9nZW1fb2JqZWN0X21tYXAob2JqLCB2bWEpOwo+IC19Cj4gLQo+ IC0vKiBkcm0gZHJpdmVyIG1tYXAgZmlsZSBvcGVyYXRpb25zICovCj4gLWludCByb2NrY2hpcF9n ZW1fbW1hcChzdHJ1Y3QgZmlsZSAqZmlscCwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpCj4g LXsKPiAtCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqOwo+IC0JaW50IHJldDsKPiAtCj4gLQly ZXQgPSBkcm1fZ2VtX21tYXAoZmlscCwgdm1hKTsKPiAtCWlmIChyZXQpCj4gLQkJcmV0dXJuIHJl dDsKPiAtCj4gLQkvKgo+IC0JICogU2V0IHZtX3Bnb2ZmICh1c2VkIGFzIGEgZmFrZSBidWZmZXIg b2Zmc2V0IGJ5IERSTSkgdG8gMCBhbmQgbWFwIHRoZQo+IC0JICogd2hvbGUgYnVmZmVyIGZyb20g dGhlIHN0YXJ0Lgo+IC0JICovCj4gLQl2bWEtPnZtX3Bnb2ZmID0gMDsKPiAtCj4gLQlvYmogPSB2 bWEtPnZtX3ByaXZhdGVfZGF0YTsKPiAtCj4gLQlyZXR1cm4gcm9ja2NoaXBfZHJtX2dlbV9vYmpl Y3RfbW1hcChvYmosIHZtYSk7Cj4gLX0KPiAtCj4gICBzdGF0aWMgdm9pZCByb2NrY2hpcF9nZW1f cmVsZWFzZV9vYmplY3Qoc3RydWN0IHJvY2tjaGlwX2dlbV9vYmplY3QgKnJrX29iaikKPiAgIHsK PiAgIAlkcm1fZ2VtX29iamVjdF9yZWxlYXNlKCZya19vYmotPmJhc2UpOwo+IEBAIC0zMDEsNiAr Mjc4LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZ2VtX29iamVjdF9mdW5jcyByb2NrY2hp cF9nZW1fb2JqZWN0X2Z1bmNzID0gewo+ICAgCS5nZXRfc2dfdGFibGUgPSByb2NrY2hpcF9nZW1f cHJpbWVfZ2V0X3NnX3RhYmxlLAo+ICAgCS52bWFwID0gcm9ja2NoaXBfZ2VtX3ByaW1lX3ZtYXAs Cj4gICAJLnZ1bm1hcAk9IHJvY2tjaGlwX2dlbV9wcmltZV92dW5tYXAsCj4gKwkubW1hcCA9IHJv Y2tjaGlwX2RybV9nZW1fb2JqZWN0X21tYXAsCj4gICAJLnZtX29wcyA9ICZkcm1fZ2VtX2NtYV92 bV9vcHMsCj4gICB9Owo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hp cC9yb2NrY2hpcF9kcm1fZ2VtLmggYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBf ZHJtX2dlbS5oCj4gaW5kZXggNWE3MGE1NmNkNDA2Li40N2MxODYxZWVjZTAgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9nZW0uaAo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZ2VtLmgKPiBAQCAtMzQsMTMgKzM0 LDYgQEAgcm9ja2NoaXBfZ2VtX3ByaW1lX2ltcG9ydF9zZ190YWJsZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAo+ICAgaW50IHJvY2tjaGlwX2dlbV9wcmltZV92bWFwKHN0cnVjdCBkcm1fZ2VtX29i amVjdCAqb2JqLCBzdHJ1Y3QgZG1hX2J1Zl9tYXAgKm1hcCk7Cj4gICB2b2lkIHJvY2tjaGlwX2dl bV9wcmltZV92dW5tYXAoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosIHN0cnVjdCBkbWFfYnVm X21hcCAqbWFwKTsKPiAgIAo+IC0vKiBkcm0gZHJpdmVyIG1tYXAgZmlsZSBvcGVyYXRpb25zICov Cj4gLWludCByb2NrY2hpcF9nZW1fbW1hcChzdHJ1Y3QgZmlsZSAqZmlscCwgc3RydWN0IHZtX2Fy ZWFfc3RydWN0ICp2bWEpOwo+IC0KPiAtLyogbW1hcCBhIGdlbSBvYmplY3QgdG8gdXNlcnNwYWNl LiAqLwo+IC1pbnQgcm9ja2NoaXBfZ2VtX21tYXBfYnVmKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAq b2JqLAo+IC0JCQkgIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKTsKPiAtCj4gICBzdHJ1Y3Qg cm9ja2NoaXBfZ2VtX29iamVjdCAqCj4gICAJcm9ja2NoaXBfZ2VtX2NyZWF0ZV9vYmplY3Qoc3Ry dWN0IGRybV9kZXZpY2UgKmRybSwgdW5zaWduZWQgaW50IHNpemUsCj4gICAJCQkJICAgYm9vbCBh bGxvY19rbWFwKTsKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMu aW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2xpbnV4LWFybS1rZXJuZWwK