On Mon, Jul 07, 2025 at 03:11:55PM +0200, Thomas Zimmermann wrote:
> Acquire GEM handles in drm_framebuffer_init() and release them in
> the corresponding drm_framebuffer_cleanup(). Ties the handle's
> lifetime to the framebuffer. Not all GEM buffer objects have GEM
> handles. If not set, no refcounting takes place. This is the case
> for some fbdev emulation. This is not a problem as these GEM objects
> do not use dma-bufs and drivers will not release them while fbdev
> emulation is running. Framebuffer flags keep a bit per color plane
> of which the framebuffer holds a GEM handle reference.
>
> As all drivers use drm_framebuffer_init(), they will now all hold
> dma-buf references as fixed in commit 5307dce878d4 ("drm/gem: Acquire
> references on GEM handles for framebuffers").
>
> In the GEM framebuffer helpers, restore the original ref counting
> on buffer objects. As the helpers for handle refcounting are now
> no longer called from outside the DRM core, unexport the symbols.
>
> v3:
> - don't mix internal flags with mode flags (Christian)
> v2:
> - track framebuffer handle refs by flag
> - drop gma500 cleanup (Christian)
>
> Signed-off-by: Thomas Zimmermann <[email protected]>
> Fixes: 5307dce878d4 ("drm/gem: Acquire references on GEM handles for
> framebuffers")
> Reported-by: Bert Karwatzki <[email protected]>
> Closes:
> https://lore.kernel.org/dri-devel/[email protected]/
> Tested-by: Bert Karwatzki <[email protected]>
> Tested-by: Mario Limonciello <[email protected]>
> Cc: Thomas Zimmermann <[email protected]>
> Cc: Anusha Srivatsa <[email protected]>
> Cc: Christian König <[email protected]>
> Cc: Maarten Lankhorst <[email protected]>
> Cc: Maxime Ripard <[email protected]>
> Cc: Sumit Semwal <[email protected]>
> Cc: "Christian König" <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: <[email protected]>
> ---
> drivers/gpu/drm/drm_framebuffer.c | 31 ++++++++++++++--
> drivers/gpu/drm/drm_gem.c | 38 ++++++++++++--------
> drivers/gpu/drm/drm_gem_framebuffer_helper.c | 16 ++++-----
> drivers/gpu/drm/drm_internal.h | 2 +-
> include/drm/drm_framebuffer.h | 7 ++++
> 5 files changed, 68 insertions(+), 26 deletions(-)
Thanks, that fixes it:
Reported-by: Borislav Petkov (AMD) <[email protected]>
Tested-by: Borislav Petkov (AMD) <[email protected]>
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette