On Fri, 14 Nov 2025 18:02:57 +0100 Loïc Molinari <[email protected]> wrote:
> Make use of the new drm_gem_huge_mnt_create() and > drm_gem_get_huge_mnt() helpers to avoid code duplication. Now that > it's just a few lines long, the single function in v3d_gemfs.c is > moved into v3d_gem.c. > > v3: > - use huge tmpfs mountpoint in drm_device > - move v3d_gemfs.c into v3d_gem.c > > v4: > - clean up mountpoint creation error handling > > v5: > - fix CONFIG_TRANSPARENT_HUGEPAGE check > - use drm_gem_has_huge_mnt() helper > > v8: > - don't access huge_mnt field with CONFIG_TRANSPARENT_HUGEPAGE=n > > v9: > - replace drm_gem_has_huge_mnt() by drm_gem_get_huge_mnt() > > Signed-off-by: Loïc Molinari <[email protected]> > --- > drivers/gpu/drm/v3d/Makefile | 3 +- > drivers/gpu/drm/v3d/v3d_bo.c | 9 +++-- > drivers/gpu/drm/v3d/v3d_drv.c | 2 +- > drivers/gpu/drm/v3d/v3d_drv.h | 11 +----- > drivers/gpu/drm/v3d/v3d_gem.c | 27 ++++++++++++-- > drivers/gpu/drm/v3d/v3d_gemfs.c | 62 --------------------------------- > 6 files changed, 34 insertions(+), 80 deletions(-) > delete mode 100644 drivers/gpu/drm/v3d/v3d_gemfs.c > > diff --git a/drivers/gpu/drm/v3d/Makefile b/drivers/gpu/drm/v3d/Makefile > index fcf710926057..b7d673f1153b 100644 > --- a/drivers/gpu/drm/v3d/Makefile > +++ b/drivers/gpu/drm/v3d/Makefile > @@ -13,8 +13,7 @@ v3d-y := \ > v3d_trace_points.o \ > v3d_sched.o \ > v3d_sysfs.o \ > - v3d_submit.o \ > - v3d_gemfs.o > + v3d_submit.o > > v3d-$(CONFIG_DEBUG_FS) += v3d_debugfs.o > > diff --git a/drivers/gpu/drm/v3d/v3d_bo.c b/drivers/gpu/drm/v3d/v3d_bo.c > index d9547f5117b9..211578abf9b6 100644 > --- a/drivers/gpu/drm/v3d/v3d_bo.c > +++ b/drivers/gpu/drm/v3d/v3d_bo.c > @@ -114,7 +114,7 @@ v3d_bo_create_finish(struct drm_gem_object *obj) > if (IS_ERR(sgt)) > return PTR_ERR(sgt); > > - if (!v3d->gemfs) > + if (!drm_gem_get_huge_mnt(obj->dev)) > align = SZ_4K; > else if (obj->size >= SZ_1M) > align = SZ_1M; > @@ -150,12 +150,15 @@ struct v3d_bo *v3d_bo_create(struct drm_device *dev, > struct drm_file *file_priv, > size_t unaligned_size) > { > struct drm_gem_shmem_object *shmem_obj; > - struct v3d_dev *v3d = to_v3d_dev(dev); > struct v3d_bo *bo; > int ret; > > +#ifdef CONFIG_TRANSPARENT_HUGEPAGE > shmem_obj = drm_gem_shmem_create_with_mnt(dev, unaligned_size, > - v3d->gemfs); > + dev->huge_mnt); > +#else > + shmem_obj = drm_gem_shmem_create(dev, unaligned_size); > +#endif Why not drop the ifdef and go for shmem_obj = drm_gem_shmem_create_with_mnt(dev, unaligned_size, drm_gem_get_huge_mnt(obj->dev)); ? > if (IS_ERR(shmem_obj)) > return ERR_CAST(shmem_obj); > bo = to_v3d_bo(&shmem_obj->base);
