Re: [PATCH 2/2] drm/i915: Only check pipe state for fast modeset when it's possible.

Maarten Lankhorst
2015-09-23T13:35:30Z

Op 14-09-15 om 19:10 schreef Daniel Stone:
> Hi,
>
> On 14 September 2015 at 10:30, Maarten Lankhorst
> <maarten.lankhorst@linux.intel.com> wrote:
>> @@ -13013,14 +13013,15 @@ static int intel_atomic_check(struct drm_device *dev,
>> if (ret)
>> return ret;
>>
>> - if (intel_pipe_config_compare(state->dev,
>> - to_intel_crtc_state(crtc->state),
>> - pipe_config, true)) {
>> + if (!crtc_state->connectors_changed &&
>> + !crtc_state->active_changed && look
>> + crtc_state->active &&
>> + intel_pipe_config_compare(state->dev,
>> + to_intel_crtc_state(crtc->state),
>> + pipe_config, true)) {
>> crtc_state->mode_changed = false;
>> - to_intel_crtc_state(crtc_state)->update_pipe = true;
>> - }
>> -
>> - if (needs_modeset(crtc_state)) {
>> + pipe_config->update_pipe = true;
>> + } else {
>> any_ms = true;
> The change from only setting any_ms if needs_modeset() is true, to
> always if we can't do a fastset, seems correct but maybe a bit subtle.
It's exactly the same thing, just made a bit more explicit.

before: any_ms = needs_modeset() with mode_changed = !update_pipe.
After: any_ms = !update_pipe.

> Was that intended? At the moment it does look like it'll widen the net
> a little bit, but I _suspect_ that's a good thing. Pending igt:
> Acked-by: Daniel Stone <daniels@collabora.com>
>
> Cheers,
> Daniel