Commit graph

6 commits

Author SHA1 Message Date
Roman Gilg
c05f290f95
feat: log continuous debug messages into per-device buffers
Instead of exposing to consumers write streaming log data into a per-device
buffer that gets created on request and destroyed after the buffer has been
written to the log.

Passing a NULL string to the internal continuous log function triggers a write
of the buffer to the log.

BREAKING CHANGE: continuous log function is moved from log header to private
header.
2020-03-10 11:59:42 +01:00
Roman Gilg
afef092218
feat: log device creation
For a new device log relevant data including all planes the output/CRTC
supports.
2020-03-10 11:52:37 +01:00
Simon Ser
f6b4cd6197
Retry atomic commit on EINTR and EAGAIN
From the kernel docs:

> -EINTR, -EAGAIN or -ERESTARTSYS, if the IOCTL should be restarted. This can
> either be due to a pending signal, or because the driver needs to completely
> bail out to recover from an exceptional situation like a GPU hang. From a
> userspace point of view all errors are treated equally.

We're not handling ERESTARTSYS because it's non-POSIX.
2020-01-13 12:28:39 +01:00
Simon Ser
95d16704b9
Move device_test_commit to device.c 2020-01-13 12:22:47 +01:00
Simon Ser
cfeee41ec1
Allow NULL to be passed to destructors
In this case, the destructor will be a no-op. This is similar to free(3)'s
behavior and allows to omit a NULL check for callers.
2019-12-31 20:46:08 +01:00
Simon Ser
49b4f46762
Rename display.c to device.c
Forgot to do that when renaming the struct.
2019-11-29 01:51:22 +01:00
Renamed from display.c (Browse further)