[Intel-gfx] Pipe CRCs v1

Daniel Vetter daniel at ffwll.ch
Wed Oct 16 12:02:44 CEST 2013

On Tue, Oct 15, 2013 at 06:55:26PM +0100, Damien Lespiau wrote:
> This series exposes the pipe CRCs on ivybridge through debugfs. It's based on
> the initial work from Shuang He, with some improvements to have a nice user
> space API.
> There are several points in the display pipeline where CRCs can be computed
> on the bits flowing there. For instance, it's usually possible to compute
> the CRCs of the primary plane, the sprite plane or the CRCs of the bits
> after the panel fitter (collectively called pipe CRCs).
> An intel-gpu-tools series will follow with helpers to use the feature from
> tests and basic testing.
> Further work items:
>   * make it work on other platforms
>   * expose other CRCs than just the pipe CRCs (transcoders, ddi, ...)
>   * implement poll() for the result files

I like this and so went ahead and merged it right away. A bit of CRC
support is much better than none and the tests should make sure that
things actually work somewhat.

Polishing that imo still needs to happen:
- Roll out on other platforms. Especially vlv since there we actually want
  to have good sprite support.

- Add an "all" alias or something similar which just picks a crc source
  take takes the pixels after all sprite/cursor/plane blending, csc and
  gamma ramps have been applied. For ivb that seems to be the "pf" source.
  To make sure it works we'd need a small testcase that moves
  cursors/sprites/planes and changes gamma to make sure we cover all these
  things. Then we could finally have automated testcases for checking all
  the restore code in our resume paths (or dpms on and all that stuff).

- atomic_t is weakly ordered, even on x86 (since it doesn't even have).
  Also, writing a correct lockless ringbuffer is Damn Hard (tm). I don't
  see any need to massive performance issues with this, so we need to
  switch to normal mutex locking (with a spinlock for the ringbuffer
  itself to allow the irq handler to fill it).

- Use it all over the place in igt tests ...

Thanks a lot for doing this.

Cheers, Daniel
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

More information about the Intel-gfx mailing list