From: Imre Deak <imre.deak@intel.com>
To: Animesh Manna <animesh.manna@intel.com>
Cc: intel-gfx@lists.freedesktop.org, "Runyan,
Arthur J" <arthur.j.runyan@intel.com>
Subject: Re: [DMC_BUGFIX_SKL_V2 0/5] pc10 entry fixes for skl.
Date: Fri, 09 Oct 2015 16:58:22 +0300 [thread overview]
Message-ID: <1444399102.27872.73.camel@intel.com> (raw)
In-Reply-To: <1440533169-32265-1-git-send-email-animesh.manna@intel.com>
After discussions with Art, Ville and others internally on how DC5/6
should normally work and existing open issues related to the HW
automatic DC5/6 functionality, I have the following understanding.
In the future we will require the firmware for any display side runtime
power management (and possibly some power savings during system power
states like S0ix and S3), so in the following we can ignore the case
when the firmware is not available.
Normally we need to run the BSpec display init sequence only when
loading the driver and resuming from S4 if the BIOS hasn't done so
already. PW1 and CDCLK is enabled as part of this sequence and will be
toggled by the DMC firmware on demand, so we must not toggle these
manually during runtime, since that would race with the FW. The same
goes goes for other resources enabled/reset in the init sequence: PCH
reset handshake, DBUF, Misc IO. The manual controls are DC5, DC6 and PW2
which the driver needs to toggle based on the active outputs. We also
need to disable DC5/6 while doing modeset and according to our tests
DPAUX transfers.
When HW enters DC6 and the GT side is idle too (in RC6) the system as a
whole can enter a deeper power state (PC9/10).
Due to a HW issue atm we cannot rely on the HW transitioning
automatically to DC6 and we need to use a manual way instead. We do this
by keeping DC6 disabled all the time and running a special
deinitialization sequence when both the display and GT side is idle, and
the reverse when something becomes active. (that is in the driver's
runtime suspend/resume hooks).
Currently the driver is not following the normal HW assisted flow, since
it toggles DBUF, CDCLK and PW1 manually during runtime. It also lacks
the manual sequence to enable PC9/10.
This patchset solves some of the above issues, by removing the manual
CDCLK and PW1 control and disabling DC6. This will solve some of the
stability issues, but leave PC9/10 disabled. As a follow-up we need to
- move the rest of the display init/uninit sequence out of the
power_well/suspend/resume path and call it only during driver loading/S4
resume as necessary
- add separate DC5/DC6 power wells
- add the manual sequence to enable PC9/10
- add a module parameter to enable either HW assisted DC6, or the manual
way, or disable DC6
- disable DC5/6 during modeset and other places like DPAUX as needed
I'll comment on the individual patches based on the above. I think with
those addressed we could merge this patchset and do the rest as a
follow-up.
--Imre
On ke, 2015-08-26 at 01:36 +0530, Animesh Manna wrote:
> The following patches helps to solve PC10 entry issue for SKL.
> Detailed description about the changes done to solve the issue
> is mentioned in commit message of each patch.
>
> v1: http://lists.freedesktop.org/archives/intel-gfx/2015-August/072870.html
>
> v2: Based on review comments from Daniel, changes made in the current version.
>
> DMC redesign patch series has dependencies with current patch series. Need
> to rework on few patches, planning to send after initial review feedback
> of the current patch series.
> http://lists.freedesktop.org/archives/intel-gfx/2015-August/072921.html
>
>
> Animesh Manna (5):
> drm/i915/skl: Added a check for the hardware status of csr fw before
> loading.
> drm/i915/skl Remove the call for csr uninitialization from suspend
> path
> drm/i915/skl: Making DC6 entry is the last call in suspend flow.
> drm/i915/skl: Do not disable cdclk PLL if csr firmware is present
> drm/i915/skl: Block disable call for pw1 if dmc firmware is present.
>
> drivers/gpu/drm/i915/i915_drv.c | 19 +++++++++++++------
> drivers/gpu/drm/i915/intel_csr.c | 9 +++++++++
> drivers/gpu/drm/i915/intel_display.c | 14 ++++++++++----
> drivers/gpu/drm/i915/intel_drv.h | 2 ++
> drivers/gpu/drm/i915/intel_runtime_pm.c | 31 ++++++++++++++++---------------
> 5 files changed, 50 insertions(+), 25 deletions(-)
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
prev parent reply other threads:[~2015-10-09 13:58 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-25 20:06 [DMC_BUGFIX_SKL_V2 0/5] pc10 entry fixes for skl Animesh Manna
2015-08-25 20:06 ` [DMC_BUGFIX_SKL_V2 1/5] drm/i915/skl: Added a check for the hardware status of csr fw before loading Animesh Manna
2015-08-26 13:10 ` Daniel Vetter
2015-08-26 14:10 ` Animesh Manna
2015-09-02 8:54 ` Daniel Vetter
2015-09-09 20:28 ` Animesh Manna
2015-09-10 14:45 ` Daniel Vetter
2015-09-10 19:05 ` Animesh Manna
2015-09-10 19:06 ` Animesh Manna
2015-09-14 7:46 ` Daniel Vetter
2015-09-16 19:23 ` Animesh Manna
2015-09-23 7:57 ` Daniel Vetter
2015-09-23 16:27 ` Daniel Vetter
2015-09-23 16:28 ` Daniel Vetter
2015-09-23 17:17 ` Daniel Vetter
2015-09-23 20:49 ` Rafael J. Wysocki
2015-09-28 6:52 ` Daniel Vetter
2015-09-28 23:54 ` Rafael J. Wysocki
2015-09-29 8:51 ` Daniel Vetter
2015-09-30 0:50 ` Rafael J. Wysocki
2015-09-30 12:14 ` Daniel Vetter
2015-09-30 23:34 ` Rafael J. Wysocki
2015-09-07 11:04 ` Sunil Kamath
2015-09-07 16:22 ` Daniel Vetter
2015-09-09 20:33 ` Animesh Manna
2015-09-28 7:03 ` Daniel Vetter
2015-08-25 20:06 ` [DMC_BUGFIX_SKL_V2 2/5] drm/i915/skl Remove the call for csr uninitialization from suspend path Animesh Manna
2015-09-07 11:05 ` Sunil Kamath
2015-08-25 20:06 ` [DMC_BUGFIX_SKL_V2 3/5] drm/i915/skl: Making DC6 entry is the last call in suspend flow Animesh Manna
2015-09-07 11:06 ` Sunil Kamath
2015-09-28 7:21 ` Daniel Vetter
2015-09-28 18:49 ` Hindman, Gavin
2015-09-29 5:31 ` [DMC_BUGFIX_V3] " Animesh Manna
2015-10-16 12:22 ` Imre Deak
2015-10-19 9:26 ` Daniel Vetter
2015-09-29 5:38 ` [DMC_BUGFIX_SKL_V2 3/5] " Animesh Manna
2015-09-29 9:01 ` Daniel Vetter
2015-09-29 12:35 ` Patrik Jakobsson
2015-09-29 13:01 ` Daniel Vetter
2015-09-29 13:23 ` Ville Syrjälä
2015-09-29 14:00 ` Daniel Vetter
2015-08-25 20:06 ` [DMC_BUGFIX_SKL_V2 4/5] drm/i915/skl: Do not disable cdclk PLL if csr firmware is present Animesh Manna
2015-08-26 13:11 ` Daniel Vetter
2015-08-26 14:31 ` Animesh Manna
2015-08-31 1:03 ` Hindman, Gavin
2015-09-02 8:58 ` Daniel Vetter
2015-09-07 11:07 ` Sunil Kamath
2015-08-25 20:06 ` [DMC_BUGFIX_SKL_V2 5/5] drm/i915/skl: Block disable call for pw1 if dmc " Animesh Manna
2015-09-07 11:09 ` Sunil Kamath
2015-09-28 7:24 ` Daniel Vetter
2015-10-09 13:58 ` Imre Deak [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=1444399102.27872.73.camel@intel.com \
--to=imre.deak@intel.com \
--cc=animesh.manna@intel.com \
--cc=arthur.j.runyan@intel.com \
--cc=intel-gfx@lists.freedesktop.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.