On Mon, Mar 25, 2024 at 07:21:35PM +0100, Borislav Petkov wrote: > On Mon, Mar 25, 2024 at 07:57:38PM +0200, Ville Syrjala wrote: > > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > > > 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@xxxxxxxxxxxxxxx > > 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@xxxxxxxxx> > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Thanks for the fix - splat is gone. > > Tested-by: Borislav Petkov (AMD) <bp@xxxxxxxxx> Thanks. Pushed to drm-intel-next. -- Ville Syrjälä Intel