Skip to content

Commit 44e5f93

Browse files
Sebastian Andrzej Siewiorthomashvmw
authored andcommitted
drm/vmwgfx: Drop preempt_disable() in vmw_fifo_ping_host()
vmw_fifo_ping_host() disables preemption around a test and a register write via vmw_write(). The write function acquires a spinlock_t typed lock which is not allowed in a preempt_disable()ed section on PREEMPT_RT. This has been reported in the bugzilla. It has been explained by Thomas Hellstrom that this preempt_disable()ed section is not required for correctness. Remove the preempt_disable() section. Link: https://bugzilla.kernel.org/show_bug.cgi?id=206591 Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Sebastian Andrzej Siewior <[email protected]> Reviewed-by: Thomas Hellstrom <[email protected]> Signed-off-by: Thomas Hellstrom <[email protected]>
1 parent 3b0d645 commit 44e5f93

File tree

1 file changed

+0
-2
lines changed

1 file changed

+0
-2
lines changed

drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,10 +169,8 @@ void vmw_fifo_ping_host(struct vmw_private *dev_priv, uint32_t reason)
169169
{
170170
u32 *fifo_mem = dev_priv->mmio_virt;
171171

172-
preempt_disable();
173172
if (cmpxchg(fifo_mem + SVGA_FIFO_BUSY, 0, 1) == 0)
174173
vmw_write(dev_priv, SVGA_REG_SYNC, reason);
175-
preempt_enable();
176174
}
177175

178176
void vmw_fifo_release(struct vmw_private *dev_priv, struct vmw_fifo_state *fifo)

0 commit comments

Comments
 (0)