From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Paulo Zanoni <przanoni@gmail.com>
Cc: Jani Nikula <jani.nikula@intel.com>,
Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Subject: Re: [PATCH 6/6] DRAFT: drm/i915: do adapter power state notification on PC8+ enable/disable
Date: Mon, 26 Aug 2013 10:43:50 +0300 [thread overview]
Message-ID: <20130826074350.GD11428@intel.com> (raw)
In-Reply-To: <CA+gsUGTzhH7Hq=tm5CrHAMzE9HTx=oZ_6mKDPMh5NNBdAsjn+g@mail.gmail.com>
On Fri, Aug 23, 2013 at 05:14:00PM -0300, Paulo Zanoni wrote:
> 2013/8/23 Ville Syrjälä <ville.syrjala@linux.intel.com>:
> > On Fri, Aug 23, 2013 at 04:41:57PM -0300, Paulo Zanoni wrote:
> >> 2013/8/23 Kristen Carlson Accardi <kristen.c.accardi@intel.com>:
> >> > On Fri, 23 Aug 2013 13:44:17 -0300
> >> > Paulo Zanoni <przanoni@gmail.com> wrote:
> >> >
> >> >> 2013/8/23 Jani Nikula <jani.nikula@intel.com>:
> >> >>
> >> >> /* Please insert explanation on why we need this and what changes if
> >> >> we do this. */
> >> >>
> >> >> I applied your patches and booted them. I got into PC8, did the PC8
> >> >> test suite and nothing changed. I really don't know what to expect
> >> >> from this series and/or how to check what's improving. Also, see
> >> >> below:
> >> >>
> >> >
> >> > So this is one of these things that will have no visible impact on
> >> > i915, but will impact other parts of the system. So I think the only
> >> > way to test it is by throwing it on the SIP board and checking the
> >> > power level of the components this impacts (Audio, thermal, KBC/EC,
> >> > LPT). And without the code which does the actual PCI D3 request from
> >> > i915, nothing will happen.
> >>
> >> I was told we could try to verify this by reading PCI config register
> >> 0xd4, but for me it's always 0x0, which means we're probably not
> >> really getting into D3.
> >
> > You have to write 0x3 into the PCI PM register to make it enter D3.
> > Exactly like you do when you suspend the whole machine.
> >
> > Not sure 0xd4 is the correct offset in this case, but you can look
> > it up from lspci output (remember +4), or in kernel code just use
> > pci_dev.pm_cap+4. Hmm, it's 0xd4 in my SNB at least. Maybe it's always
> > the same for the GPU.
>
> Check the description of 0xd4 on BSpec.
>
> I actually wrote the "get into D3" value to it (using setpci), and
> then when I got out of PC8 I saw tons and tons of error messages on
> dmesg due to the fact that we were failing to write registers. Which
> means it probably works, but we may have more work to do.
My quick and dirty idea for runtime PM would be something like this:
- for ioctls just slap rpm_get_sync/put() around drm_ioctl,
not optimal but it's very easy for getting started
- all sysfs/debugfs stuff would need to be handled individually
- to deal w/ gtt mmaps just call put_fence or something during suspend,
grab one ref in fault and probably release it from a delayed work,
or mabe record a timestamp at last fault time and check it in the idle
callback
- grab one ref per request (or per active ring maybe?)
- grab one ref per active pipe
- maybe some odd delayed work would need another reference
With that, I think everything of importance would hold a reference,
so the runtime pm idle callback shouldn't really need to do much.
--
Ville Syrjälä
Intel OTC
next prev parent reply other threads:[~2013-08-26 7:44 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-23 10:17 [PATCH 0/6] drm/i915: BIOS display/adapter power state notifications Jani Nikula
2013-08-23 10:17 ` [PATCH 1/6] drm/i915: expose intel_ddi_get_encoder_port() Jani Nikula
2013-08-28 17:21 ` Paulo Zanoni
2013-08-23 10:17 ` [PATCH 2/6] drm/i915: add plumbing for SWSCI Jani Nikula
2013-08-28 13:56 ` [PATCH] " Jani Nikula
2013-08-29 13:50 ` Paulo Zanoni
2013-08-29 14:57 ` Paulo Zanoni
2013-08-29 15:12 ` Jani Nikula
2013-08-29 17:15 ` Paulo Zanoni
2013-08-23 10:17 ` [PATCH 3/6] drm/i915: add opregion function to notify bios of encoder enable/disable Jani Nikula
2013-08-29 14:36 ` Paulo Zanoni
2013-08-29 15:18 ` Jani Nikula
2013-08-29 17:31 ` Paulo Zanoni
2013-08-29 15:20 ` Paulo Zanoni
2013-08-23 10:17 ` [PATCH 4/6] drm/i915: add opregion function to notify bios of adapter power state Jani Nikula
2013-08-29 15:07 ` Paulo Zanoni
2013-08-29 15:21 ` Jani Nikula
2013-08-23 10:17 ` [PATCH 5/6] DRAFT: drm/i915: do display power state notification on crtc enable/disable Jani Nikula
2013-08-29 15:19 ` Paulo Zanoni
2013-08-23 10:17 ` [PATCH 6/6] DRAFT: drm/i915: do adapter power state notification on PC8+ enable/disable Jani Nikula
2013-08-23 16:44 ` Paulo Zanoni
2013-08-23 17:57 ` Kristen Carlson Accardi
2013-08-23 19:41 ` Paulo Zanoni
2013-08-23 20:06 ` Ville Syrjälä
2013-08-23 20:14 ` Paulo Zanoni
2013-08-26 7:43 ` Ville Syrjälä [this message]
2013-08-26 9:19 ` Daniel Vetter
-- strict thread matches above, loose matches on Subject: below --
2013-08-30 16:40 [PATCH 0/6] drm/i915: BIOS display/adapter power state notifications Jani Nikula
2013-08-30 16:40 ` [PATCH 6/6] DRAFT: drm/i915: do adapter power state notification on PC8+ enable/disable Jani Nikula
2013-08-30 19:55 ` Paulo Zanoni
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=20130826074350.GD11428@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
--cc=kristen.c.accardi@intel.com \
--cc=przanoni@gmail.com \
/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