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 D8DD3C433F5 for ; Tue, 12 Oct 2021 15:58:30 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 4FF40610C9 for ; Tue, 12 Oct 2021 15:58:30 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 4FF40610C9 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id AB20F940007; Tue, 12 Oct 2021 11:58:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A61A3900002; Tue, 12 Oct 2021 11:58:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9034A940007; Tue, 12 Oct 2021 11:58:29 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0167.hostedemail.com [216.40.44.167]) by kanga.kvack.org (Postfix) with ESMTP id 7E2AB900002 for ; Tue, 12 Oct 2021 11:58:29 -0400 (EDT) Received: from smtpin14.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 2A9FE32335 for ; Tue, 12 Oct 2021 15:58:29 +0000 (UTC) X-FDA: 78688242738.14.C5C1292 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) by imf14.hostedemail.com (Postfix) with ESMTP id C3C8C600198E for ; Tue, 12 Oct 2021 15:58:28 +0000 (UTC) Received: by mail-wr1-f44.google.com with SMTP id v17so68302818wrv.9 for ; Tue, 12 Oct 2021 08:58:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=fdWF/NteTPjsMkHKeNIm9bgaiIqSNe1R9aOkOJVMm5A=; b=mr1wnmBstTH2jD/9d+SGfeLsqsEoBoMuItZA/p6uY8RI0HtIlGwS8WzhQX8QLBPyDN Uc3lCA0wHsbabBbApX8Ml2mmL3XLaccRpK4AHbKRHAP/Cy6vAzLLcG8jQPhEGLNeidbD U1SxFSjcDXKB2Y8oN6rrqWRSZjdo0+LHZQZbnlGFIojX1JX3CiiymkKrYziPO9/ac95S 2l6OaA9agGgAPE5U9VQUkXcAEAhEApGXZpQd8vU5ud8PHbin/Y7pk6xumXTIAw6WmzR8 hNemy+EmR9UY4IUIiosEn63sfQvgKl+cRatzRF3jYPmqeQliQLr1Ua5ahkNBVj0VgUQk OoaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=fdWF/NteTPjsMkHKeNIm9bgaiIqSNe1R9aOkOJVMm5A=; b=4ZmSIk+5S4FN445KjHYvxFNgSEwQc1A0GgrcaUo4YFklnp12go95UTyjO+8bDEyAwc lYo8oZkW237NfFVnEm8lOpCvWTDfftPjdd7KcpJWOUau9HyhJU0ZiZrw692Xdrqi04TP AfpsBUdMQFcov38wW8pL2QQVjRRGlIkDfWJuuY9ugA2hNdxelNDY2R88JKodObvCmbmy GT7w8f0ILeWqoEfDGXY98avtgeTngYgnG0JEjLbgZLfDw/O9ykyrATASla8SsHRzJH1G OVgmFbgZIKw2ZE0JDN/DNF9rFitto3dWIsZS6VPSzOMhfyQyJZ6+YAAcvZXdDikOAX2T Vejg== X-Gm-Message-State: AOAM530Z4Kihizpm56c60YYP6iXRdtEDkewXlwLam+NogpD1UKbjlZps XrJYmwLkbP6NpVlAwl25jYJsVX8TH28WgC1zBMA= X-Google-Smtp-Source: ABdhPJxmEqyF2k4xqMkigXZgy5zuCDMTvq7IrynwHB/+kDzVQ2T7oxrVZ/olDXDFQsI0e4fhaO6koM4csbOU20ed2tU= X-Received: by 2002:adf:a289:: with SMTP id s9mr33124608wra.260.1634054307089; Tue, 12 Oct 2021 08:58:27 -0700 (PDT) MIME-Version: 1.0 References: <202110120451.TUzdLmdv-lkp@intel.com> <116b7b44-b1fb-bf47-55d0-8bb1c4dcc803@amd.com> In-Reply-To: <116b7b44-b1fb-bf47-55d0-8bb1c4dcc803@amd.com> From: Rob Clark Date: Tue, 12 Oct 2021 09:03:04 -0700 Message-ID: Subject: Re: [linux-next:master 3520/7405] drivers/gpu/drm/msm/msm_gem.c:624:34: error: implicit declaration of function 'vmap'; did you mean 'kmap'? To: =?UTF-8?Q?Christian_K=C3=B6nig?= Cc: Linux Memory Management List Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: C3C8C600198E X-Stat-Signature: jywfgx1xqa76o39ncchkbngaataqjock Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=mr1wnmBs; spf=pass (imf14.hostedemail.com: domain of robdclark@gmail.com designates 209.85.221.44 as permitted sender) smtp.mailfrom=robdclark@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-HE-Tag: 1634054308-11895 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Hmm, not seeing an easy (ie. `dnf install ..`) way to get a parisc toolchain.. but I guess there isn't a lot of value in compile testing on parisc, so maybe we can just limit the archs that we support compile-testing on? BR, -R On Tue, Oct 12, 2021 at 12:12 AM Christian K=C3=B6nig wrote: > > Another fallout from my patch to allow MSM to be compile tested as well. > > But of hand I don't see the rational why that doesn't work, can anybody > help here? > > Thanks, > Christian. > > Am 11.10.21 um 22:27 schrieb kernel test robot: > > Hi Christian, > > > > First bad commit (maybe !=3D root cause): > > > > tree: https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%= 2F%2Fgit.kernel.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Fnext%2Flinux-next.= git&data=3D04%7C01%7Cchristian.koenig%40amd.com%7C8647a3be20ec4190ad450= 8d98cf5bb93%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637695812014623891= %7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haW= wiLCJXVCI6Mn0%3D%7C1000&sdata=3DjefIm%2Bt17EDi%2BfdP1MKyKIADCDX18xM7qGx= KZeJSoFM%3D&reserved=3D0 master > > head: d3134eb5de8546a214c028fb7195e764b89da7d4 > > commit: b3ed524f84f573ece1aa2f26e9db3c34a593e0d1 [3520/7405] drm/msm: a= llow compile_test on !ARM > > config: parisc-allyesconfig (attached as .config) > > compiler: hppa-linux-gcc (GCC) 11.2.0 > > reproduce (this is a W=3D1 build): > > wget https://nam11.safelinks.protection.outlook.com/?url=3Dhtt= ps%3A%2F%2Fraw.githubusercontent.com%2Fintel%2Flkp-tests%2Fmaster%2Fsbin%2F= make.cross&data=3D04%7C01%7Cchristian.koenig%40amd.com%7C8647a3be20ec41= 90ad4508d98cf5bb93%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C63769581201= 4623891%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI= 6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=3DUsAangNH6b5BwFSZ798%2FMr646v4P24= jd4O5MGKjfvrA%3D&reserved=3D0 -O ~/bin/make.cross > > chmod +x ~/bin/make.cross > > # https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%= 3A%2F%2Fgit.kernel.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Fnext%2Flinux-ne= xt.git%2Fcommit%2F%3Fid%3Db3ed524f84f573ece1aa2f26e9db3c34a593e0d1&data= =3D04%7C01%7Cchristian.koenig%40amd.com%7C8647a3be20ec4190ad4508d98cf5bb93%= 7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637695812014623891%7CUnknown%7= CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn= 0%3D%7C1000&sdata=3Dsh2NjRE1guGQwBIydiBGhMLqx7BsrlS32GLfuNr3odY%3D&= reserved=3D0 > > git remote add linux-next https://nam11.safelinks.protection.o= utlook.com/?url=3Dhttps%3A%2F%2Fgit.kernel.org%2Fpub%2Fscm%2Flinux%2Fkernel= %2Fgit%2Fnext%2Flinux-next.git&data=3D04%7C01%7Cchristian.koenig%40amd.= com%7C8647a3be20ec4190ad4508d98cf5bb93%7C3dd8961fe4884e608e11a82d994e183d%7= C0%7C0%7C637695812014623891%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJ= QIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=3DjefIm%2Bt17E= Di%2BfdP1MKyKIADCDX18xM7qGxKZeJSoFM%3D&reserved=3D0 > > git fetch --no-tags linux-next master > > git checkout b3ed524f84f573ece1aa2f26e9db3c34a593e0d1 > > # save the attached .config to linux build tree > > COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dgcc-11.2.0 make.= cross ARCH=3Dparisc > > > > If you fix the issue, kindly add following tag as appropriate > > Reported-by: kernel test robot > > > > All errors (new ones prefixed by >>): > > > > In file included from drivers/gpu/drm/msm/msm_fence.c:9: > > drivers/gpu/drm/msm/msm_drv.h:545: error: "COND" redefined [-Werror= ] > > 545 | #define COND(bool, val) ((bool) ? (val) : 0) > > | > > In file included from arch/parisc/include/asm/jump_label.h:8, > > from include/linux/jump_label.h:117, > > from include/linux/dynamic_debug.h:6, > > from include/linux/printk.h:555, > > from include/linux/kernel.h:19, > > from include/linux/list.h:9, > > from include/linux/wait.h:7, > > from include/linux/dma-fence.h:17, > > from drivers/gpu/drm/msm/msm_fence.c:7: > > arch/parisc/include/asm/assembly.h:37: note: this is the location o= f the previous definition > > 37 | #define COND(x) x > > | > > drivers/gpu/drm/msm/msm_fence.c: In function 'msm_fence_context_all= oc': > >>> drivers/gpu/drm/msm/msm_fence.c:24:9: error: 'strncpy' specified boun= d 32 equals destination size [-Werror=3Dstringop-truncation] > > 24 | strncpy(fctx->name, name, sizeof(fctx->name)); > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > cc1: all warnings being treated as errors > > -- > > In file included from drivers/gpu/drm/msm/msm_gem.c:15: > > drivers/gpu/drm/msm/msm_drv.h:545: error: "COND" redefined [-Werror= ] > > 545 | #define COND(bool, val) ((bool) ? (val) : 0) > > | > > In file included from arch/parisc/include/asm/jump_label.h:8, > > from include/linux/jump_label.h:117, > > from include/linux/dynamic_debug.h:6, > > from include/linux/printk.h:555, > > from include/linux/kernel.h:19, > > from arch/parisc/include/asm/bug.h:5, > > from include/linux/bug.h:5, > > from include/linux/thread_info.h:13, > > from include/asm-generic/current.h:5, > > from ./arch/parisc/include/generated/asm/current.h= :1, > > from include/linux/sched.h:12, > > from include/linux/ratelimit.h:6, > > from include/linux/dev_printk.h:16, > > from include/linux/device.h:15, > > from include/linux/dma-mapping.h:7, > > from include/linux/dma-map-ops.h:9, > > from drivers/gpu/drm/msm/msm_gem.c:7: > > arch/parisc/include/asm/assembly.h:37: note: this is the location o= f the previous definition > > 37 | #define COND(x) x > > | > > drivers/gpu/drm/msm/msm_gem.c: In function 'get_vaddr': > >>> drivers/gpu/drm/msm/msm_gem.c:624:34: error: implicit declaration of = function 'vmap'; did you mean 'kmap'? [-Werror=3Dimplicit-function-declarat= ion] > > 624 | msm_obj->vaddr =3D vmap(pages, obj->size >>= PAGE_SHIFT, > > | ^~~~ > > | kmap > >>> drivers/gpu/drm/msm/msm_gem.c:625:33: error: 'VM_MAP' undeclared (fir= st use in this function); did you mean 'VM_MTE'? > > 625 | VM_MAP, msm_gem_pgprot(msm_= obj, PAGE_KERNEL)); > > | ^~~~~~ > > | VM_MTE > > drivers/gpu/drm/msm/msm_gem.c:625:33: note: each undeclared identif= ier is reported only once for each function it appears in > > drivers/gpu/drm/msm/msm_gem.c: In function 'msm_gem_vunmap': > >>> drivers/gpu/drm/msm/msm_gem.c:777:9: error: implicit declaration of f= unction 'vunmap'; did you mean 'kunmap'? [-Werror=3Dimplicit-function-decla= ration] > > 777 | vunmap(msm_obj->vaddr); > > | ^~~~~~ > > | kunmap > > cc1: all warnings being treated as errors > > -- > > In file included from drivers/gpu/drm/msm/msm_gem_shrinker.c:7: > > drivers/gpu/drm/msm/msm_drv.h:545: error: "COND" redefined [-Werror= ] > > 545 | #define COND(bool, val) ((bool) ? (val) : 0) > > | > > In file included from arch/parisc/include/asm/jump_label.h:8, > > from include/linux/jump_label.h:117, > > from include/linux/dynamic_debug.h:6, > > from include/linux/printk.h:555, > > from include/linux/kernel.h:19, > > from drivers/gpu/drm/msm/msm_drv.h:11, > > from drivers/gpu/drm/msm/msm_gem_shrinker.c:7: > > arch/parisc/include/asm/assembly.h:37: note: this is the location o= f the previous definition > > 37 | #define COND(x) x > > | > > In file included from include/linux/bug.h:5, > > from include/linux/thread_info.h:13, > > from include/asm-generic/current.h:5, > > from ./arch/parisc/include/generated/asm/current.h= :1, > > from include/linux/mutex.h:14, > > from include/linux/notifier.h:14, > > from include/linux/clk.h:14, > > from drivers/gpu/drm/msm/msm_drv.h:12, > > from drivers/gpu/drm/msm/msm_gem_shrinker.c:7: > > drivers/gpu/drm/msm/msm_gem_shrinker.c: In function 'msm_gem_shrink= er_init': > >>> drivers/gpu/drm/msm/msm_gem_shrinker.c:224:17: error: implicit declar= ation of function 'register_vmap_purge_notifier'; did you mean 'register_mo= dule_notifier'? [-Werror=3Dimplicit-function-declaration] > > 224 | WARN_ON(register_vmap_purge_notifier(&priv->vmap_no= tifier)); > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > arch/parisc/include/asm/bug.h:80:32: note: in definition of macro '= WARN_ON' > > 80 | int __ret_warn_on =3D !!(x); = \ > > | ^ > > drivers/gpu/drm/msm/msm_gem_shrinker.c: In function 'msm_gem_shrink= er_cleanup': > >>> drivers/gpu/drm/msm/msm_gem_shrinker.c:238:25: error: implicit declar= ation of function 'unregister_vmap_purge_notifier'; did you mean 'unregiste= r_module_notifier'? [-Werror=3Dimplicit-function-declaration] > > 238 | WARN_ON(unregister_vmap_purge_notifier(&pri= v->vmap_notifier)); > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > arch/parisc/include/asm/bug.h:80:32: note: in definition of macro '= WARN_ON' > > 80 | int __ret_warn_on =3D !!(x); = \ > > | ^ > > cc1: all warnings being treated as errors > > > > > > vim +624 drivers/gpu/drm/msm/msm_gem.c > > > > c8afe684c95cd1 Rob Clark 2013-06-26 593 > > fad33f4b1073a4 Rob Clark 2017-09-15 594 static void *get_= vaddr(struct drm_gem_object *obj, unsigned madv) > > c8afe684c95cd1 Rob Clark 2013-06-26 595 { > > c8afe684c95cd1 Rob Clark 2013-06-26 596 struct ms= m_gem_object *msm_obj =3D to_msm_bo(obj); > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 597 int ret = =3D 0; > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 598 > > 90643a24a7bfbe Rob Clark 2021-04-05 599 GEM_WARN_= ON(!msm_gem_is_locked(obj)); > > e4b87d227f9e82 Rob Clark 2020-10-23 600 > > 8b6b7d84bfce9a Daniel Vetter 2020-05-14 601 if (obj->= import_attach) > > 8b6b7d84bfce9a Daniel Vetter 2020-05-14 602 r= eturn ERR_PTR(-ENODEV); > > 8b6b7d84bfce9a Daniel Vetter 2020-05-14 603 > > 90643a24a7bfbe Rob Clark 2021-04-05 604 if (GEM_W= ARN_ON(msm_obj->madv > madv)) { > > 6a41da17e87dee Mamta Shukla 2018-10-20 605 D= RM_DEV_ERROR(obj->dev->dev, "Invalid madv state: %u vs %u\n", > > fad33f4b1073a4 Rob Clark 2017-09-15 606 = msm_obj->madv, madv); > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 607 r= eturn ERR_PTR(-EBUSY); > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 608 } > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 609 > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 610 /* increm= ent vmap_count *before* vmap() call, so shrinker can > > a6ae74c956e72c Rob Clark 2020-10-23 611 * check = vmap_count (is_vunmapable()) outside of msm_obj lock. > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 612 * This g= uarantees that we won't try to msm_gem_vunmap() this > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 613 * same o= bject from within the vmap() call (while we already > > a6ae74c956e72c Rob Clark 2020-10-23 614 * hold m= sm_obj lock) > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 615 */ > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 616 msm_obj->= vmap_count++; > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 617 > > c8afe684c95cd1 Rob Clark 2013-06-26 618 if (!msm_= obj->vaddr) { > > c8afe684c95cd1 Rob Clark 2013-06-26 619 s= truct page **pages =3D get_pages(obj); > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 620 i= f (IS_ERR(pages)) { > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 621 = ret =3D PTR_ERR(pages); > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 622 = goto fail; > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 623 } > > c8afe684c95cd1 Rob Clark 2013-06-26 @624 m= sm_obj->vaddr =3D vmap(pages, obj->size >> PAGE_SHIFT, > > af9b3547079915 Jonathan Marek 2021-04-23 @625 = VM_MAP, msm_gem_pgprot(msm_obj, PAGE_KERNEL)); > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 626 i= f (msm_obj->vaddr =3D=3D NULL) { > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 627 = ret =3D -ENOMEM; > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 628 = goto fail; > > c8afe684c95cd1 Rob Clark 2013-06-26 629 } > > 10f76165d30bf5 Rob Clark 2021-04-26 630 > > 10f76165d30bf5 Rob Clark 2021-04-26 631 u= pdate_inactive(msm_obj); > > c8afe684c95cd1 Rob Clark 2013-06-26 632 } > > c8afe684c95cd1 Rob Clark 2013-06-26 633 > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 634 return ms= m_obj->vaddr; > > c8afe684c95cd1 Rob Clark 2013-06-26 635 > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 636 fail: > > e1e9db2ca79575 Rob Clark 2016-05-27 637 msm_obj->= vmap_count--; > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 638 return ER= R_PTR(ret); > > 18f23049f640e2 Rob Clark 2016-05-26 639 } > > 18f23049f640e2 Rob Clark 2016-05-26 640 > > e4b87d227f9e82 Rob Clark 2020-10-23 641 void *msm_gem_get= _vaddr_locked(struct drm_gem_object *obj) > > fad33f4b1073a4 Rob Clark 2017-09-15 642 { > > fad33f4b1073a4 Rob Clark 2017-09-15 643 return ge= t_vaddr(obj, MSM_MADV_WILLNEED); > > fad33f4b1073a4 Rob Clark 2017-09-15 644 } > > fad33f4b1073a4 Rob Clark 2017-09-15 645 > > e4b87d227f9e82 Rob Clark 2020-10-23 646 void *msm_gem_get= _vaddr(struct drm_gem_object *obj) > > e4b87d227f9e82 Rob Clark 2020-10-23 647 { > > e4b87d227f9e82 Rob Clark 2020-10-23 648 void *ret= ; > > e4b87d227f9e82 Rob Clark 2020-10-23 649 > > e4b87d227f9e82 Rob Clark 2020-10-23 650 msm_gem_l= ock(obj); > > e4b87d227f9e82 Rob Clark 2020-10-23 651 ret =3D m= sm_gem_get_vaddr_locked(obj); > > e4b87d227f9e82 Rob Clark 2020-10-23 652 msm_gem_u= nlock(obj); > > e4b87d227f9e82 Rob Clark 2020-10-23 653 > > e4b87d227f9e82 Rob Clark 2020-10-23 654 return re= t; > > e4b87d227f9e82 Rob Clark 2020-10-23 655 } > > e4b87d227f9e82 Rob Clark 2020-10-23 656 > > fad33f4b1073a4 Rob Clark 2017-09-15 657 /* > > fad33f4b1073a4 Rob Clark 2017-09-15 658 * Don't use this= ! It is for the very special case of dumping > > fad33f4b1073a4 Rob Clark 2017-09-15 659 * submits from G= PU hangs or faults, were the bo may already > > fad33f4b1073a4 Rob Clark 2017-09-15 660 * be MSM_MADV_DO= NTNEED, but we know the buffer is still on the > > fad33f4b1073a4 Rob Clark 2017-09-15 661 * active list. > > fad33f4b1073a4 Rob Clark 2017-09-15 662 */ > > fad33f4b1073a4 Rob Clark 2017-09-15 663 void *msm_gem_get= _vaddr_active(struct drm_gem_object *obj) > > fad33f4b1073a4 Rob Clark 2017-09-15 664 { > > fad33f4b1073a4 Rob Clark 2017-09-15 665 return ge= t_vaddr(obj, __MSM_MADV_PURGED); > > fad33f4b1073a4 Rob Clark 2017-09-15 666 } > > fad33f4b1073a4 Rob Clark 2017-09-15 667 > > e4b87d227f9e82 Rob Clark 2020-10-23 668 void msm_gem_put_= vaddr_locked(struct drm_gem_object *obj) > > 18f23049f640e2 Rob Clark 2016-05-26 669 { > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 670 struct ms= m_gem_object *msm_obj =3D to_msm_bo(obj); > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 671 > > 90643a24a7bfbe Rob Clark 2021-04-05 672 GEM_WARN_= ON(!msm_gem_is_locked(obj)); > > 90643a24a7bfbe Rob Clark 2021-04-05 673 GEM_WARN_= ON(msm_obj->vmap_count < 1); > > e4b87d227f9e82 Rob Clark 2020-10-23 674 > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 675 msm_obj->= vmap_count--; > > e4b87d227f9e82 Rob Clark 2020-10-23 676 } > > e4b87d227f9e82 Rob Clark 2020-10-23 677 > > e4b87d227f9e82 Rob Clark 2020-10-23 678 void msm_gem_put_= vaddr(struct drm_gem_object *obj) > > e4b87d227f9e82 Rob Clark 2020-10-23 679 { > > e4b87d227f9e82 Rob Clark 2020-10-23 680 msm_gem_l= ock(obj); > > e4b87d227f9e82 Rob Clark 2020-10-23 681 msm_gem_p= ut_vaddr_locked(obj); > > a6ae74c956e72c Rob Clark 2020-10-23 682 msm_gem_u= nlock(obj); > > 18f23049f640e2 Rob Clark 2016-05-26 683 } > > 18f23049f640e2 Rob Clark 2016-05-26 684 > > 4cd33c48ea25ba Rob Clark 2016-05-17 685 /* Update madvise= status, returns true if not purged, else > > 4cd33c48ea25ba Rob Clark 2016-05-17 686 * false or -errn= o. > > 4cd33c48ea25ba Rob Clark 2016-05-17 687 */ > > 4cd33c48ea25ba Rob Clark 2016-05-17 688 int msm_gem_madvi= se(struct drm_gem_object *obj, unsigned madv) > > 4cd33c48ea25ba Rob Clark 2016-05-17 689 { > > 4cd33c48ea25ba Rob Clark 2016-05-17 690 struct ms= m_gem_object *msm_obj =3D to_msm_bo(obj); > > 4cd33c48ea25ba Rob Clark 2016-05-17 691 > > a6ae74c956e72c Rob Clark 2020-10-23 692 msm_gem_l= ock(obj); > > 4cd33c48ea25ba Rob Clark 2016-05-17 693 > > 4cd33c48ea25ba Rob Clark 2016-05-17 694 if (msm_o= bj->madv !=3D __MSM_MADV_PURGED) > > 4cd33c48ea25ba Rob Clark 2016-05-17 695 m= sm_obj->madv =3D madv; > > 4cd33c48ea25ba Rob Clark 2016-05-17 696 > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 697 madv =3D = msm_obj->madv; > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 698 > > 3edfa30f2340e6 Rob Clark 2020-11-16 699 /* If the= obj is inactive, we might need to move it > > 3edfa30f2340e6 Rob Clark 2020-11-16 700 * betwee= n inactive lists > > 3edfa30f2340e6 Rob Clark 2020-11-16 701 */ > > 3edfa30f2340e6 Rob Clark 2020-11-16 702 if (msm_o= bj->active_count =3D=3D 0) > > 3edfa30f2340e6 Rob Clark 2020-11-16 703 u= pdate_inactive(msm_obj); > > 3edfa30f2340e6 Rob Clark 2020-11-16 704 > > a6ae74c956e72c Rob Clark 2020-10-23 705 msm_gem_u= nlock(obj); > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 706 > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 707 return (m= adv !=3D __MSM_MADV_PURGED); > > 4cd33c48ea25ba Rob Clark 2016-05-17 708 } > > 4cd33c48ea25ba Rob Clark 2016-05-17 709 > > 599089c6af6830 Rob Clark 2020-10-23 710 void msm_gem_purg= e(struct drm_gem_object *obj) > > 68209390f11603 Rob Clark 2016-05-17 711 { > > 68209390f11603 Rob Clark 2016-05-17 712 struct dr= m_device *dev =3D obj->dev; > > 68209390f11603 Rob Clark 2016-05-17 713 struct ms= m_gem_object *msm_obj =3D to_msm_bo(obj); > > 68209390f11603 Rob Clark 2016-05-17 714 > > 81d4d597d4faad Rob Clark 2021-04-05 715 GEM_WARN_= ON(!msm_gem_is_locked(obj)); > > 90643a24a7bfbe Rob Clark 2021-04-05 716 GEM_WARN_= ON(!is_purgeable(msm_obj)); > > 68209390f11603 Rob Clark 2016-05-17 717 > > 20d0ae2f8c72e3 Rob Clark 2021-04-05 718 /* Get ri= d of any iommu mapping(s): */ > > 20d0ae2f8c72e3 Rob Clark 2021-04-05 719 put_iova_= spaces(obj, true); > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 720 > > 599089c6af6830 Rob Clark 2020-10-23 721 msm_gem_v= unmap(obj); > > 68209390f11603 Rob Clark 2016-05-17 722 > > 81d4d597d4faad Rob Clark 2021-04-05 723 drm_vma_n= ode_unmap(&obj->vma_node, dev->anon_inode->i_mapping); > > 81d4d597d4faad Rob Clark 2021-04-05 724 > > 68209390f11603 Rob Clark 2016-05-17 725 put_pages= (obj); > > 68209390f11603 Rob Clark 2016-05-17 726 > > 9b73bde39cf24b Iskren Chernev 2020-11-26 727 put_iova_= vmas(obj); > > 9b73bde39cf24b Iskren Chernev 2020-11-26 728 > > 68209390f11603 Rob Clark 2016-05-17 729 msm_obj->= madv =3D __MSM_MADV_PURGED; > > 25ed38b3ed2691 Rob Clark 2021-04-02 730 update_in= active(msm_obj); > > 68209390f11603 Rob Clark 2016-05-17 731 > > 68209390f11603 Rob Clark 2016-05-17 732 drm_gem_f= ree_mmap_offset(obj); > > 68209390f11603 Rob Clark 2016-05-17 733 > > 68209390f11603 Rob Clark 2016-05-17 734 /* Our go= al here is to return as much of the memory as > > 68209390f11603 Rob Clark 2016-05-17 735 * is pos= sible back to the system as we are called from OOM. > > 68209390f11603 Rob Clark 2016-05-17 736 * To do = this we must instruct the shmfs to drop all of its > > 68209390f11603 Rob Clark 2016-05-17 737 * backin= g pages, *now*. > > 68209390f11603 Rob Clark 2016-05-17 738 */ > > 68209390f11603 Rob Clark 2016-05-17 739 shmem_tru= ncate_range(file_inode(obj->filp), 0, (loff_t)-1); > > 68209390f11603 Rob Clark 2016-05-17 740 > > 68209390f11603 Rob Clark 2016-05-17 741 invalidat= e_mapping_pages(file_inode(obj->filp)->i_mapping, > > 68209390f11603 Rob Clark 2016-05-17 742 = 0, (loff_t)-1); > > 68209390f11603 Rob Clark 2016-05-17 743 } > > 68209390f11603 Rob Clark 2016-05-17 744 > > 37c68900a252ce Lee Jones 2021-06-02 745 /* > > 63f17ef834284d Rob Clark 2021-04-05 746 * Unpin the back= ing pages and make them available to be swapped out. > > 63f17ef834284d Rob Clark 2021-04-05 747 */ > > 63f17ef834284d Rob Clark 2021-04-05 748 void msm_gem_evic= t(struct drm_gem_object *obj) > > 63f17ef834284d Rob Clark 2021-04-05 749 { > > 63f17ef834284d Rob Clark 2021-04-05 750 struct dr= m_device *dev =3D obj->dev; > > 63f17ef834284d Rob Clark 2021-04-05 751 struct ms= m_gem_object *msm_obj =3D to_msm_bo(obj); > > 63f17ef834284d Rob Clark 2021-04-05 752 > > 63f17ef834284d Rob Clark 2021-04-05 753 GEM_WARN_= ON(!msm_gem_is_locked(obj)); > > 63f17ef834284d Rob Clark 2021-04-05 754 GEM_WARN_= ON(is_unevictable(msm_obj)); > > 63f17ef834284d Rob Clark 2021-04-05 755 GEM_WARN_= ON(!msm_obj->evictable); > > 63f17ef834284d Rob Clark 2021-04-05 756 GEM_WARN_= ON(msm_obj->active_count); > > 63f17ef834284d Rob Clark 2021-04-05 757 > > 63f17ef834284d Rob Clark 2021-04-05 758 /* Get ri= d of any iommu mapping(s): */ > > 63f17ef834284d Rob Clark 2021-04-05 759 put_iova_= spaces(obj, false); > > 63f17ef834284d Rob Clark 2021-04-05 760 > > 63f17ef834284d Rob Clark 2021-04-05 761 drm_vma_n= ode_unmap(&obj->vma_node, dev->anon_inode->i_mapping); > > 63f17ef834284d Rob Clark 2021-04-05 762 > > 63f17ef834284d Rob Clark 2021-04-05 763 put_pages= (obj); > > 63f17ef834284d Rob Clark 2021-04-05 764 > > 63f17ef834284d Rob Clark 2021-04-05 765 update_in= active(msm_obj); > > 63f17ef834284d Rob Clark 2021-04-05 766 } > > 63f17ef834284d Rob Clark 2021-04-05 767 > > 599089c6af6830 Rob Clark 2020-10-23 768 void msm_gem_vunm= ap(struct drm_gem_object *obj) > > e1e9db2ca79575 Rob Clark 2016-05-27 769 { > > e1e9db2ca79575 Rob Clark 2016-05-27 770 struct ms= m_gem_object *msm_obj =3D to_msm_bo(obj); > > e1e9db2ca79575 Rob Clark 2016-05-27 771 > > 90643a24a7bfbe Rob Clark 2021-04-05 772 GEM_WARN_= ON(!msm_gem_is_locked(obj)); > > 0e08270a1f01bc Sushmita Susheelendra 2017-06-13 773 > > 90643a24a7bfbe Rob Clark 2021-04-05 774 if (!msm_= obj->vaddr || GEM_WARN_ON(!is_vunmapable(msm_obj))) > > e1e9db2ca79575 Rob Clark 2016-05-27 775 r= eturn; > > e1e9db2ca79575 Rob Clark 2016-05-27 776 > > e1e9db2ca79575 Rob Clark 2016-05-27 @777 vunmap(ms= m_obj->vaddr); > > e1e9db2ca79575 Rob Clark 2016-05-27 778 msm_obj->= vaddr =3D NULL; > > e1e9db2ca79575 Rob Clark 2016-05-27 779 } > > e1e9db2ca79575 Rob Clark 2016-05-27 780 > > > > :::::: The code at line 624 was first introduced by commit > > :::::: c8afe684c95cd17cf4f273d81af369a0fdfa5a74 drm/msm: basic KMS driv= er for snapdragon > > > > :::::: TO: Rob Clark > > :::::: CC: Rob Clark > > > > --- > > 0-DAY CI Kernel Test Service, Intel Corporation > > https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Flis= ts.01.org%2Fhyperkitty%2Flist%2Fkbuild-all%40lists.01.org&data=3D04%7C0= 1%7Cchristian.koenig%40amd.com%7C8647a3be20ec4190ad4508d98cf5bb93%7C3dd8961= fe4884e608e11a82d994e183d%7C0%7C0%7C637695812014623891%7CUnknown%7CTWFpbGZs= b3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C10= 00&sdata=3DZG3H%2BZ%2BlCk2VDPqUkwhyeV6wK%2BsWaOnHiq7WQedAR6Y%3D&res= erved=3D0 >