[Intel-gfx] [PATCH 2/2] drm/i915: calculate pfit changes in set_config v3

Daniel Vetter daniel at ffwll.ch
Tue Dec 9 13:16:33 PST 2014


On Tue, Dec 9, 2014 at 6:51 PM, Jesse Barnes <jbarnes at virtuousgeek.org> wrote:
> On Tue, 11 Nov 2014 12:30:47 -0800
> Jesse Barnes <jbarnes at virtuousgeek.org> wrote:
>
>> This should allow us to avoid mode sets for some panel fitter config
>> changes.
>>
>> v2:
>>   - fixup pfit comment (Ander)
>> v3:
>>   - fixup pfit disable shortcut, only apply to gen4 for now (Jesse)
>>
>
> Daniel pointed out offline that in the !fastboot case, this will fail
> to do the pipe size update if we ever try to skip the mode set when
> changing the pfit state.
>
> To address that we'll need to handle the pfit changes more generally
> anyway, which gets tricky when we're trying to discard the BIOS state.
>
> Ander, if you want to tackle this as part of your multi-pipe stuff,
> feel free, otherwise I'll get to it after the holidays.

Quick addition with two more smaller things we've discussed a bit too:
- We need a dedicated testcase for this special pfit path. Currently
all igts disable the pipe again before applying changes, so won't
exercise this. We need new testcase which does direct mode changes
(i.e. native -> scaled, scaled->native and scaled->scaled) to make
sure this works well. With atomc we could even make sure it happens in
just 1 vblank, but current interfaces don't allow a pageflip
completion event for setCrtc, so that part has to wait.

- I think the overall decision logic for modeset-or-not should switch
over to comparing the entire hw state (as stored in
intel_crtc_config). That way we can drop the fastboot hack which
copies the adjusted_mode from the pipe config to crtc->mode since we
only compare the resulting adjusted mode. This should also be more
robust in handling corner cases like the hdmi infoframes logic that we
had to take out again.

Anyway just these two to summarize our offline discussion.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the Intel-gfx mailing list