From: Imre Deak <imre.deak@intel.com>
To: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Intel Graphics Development <intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH 1/4] drm/i915: move modeset checks out of save/restore_modeset_reg
Date: Mon, 28 Jan 2013 12:54:26 +0200 [thread overview]
Message-ID: <1359370466.3592.7.camel@ideak-mobl> (raw)
In-Reply-To: <1359132802-1247-2-git-send-email-daniel.vetter@ffwll.ch>
On Fri, 2013-01-25 at 17:53 +0100, Daniel Vetter wrote:
> That way the control flow is clearer, and it prepares the stage
> to extract these ums functions and hide them somewhere.
>
> There's still tons of display stuff outside of these, but that
> requires more work.
>
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
> drivers/gpu/drm/i915/i915_suspend.c | 38 +++++++++++++++----------------------
> 1 file changed, 15 insertions(+), 23 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c
> index 63d4d30..2e3a8a6 100644
> --- a/drivers/gpu/drm/i915/i915_suspend.c
> +++ b/drivers/gpu/drm/i915/i915_suspend.c
> @@ -240,9 +240,6 @@ static void i915_save_modeset_reg(struct drm_device *dev)
> struct drm_i915_private *dev_priv = dev->dev_private;
> int i;
>
> - if (drm_core_check_feature(dev, DRIVER_MODESET))
> - return;
> -
> /* Cursor state */
> dev_priv->regfile.saveCURACNTR = I915_READ(_CURACNTR);
> dev_priv->regfile.saveCURAPOS = I915_READ(_CURAPOS);
> @@ -410,8 +407,17 @@ static void i915_restore_modeset_reg(struct drm_device *dev)
> int dpll_b_reg, fpb0_reg, fpb1_reg;
> int i;
>
> - if (drm_core_check_feature(dev, DRIVER_MODESET))
> - return;
> + /* Display port ratios (must be done before clock is set) */
> + if (SUPPORTS_INTEGRATED_DP(dev)) {
> + I915_WRITE(_PIPEA_GMCH_DATA_M, dev_priv->regfile.savePIPEA_GMCH_DATA_M);
> + I915_WRITE(_PIPEB_GMCH_DATA_M, dev_priv->regfile.savePIPEB_GMCH_DATA_M);
> + I915_WRITE(_PIPEA_GMCH_DATA_N, dev_priv->regfile.savePIPEA_GMCH_DATA_N);
> + I915_WRITE(_PIPEB_GMCH_DATA_N, dev_priv->regfile.savePIPEB_GMCH_DATA_N);
> + I915_WRITE(_PIPEA_DP_LINK_M, dev_priv->regfile.savePIPEA_DP_LINK_M);
> + I915_WRITE(_PIPEB_DP_LINK_M, dev_priv->regfile.savePIPEB_DP_LINK_M);
> + I915_WRITE(_PIPEA_DP_LINK_N, dev_priv->regfile.savePIPEA_DP_LINK_N);
> + I915_WRITE(_PIPEB_DP_LINK_N, dev_priv->regfile.savePIPEB_DP_LINK_N);
> + }
>
> /* Fences */
> switch (INTEL_INFO(dev)->gen) {
> @@ -624,7 +630,8 @@ static void i915_save_display(struct drm_device *dev)
>
> /* This is only meaningful in non-KMS mode */
> /* Don't regfile.save them in KMS mode */
> - i915_save_modeset_reg(dev);
> + if (!drm_core_check_feature(dev, DRIVER_MODESET))
> + i915_save_modeset_reg(dev);
>
> /* LVDS state */
> if (HAS_PCH_SPLIT(dev)) {
> @@ -709,23 +716,8 @@ static void i915_restore_display(struct drm_device *dev)
> /* Display arbitration */
> I915_WRITE(DSPARB, dev_priv->regfile.saveDSPARB);
>
> - if (!drm_core_check_feature(dev, DRIVER_MODESET)) {
> - /* Display port ratios (must be done before clock is set) */
> - if (SUPPORTS_INTEGRATED_DP(dev)) {
> - I915_WRITE(_PIPEA_GMCH_DATA_M, dev_priv->regfile.savePIPEA_GMCH_DATA_M);
> - I915_WRITE(_PIPEB_GMCH_DATA_M, dev_priv->regfile.savePIPEB_GMCH_DATA_M);
> - I915_WRITE(_PIPEA_GMCH_DATA_N, dev_priv->regfile.savePIPEA_GMCH_DATA_N);
> - I915_WRITE(_PIPEB_GMCH_DATA_N, dev_priv->regfile.savePIPEB_GMCH_DATA_N);
> - I915_WRITE(_PIPEA_DP_LINK_M, dev_priv->regfile.savePIPEA_DP_LINK_M);
> - I915_WRITE(_PIPEB_DP_LINK_M, dev_priv->regfile.savePIPEB_DP_LINK_M);
> - I915_WRITE(_PIPEA_DP_LINK_N, dev_priv->regfile.savePIPEA_DP_LINK_N);
> - I915_WRITE(_PIPEB_DP_LINK_N, dev_priv->regfile.savePIPEB_DP_LINK_N);
> - }
> - }
> -
> - /* This is only meaningful in non-KMS mode */
> - /* Don't restore them in KMS mode */
> - i915_restore_modeset_reg(dev);
> + if (!drm_core_check_feature(dev, DRIVER_MODESET))
> + i915_restore_modeset_reg(dev);
s/modeset/display/ as discussed on IRC. Also would be nice to use
format-patch -C for things like patch 2/4 in the future, as that'd make
reviewing easier imo. Otherwise on the series:
Reviewed-by: Imre Deak <imre.deak@intel.com>
>
> /* LVDS state */
> if (INTEL_INFO(dev)->gen >= 4 && !HAS_PCH_SPLIT(dev))
next prev parent reply other threads:[~2013-01-28 10:54 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-25 16:53 [PATCH 0/4] disable more register safe/restore code for kms Daniel Vetter
2013-01-25 16:53 ` [PATCH 1/4] drm/i915: move modeset checks out of save/restore_modeset_reg Daniel Vetter
2013-01-28 10:54 ` Imre Deak [this message]
2013-01-28 21:54 ` Daniel Vetter
2013-01-25 16:53 ` [PATCH 2/4] drm/i915: extract ums suspend/resume into i915_ums.c Daniel Vetter
2013-01-25 16:53 ` [PATCH 3/4] drm/i915: dont save/restore VGA state for kms Daniel Vetter
2013-01-25 19:09 ` Ville Syrjälä
2013-01-25 19:25 ` Daniel Vetter
2013-01-25 16:53 ` [PATCH 4/4] drm/i915: move DP save/restore into i915_ums.c Daniel Vetter
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=1359370466.3592.7.camel@ideak-mobl \
--to=imre.deak@intel.com \
--cc=daniel.vetter@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 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.