search for: drm_gem_vram_

Displaying 20 results from an estimated 22 matches for "drm_gem_vram_".

2019 May 21
0
[PATCH 1/2] drm: Add drm_gem_vram_{pin/unpin}_reserved() and convert mgag200
Hi, > I think would be good to have a lockdep_assert_held here for the ww_mutex. > > Also general thing: _reserved is kinda ttm lingo, for dma-buf reservations > we call the structure tracking the fences+lock the "reservation", but the > naming scheme used is _lock/_unlock. > > I think would be good to be consistent with that, and use _locked here. > Especially
2019 May 16
0
[PATCH 1/2] drm: Add drm_gem_vram_{pin/unpin}_reserved() and convert mgag200
The new interfaces drm_gem_vram_{pin/unpin}_reserved() are variants of the GEM VRAM pin/unpin functions that do not reserve the BO during validation. The mgag200 driver requires this behavior for its cursor handling. The patch also converts the driver to use the new interfaces. Signed-off-by: Thomas Zimmermann <tzimmermann at...
2019 May 20
0
[PATCH 1/2] drm: Add drm_gem_vram_{pin/unpin}_reserved() and convert mgag200
On Mon, May 20, 2019 at 06:19:00PM +0200, Daniel Vetter wrote: > On Thu, May 16, 2019 at 06:27:45PM +0200, Thomas Zimmermann wrote: > > The new interfaces drm_gem_vram_{pin/unpin}_reserved() are variants of the > > GEM VRAM pin/unpin functions that do not reserve the BO during validation. > > The mgag200 driver requires this behavior for its cursor handling. The > > patch also converts the driver to use the new interfaces. > > > > Si...
2019 Apr 15
1
[PATCH 00/15] Share TTM code among framebuffer drivers
...s 16 MB vram by default and can be > > configured to have up to 256 MB. Plenty of room even for multiple 4k > > framebuffers if needed. So for the bochs driver all the ttm bo > > migration logic is not needed, it could just store everything in vram. > > > > A set of drm_gem_vram_* helpers would do the job for bochs. > > Thanks for clarifying. drm_gem_vram_* (and drm_vram_mm for Simple TTM) > is probably a better name for the data structures. +1 on drm_gem_vram_* naming convention - we want to describe what it's for, not how it's implemented. > > I&...
2019 Apr 29
0
[PATCH v3 15/19] drm/mgag200: Replace mapping code with drm_gem_vram_{kmap/kunmap}()
The mgag200 driver establishes several memory mappings for frame buffers and cursors. This patch converts the driver to use the equivalent drm_gem_vram_kmap() functions. It removes the dependencies on TTM and cleans up the code. --- drivers/gpu/drm/mgag200/mgag200_cursor.c | 35 +++++++++++------------- drivers/gpu/drm/mgag200/mgag200_drv.h | 1 - drivers/gpu/drm/mgag200/mgag200_fb.c | 22 +++++++++------ drivers/gpu/drm/mgag200/mgag200_mo...
2019 May 20
1
[PATCH 1/2] drm: Add drm_gem_vram_{pin/unpin}_reserved() and convert mgag200
Am 20.05.19 um 18:26 schrieb Daniel Vetter: > [CAUTION: External Email] > > On Mon, May 20, 2019 at 06:19:00PM +0200, Daniel Vetter wrote: >> On Thu, May 16, 2019 at 06:27:45PM +0200, Thomas Zimmermann wrote: >>> The new interfaces drm_gem_vram_{pin/unpin}_reserved() are variants of the >>> GEM VRAM pin/unpin functions that do not reserve the BO during validation. >>> The mgag200 driver requires this behavior for its cursor handling. The >>> patch also converts the driver to use the new interfaces. >>> &...
2019 May 16
5
[PATCH 0/2] Add BO reservation to GEM VRAM pin/unpin/push_to_system
A kernel test bot reported a problem with the locktorture testcase that was triggered by the GEM VRAM helpers. ... [ 10.004734] RIP: 0010:ttm_bo_validate+0x41/0x141 [ttm] ... [ 10.015669] ? kvm_sched_clock_read+0x5/0xd [ 10.016157] ? get_lock_stats+0x11/0x3f [ 10.016607] drm_gem_vram_pin+0x77/0xa2 [drm_vram_helper] [ 10.017229] drm_gem_vram_driver_gem_prime_vmap+0xe/0x39 [drm_vram_helper] [ 10.018015] drm_gem_vmap+0x36/0x43 [drm] [ 10.018491] drm_client_framebuffer_create+0xc6/0x1ca [drm] [ 10.019143] drm_fb_helper_generic_probe+0x4c/0x157 [drm_kms_helper]...
2019 May 16
5
[PATCH 0/2] Add BO reservation to GEM VRAM pin/unpin/push_to_system
A kernel test bot reported a problem with the locktorture testcase that was triggered by the GEM VRAM helpers. ... [ 10.004734] RIP: 0010:ttm_bo_validate+0x41/0x141 [ttm] ... [ 10.015669] ? kvm_sched_clock_read+0x5/0xd [ 10.016157] ? get_lock_stats+0x11/0x3f [ 10.016607] drm_gem_vram_pin+0x77/0xa2 [drm_vram_helper] [ 10.017229] drm_gem_vram_driver_gem_prime_vmap+0xe/0x39 [drm_vram_helper] [ 10.018015] drm_gem_vmap+0x36/0x43 [drm] [ 10.018491] drm_client_framebuffer_create+0xc6/0x1ca [drm] [ 10.019143] drm_fb_helper_generic_probe+0x4c/0x157 [drm_kms_helper]...
2019 May 20
5
[PATCH 1/2] drm: Add drm_gem_vram_{pin/unpin}_reserved() and convert mgag200
On Thu, May 16, 2019 at 06:27:45PM +0200, Thomas Zimmermann wrote: > The new interfaces drm_gem_vram_{pin/unpin}_reserved() are variants of the > GEM VRAM pin/unpin functions that do not reserve the BO during validation. > The mgag200 driver requires this behavior for its cursor handling. The > patch also converts the driver to use the new interfaces. > > Signed-off-by: Thomas Zimme...
2019 May 20
5
[PATCH 1/2] drm: Add drm_gem_vram_{pin/unpin}_reserved() and convert mgag200
On Thu, May 16, 2019 at 06:27:45PM +0200, Thomas Zimmermann wrote: > The new interfaces drm_gem_vram_{pin/unpin}_reserved() are variants of the > GEM VRAM pin/unpin functions that do not reserve the BO during validation. > The mgag200 driver requires this behavior for its cursor handling. The > patch also converts the driver to use the new interfaces. > > Signed-off-by: Thomas Zimme...
2019 May 17
0
[PATCH 0/2] Add BO reservation to GEM VRAM pin/unpin/push_to_system
...tly. With the > GEM VRAM conversion, automatic BO reservation within pin and unpin functions > accidentally got lost. So for bochs and vbox, ttm_bo_validate() worked on > unlocked BOs. > > This patch set fixes the problem by adding automatic reservation to the > implementation of drm_gem_vram_{pin,unpin,push_to_system}() to fix bochs > and vbox. It removes explicit BO reservation around the pin, unpin and > push-to-system calls in the ast, hibmc and mgag200 drivers. > > The only exception is the cursor handling of mgag200. In this case, the > mgag200 driver now calls drm_...
2019 Apr 15
2
[PATCH 00/15] Share TTM code among framebuffer drivers
...>>> configured to have up to 256 MB. Plenty of room even for multiple 4k > >>> framebuffers if needed. So for the bochs driver all the ttm bo > >>> migration logic is not needed, it could just store everything in vram. > >>> > >>> A set of drm_gem_vram_* helpers would do the job for bochs. > >> > >> Thanks for clarifying. drm_gem_vram_* (and drm_vram_mm for Simple TTM) > >> is probably a better name for the data structures. > > > > +1 on drm_gem_vram_* naming convention - we want to describe what it's &gt...
2019 Apr 15
2
[PATCH 00/15] Share TTM code among framebuffer drivers
...>>> configured to have up to 256 MB. Plenty of room even for multiple 4k > >>> framebuffers if needed. So for the bochs driver all the ttm bo > >>> migration logic is not needed, it could just store everything in vram. > >>> > >>> A set of drm_gem_vram_* helpers would do the job for bochs. > >> > >> Thanks for clarifying. drm_gem_vram_* (and drm_vram_mm for Simple TTM) > >> is probably a better name for the data structures. > > > > +1 on drm_gem_vram_* naming convention - we want to describe what it's &gt...
2019 May 15
0
[PATCH v5 00/20] Share TTM code among DRM framebuffer drivers
...buffers with dedicated video memory. It further > converts the respective drivers to the generic code. The shared code > is basically the same implementation as the one copied among individual > drivers. > > The patch set contains two major changes: first, it introduces > |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_vr...
2019 Apr 09
2
[PATCH 00/15] Share TTM code among framebuffer drivers
...litted to vram. The qemu stdvga (bochs driver) has 16 MB vram by default and can be configured to have up to 256 MB. Plenty of room even for multiple 4k framebuffers if needed. So for the bochs driver all the ttm bo migration logic is not needed, it could just store everything in vram. A set of drm_gem_vram_* helpers would do the job for bochs. I'd expect the same applies to the vbox driver. Dunno about the other drm drivers and the fbdev drivers you plan to migrate over. cheers, Gerd [1] Note: The page-flip migration logic is present in some of the other drivers too, not sure whenever th...
2019 Apr 09
2
[PATCH 00/15] Share TTM code among framebuffer drivers
...litted to vram. The qemu stdvga (bochs driver) has 16 MB vram by default and can be configured to have up to 256 MB. Plenty of room even for multiple 4k framebuffers if needed. So for the bochs driver all the ttm bo migration logic is not needed, it could just store everything in vram. A set of drm_gem_vram_* helpers would do the job for bochs. I'd expect the same applies to the vbox driver. Dunno about the other drm drivers and the fbdev drivers you plan to migrate over. cheers, Gerd [1] Note: The page-flip migration logic is present in some of the other drivers too, not sure whenever th...
2019 Apr 24
21
[PATCH v2 00/17] Share TTM code among DRM framebuffer drivers
...nagement code for simple framebuffers with dedicated video memory. It further converts the respective drivers to the generic code. The shared code is basically the same implementation as the one copied among individual drivers. The patch set contains two major changes: first, it introduces |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 (...
2019 May 08
22
[PATCH v5 00/20] Share TTM code among DRM framebuffer drivers
...nagement code for simple framebuffers with dedicated video memory. It further converts the respective drivers to the generic code. The shared code is basically the same implementation as the one copied among individual drivers. The patch set contains two major changes: first, it introduces |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 (...
2019 May 08
22
[PATCH v5 00/20] Share TTM code among DRM framebuffer drivers
...nagement code for simple framebuffers with dedicated video memory. It further converts the respective drivers to the generic code. The shared code is basically the same implementation as the one copied among individual drivers. The patch set contains two major changes: first, it introduces |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 (...
2019 May 06
25
[PATCH v4 00/19] Share TTM code among DRM framebuffer drivers
...nagement code for simple framebuffers with dedicated video memory. It further converts the respective drivers to the generic code. The shared code is basically the same implementation as the one copied among individual drivers. The patch set contains two major changes: first, it introduces |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 (...