alistair23-linux/Documentation/gpu
Tomeu Vizoso 9edbf1fa60 drm: Add API for capturing frame CRCs
Adds files and directories to debugfs for controlling and reading frame
CRCs, per CRTC:

dri/0/crtc-0/crc
dri/0/crtc-0/crc/control
dri/0/crtc-0/crc/data

Drivers can implement the set_crc_source callback() in drm_crtc_funcs to
start and stop generating frame CRCs and can add entries to the output
by calling drm_crtc_add_crc_entry.

v2:
    - Lots of good fixes suggested by Thierry.
    - Added documentation.
    - Changed the debugfs layout.
    - Moved to allocate the entries circular queue once when frame
      generation gets enabled for the first time.
v3:
    - Use the control file just to select the source, and start and stop
      capture when the data file is opened and closed, respectively.
    - Make variable the number of CRC values per entry, per source.
    - Allocate entries queue each time we start capturing as now there
      isn't a fixed number of CRC values per entry.
    - Store the frame counter in the data file as a 8-digit hex number.
    - For sources that cannot provide useful frame numbers, place
      XXXXXXXX in the frame field.

v4:
    - Build only if CONFIG_DEBUG_FS is enabled.
    - Use memdup_user_nul.
    - Consolidate calculation of the size of an entry in a helper.
    - Add 0x prefix to hex numbers in the data file.
    - Remove unnecessary snprintf and strlen usage in read callback.

v5:
    - Made the crcs array in drm_crtc_crc_entry fixed-size
    - Lots of other smaller improvements suggested by Emil Velikov

v7:
    - Move definition of drm_debugfs_crtc_crc_add to drm_internal.h

v8:
    - Call debugfs_remove_recursive when we fail to create the minor
      device

v9:
    - Register the debugfs directory for a crtc from
      drm_crtc_register_all()

v10:
    - Don't let debugfs failures interrupt CRTC registration (Emil
      Velikov)

v11:
    - Remove extra brace that broke compilation. Sorry!

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Acked-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1475767268-14379-3-git-send-email-tomeu.vizoso@collabora.com
2016-10-17 16:44:34 +02:00
..
drm-internals.rst drm: Mark up legacy/dri1 drivers with DRM_LEGACY 2016-08-08 10:05:22 +02:00
drm-kms-helpers.rst drm: Move all decl for drm_edid.c to drm_edid.h 2016-09-19 15:04:32 +02:00
drm-kms.rst drm/doc: Document color space handling 2016-09-22 00:04:03 -07:00
drm-mm.rst drm/doc: Reorg drm-mm.rst 2016-08-16 16:10:27 +02:00
drm-uapi.rst drm: Add API for capturing frame CRCs 2016-10-17 16:44:34 +02:00
i915.rst drm/i915: Separate intel_frontbuffer into its own header 2016-08-04 20:20:01 +01:00
index.rst vgaarbiter: rst-ifiy and polish kerneldoc 2016-08-16 18:49:56 +02:00
introduction.rst Documentation/gpu: use recommended order of heading markers 2016-06-21 14:15:18 +02:00
kms-properties.csv drm: Remove dirty property from docs 2016-09-22 00:04:03 -07:00
vga-switcheroo.rst drm/doc: Fix vga_switcheroo xref 2016-08-24 13:11:08 +02:00
vgaarbiter.rst vgaarbiter: rst-ifiy and polish kerneldoc 2016-08-16 18:49:56 +02:00