From: Animesh Manna <animesh.manna@intel.com>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: Daniel Vetter <daniel.vetter@intel.com>, intel-gfx@lists.freedesktop.org
Subject: Re: [SKL-DMC-BUGFIX 4/5] drm/i915/skl: Block disable call for pw1 if dmc firmware is present.
Date: Thu, 06 Aug 2015 14:27:43 +0530 [thread overview]
Message-ID: <55C32187.3000408@intel.com> (raw)
In-Reply-To: <20150805091432.GR17734@phenom.ffwll.local>
On 8/5/2015 2:44 PM, Daniel Vetter wrote:
> On Mon, Aug 03, 2015 at 09:55:35PM +0530, Animesh Manna wrote:
>> Another interesting criteria to work dmc as expected is pw1 to be
>> enabled by driver and dmc will shut it off in its execution
>> sequence. If already disabled by driver dmc will get confuse and
>> behave differently than expected found during pc10 entry issue
>> for skl.
>>
>> So berfore we disable power-well 1, added check if dmc firmware is
>> present and driver will not disable power well 1, but for any reason
>> if firmware is not present of failed to load we can shut off the
>> power well 1 which will save some power.
>>
>> As skl is currently fully dependent on dmc to go in lowest possible
>> power state (dc6) but the same is not applicable for bxt. Display
>> engine can enter into dc9 without dmc, hence unblocking disable call.
>>
>> v1: Initial version.
>>
>> v2: Based on revire commnents from Sunil,
>> - condition check for pw1 is moved in skl_set_power_well.
> There's another patch from Damien/Paulo to do some similar fumbling
> between LCPLL and PW1. We probably want to completely take away PW1 from
> being controlled by the power wells code and push it all into the rpm code
> (where we either disable pw1, pw-misc and lcpll in one go or leave it all
> to the dmc firmware).
> -Daniel
Patch from Damien/Paulo submitted in intel-gfx mailing list? I have not seen the
actual implementation.
skl_set_power_well() is the function where enable/disable operation for all power-wells
is implemented. Imo, till we can add different condition check for taking care
special cases like dmc, its better to put power-well related enable/disable
code in same place - by this we will avoid code duplication and code readability
will be better. Send me your suggestion, accordingly if needed I will add required
changes.
- Animesh
>
>> Cc: Daniel Vetter <daniel.vetter@intel.com>
>> Cc: Damien Lespiau <damien.lespiau@intel.com>
>> Cc: Imre Deak <imre.deak@intel.com>
>> Cc: Sunil Kamath <sunil.kamath@intel.com>
>> Signed-off-by: Animesh Manna <animesh.manna@intel.com>
>> Signed-off-by: Vathsala Nagaraju <vathsala.nagaraju@intel.com>
>> ---
>> drivers/gpu/drm/i915/intel_runtime_pm.c | 12 +++++++++---
>> 1 file changed, 9 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
>> index c660245..00cd4ff 100644
>> --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
>> +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
>> @@ -636,9 +636,15 @@ static void skl_set_power_well(struct drm_i915_private *dev_priv,
>> }
>> } else {
>> if (enable_requested) {
>> - I915_WRITE(HSW_PWR_WELL_DRIVER, tmp & ~req_mask);
>> - POSTING_READ(HSW_PWR_WELL_DRIVER);
>> - DRM_DEBUG_KMS("Disabling %s\n", power_well->name);
>> + if (IS_SKYLAKE(dev) &&
>> + (power_well->data == SKL_DISP_PW_1) &&
>> + (intel_csr_load_status_get(dev_priv) == FW_LOADED))
>> + DRM_DEBUG_KMS("Not Disabling PW1, dmc will handle\n");
>> + else {
>> + I915_WRITE(HSW_PWR_WELL_DRIVER, tmp & ~req_mask);
>> + POSTING_READ(HSW_PWR_WELL_DRIVER);
>> + DRM_DEBUG_KMS("Disabling %s\n", power_well->name);
>> + }
>>
>> if (GEN9_ENABLE_DC5(dev) &&
>> power_well->data == SKL_DISP_PW_2)
>> --
>> 2.0.2
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2015-08-06 8:57 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-03 16:25 [SKL-DMC-BUGFIX 0/5] SKL PC10 entry fixes Animesh Manna
2015-08-03 16:25 ` [SKL-DMC-BUGFIX 1/5] drm/i915/gen9: Removed byte swapping for csr firmware Animesh Manna
2015-08-04 3:46 ` Nagaraju, Vathsala
2015-08-04 5:55 ` Animesh Manna
2015-08-05 9:01 ` Daniel Vetter
2015-08-06 9:20 ` Animesh Manna
2015-09-11 15:29 ` Mika Kuoppala
2015-09-14 7:35 ` [REGRESSION] " Daniel Vetter
2015-09-17 9:36 ` Mika Kuoppala
2015-08-04 11:24 ` [SKL-DMC-BUGFIX 1/5] " Sunil Kamath
2015-08-03 16:25 ` [SKL-DMC-BUGFIX 2/5] drm/i915/skl: Making DC6 entry is the last call in suspend flow Animesh Manna
2015-08-04 11:25 ` Sunil Kamath
2015-08-05 9:07 ` Daniel Vetter
2015-08-05 9:05 ` Daniel Vetter
2015-08-06 9:17 ` Animesh Manna
2015-08-06 10:50 ` [PATCH " Animesh Manna
2015-08-06 13:18 ` [SKL-DMC-BUGFIX " Daniel Vetter
2015-08-06 14:38 ` Animesh Manna
2015-08-06 15:38 ` Daniel Vetter
2015-10-12 13:32 ` Imre Deak
2015-10-12 15:43 ` [PATCH] drm/i915: Disable DC6 for now Rodrigo Vivi
2015-10-13 1:24 ` Hindman, Gavin
2015-08-03 16:25 ` [SKL-DMC-BUGFIX 3/5] drm/i915/skl: Do not disable cdclk PLL if csr firmware is present Animesh Manna
2015-08-04 11:26 ` Sunil Kamath
2015-08-05 9:12 ` Daniel Vetter
2015-08-06 9:03 ` Animesh Manna
2015-08-06 11:23 ` Animesh Manna
2015-10-12 13:37 ` Imre Deak
2015-10-12 14:07 ` Imre Deak
2015-10-12 14:46 ` Patrik Jakobsson
2015-10-12 15:11 ` Imre Deak
2015-08-03 16:25 ` [SKL-DMC-BUGFIX 4/5] drm/i915/skl: Block disable call for pw1 if dmc " Animesh Manna
2015-08-04 11:27 ` Sunil Kamath
2015-08-05 9:14 ` Daniel Vetter
2015-08-06 8:57 ` Animesh Manna [this message]
2015-10-12 13:45 ` Imre Deak
2015-08-03 16:25 ` [SKL-DMC-BUGFIX 5/5] drm/i915/skl: Removed csr firmware load in resume path Animesh Manna
2015-08-04 11:20 ` Sunil Kamath
2015-08-04 11:33 ` Animesh Manna
2015-08-06 9:49 ` Animesh Manna
2015-10-12 14:02 ` Imre Deak
2015-08-03 18:47 ` [SKL-DMC-BUGFIX 0/5] SKL PC10 entry fixes Zanoni, Paulo R
2015-08-04 11:31 ` Sunil Kamath
2015-08-04 13:14 ` Zanoni, Paulo R
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=55C32187.3000408@intel.com \
--to=animesh.manna@intel.com \
--cc=daniel.vetter@intel.com \
--cc=daniel@ffwll.ch \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox