From nobody Mon Feb 9 19:06:54 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org ARC-Seal: i=1; a=rsa-sha256; t=1597307854; cv=none; d=zohomail.com; s=zohoarc; b=HnmBDGUf8o98yWI9987GqKW1SI5in2C/Op+/iTS1Hn7WFiYNOkwwPc/i/BPFDtu/t15aDM8YMcoP+Dwqb2+FZXQwO2uXxS9uArGubsNLE5GHKVNhTCIv970SHPewCqKQ3hA248YAaCp73vuUSMkmZBybjLSofi/pJHOm23U1pMI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1597307854; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Wr1ivip3cTccNV32wGwFfkOv/+r4nch8rcWLCvg2KNg=; b=cH9y3xaE3Fe/WbiixdI3hZdq7fj5tkJjfjofVzRlBS95zeBqG/Y/kjMRTZk5HAVhzBTaevSwv4ct1Ajzbu3kDyECYZa2k5FIIxRfHBVqATJUo1IcuaZXQ7uTdxEH8VVbepNpA7noJQkTQ/Jb81un1BgbMdbjvhpXjVnyCrnldJY= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1597307854220324.8277853513499; Thu, 13 Aug 2020 01:37:34 -0700 (PDT) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1k68jf-0006cd-TF; Thu, 13 Aug 2020 08:37:19 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1k68je-0006LO-M6 for xen-devel@lists.xenproject.org; Thu, 13 Aug 2020 08:37:18 +0000 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 2b8a9c0f-90cf-41f4-9a7e-fe651cb65a8c; Thu, 13 Aug 2020 08:36:57 +0000 (UTC) Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 3719FB599; Thu, 13 Aug 2020 08:37:18 +0000 (UTC) X-Inumbo-ID: 2b8a9c0f-90cf-41f4-9a7e-fe651cb65a8c X-Virus-Scanned: by amavisd-new at test-mx.suse.de From: Thomas Zimmermann To: alexander.deucher@amd.com, christian.koenig@amd.com, airlied@linux.ie, daniel@ffwll.ch, linux@armlinux.org.uk, maarten.lankhorst@linux.intel.com, mripard@kernel.org, l.stach@pengutronix.de, christian.gmeiner@gmail.com, inki.dae@samsung.com, jy0922.shim@samsung.com, sw0312.kim@samsung.com, kyungmin.park@samsung.com, kgene@kernel.org, krzk@kernel.org, patrik.r.jakobsson@gmail.com, jani.nikula@linux.intel.com, joonas.lahtinen@linux.intel.com, rodrigo.vivi@intel.com, chunkuang.hu@kernel.org, p.zabel@pengutronix.de, matthias.bgg@gmail.com, robdclark@gmail.com, sean@poorly.run, bskeggs@redhat.com, tomi.valkeinen@ti.com, eric@anholt.net, hjc@rock-chips.com, heiko@sntech.de, thierry.reding@gmail.com, jonathanh@nvidia.com, rodrigosiqueiramelo@gmail.com, hamohammed.sa@gmail.com, oleksandr_andrushchenko@epam.com, hyun.kwon@xilinx.com, laurent.pinchart@ideasonboard.com, michal.simek@xilinx.com, sumit.semwal@linaro.org, evan.quan@amd.com, Hawking.Zhang@amd.com, tianci.yin@amd.com, marek.olsak@amd.com, hdegoede@redhat.com, andrey.grodzovsky@amd.com, Felix.Kuehling@amd.com, xinhui.pan@amd.com, aaron.liu@amd.com, nirmoy.das@amd.com, chris@chris-wilson.co.uk, matthew.auld@intel.com, abdiel.janulgue@linux.intel.com, tvrtko.ursulin@linux.intel.com, andi.shyti@intel.com, sam@ravnborg.org, miaoqinglang@huawei.com, emil.velikov@collabora.com Cc: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, etnaviv@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, intel-gfx@lists.freedesktop.org, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, nouveau@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-tegra@vger.kernel.org, xen-devel@lists.xenproject.org, Thomas Zimmermann Subject: [PATCH 06/20] drm/i915: Introduce GEM object functions Date: Thu, 13 Aug 2020 10:36:30 +0200 Message-Id: <20200813083644.31711-7-tzimmermann@suse.de> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200813083644.31711-1-tzimmermann@suse.de> References: <20200813083644.31711-1-tzimmermann@suse.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Content-Type: text/plain; charset="utf-8" GEM object functions deprecate several similar callback interfaces in struct drm_driver. This patch replaces the per-driver callbacks with per-instance callbacks in i915. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/i915/gem/i915_gem_object.c | 9 ++++++++- drivers/gpu/drm/i915/i915_drv.c | 10 ++++++---- drivers/gpu/drm/i915/i915_drv.h | 1 + drivers/gpu/drm/i915/selftests/mock_gem_device.c | 3 --- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.c b/drivers/gpu/drm/i= 915/gem/i915_gem_object.c index c8421fd9d2dc..bc15ee4f2bd5 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_object.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_object.c @@ -41,7 +41,14 @@ static struct i915_global_object { =20 struct drm_i915_gem_object *i915_gem_object_alloc(void) { - return kmem_cache_zalloc(global.slab_objects, GFP_KERNEL); + struct drm_i915_gem_object *obj; + + obj =3D kmem_cache_zalloc(global.slab_objects, GFP_KERNEL); + if (!obj) + return NULL; + obj->base.funcs =3D &i915_gem_object_funcs; + + return obj; } =20 void i915_gem_object_free(struct drm_i915_gem_object *obj) diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_dr= v.c index 068447f565a9..b09eee11c540 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c @@ -1840,6 +1840,12 @@ static const struct drm_ioctl_desc i915_ioctls[] =3D= { DRM_IOCTL_DEF_DRV(I915_GEM_VM_DESTROY, i915_gem_vm_destroy_ioctl, DRM_REN= DER_ALLOW), }; =20 +const struct drm_gem_object_funcs i915_gem_object_funcs =3D { + .free =3D i915_gem_free_object, + .close =3D i915_gem_close_object, + .export =3D i915_gem_prime_export, +}; + static struct drm_driver driver =3D { /* Don't use MTRRs here; the Xserver or userspace app should * deal with them for Intel hardware. @@ -1853,12 +1859,8 @@ static struct drm_driver driver =3D { .lastclose =3D i915_driver_lastclose, .postclose =3D i915_driver_postclose, =20 - .gem_close_object =3D i915_gem_close_object, - .gem_free_object_unlocked =3D i915_gem_free_object, - .prime_handle_to_fd =3D drm_gem_prime_handle_to_fd, .prime_fd_to_handle =3D drm_gem_prime_fd_to_handle, - .gem_prime_export =3D i915_gem_prime_export, .gem_prime_import =3D i915_gem_prime_import, =20 .dumb_create =3D i915_gem_dumb_create, diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_dr= v.h index bacb4c762f5b..666db65fe69e 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -1736,6 +1736,7 @@ intel_ggtt_update_needs_vtd_wa(struct drm_i915_privat= e *dev_priv) =20 /* i915_drv.c */ extern const struct dev_pm_ops i915_pm_ops; +extern const struct drm_gem_object_funcs i915_gem_object_funcs; =20 int i915_driver_probe(struct pci_dev *pdev, const struct pci_device_id *en= t); void i915_driver_remove(struct drm_i915_private *i915); diff --git a/drivers/gpu/drm/i915/selftests/mock_gem_device.c b/drivers/gpu= /drm/i915/selftests/mock_gem_device.c index ce4d4303229c..4725dad63e0a 100644 --- a/drivers/gpu/drm/i915/selftests/mock_gem_device.c +++ b/drivers/gpu/drm/i915/selftests/mock_gem_device.c @@ -86,9 +86,6 @@ static struct drm_driver mock_driver =3D { .name =3D "mock", .driver_features =3D DRIVER_GEM, .release =3D mock_device_release, - - .gem_close_object =3D i915_gem_close_object, - .gem_free_object_unlocked =3D i915_gem_free_object, }; =20 static void release_dev(struct device *dev) --=20 2.28.0