search for: drm_gem_vram_object

Displaying 20 results from an estimated 90 matches for "drm_gem_vram_object".

2019 May 06
0
[PATCH v4 01/19] drm: Add |struct drm_gem_vram_object| and helpers
The type |struct drm_gem_vram_object| implements a GEM object for simple framebuffer devices with dedicated video memory. The BO is either located in VRAM or system memory. The implementation has been created from the respective code in ast, bochs and mgag200. These drivers copy their implementation from each other; except for the na...
2019 Apr 29
0
[PATCH v3 01/19] drm: Add |struct drm_gem_vram_object| and helpers
The type |struct drm_gem_vram_object| implements a GEM object for simple framebuffer devices with dedicated video memory. The BO is either located in VRAM or system memory. The implementation has been created from the respective code in ast, bochs and mgag200. These drivers copy their implementation from each other; except for the na...
2019 Apr 29
4
[PATCH v3 01/19] drm: Add |struct drm_gem_vram_object| and helpers
...o concepts are mixed. Maybe be consistent and use u32, s32 everywhere? I did not read the code carefully enough to understand it. I cannot give a r-b or a-b - as I feel I need to understand it to do so. Sam On Mon, Apr 29, 2019 at 04:43:23PM +0200, Thomas Zimmermann wrote: > The type |struct drm_gem_vram_object| implements a GEM object for simple > framebuffer devices with dedicated video memory. The BO is either located > in VRAM or system memory. > > The implementation has been created from the respective code in ast, > bochs and mgag200. These drivers copy their implementation from each...
2019 Apr 29
4
[PATCH v3 01/19] drm: Add |struct drm_gem_vram_object| and helpers
...o concepts are mixed. Maybe be consistent and use u32, s32 everywhere? I did not read the code carefully enough to understand it. I cannot give a r-b or a-b - as I feel I need to understand it to do so. Sam On Mon, Apr 29, 2019 at 04:43:23PM +0200, Thomas Zimmermann wrote: > The type |struct drm_gem_vram_object| implements a GEM object for simple > framebuffer devices with dedicated video memory. The BO is either located > in VRAM or system memory. > > The implementation has been created from the respective code in ast, > bochs and mgag200. These drivers copy their implementation from each...
2019 Apr 24
0
[PATCH v2 02/17] drm: Add |struct drm_gem_vram_object| callbacks for |struct ttm_bo_driver|
...changed, 60 insertions(+) diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c index d39d8a5f36df..fcf6e78d92f7 100644 --- a/drivers/gpu/drm/drm_gem_vram_helper.c +++ b/drivers/gpu/drm/drm_gem_vram_helper.c @@ -408,3 +408,53 @@ void drm_gem_vram_kunmap(struct drm_gem_vram_object *gbo) drm_gem_vram_kunmap_at(gbo, &gbo->kmap); } EXPORT_SYMBOL(drm_gem_vram_kunmap); + +/* + * Helpers for struct ttm_bo_driver + */ + +static bool drm_is_gem_vram(struct ttm_buffer_object *bo) +{ + return (bo->destroy == ttm_buffer_object_destroy); +} + +/** + * drm_gem_vram_bo_drive...
2019 Apr 29
0
[PATCH v3 02/19] drm: Add |struct drm_gem_vram_object| callbacks for |struct ttm_bo_driver|
...changed, 60 insertions(+) diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c index d39d8a5f36df..fcf6e78d92f7 100644 --- a/drivers/gpu/drm/drm_gem_vram_helper.c +++ b/drivers/gpu/drm/drm_gem_vram_helper.c @@ -408,3 +408,53 @@ void drm_gem_vram_kunmap(struct drm_gem_vram_object *gbo) drm_gem_vram_kunmap_at(gbo, &gbo->kmap); } EXPORT_SYMBOL(drm_gem_vram_kunmap); + +/* + * Helpers for struct ttm_bo_driver + */ + +static bool drm_is_gem_vram(struct ttm_buffer_object *bo) +{ + return (bo->destroy == ttm_buffer_object_destroy); +} + +/** + * drm_gem_vram_bo_drive...
2019 May 06
0
[PATCH v4 02/19] drm: Add |struct drm_gem_vram_object| callbacks for |struct ttm_bo_driver|
...changed, 60 insertions(+) diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c index cac5b70c7ffb..e929a18c03f3 100644 --- a/drivers/gpu/drm/drm_gem_vram_helper.c +++ b/drivers/gpu/drm/drm_gem_vram_helper.c @@ -410,3 +410,53 @@ void drm_gem_vram_kunmap(struct drm_gem_vram_object *gbo) drm_gem_vram_kunmap_at(gbo, &gbo->kmap); } EXPORT_SYMBOL(drm_gem_vram_kunmap); + +/* + * Helpers for struct ttm_bo_driver + */ + +static bool drm_is_gem_vram(struct ttm_buffer_object *bo) +{ + return (bo->destroy == ttm_buffer_object_destroy); +} + +/** + * drm_gem_vram_bo_drive...
2019 Apr 30
2
[PATCH v3 01/19] drm: Add |struct drm_gem_vram_object| and helpers
Hi Thomas. > >> + > >> +/** > >> + * Returns the container of type &struct drm_gem_vram_object > >> + * for field bo. > >> + * @bo: the VRAM buffer object > >> + * Returns: The containing GEM VRAM object > >> + */ > >> +static inline struct drm_gem_vram_object* drm_gem_vram_of_bo( > >> + struct ttm_buffer_object *bo) > >> +{ &gt...
2019 Apr 30
2
[PATCH v3 01/19] drm: Add |struct drm_gem_vram_object| and helpers
Hi Thomas. > >> + > >> +/** > >> + * Returns the container of type &struct drm_gem_vram_object > >> + * for field bo. > >> + * @bo: the VRAM buffer object > >> + * Returns: The containing GEM VRAM object > >> + */ > >> +static inline struct drm_gem_vram_object* drm_gem_vram_of_bo( > >> + struct ttm_buffer_object *bo) > >> +{ &gt...
2019 May 20
1
[PATCH 1/2] drm: Add drm_gem_vram_{pin/unpin}_reserved() and convert mgag200
.../gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c >>> index 8f142b810eb4..a002c03eaf4c 100644 >>> --- a/drivers/gpu/drm/drm_gem_vram_helper.c >>> +++ b/drivers/gpu/drm/drm_gem_vram_helper.c >>> @@ -254,6 +254,47 @@ int drm_gem_vram_pin(struct drm_gem_vram_object *gbo, unsigned long pl_flag) >>> } >>> EXPORT_SYMBOL(drm_gem_vram_pin); >>> >>> +/** >>> + * drm_gem_vram_pin_reserved() - Pins a GEM VRAM object in a region. >>> + * @gbo: the GEM VRAM object >>> + * @pl_flag: a bitmask of...
2019 Apr 30
0
[PATCH v3 01/19] drm: Add |struct drm_gem_vram_object| and helpers
...RAM, but maybe there is more constraints? > (When I first looked at DRM I wondered what you used Virtual RAM for. > But thats a long time ago so it counts only as a funny story. OK :) >> +/* >> + * Buffer-object helpers >> + */ >> + >> +/** >> + * struct drm_gem_vram_object - GEM object backed by VRAM >> + * @gem: GEM object >> + * @bo: TTM buffer object >> + * @kmap: Mapping information for @bo >> + * @placement: TTM placement information. Supported placements are \ >> + %TTM_PL_VRAM and %TTM_PL_SYSTEM >> + * @placements: TTM plac...
2019 May 20
5
[PATCH 1/2] drm: Add drm_gem_vram_{pin/unpin}_reserved() and convert mgag200
...> > diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c > index 8f142b810eb4..a002c03eaf4c 100644 > --- a/drivers/gpu/drm/drm_gem_vram_helper.c > +++ b/drivers/gpu/drm/drm_gem_vram_helper.c > @@ -254,6 +254,47 @@ int drm_gem_vram_pin(struct drm_gem_vram_object *gbo, unsigned long pl_flag) > } > EXPORT_SYMBOL(drm_gem_vram_pin); > > +/** > + * drm_gem_vram_pin_reserved() - Pins a GEM VRAM object in a region. > + * @gbo: the GEM VRAM object > + * @pl_flag: a bitmask of possible memory regions > + * > + * Pinning a buffer objec...
2019 May 20
5
[PATCH 1/2] drm: Add drm_gem_vram_{pin/unpin}_reserved() and convert mgag200
...> > diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c > index 8f142b810eb4..a002c03eaf4c 100644 > --- a/drivers/gpu/drm/drm_gem_vram_helper.c > +++ b/drivers/gpu/drm/drm_gem_vram_helper.c > @@ -254,6 +254,47 @@ int drm_gem_vram_pin(struct drm_gem_vram_object *gbo, unsigned long pl_flag) > } > EXPORT_SYMBOL(drm_gem_vram_pin); > > +/** > + * drm_gem_vram_pin_reserved() - Pins a GEM VRAM object in a region. > + * @gbo: the GEM VRAM object > + * @pl_flag: a bitmask of possible memory regions > + * > + * Pinning a buffer objec...
2019 May 16
0
[PATCH 1/2] drm: Add drm_gem_vram_{pin/unpin}_reserved() and convert mgag200
...insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c index 8f142b810eb4..a002c03eaf4c 100644 --- a/drivers/gpu/drm/drm_gem_vram_helper.c +++ b/drivers/gpu/drm/drm_gem_vram_helper.c @@ -254,6 +254,47 @@ int drm_gem_vram_pin(struct drm_gem_vram_object *gbo, unsigned long pl_flag) } EXPORT_SYMBOL(drm_gem_vram_pin); +/** + * drm_gem_vram_pin_reserved() - Pins a GEM VRAM object in a region. + * @gbo: the GEM VRAM object + * @pl_flag: a bitmask of possible memory regions + * + * Pinning a buffer object ensures that it is not evicted from + * a m...
2019 May 03
2
[PATCH v3 01/19] drm: Add |struct drm_gem_vram_object| and helpers
...egards Thomas Am 30.04.19 um 11:35 schrieb Koenig, Christian: > Am 30.04.19 um 11:23 schrieb Sam Ravnborg: >> [CAUTION: External Email] >> >> Hi Thomas. >> >>>>> + >>>>> +/** >>>>> + * Returns the container of type &struct drm_gem_vram_object >>>>> + * for field bo. >>>>> + * @bo: the VRAM buffer object >>>>> + * Returns: The containing GEM VRAM object >>>>> + */ >>>>> +static inline struct drm_gem_vram_object* drm_gem_vram_of_bo( >>>>...
2019 May 03
2
[PATCH v3 01/19] drm: Add |struct drm_gem_vram_object| and helpers
...egards Thomas Am 30.04.19 um 11:35 schrieb Koenig, Christian: > Am 30.04.19 um 11:23 schrieb Sam Ravnborg: >> [CAUTION: External Email] >> >> Hi Thomas. >> >>>>> + >>>>> +/** >>>>> + * Returns the container of type &struct drm_gem_vram_object >>>>> + * for field bo. >>>>> + * @bo: the VRAM buffer object >>>>> + * Returns: The containing GEM VRAM object >>>>> + */ >>>>> +static inline struct drm_gem_vram_object* drm_gem_vram_of_bo( >>>>...
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]
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]
2019 Apr 24
1
[PATCH v2 02/17] drm: Add |struct drm_gem_vram_object| callbacks for |struct ttm_bo_driver|
...rm_is_gem_vram(struct ttm_buffer_object *bo) > +{ > + return (bo->destroy == ttm_buffer_object_destroy); > +} > + > +/** > + * drm_gem_vram_bo_driver_evict_flags() - \ > + Implements &struct ttm_bo_driver.evict_flags > + * @bo: TTM buffer object. Refers to &struct drm_gem_vram_object.bo > + * @pl: TTM placement information. > + */ > +void drm_gem_vram_bo_driver_evict_flags(struct ttm_buffer_object *bo, > + struct ttm_placement *pl) > +{ > + struct drm_gem_vram_object *gbo; > + > + /* TTM may pass BOs that are not GEM VRAM BOs. */ > + if (!drm_is_g...
2019 May 20
0
[PATCH 1/2] drm: Add drm_gem_vram_{pin/unpin}_reserved() and convert mgag200
...it a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c > > index 8f142b810eb4..a002c03eaf4c 100644 > > --- a/drivers/gpu/drm/drm_gem_vram_helper.c > > +++ b/drivers/gpu/drm/drm_gem_vram_helper.c > > @@ -254,6 +254,47 @@ int drm_gem_vram_pin(struct drm_gem_vram_object *gbo, unsigned long pl_flag) > > } > > EXPORT_SYMBOL(drm_gem_vram_pin); > > > > +/** > > + * drm_gem_vram_pin_reserved() - Pins a GEM VRAM object in a region. > > + * @gbo: the GEM VRAM object > > + * @pl_flag: a bitmask of possible memory regions >...