[PATCH v2.1 1/7] drm/atomic: Add new iterators over all state, v3.

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Mon Jan 16 09:26:11 UTC 2017


Op 15-01-17 om 20:56 schreef Laurent Pinchart:
> Hi Maarten,
>
> Thank you for the patch.
>
> On Tuesday 10 Jan 2017 14:46:58 Maarten Lankhorst wrote:
>> Add for_each_(old)(new)_(plane,connector,crtc)_in_state iterators to
>> replace the old for_each_xxx_in_state ones. This is useful for >1 flip
>> depth and getting rid of all xxx->state dereferences.
>>
>> This requires extra fixups done when committing a state after
>> duplicating, which in general isn't valid but is used by suspend/resume.
>> To handle these, introduce drm_atomic_helper_commit_duplicated_state
>> which performs those fixups before checking & committing the state.
>>
>> Changes since v1:
>> - Remove nonblock parameter for commit_duplicated_state.
>> Changes since v2:
>> - Use commit_duplicated_state for i915 load detection.
>> - Add WARN_ON(old_state != obj->state) before swapping.
>>
>> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
>> ---
>> Forgot that there was a v2. It still broke on igt load detect tests, this
>> should be the fix.
>>
>> I also added a big WARN_ON before swapping to ensure old state is correct.
>> At this point we can no longer fix it because atomic_check is called with
>> the wrong items, but it will help limit the damage.
> This patch now conflicts with "[PATCH v2 4/7] drm/atomic: Fix atomic helpers 
> to use the new iterator macros.". Could you fix that and repost the whole 
> series ?
Yeah I noticed. I wanted to resend because patch 7 had a small bug too, but trybot was failing on some tests.
After doing some bisection by sending patches it turns out the error went away by itself. The failing test also didn't seem related to the series.
With that issue gone, I'll resend.

~Maarten


More information about the dri-devel mailing list