[Intel-gfx] [PATCH 00/31] IPS/DRRS/PSR rework with PSR enabled by default

Daniel Stone daniel at fooishbar.org
Mon Nov 9 03:47:21 PST 2015


Hi Rodrigo,

On 5 November 2015 at 18:49, Rodrigo Vivi <rodrigo.vivi at intel.com> wrote:
> So I'm confident we can enable PSR back by default now.
>
> All comments, ideas, suggestions and even bikesheddings are pretty welcome.

You did ask for it ...

I've been looking at pulling this on top of Maarten's tree, and
currently my overriding wish is that, rather than the checks sprinkled
all over various state-change functions, we instead had:
static bool intel_ips_should_enable(struct intel_crtc_state *crtc_state)

In the pre-atomic commit path, this could look like:
    bool ips = intel_ips_should_enable(crtc_state);
    if (ips && !intel_crtc->ips_enabled)
        intel_ips_enable(intel_crtc);
    else if (!ips && intel_crtc->ips_enabled)
        intel_ips_disable(intel_crtc);

Post-atomic, this would be:
    intel_flip_work->enable_ips = intel_ips_should_enable(crtc_state);
and actually doing the enable/disable in the work handler.

Having one place to inspect the state overall seems better, e.g. in
the case where we disable the primary plane but retain an overlay
plane on a CRTC, we keep IPS enabled. However, it doesn't seem like
there's anything to handle the case where we then disable that overlay
plane, where with no planes enabled at all, IPS should be disabled.

Cheers,
Daniel


More information about the Intel-gfx mailing list