Re: [PATCH v2 18/20] drm/i915: Only commit planes on crtc's that have changed planes.

Maarten Lankhorst
2015-07-07T10:51:08Z

Op 07-07-15 om 11:33 schreef Daniel Vetter:
> On Tue, Jul 07, 2015 at 09:08:29AM +0200, Maarten Lankhorst wrote:
>> No point in applying vblank evasion if there's nothing to evade.
>>
>> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>> ---
>> drivers/gpu/drm/i915/intel_display.c | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
>> index 71fc35d814d1..2eaccdc59a9a 100644
>> --- a/drivers/gpu/drm/i915/intel_display.c
>> +++ b/drivers/gpu/drm/i915/intel_display.c
>> @@ -13288,7 +13288,10 @@ static int intel_atomic_commit(struct drm_device *dev,
>> if (!modeset)
>> intel_pre_plane_update(intel_crtc);
>>
>> - drm_atomic_helper_commit_planes_on_crtc(crtc_state);
>> + if (crtc->state->planes_changed ||
>> + to_intel_crtc_state(crtc->state)->update_pipe)
>> + drm_atomic_helper_commit_planes_on_crtc(crtc_state);
> What if we change some crtc property which is updated under vblank
> evasion, but no plane state? e.g. background color. Imo trying to optimize
> this doesn't speed up any common case, but makes things more fragile.
>
update_pipe = true.

~Maarten