[PATCH v2 4/5] drm/gud: Map framebuffer BOs with drm_gem_fb_vmap()
Sam Ravnborg
sam at ravnborg.org
Sun Jul 25 20:03:48 UTC 2021
On Sun, Jul 25, 2021 at 07:44:37PM +0200, Thomas Zimmermann wrote:
> Abstract the framebuffer details by mapping its BOs with a call
> to drm_gem_fb_vmap(). Unmap with drm_gem_fb_vunmap().
>
> The call to drm_gem_fb_vmap() ensures that all BOs are mapped
> correctly. Gud still only supports single-plane formats.
>
> No functional changes.
>
> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
> Acked-by: Noralf Trønnes <noralf at tronnes.org>
Acked-by: Sam Ravnborg <sam at ravnborg.org>
> ---
> drivers/gpu/drm/gud/gud_pipe.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/gud/gud_pipe.c b/drivers/gpu/drm/gud/gud_pipe.c
> index 4d7a26b68a2e..7e009f562b30 100644
> --- a/drivers/gpu/drm/gud/gud_pipe.c
> +++ b/drivers/gpu/drm/gud/gud_pipe.c
> @@ -14,8 +14,8 @@
> #include <drm/drm_format_helper.h>
> #include <drm/drm_fourcc.h>
> #include <drm/drm_framebuffer.h>
> +#include <drm/drm_gem.h>
> #include <drm/drm_gem_framebuffer_helper.h>
> -#include <drm/drm_gem_shmem_helper.h>
> #include <drm/drm_print.h>
> #include <drm/drm_rect.h>
> #include <drm/drm_simple_kms_helper.h>
> @@ -152,7 +152,7 @@ static int gud_prep_flush(struct gud_device *gdrm, struct drm_framebuffer *fb,
> {
> struct dma_buf_attachment *import_attach = fb->obj[0]->import_attach;
> u8 compression = gdrm->compression;
> - struct dma_buf_map map;
> + struct dma_buf_map map[DRM_FORMAT_MAX_PLANES];
> void *vaddr, *buf;
> size_t pitch, len;
> int ret = 0;
> @@ -162,11 +162,11 @@ static int gud_prep_flush(struct gud_device *gdrm, struct drm_framebuffer *fb,
> if (len > gdrm->bulk_len)
> return -E2BIG;
>
> - ret = drm_gem_shmem_vmap(fb->obj[0], &map);
> + ret = drm_gem_fb_vmap(fb, map);
> if (ret)
> return ret;
>
> - vaddr = map.vaddr + fb->offsets[0];
> + vaddr = map[0].vaddr + fb->offsets[0];
>
> ret = drm_gem_fb_begin_cpu_access(fb, DMA_FROM_DEVICE);
> if (ret)
> @@ -225,7 +225,7 @@ static int gud_prep_flush(struct gud_device *gdrm, struct drm_framebuffer *fb,
> end_cpu_access:
> drm_gem_fb_end_cpu_access(fb, DMA_FROM_DEVICE);
> vunmap:
> - drm_gem_shmem_vunmap(fb->obj[0], &map);
> + drm_gem_fb_vunmap(fb, map);
>
> return ret;
> }
> --
> 2.32.0
More information about the dri-devel
mailing list