search for: vram_mm

Displaying 17 results from an estimated 17 matches for "vram_mm".

2019 Sep 11
4
[PATCH v2 0/4] Merge VRAM MM and GEM VRAM source files
.../ast/ast_ttm.c | 3 +- drivers/gpu/drm/bochs/bochs.h | 1 - drivers/gpu/drm/bochs/bochs_mm.c | 3 +- drivers/gpu/drm/drm_gem_vram_helper.c | 406 +++++++++++++++--- drivers/gpu/drm/drm_vram_helper_common.c | 8 +- drivers/gpu/drm/drm_vram_mm_helper.c | 353 --------------- .../gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 1 - drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c | 3 +- drivers/gpu/drm/mgag200/mgag200_drv.h | 1 - drivers/gpu/drm/mgag200/mgag200_ttm.c | 3 +- drivers/gpu/drm/vboxvideo/vbox_drv.h...
2019 Sep 09
5
[PATCH 0/4] Merge VRAM MM and GEM VRAM source files
.../ast/ast_ttm.c | 3 +- drivers/gpu/drm/bochs/bochs.h | 1 - drivers/gpu/drm/bochs/bochs_mm.c | 3 +- drivers/gpu/drm/drm_gem_vram_helper.c | 361 ++++++++++++++---- drivers/gpu/drm/drm_vram_helper_common.c | 8 +- drivers/gpu/drm/drm_vram_mm_helper.c | 309 --------------- .../gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 1 - drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c | 3 +- drivers/gpu/drm/mgag200/mgag200_drv.h | 1 - drivers/gpu/drm/mgag200/mgag200_ttm.c | 3 +- drivers/gpu/drm/vboxvideo/vbox_drv.h...
2020 Sep 07
1
[PATCH v2 1/2] drm: allow limiting the scatter list size.
...set_manager *vma_offset_manager; - - /** - * @max_segment: - * - * Max size for scatter list segments for GEM objects. When - * unset the default (SCATTERLIST_MAX_SEGMENT) is used. - */ - size_t max_segment; + /** @gem_config: Current GEM config */ + struct drm_gem_config gem_config; /** @vram_mm: VRAM MM memory manager */ struct drm_vram_mm *vram_mm; diff --git a/include/drm/drm_gem.h b/include/drm/drm_gem.h index 337a48321705..74129fb29fb8 100644 --- a/include/drm/drm_gem.h +++ b/include/drm/drm_gem.h @@ -39,6 +39,25 @@ #include <drm/drm_vma_manager.h> +struct drm_gem_config...
2019 May 06
25
[PATCH v4 00/19] Share TTM code among DRM framebuffer drivers
...|struct drm_gem_vram_object| and helpers (GEM VRAM). It's a GEM object that is backed by VRAM. The type's purpose is somewhat similar to |struct drm_gem_{cma, shmem}_object|: it provides an commom implementation that handles all the basic cases. Second, the patch set introduces |struct drm_vram_mm| and helpers (VRAM MM). It's an implementation of a basic memory manager for VRAM. Both, GEM VRAM and VRAM MM, support buffer placement in VRAM and system memory. Both can be used independedly from each other if desired by the DRM driver. Currently ast, bochs, mgag200, vboxvideo and hisilicon...
2019 May 06
25
[PATCH v4 00/19] Share TTM code among DRM framebuffer drivers
...|struct drm_gem_vram_object| and helpers (GEM VRAM). It's a GEM object that is backed by VRAM. The type's purpose is somewhat similar to |struct drm_gem_{cma, shmem}_object|: it provides an commom implementation that handles all the basic cases. Second, the patch set introduces |struct drm_vram_mm| and helpers (VRAM MM). It's an implementation of a basic memory manager for VRAM. Both, GEM VRAM and VRAM MM, support buffer placement in VRAM and system memory. Both can be used independedly from each other if desired by the DRM driver. Currently ast, bochs, mgag200, vboxvideo and hisilicon...
2019 May 08
22
[PATCH v5 00/20] Share TTM code among DRM framebuffer drivers
...|struct drm_gem_vram_object| and helpers (GEM VRAM). It's a GEM object that is backed by VRAM. The type's purpose is somewhat similar to |struct drm_gem_{cma, shmem}_object|: it provides an commom implementation that handles all the basic cases. Second, the patch set introduces |struct drm_vram_mm| and helpers (VRAM MM). It's an implementation of a basic memory manager for VRAM. Both, GEM VRAM and VRAM MM, support buffer placement in VRAM and system memory. Both can be used independedly from each other if desired by the DRM driver. Currently ast, bochs, mgag200, vboxvideo and hisilicon...
2019 May 08
22
[PATCH v5 00/20] Share TTM code among DRM framebuffer drivers
...|struct drm_gem_vram_object| and helpers (GEM VRAM). It's a GEM object that is backed by VRAM. The type's purpose is somewhat similar to |struct drm_gem_{cma, shmem}_object|: it provides an commom implementation that handles all the basic cases. Second, the patch set introduces |struct drm_vram_mm| and helpers (VRAM MM). It's an implementation of a basic memory manager for VRAM. Both, GEM VRAM and VRAM MM, support buffer placement in VRAM and system memory. Both can be used independedly from each other if desired by the DRM driver. Currently ast, bochs, mgag200, vboxvideo and hisilicon...
2019 Apr 29
21
[PATCH v3 00/19] Share TTM code among DRM framebuffer drivers
...|struct drm_gem_vram_object| and helpers (GEM VRAM). It's a GEM object that is backed by VRAM. The type's purpose is somewhat similar to |struct drm_gem_{cma, shmem}_object|: it provides an commom implementation that handles all the basic cases. Second, the patch set introduces |struct drm_vram_mm| and helpers (VRAM MM). It's an implementation of a basic memory manager for VRAM. Both, GEM VRAM and VRAM MM, support buffer placement in VRAM and system memory. Both can be used independedly from each other if desired by the DRM driver. Currently ast, bochs, mgag200, vboxvideo and hisilicon...
2020 Sep 07
0
[PATCH v3 1/2] drm: allow limiting the scatter list size.
...m_device { /** @vma_offset_manager: GEM information */ struct drm_vma_offset_manager *vma_offset_manager; + /** + * @max_segment: + * + * Max size for scatter list segments for GEM objects. When + * unset the default (SCATTERLIST_MAX_SEGMENT) is used. + */ + size_t max_segment; + /** @vram_mm: VRAM MM memory manager */ struct drm_vram_mm *vram_mm; diff --git a/include/drm/drm_prime.h b/include/drm/drm_prime.h index 9af7422b44cf..2c3689435cb4 100644 --- a/include/drm/drm_prime.h +++ b/include/drm/drm_prime.h @@ -88,7 +88,8 @@ void drm_gem_dmabuf_vunmap(struct dma_buf *dma_buf, void *...
2019 May 06
0
[PATCH v4 12/19] drm/bochs: Convert bochs driver to VRAM MM
The data structure |struct drm_vram_mm| and its helpers replace bochs' TTM-based memory manager. It's the same implementation; except for the type names. v4: * don't select DRM_TTM or DRM_VRAM_MM_HELPER v3: * use drm_gem_vram_mm_funcs * convert driver to drm_device-based instance v2: * implement bochs_mmap() with drm_vr...
2020 Aug 18
2
[PATCH v2 1/2] drm: allow limiting the scatter list size.
Add max_segment argument to drm_prime_pages_to_sg(). When set pass it through to the __sg_alloc_table_from_pages() call, otherwise use SCATTERLIST_MAX_SEGMENT. Also add max_segment field to drm driver and pass it to drm_prime_pages_to_sg() calls in drivers and helpers. v2: place max_segment in drm driver not gem object. Signed-off-by: Gerd Hoffmann <kraxel at redhat.com> ---
2019 Jul 03
0
[PATCH 5/5] drm/mgag200: Replace struct mga_fbdev with generic framebuffer emulation
...int mgag200_gem_create(struct drm_device *dev, - u32 size, bool iskernel, - struct drm_gem_object **obj) -{ - struct drm_gem_vram_object *gbo; - int ret; - - *obj = NULL; - - size = roundup(size, PAGE_SIZE); - if (size == 0) - return -EINVAL; - - gbo = drm_gem_vram_create(dev, &dev->vram_mm->bdev, size, 0, false); - if (IS_ERR(gbo)) { - ret = PTR_ERR(gbo); - if (ret != -ERESTARTSYS) - DRM_ERROR("failed to allocate GEM object\n"); - return ret; - } - *obj = &gbo->gem; - return 0; -} diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c b/drivers/gpu/drm/mgag200/m...
2019 Jul 03
11
[PATCH 0/5] Unmappable DRM client buffers for fbdev emulation
DRM client buffers are permanently mapped throughout their lifetime. This prevents us from using generic framebuffer emulation for devices with small dedicated video memory, such as ast or mgag200. With fb buffers permanently mapped, such devices often won't have enougth space left to display other content (e.g., X11). This patch set introduces unmappable DRM client buffers for framebuffer
2019 Jul 03
11
[PATCH 0/5] Unmappable DRM client buffers for fbdev emulation
DRM client buffers are permanently mapped throughout their lifetime. This prevents us from using generic framebuffer emulation for devices with small dedicated video memory, such as ast or mgag200. With fb buffers permanently mapped, such devices often won't have enougth space left to display other content (e.g., X11). This patch set introduces unmappable DRM client buffers for framebuffer
2025 Jan 09
25
[PATCH v2 00/25] drm/dumb-buffers: Fix and improve buffer-size calculation
Dumb-buffer pitch and size is specified by width, height, bits-per-pixel plus various hardware-specific alignments. The calculation of these values is inconsistent and duplicated among drivers. The results for formats with bpp < 8 are incorrect. This series fixes this for most drivers. Default scanline pitch and buffer size are now calculated with the existing 4CC helpers. There is a new
2019 Jul 05
11
[PATCH v2 0/6] Unmappable DRM client buffers for fbdev emulation
DRM client buffers are permanently mapped throughout their lifetime. This prevents us from using generic framebuffer emulation for devices with small dedicated video memory, such as ast or mgag200. With fb buffers permanently mapped, such devices often won't have enough space left to display other content (e.g., X11). This patch set introduces unmappable DRM client buffers for framebuffer
2019 Jul 05
11
[PATCH v2 0/6] Unmappable DRM client buffers for fbdev emulation
DRM client buffers are permanently mapped throughout their lifetime. This prevents us from using generic framebuffer emulation for devices with small dedicated video memory, such as ast or mgag200. With fb buffers permanently mapped, such devices often won't have enough space left to display other content (e.g., X11). This patch set introduces unmappable DRM client buffers for framebuffer