On 6 June 2016 at 17:15, Maarten Lankhorst maarten.lankhorst@linux.intel.com wrote:
Op 06-06-16 om 18:11 schreef Emil Velikov:
On 6 June 2016 at 17:00, Daniel Vetter daniel@ffwll.ch wrote:
On Mon, Jun 06, 2016 at 11:18:09AM +0200, Maarten Lankhorst wrote:
Change return value to int to propagate errors from gamma_set, and remove start parameter. Updates always use the full size, and some drivers even ignore the start parameter altogether.
Commit message should explain why we suddenly need to pass up the error code, too:
"This is needed for atomic drivers, where an atomic commit can fail with EAGAIN and should be restarted."
Since that can happen only on the DRM core side, shouldn't one refrain from adding the "always returns 0" return status for the drivers' .gamma_set hook ? Or there's is something in the works that would lead to drivers being able to return a non 0 value ?
Look at drm_atomic_helper.c :-)
Being implemented as an atomic update means any errno can be returned.
Ouch. Looks like only the i915 driver uses the helper while I was looking at other ATOMIC drivers. So things short circuited on my noggin'. I guess it's up-to the respective drivers to be updated and use the drm_atomic_helper_legacy_gamma_set helper.
Thanks for sticking with my silly question :-) Emil