• Thomas Hellstrom's avatar
    drm/vmwgfx: Replace the hw mutex with a hw spinlock · 496eb6fd
    Thomas Hellstrom authored
    Fixes a case where we call vmw_fifo_idle() from within a wait function with
    task state !TASK_RUNNING, which is illegal.
    
    In addition, make the locking fine-grained, so that it is performed once
    for every read- and write operation. This is of course more costly, but we
    don't perform much register access in the timing critical paths anyway. Instead
    we have the extra benefit of being sure that we don't forget the hw lock around
    register accesses. I think currently the kms code was quite buggy w r t this.
    
    This fixes Red Hat Bugzilla Bug 1180796
    
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
    Reviewed-by: default avatarJakob Bornecrantz <jakob@vmware.com>
    496eb6fd
vmwgfx_drv.c 40.9 KB