Re: [PATCH v2] drm/atomic: Fix bookkeeping with TEST_ONLY, v2.

Maarten Lankhorst
2015-08-27T13:05:38Z

Op 27-08-15 om 14:52 schreef Ville Syrjälä:
> On Thu, Aug 27, 2015 at 02:50:34PM +0200, Maarten Lankhorst wrote:
>> Op 27-08-15 om 14:48 schreef Ville Syrjälä:
>>> On Thu, Aug 27, 2015 at 02:43:35PM +0200, Maarten Lankhorst wrote:
>>>> Op 27-08-15 om 14:19 schreef Daniel Stone:
>>>>> Hi,
>>>>>
>>>>> On 4 August 2015 at 12:34, Maarten Lankhorst
>>>>> <maarten.lankhorst@linux.intel.com> wrote:
>>>>>> Commit ec9f932ed41622d120de52a5b525e4d77b9ef17e
>>>>>> "drm/atomic: Cleanup on error properly in the atomic ioctl."
>>>>>> cleaned up some error paths, but didn't fix the TEST_ONLY path.
>>>>>> In the check only case plane->fb shouldn't be updated, and
>>>>>> the vblank events should be cleared as on failure.
>>>>> Bikeshedding a bit ...
>>>>>
>>>>> An early test precludes TEST_ONLY | PAGE_FLIP_EVENT, so you don't need
>>>>> to mention this in the commit message; in this case, the main change
>>>>> is about plane->{,old_}fb.
>>>> Even testing with PAGE_FLIP_EVENT would be useful because
>>>> event && !crtc_state->active should not be allowed. In that case test
>>>> could succeed but commit could fail.
>>> Why would commit fail when the we're in DPMS off? I would suggest it
>>> should be allowed. The operation would just a be a nop from a HW point
>>> of view, all the calculation/checks would still be performed.
>>>
>> You can commit, just not with PAGE_FLIP_EVENT set when crtc is inactive.
> What's so special about the event here? Just send it out as soon as the
> state has been swapped.
Previously this has been disallowed for legacy page flips. I don't see why this should be relaxed. It just complicates things and you have nothing to stick in for the vblank counter.

~Maarten