Re: [PATCH] drm/vboxvideo: Used the vram helper

From: Daniel Vetter
Date: Fri Nov 27 2020 - 10:13:31 EST


On Fri, Nov 27, 2020 at 11:14:42AM +0800, Tian Tao wrote:
> if the driver uses drmm_vram_helper_init, there is no need to
> call drm_vram_helper_release_mm when the drm module get unloaded,
> as this will done automagically.
>
> Signed-off-by: Tian Tao <tiantao6@xxxxxxxxxxxxx>
> ---
> drivers/gpu/drm/vboxvideo/vbox_ttm.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/vboxvideo/vbox_ttm.c b/drivers/gpu/drm/vboxvideo/vbox_ttm.c
> index f5a0667..e1909a8 100644
> --- a/drivers/gpu/drm/vboxvideo/vbox_ttm.c
> +++ b/drivers/gpu/drm/vboxvideo/vbox_ttm.c
> @@ -16,8 +16,8 @@ int vbox_mm_init(struct vbox_private *vbox)
> int ret;
> struct drm_device *dev = &vbox->ddev;
>
> - vmm = drm_vram_helper_alloc_mm(dev, pci_resource_start(dev->pdev, 0),
> - vbox->available_vram_size);
> + vmm = drmm_vram_helper_init(dev, pci_resource_start(dev->pdev, 0),
> + vbox->available_vram_size);

Pretty sure this doesn't compile without warnings, since the return value
changes. With that fixed lgtm.

Btw if you're bored, a devm_ version of arch_phys_wc_add is very much on
the wishlist, and would allow us to complete remove vbox_mm_fini.

Cheers, Daniel

> if (IS_ERR(vmm)) {
> ret = PTR_ERR(vmm);
> DRM_ERROR("Error initializing VRAM MM; %d\n", ret);
> @@ -32,5 +32,4 @@ int vbox_mm_init(struct vbox_private *vbox)
> void vbox_mm_fini(struct vbox_private *vbox)
> {
> arch_phys_wc_del(vbox->fb_mtrr);
> - drm_vram_helper_release_mm(&vbox->ddev);
> }
> --
> 2.7.4
>

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch