public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [RFC] Runtime display PM for VLV/BYT
Date: Tue, 15 Oct 2013 11:59:15 +0200	[thread overview]
Message-ID: <20131015095915.GD4830@phenom.ffwll.local> (raw)
In-Reply-To: <1381792069-27800-1-git-send-email-jbarnes@virtuousgeek.org>

On Mon, Oct 14, 2013 at 04:07:44PM -0700, Jesse Barnes wrote:
>   5) more testing - I think the load time ref is still busted here and
>      on HSW

I've chatted quite a bit yesterday with Paulo about how we can test
runtime pm better, since he wanted to get started with testing D3 while
vpg is cooking up the kernel support for this. For general tests that
stuff works I've suggested to pimp the existing pc8.c testcase and
duplicate all the subtests we have there over all the fancy runtime pm
features we'll get. So

for (pm_method in pc8, vlv_power_well, D3, ..)
	for (subtest)
		do_subtest(pm_method)

The pm_method would encapsulate stuff like getting in/out of that state
and checking that we indeed have residency. All the functional tests could
then be shared (i2c, gpu workloads, ...). Even more important once we
stumble over bugs and need new test scenarios.

The other thing is static register setup. Atm we set up registers after
boot, on resume and (in parts at least) after gpu reset, and we already
have bug reports to prove that this is too complicated for us to get
right. Adding D3 and tons other things will make it even more fun.

The problem isn't really the static set of w/as in the ->init_clock_gating
vfuncs, but all the bits and pieces splattered all over the driver:
- w/a which are someplace else due to ordering constraints (e.g. the ring
  specific w/a can't be done in init_clock_gating since the ring enabling
  will clear them again)
- static register setup which is someplace else for better code structure
  (e.g. the ddi buffer translation table setup)

Paulo's idea is to convert the w/a list in init_clock_gating into a table
and also add all the other registers in there but marked with a special
bit saying that those workarounds/settings shouldn't be applied in in the
init_clock_gating code. Then we could scan this table at the usual places
and check the hw state (e.g. after each modeset with all the other modeset
state). The upshot compared to doing this in userspace (Eric started such
a tool in i-g-t/tools/intel_reg_checker) is that we won't have a
synchronization problem between two codebases.

Imo the more dynamic state is already sufficiently locked down with all
our asserts and state cross-checks plus the functional checks from pc8.c

Cheers, Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

      parent reply	other threads:[~2013-10-15  9:58 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-14 23:07 [RFC] Runtime display PM for VLV/BYT Jesse Barnes
2013-10-14 23:07 ` [PATCH 1/5] drm/i915/vlv: power well support " Jesse Barnes
2013-10-14 23:07 ` [PATCH 2/5] drm/i915: add display power well report out to debugfs Jesse Barnes
2013-10-14 23:07 ` [PATCH 3/5] drm/i915/vlv: suspend/resume fixes for VLV/BYT Jesse Barnes
2013-10-14 23:07 ` [PATCH 4/5] drm/i915: take power well refs when needed Jesse Barnes
2013-10-15 19:54   ` Paulo Zanoni
2013-10-15 20:40     ` Jesse Barnes
2013-10-15 20:47       ` Paulo Zanoni
2013-10-15 20:57         ` Jesse Barnes
2013-10-15 21:03           ` Paulo Zanoni
2013-10-16 11:10       ` Imre Deak
2013-10-16 15:08         ` Jesse Barnes
2013-10-17 13:01           ` Imre Deak
2013-10-14 23:07 ` [PATCH 5/5] drm/i915/vlv: support save/restore of display state around power well toggle Jesse Barnes
2013-10-15 20:09   ` Paulo Zanoni
2013-10-15 20:42     ` Jesse Barnes
2013-10-16  8:54       ` Daniel Vetter
2013-10-15  8:06 ` [RFC] Runtime display PM for VLV/BYT Ville Syrjälä
2013-10-15 12:16   ` Imre Deak
2013-10-15 16:23     ` Jesse Barnes
2013-10-15 18:15       ` Imre Deak
2013-10-15 22:09         ` Daniel Vetter
2013-10-16 14:45           ` Imre Deak
2013-10-15  9:59 ` Daniel Vetter [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20131015095915.GD4830@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jbarnes@virtuousgeek.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox