• Damien Lespiau's avatar
    drm/i915: Implement blocking read for pipe CRC files · 07144428
    Damien Lespiau authored
    seq_file is not quite the right interface for these ones. We have a
    circular buffer with a new entry per vblank on one side and a process
    wanting to dequeue the CRC with a read().
    
    It's quite racy to wait for vblank in user land and then try to read a
    pipe_crc file, sometimes the CRC interrupt hasn't been fired and we end
    up with an EOF.
    
    So, let's have the read on the pipe_crc file block until the interrupt
    gives us a new entry. At that point we can wake the reading process.
    Signed-off-by: default avatarDamien Lespiau <damien.lespiau@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    07144428
i915_irq.c 98.4 KB