From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH 04/19] drm/i915: extract __hsw_do_{en, dis}able_package_c8 Date: Thu, 27 Feb 2014 16:49:23 +0200 Message-ID: <1393512563.3479.4.camel@intelbox> References: <1387461309-2756-1-git-send-email-przanoni@gmail.com> <1387461309-2756-5-git-send-email-przanoni@gmail.com> Reply-To: imre.deak@intel.com Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0141672812==" Return-path: Received: from mga14.intel.com (mga14.intel.com [143.182.124.37]) by gabe.freedesktop.org (Postfix) with ESMTP id 469F5105898 for ; Thu, 27 Feb 2014 06:49:26 -0800 (PST) In-Reply-To: <1387461309-2756-5-git-send-email-przanoni@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org To: Paulo Zanoni Cc: intel-gfx@lists.freedesktop.org, Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org --===============0141672812== Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-4wXynAwOPDmlZ2ySQDXO" --=-4wXynAwOPDmlZ2ySQDXO Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, 2013-12-19 at 11:54 -0200, Paulo Zanoni wrote: > From: Paulo Zanoni >=20 > When we merge PC8 and runtime PM, these new functions are going to be > called by the runtime suspend/resume functions, and their callers are > going to be removed. >=20 > Signed-off-by: Paulo Zanoni Reviewed-by: Imre Deak > --- > drivers/gpu/drm/i915/intel_display.c | 64 +++++++++++++++++++++---------= ------ > 1 file changed, 38 insertions(+), 26 deletions(-) >=20 > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/= intel_display.c > index c661423..db6523e 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -6638,19 +6638,11 @@ static void hsw_restore_lcpll(struct drm_i915_pri= vate *dev_priv) > gen6_gt_force_wake_put(dev_priv, FORCEWAKE_ALL); > } > =20 > -void hsw_enable_pc8_work(struct work_struct *__work) > +static void __hsw_do_enable_pc8(struct drm_i915_private *dev_priv) > { > - struct drm_i915_private *dev_priv =3D > - container_of(to_delayed_work(__work), struct drm_i915_private, > - pc8.enable_work); > struct drm_device *dev =3D dev_priv->dev; > uint32_t val; > =20 > - WARN_ON(!HAS_PC8(dev)); > - > - if (dev_priv->pc8.enabled) > - return; > - > DRM_DEBUG_KMS("Enabling package C8+\n"); > =20 > dev_priv->pc8.enabled =3D true; > @@ -6664,7 +6656,21 @@ void hsw_enable_pc8_work(struct work_struct *__wor= k) > lpt_disable_clkout_dp(dev); > hsw_pc8_disable_interrupts(dev); > hsw_disable_lcpll(dev_priv, true, true); > +} > + > +void hsw_enable_pc8_work(struct work_struct *__work) > +{ > + struct drm_i915_private *dev_priv =3D > + container_of(to_delayed_work(__work), struct drm_i915_private, > + pc8.enable_work); > + struct drm_device *dev =3D dev_priv->dev; > + > + WARN_ON(!HAS_PC8(dev)); > =20 > + if (dev_priv->pc8.enabled) > + return; > + > + __hsw_do_enable_pc8(dev_priv); > intel_runtime_pm_put(dev_priv); > } > =20 > @@ -6682,29 +6688,13 @@ static void __hsw_enable_package_c8(struct drm_i9= 15_private *dev_priv) > msecs_to_jiffies(i915_pc8_timeout)); > } > =20 > -static void __hsw_disable_package_c8(struct drm_i915_private *dev_priv) > +static void __hsw_do_disable_package_c8(struct drm_i915_private *dev_pri= v) > { > struct drm_device *dev =3D dev_priv->dev; > uint32_t val; > =20 > - WARN_ON(!mutex_is_locked(&dev_priv->pc8.lock)); > - WARN(dev_priv->pc8.disable_count < 0, > - "pc8.disable_count: %d\n", dev_priv->pc8.disable_count); > - > - dev_priv->pc8.disable_count++; > - if (dev_priv->pc8.disable_count !=3D 1) > - return; > - > - WARN_ON(!HAS_PC8(dev)); > - > - cancel_delayed_work_sync(&dev_priv->pc8.enable_work); > - if (!dev_priv->pc8.enabled) > - return; > - > DRM_DEBUG_KMS("Disabling package C8+\n"); > =20 > - intel_runtime_pm_get(dev_priv); > - > hsw_restore_lcpll(dev_priv); > hsw_pc8_restore_interrupts(dev); > lpt_init_pch_refclk(dev); > @@ -6723,6 +6713,28 @@ static void __hsw_disable_package_c8(struct drm_i9= 15_private *dev_priv) > dev_priv->pc8.enabled =3D false; > } > =20 > +static void __hsw_disable_package_c8(struct drm_i915_private *dev_priv) > +{ > + struct drm_device *dev =3D dev_priv->dev; > + > + WARN_ON(!mutex_is_locked(&dev_priv->pc8.lock)); > + WARN(dev_priv->pc8.disable_count < 0, > + "pc8.disable_count: %d\n", dev_priv->pc8.disable_count); > + > + dev_priv->pc8.disable_count++; > + if (dev_priv->pc8.disable_count !=3D 1) > + return; > + > + WARN_ON(!HAS_PC8(dev)); > + > + cancel_delayed_work_sync(&dev_priv->pc8.enable_work); > + if (!dev_priv->pc8.enabled) > + return; > + > + intel_runtime_pm_get(dev_priv); > + __hsw_do_disable_package_c8(dev_priv); > +} > + > void hsw_enable_package_c8(struct drm_i915_private *dev_priv) > { > if (!HAS_PC8(dev_priv->dev)) --=-4wXynAwOPDmlZ2ySQDXO Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux) iQEcBAABAgAGBQJTD1BzAAoJEORIIAnNuWDFbEYIAJnfDg5+Vbyw49/0gfK/rDyF CiaJtBldz7A3pY3eEGpF5gj6xHJtJW69WbZeX2TxX28x3YhFh3IAWFmAZ7scCBCP sC8KqjWl6ZjTSmqoS6bD1yg6b4KI1OOJgLASQIeMBpWhSTTJvXv51EjfoLUzPFqW 9VLT2ovWjXNh91EXSkSLE+ncVZUmDjsHKUJX8UYcFfhUBTa1hI8+8ba8J2PINk35 sqjlVyTWScu7pvGC8HcE1NoyCvNAmZKkHtV3lteOotp4vkG6t9QFGLorn02MHKFw 8v6S7RrK/WHGyNj68+Ks9vtZFSY6nZOEAKAvzxtUIGwDIY6yWY0QcfU7MzmXR+4= =zXjl -----END PGP SIGNATURE----- --=-4wXynAwOPDmlZ2ySQDXO-- --===============0141672812== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx --===============0141672812==--