intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: "Thulasimani, Sivakumar" <sivakumar.thulasimani@intel.com>
To: Matt Roper <matthew.d.roper@intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/i915/bxt: Save/restore HOTPLUG_CTL during suspend/resume.
Date: Thu, 4 Feb 2016 07:52:11 +0530	[thread overview]
Message-ID: <56B2B5D3.7010902@intel.com> (raw)
In-Reply-To: <56B2B07B.2090204@intel.com>



On 2/4/2016 7:29 AM, Thulasimani, Sivakumar wrote:
>
>
> On 2/4/2016 7:21 AM, Matt Roper wrote:
>> On Thu, Feb 04, 2016 at 07:17:08AM +0530, Thulasimani, Sivakumar wrote:
>>>
>>> On 2/4/2016 6:19 AM, Matt Roper wrote:
>>>> From: Bob Paauwe <bob.j.paauwe@intel.com>
>>>>
>>>> Broxton has some additional bits in the HOTPLUG_CTL register that
>>>> indicate whether the HPD sense lines need to be inverted or not for 
>>>> the
>>>> current platform.  The BIOS sets these bits to an appropriate value at
>>>> boot time, but the value is lost across suspend/resume.  We need to 
>>>> save
>>>> and restore the register so that hotplug and display detect works on
>>>> resume.
>>> i have a patch that is about to be upstreamed that will read and 
>>> write these
>>> values based on vbt. Shuhangi did the basic testing last week so will
>>> ask her to send to mail list today.  i would prefer that patch where
>>> we know how and when to set these bits rather than just save
>>> & restore.
>> Sure, sounds good.  Can your patch handle cases where there is no VBT by
>> falling back to a save/restore?  Quite often in the embedded world, we
>> have very specialized boot firmware that doesn't resemble vbios/gop and
>> doesn't have any VBT info.
>>
> hmm.. falling back will be required only when older VBTs are used. in 
> which case we
> assume that invert bit is not needed. if you still need this patch 
> then can you save
> and restore only the invert bits ? the code below does it for whole 
> register
> and might enable interrupts too which is not intention of the patch.
>
i am a bit more concerned on the scenario where there is no GOP/VBIOS
and so no VBT. can you share how common it is not have VBIOS/GOP ?
i am aware of coreboot but not sure if it has VBT or not (will check on 
this).
VBT is currently used in nightly where we have no other options
but whenever we dont have to depend on it we have some
sort if WA. i feel this is not good since we cannot say if some
scenario will work or not if VBT is not present. may be a new
thread just to discuss that ?

> regards,
> Sivakumar
>
>> Matt
>>
>>> regards,
>>> Sivakumar
>>>> Signed-off-by: Bob Paauwe <bob.j.paauwe@intel.com>
>>>> [mattrope: Expand commit message]
>>>> Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
>>>> ---
>>>>   drivers/gpu/drm/i915/i915_drv.h     | 1 +
>>>>   drivers/gpu/drm/i915/i915_suspend.c | 7 +++++++
>>>>   2 files changed, 8 insertions(+)
>>>>
>>>> diff --git a/drivers/gpu/drm/i915/i915_drv.h 
>>>> b/drivers/gpu/drm/i915/i915_drv.h
>>>> index 77227a3..2278117 100644
>>>> --- a/drivers/gpu/drm/i915/i915_drv.h
>>>> +++ b/drivers/gpu/drm/i915/i915_drv.h
>>>> @@ -1061,6 +1061,7 @@ struct i915_suspend_saved_registers {
>>>>       uint64_t saveFENCE[I915_MAX_NUM_FENCES];
>>>>       u32 savePCH_PORT_HOTPLUG;
>>>>       u16 saveGCDGMBUS;
>>>> +    u32 saveHOTPLUG;
>>>>   };
>>>>   struct vlv_s0ix_state {
>>>> diff --git a/drivers/gpu/drm/i915/i915_suspend.c 
>>>> b/drivers/gpu/drm/i915/i915_suspend.c
>>>> index 34e061a..efe1e77 100644
>>>> --- a/drivers/gpu/drm/i915/i915_suspend.c
>>>> +++ b/drivers/gpu/drm/i915/i915_suspend.c
>>>> @@ -59,6 +59,10 @@ static void i915_save_display(struct drm_device 
>>>> *dev)
>>>>       /* save FBC interval */
>>>>       if (HAS_FBC(dev) && INTEL_INFO(dev)->gen <= 4 && !IS_G4X(dev))
>>>>           dev_priv->regfile.saveFBC_CONTROL = I915_READ(FBC_CONTROL);
>>>> +
>>>> +    if (IS_BROXTON(dev))
>>>> +        dev_priv->regfile.saveHOTPLUG = I915_READ(PCH_PORT_HOTPLUG);
>>>> +
>>>>   }
>>>>   static void i915_restore_display(struct drm_device *dev)
>>>> @@ -98,6 +102,9 @@ static void i915_restore_display(struct 
>>>> drm_device *dev)
>>>>       if (HAS_FBC(dev) && INTEL_INFO(dev)->gen <= 4 && !IS_G4X(dev))
>>>>           I915_WRITE(FBC_CONTROL, dev_priv->regfile.saveFBC_CONTROL);
>>>> +    if (IS_BROXTON(dev))
>>>> +        I915_WRITE(PCH_PORT_HOTPLUG, dev_priv->regfile.saveHOTPLUG);
>>>> +
>>>>       i915_redisable_vga(dev);
>>>>   }
>
> _______________________________________________
> 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

  reply	other threads:[~2016-02-04  2:59 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-04  0:49 [PATCH] drm/i915/bxt: Save/restore HOTPLUG_CTL during suspend/resume Matt Roper
2016-02-04  1:23 ` Matt Roper
2016-02-04  1:47 ` Thulasimani, Sivakumar
2016-02-04  1:51   ` Matt Roper
2016-02-04  1:59     ` Thulasimani, Sivakumar
2016-02-04  2:22       ` Thulasimani, Sivakumar [this message]
2016-02-04  8:41     ` Jani Nikula
2016-02-15 16:41       ` Daniel Vetter
2016-02-04  8:15 ` ✗ Fi.CI.BAT: warning for " Patchwork

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=56B2B5D3.7010902@intel.com \
    --to=sivakumar.thulasimani@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=matthew.d.roper@intel.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;
as well as URLs for NNTP newsgroup(s).