• Damien Lespiau's avatar
    drm/i915: Use a spin lock to protect the pipe crc struct · d538bbdf
    Damien Lespiau authored
    Daniel pointed out that it was hard to get anything lockless to work
    correctly, so don't even try for this non critical piece of code and
    just use a spin lock.
    
    v2: Make intel_pipe_crc->opened a bool
    v3: Use assert_spin_locked() instead of a comment (Daniel Vetter)
    v4: Use spin_lock_irq() in the debugfs functions (they can only be
        called from process context),
        Use spin_lock() in the pipe_crc_update() function that can only be
        called from an interrupt handler,
        Use wait_event_interruptible_lock_irq() when waiting for data in the
        cicular buffer to ensure proper locking around the condition we are
        waiting for. (Daniel Vetter)
    Suggested-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: default avatarDamien Lespiau <damien.lespiau@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    d538bbdf
i915_drv.h 75 KB