Re: [PATCH 0/4] drm: Ignore non-existing color planes in helpers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



pinging for review

Am 09.05.22 um 10:15 schrieb Thomas Zimmermann:
Some DRM helpers assume that all potential color planes of a framebuffer
are available; even if the color format didn't specify them. Non-existing
planes are silently ignored. This behavior is inconsistent with other
helpers and apparently leads to subtle bugs with uninitialized GEM buffer
mappings. [1]

Change all affected code to look at the framebuffer format's number of
color planes and only process these planes. The update has been discussed
in [2] before.

Tested with GEM SHMEM helpers on simpledrm.

[1] https://lore.kernel.org/dri-devel/20210730183511.20080-1-tzimmermann@xxxxxxx/T/#md0172b10bb588d8f20f4f456e304f08d2a4505f7
[2] https://lore.kernel.org/dri-devel/877dc0d9-c6c6-022c-20d8-14b33e863934@xxxxxxx/

Thomas Zimmermann (4):
   drm/gem: Share code between drm_gem_fb_{begin,end}_cpu_access()
   drm/gem: Ignore color planes that are unused by framebuffer format
   drm/gem-vram: Ignore planes that are unused by framebuffer format
   drm/gem: Warn on trying to use a non-existing framebuffer plane

  drivers/gpu/drm/drm_gem_atomic_helper.c      |   6 +-
  drivers/gpu/drm/drm_gem_framebuffer_helper.c | 103 +++++++++----------
  drivers/gpu/drm/drm_gem_vram_helper.c        |  36 ++++---
  include/drm/drm_gem_framebuffer_helper.h     |  10 +-
  4 files changed, 81 insertions(+), 74 deletions(-)


base-commit: b0b93865a24c910fcbfa6e6fa0955fae930a56d3

--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux