[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 15/22] drm/tegra: Introduce GEM object functions
- To: alexander.deucher@xxxxxxx, christian.koenig@xxxxxxx, airlied@xxxxxxxx, daniel@xxxxxxxx, linux@xxxxxxxxxxxxxxx, maarten.lankhorst@xxxxxxxxxxxxxxx, mripard@xxxxxxxxxx, l.stach@xxxxxxxxxxxxxx, christian.gmeiner@xxxxxxxxx, inki.dae@xxxxxxxxxxx, jy0922.shim@xxxxxxxxxxx, sw0312.kim@xxxxxxxxxxx, kyungmin.park@xxxxxxxxxxx, kgene@xxxxxxxxxx, krzk@xxxxxxxxxx, patrik.r.jakobsson@xxxxxxxxx, jani.nikula@xxxxxxxxxxxxxxx, joonas.lahtinen@xxxxxxxxxxxxxxx, rodrigo.vivi@xxxxxxxxx, chunkuang.hu@xxxxxxxxxx, p.zabel@xxxxxxxxxxxxxx, matthias.bgg@xxxxxxxxx, robdclark@xxxxxxxxx, sean@xxxxxxxxxx, bskeggs@xxxxxxxxxx, tomi.valkeinen@xxxxxx, eric@xxxxxxxxxx, hjc@xxxxxxxxxxxxxx, heiko@xxxxxxxxx, thierry.reding@xxxxxxxxx, jonathanh@xxxxxxxxxx, rodrigosiqueiramelo@xxxxxxxxx, hamohammed.sa@xxxxxxxxx, oleksandr_andrushchenko@xxxxxxxx, hyun.kwon@xxxxxxxxxx, laurent.pinchart@xxxxxxxxxxxxxxxx, michal.simek@xxxxxxxxxx, sumit.semwal@xxxxxxxxxx, evan.quan@xxxxxxx, Hawking.Zhang@xxxxxxx, tianci.yin@xxxxxxx, marek.olsak@xxxxxxx, hdegoede@xxxxxxxxxx, andrey.grodzovsky@xxxxxxx, Felix.Kuehling@xxxxxxx, xinhui.pan@xxxxxxx, aaron.liu@xxxxxxx, nirmoy.das@xxxxxxx, chris@xxxxxxxxxxxxxxxxxx, matthew.auld@xxxxxxxxx, tvrtko.ursulin@xxxxxxxxxxxxxxx, andi.shyti@xxxxxxxxx, sam@xxxxxxxxxxxx, miaoqinglang@xxxxxxxxxx, emil.velikov@xxxxxxxxxxxxx, laurentiu.palcu@xxxxxxxxxxx, shawnguo@xxxxxxxxxx, s.hauer@xxxxxxxxxxxxxx, kernel@xxxxxxxxxxxxxx, festevam@xxxxxxxxx, linux-imx@xxxxxxx
- From: Thomas Zimmermann <tzimmermann@xxxxxxx>
- Date: Wed, 23 Sep 2020 12:21:52 +0200
- Cc: amd-gfx@xxxxxxxxxxxxxxxxxxxxx, dri-devel@xxxxxxxxxxxxxxxxxxxxx, etnaviv@xxxxxxxxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-samsung-soc@xxxxxxxxxxxxxxx, intel-gfx@xxxxxxxxxxxxxxxxxxxxx, linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx, freedreno@xxxxxxxxxxxxxxxxxxxxx, nouveau@xxxxxxxxxxxxxxxxxxxxx, linux-rockchip@xxxxxxxxxxxxxxxxxxx, linux-tegra@xxxxxxxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxxx, Thomas Zimmermann <tzimmermann@xxxxxxx>, Thierry Reding <treding@xxxxxxxxxx>
- Delivery-date: Wed, 23 Sep 2020 10:22:51 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
GEM object functions deprecate several similar callback interfaces in
struct drm_driver. This patch replaces the per-driver callbacks with
per-instance callbacks in tegra.
Signed-off-by: Thomas Zimmermann <tzimmermann@xxxxxxx>
Acked-by: Thierry Reding <treding@xxxxxxxxxx>
---
drivers/gpu/drm/tegra/drm.c | 4 ----
drivers/gpu/drm/tegra/gem.c | 8 ++++++++
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
index ba9d1c3e7cac..f0f581cd345e 100644
--- a/drivers/gpu/drm/tegra/drm.c
+++ b/drivers/gpu/drm/tegra/drm.c
@@ -858,12 +858,8 @@ static struct drm_driver tegra_drm_driver = {
.debugfs_init = tegra_debugfs_init,
#endif
- .gem_free_object_unlocked = tegra_bo_free_object,
- .gem_vm_ops = &tegra_bo_vm_ops,
-
.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
- .gem_prime_export = tegra_gem_prime_export,
.gem_prime_import = tegra_gem_prime_import,
.dumb_create = tegra_bo_dumb_create,
diff --git a/drivers/gpu/drm/tegra/gem.c b/drivers/gpu/drm/tegra/gem.c
index a2bac20ff19d..794ec2456934 100644
--- a/drivers/gpu/drm/tegra/gem.c
+++ b/drivers/gpu/drm/tegra/gem.c
@@ -230,6 +230,12 @@ static int tegra_bo_iommu_unmap(struct tegra_drm *tegra,
struct tegra_bo *bo)
return 0;
}
+static const struct drm_gem_object_funcs tegra_gem_object_funcs = {
+ .free = tegra_bo_free_object,
+ .export = tegra_gem_prime_export,
+ .vm_ops = &tegra_bo_vm_ops,
+};
+
static struct tegra_bo *tegra_bo_alloc_object(struct drm_device *drm,
size_t size)
{
@@ -240,6 +246,8 @@ static struct tegra_bo *tegra_bo_alloc_object(struct
drm_device *drm,
if (!bo)
return ERR_PTR(-ENOMEM);
+ bo->gem.funcs = &tegra_gem_object_funcs;
+
host1x_bo_init(&bo->base, &tegra_bo_ops);
size = round_up(size, PAGE_SIZE);
--
2.28.0
|