mbox series

[v2,0/4] drm/vram: Provide helpers for prepare_fb() and cleanup_fb()

Message ID 20191024081404.6978-1-tzimmermann@suse.de (mailing list archive)
Headers show
Series drm/vram: Provide helpers for prepare_fb() and cleanup_fb() | expand

Message

Thomas Zimmermann Oct. 24, 2019, 8:14 a.m. UTC
The implementation of the plane's call-back functions prepare_fb() and
cleanup_fb() for GEM VRAM helpers are sharable among drivers.

Patch #3 also fixes two bugs that have been present in hibmc since it was
first added. The primary plane's atomic_update() is not responsible for
pinning BOs. And it never unpinned unused BOs. VRAM is being exausted
over time.

The new helpers have been tested to work.

v2:
	* provide helpers for struct drm_simple_display_pipe_funcs, and...
	* ...use them in bochs

Thomas Zimmermann (4):
  drm/vram-helpers: Add helpers for prepare_fb() and cleanup_fb()
  drm/bochs: Replace prepare_fb()/cleanup_fb() with GEM VRAM helpers
  drm/hisilicon/hibmc: Use GEM VRAM's prepare_fb() and cleanup_fb()
    helpers
  drm/vboxvideo: Replace prepare_fb()/cleanup_fb() with GEM VRAM helpers

 drivers/gpu/drm/bochs/bochs_kms.c             |  26 +---
 drivers/gpu/drm/drm_gem_vram_helper.c         | 126 ++++++++++++++++++
 .../gpu/drm/hisilicon/hibmc/hibmc_drm_de.c    |  14 +-
 drivers/gpu/drm/vboxvideo/vbox_mode.c         |  61 +--------
 include/drm/drm_gem_vram_helper.h             |  25 ++++
 5 files changed, 161 insertions(+), 91 deletions(-)

--
2.23.0

Comments

Daniel Vetter Oct. 24, 2019, 12:37 p.m. UTC | #1
On Thu, Oct 24, 2019 at 10:14:00AM +0200, Thomas Zimmermann wrote:
> The implementation of the plane's call-back functions prepare_fb() and
> cleanup_fb() for GEM VRAM helpers are sharable among drivers.
> 
> Patch #3 also fixes two bugs that have been present in hibmc since it was
> first added. The primary plane's atomic_update() is not responsible for
> pinning BOs. And it never unpinned unused BOs. VRAM is being exausted
> over time.
> 
> The new helpers have been tested to work.
> 
> v2:
> 	* provide helpers for struct drm_simple_display_pipe_funcs, and...
> 	* ...use them in bochs

Oh I thought we agreed on changing the simple_pipe type for
prepare/cleanup_fb ... But this works too ofc. On the series:

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

> 
> Thomas Zimmermann (4):
>   drm/vram-helpers: Add helpers for prepare_fb() and cleanup_fb()
>   drm/bochs: Replace prepare_fb()/cleanup_fb() with GEM VRAM helpers
>   drm/hisilicon/hibmc: Use GEM VRAM's prepare_fb() and cleanup_fb()
>     helpers
>   drm/vboxvideo: Replace prepare_fb()/cleanup_fb() with GEM VRAM helpers
> 
>  drivers/gpu/drm/bochs/bochs_kms.c             |  26 +---
>  drivers/gpu/drm/drm_gem_vram_helper.c         | 126 ++++++++++++++++++
>  .../gpu/drm/hisilicon/hibmc/hibmc_drm_de.c    |  14 +-
>  drivers/gpu/drm/vboxvideo/vbox_mode.c         |  61 +--------
>  include/drm/drm_gem_vram_helper.h             |  25 ++++
>  5 files changed, 161 insertions(+), 91 deletions(-)
> 
> --
> 2.23.0
>
Thomas Zimmermann Oct. 24, 2019, 2:05 p.m. UTC | #2
Hi

Am 24.10.19 um 14:37 schrieb Daniel Vetter:
> On Thu, Oct 24, 2019 at 10:14:00AM +0200, Thomas Zimmermann wrote:
>> The implementation of the plane's call-back functions prepare_fb() and
>> cleanup_fb() for GEM VRAM helpers are sharable among drivers.
>>
>> Patch #3 also fixes two bugs that have been present in hibmc since it was
>> first added. The primary plane's atomic_update() is not responsible for
>> pinning BOs. And it never unpinned unused BOs. VRAM is being exausted
>> over time.
>>
>> The new helpers have been tested to work.
>>
>> v2:
>> 	* provide helpers for struct drm_simple_display_pipe_funcs, and...
>> 	* ...use them in bochs
> 
> Oh I thought we agreed on changing the simple_pipe type for
> prepare/cleanup_fb ... But this works too ofc. On the series:

Well, I'm still no fan of the current simple pipe helpers. But after you
changed the signature of mode_valid() and explained the reasons, I
thought it was more important to have consistent interfaces.

> 
> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Thanks!

Best regards
Thomas

> 
>>
>> Thomas Zimmermann (4):
>>   drm/vram-helpers: Add helpers for prepare_fb() and cleanup_fb()
>>   drm/bochs: Replace prepare_fb()/cleanup_fb() with GEM VRAM helpers
>>   drm/hisilicon/hibmc: Use GEM VRAM's prepare_fb() and cleanup_fb()
>>     helpers
>>   drm/vboxvideo: Replace prepare_fb()/cleanup_fb() with GEM VRAM helpers
>>
>>  drivers/gpu/drm/bochs/bochs_kms.c             |  26 +---
>>  drivers/gpu/drm/drm_gem_vram_helper.c         | 126 ++++++++++++++++++
>>  .../gpu/drm/hisilicon/hibmc/hibmc_drm_de.c    |  14 +-
>>  drivers/gpu/drm/vboxvideo/vbox_mode.c         |  61 +--------
>>  include/drm/drm_gem_vram_helper.h             |  25 ++++
>>  5 files changed, 161 insertions(+), 91 deletions(-)
>>
>> --
>> 2.23.0
>>
>