The Voodoos now correctly lock and unlock mutexes.
This commit is contained in:
@@ -450,7 +450,9 @@ static void voodoo_writel(uint32_t addr, uint32_t val, void *p)
|
||||
|
||||
case SST_swapbufferCMD:
|
||||
voodoo->cmd_written++;
|
||||
thread_wait_mutex(voodoo->swap_mutex);
|
||||
voodoo->swap_count++;
|
||||
thread_release_mutex(voodoo->swap_mutex);
|
||||
if (voodoo->fbiInit7 & FBIINIT7_CMDFIFO_ENABLE)
|
||||
return;
|
||||
voodoo_queue_command(voodoo, addr | FIFO_WRITEL_REG, val);
|
||||
@@ -531,7 +533,9 @@ static void voodoo_writel(uint32_t addr, uint32_t val, void *p)
|
||||
if ((voodoo->fbiInit1 & FBIINIT1_VIDEO_RESET) && !(val & FBIINIT1_VIDEO_RESET))
|
||||
{
|
||||
voodoo->line = 0;
|
||||
thread_wait_mutex(voodoo->swap_mutex);
|
||||
voodoo->swap_count = 0;
|
||||
thread_release_mutex(voodoo->swap_mutex);
|
||||
voodoo->retrace_count = 0;
|
||||
}
|
||||
voodoo->fbiInit1 = (val & ~5) | (voodoo->fbiInit1 & 5);
|
||||
|
||||
Reference in New Issue
Block a user