From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [RFC 1/6] drm/i915: cover ioctls with runtime_get/put Date: Wed, 22 Jan 2014 15:23:28 +0200 Message-ID: <1390397008.12277.15.camel@intelbox> References: <1390392262-30937-1-git-send-email-naresh.kumar.kachhi@intel.com> <1390392262-30937-2-git-send-email-naresh.kumar.kachhi@intel.com> <20140122125122.GG9772@phenom.ffwll.local> Reply-To: imre.deak@intel.com Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1000487140==" Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id C0831FBA05 for ; Wed, 22 Jan 2014 05:23:31 -0800 (PST) In-Reply-To: <20140122125122.GG9772@phenom.ffwll.local> 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: Daniel Vetter Cc: intel-gfx@lists.freedesktop.org, naresh.kumar.kachhi@intel.com List-Id: intel-gfx@lists.freedesktop.org --===============1000487140== Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-zA9GxkPE9y7g9iObK8IN" --=-zA9GxkPE9y7g9iObK8IN Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, 2014-01-22 at 13:51 +0100, Daniel Vetter wrote: > On Wed, Jan 22, 2014 at 05:34:17PM +0530, naresh.kumar.kachhi@intel.com w= rote: > > From: Naresh Kumar Kachhi > >=20 > > With runtime PM enabled, we need to make sure that all HW access > > are valid (i.e. Gfx is in D0). Invalid accesses might end up in > > HW hangs. Ex. A hang is seen if display register is accessed on > > BYT while display power island is power gated. > >=20 > > This patch is covering all the IOCTLs with get/put. > > TODO: limit runtime_get/put to IOCTLs that accesses HW > >=20 > > Signed-off-by: Naresh Kumar Kachhi >=20 > Nack on the concept. We need to have get/put calls for the individual > functional blocks of the hw, which then in turn (if it's not the top-leve= l > power domain) need to grab references to the next up power domain. > Splattering unconditional get/puts over all driver entry points is bad > style and imo also too fragile. >=20 > Also, with Paulos final runtime pm/pc8 unification patches and Imre's > display power well patches for byt we should have full coverage already. > Have you looked at the work of these too? I'm still in debt with the BYT specific power domain patches, I want to post them (this week) after I sorted out spurious pipe stat IRQs we'd receive atm with the power well off. Until then there is only the WIP version at: https://github.com/ideak/linux/commits/powerwells But in practice, as you point out the plan was to only call modeset_update_power_wells() during modeset time and that will end up doing the proper RPM get/put as necessary. Similarly on some other code paths like connector detect and HW state read-out code, we'd ask only for the needed power domains which would end up doing the RPM get/put. --Imre --=-zA9GxkPE9y7g9iObK8IN 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.12 (GNU/Linux) iQEcBAABAgAGBQJS38ZQAAoJEORIIAnNuWDFDvUH/0iQXINAMLUz9fBAKBGRD1tO HTzaM2TkCwQdYN3AxPHmqMidtaaaDjuLP+rZcv4s6+Zi3ztb+spWsT51MC6RrGmd snqQgSwzoJTHdsteFPu8zrJvFj5BEvAmAygyq523QIl7k2J0UfvmjDD05R9WUS0y Tw9VyoA1uC+qxXYJutnqbX3mHM7kaeVRyUxeloLz9T05CPdskf9QSk1yisf/g6Op 74kv+WUt8qRjpfvFhG4Ye3thEwbA0hXeCtc2olfw7VfDR8vkxbX93ABD+TptLNmf Bn0TXPAdmF7dNWdERmabPxizSri/mw/gB9V7lHsA4F2Ohj2CkLLzBnryTQKJtnU= =qZUg -----END PGP SIGNATURE----- --=-zA9GxkPE9y7g9iObK8IN-- --===============1000487140== 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 --===============1000487140==--