[PATCH] drm/i915: Pre-populate the cursor physical dma address
Borislav Petkov
bp at alien8.de
Mon Mar 25 18:21:35 UTC 2024
On Mon, Mar 25, 2024 at 07:57:38PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Calling i915_gem_object_get_dma_address() from the vblank
> evade critical section triggers might_sleep().
>
> While we know that we've already pinned the framebuffer
> and thus i915_gem_object_get_dma_address() will in fact
> not sleep in this case, it seems reasonable to keep the
> unconditional might_sleep() for maximum coverage.
>
> So let's instead pre-populate the dma address during
> fb pinning, which all happens before we enter the
> vblank evade critical section.
>
> We can use u32 for the dma address as this class of
> hardware doesn't support >32bit addresses.
>
> Cc: stable at vger.kernel.org
> Fixes: 0225a90981c8 ("drm/i915: Make cursor plane registers unlocked")
> Link: https://lore.kernel.org/intel-gfx/20240227100342.GAZd2zfmYcPS_SndtO@fat_crate.local/
> Reported-by: Borislav Petkov <bp at alien8.de>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Thanks for the fix - splat is gone.
Tested-by: Borislav Petkov (AMD) <bp at alien8.de>
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
More information about the Intel-gfx
mailing list