From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH 2/4] drm/i915: cancel hotplug and dig_port work during suspend and unload Date: Tue, 12 Aug 2014 15:36:01 +0300 Message-ID: <1407846961.11068.11.camel@intelbox> References: <1407783257-29468-1-git-send-email-imre.deak@intel.com> <20140812121356.GW4193@intel.com> Reply-To: imre.deak@intel.com Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1812434606==" Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 0D6DB6E080 for ; Tue, 12 Aug 2014 05:36:04 -0700 (PDT) In-Reply-To: <20140812121356.GW4193@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville =?ISO-8859-1?Q?Syrj=E4l=E4?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org --===============1812434606== Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-g5w8XCUCsURtOHpE/2dN" --=-g5w8XCUCsURtOHpE/2dN Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, 2014-08-12 at 15:13 +0300, Ville Syrj=C3=A4l=C3=A4 wrote: > On Mon, Aug 11, 2014 at 09:54:15PM +0300, Imre Deak wrote: > > Make sure these work handlers don't run after we system suspend or > > unload the driver. Note that we don't cancel the handlers during runtim= e > > suspend. That could lead to a lockup, since we take a runtime PM ref > > from the handlers themselves. Fortunaltely canceling there is not neede= d > > since the RPM ref itself provides for the needed serialization. > >=20 > > Signed-off-by: Imre Deak > > --- > > drivers/gpu/drm/i915/i915_drv.c | 8 ++++++++ > > drivers/gpu/drm/i915/i915_drv.h | 1 + > > drivers/gpu/drm/i915/intel_display.c | 3 +-- > > 3 files changed, 10 insertions(+), 2 deletions(-) > >=20 > > diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i91= 5_drv.c > > index ec96f9a..0653761 100644 > > --- a/drivers/gpu/drm/i915/i915_drv.c > > +++ b/drivers/gpu/drm/i915/i915_drv.c > > @@ -494,6 +494,13 @@ bool i915_semaphore_is_enabled(struct drm_device *= dev) > > return true; > > } > > =20 > > +void intel_hpd_cancel_work(struct drm_i915_private *dev_priv) > > +{ > > + cancel_work_sync(&dev_priv->hotplug_work); > > + cancel_work_sync(&dev_priv->dig_port_work); >=20 > Since dig_port_work can queue a hotplug_work shouldn't these two be > swapped? Right, will fix that. > I wonder if we should also clear hpd_event_bits and > {long,short}_hpd_port_mask before cancelling the works? At least it > might make the works end a bit quicker if the are already running. Makes sense for speed, will fix it. Another thing is that a final instance of these works can now run with interrupts disabled that could cause DP AUX timeouts for example. That could be avoided for example by adding a new dev_priv->hpd_irqs_disabled flag and setting it before disabling interrupts, but I didn't want to make things more complicated before getting some feedback. > I also noticed that we don't seem to grab any rpm/powerwell references > in ->hpd_pulse() or i915_digport_work_func(). That doesn't seem right. > Or maybe you already addressed that in another patch? No, I haven't. I thought it's enough that all low level functions like DPCD read, link training do take already the needed refs. Isn't that enough? --Imre --=-g5w8XCUCsURtOHpE/2dN 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) iQEcBAABAgAGBQJT6goxAAoJEORIIAnNuWDFbZsIAMjmqzADzIw+TXIWkQfyX++Z hMHa0ecRjvzHduPTdEBBjv8Ttpii0lzkxNpEZT9405D/U3VaGZW4aBt1OJWK54zC DqUE7tpofNdTGqpSKCnNsGhD3w21jru2jjQT7CUpehvfHa6Zc6uRU4nh4EWfH/h8 oavmx04fMqgjvdk9dJ45k+z5wprftOp+ikS0GiFnciEK3NQcyW7svS/pMLZbi9u3 bPDmsogCfEsWmhp+bTLGnx5xB9nY71reD4BaN3jaojkoyb7Od4vmuafJ6Rv/CY5R +LWKOnoVgNn2ni05FKcDdDs5b4iRQdylEcQ4V5Y6b7DAcWM9TlV+aJJVtP20q+0= =6Z/B -----END PGP SIGNATURE----- --=-g5w8XCUCsURtOHpE/2dN-- --===============1812434606== 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 --===============1812434606==--