From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keith Packard Subject: Re: [PATCH v2] drm/i915: Fix recursive calls to unmap Date: Sun, 30 Oct 2011 18:36:23 -0700 Message-ID: References: <1320024054-4732-1-git-send-email-ben@bwidawsk.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1404541965==" Return-path: Received: from keithp.com (home.keithp.com [63.227.221.253]) by gabe.freedesktop.org (Postfix) with ESMTP id 89AEB9E8BC for ; Sun, 30 Oct 2011 18:36:27 -0700 (PDT) In-Reply-To: <1320024054-4732-1-git-send-email-ben@bwidawsk.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: intel-gfx@lists.freedesktop.org Cc: Ben Widawsky List-Id: intel-gfx@lists.freedesktop.org --===============1404541965== Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" --=-=-= Content-Transfer-Encoding: quoted-printable On Sun, 30 Oct 2011 18:20:54 -0700, Ben Widawsky wrote: >=20 > The solution here is to add a new flag to the call chain which gives the > routines the information they need to possibly defer actions which may > cause us to recurse. This looks a lot nicer; it's shorter than I feared too. > @@ -2051,7 +2052,8 @@ i915_gem_object_wait_rendering(struct drm_i915_gem_= object *obj) > * it. > */ > if (obj->active) { > - ret =3D i915_wait_request(obj->ring, obj->last_rendering_seqno); > + ret =3D i915_wait_request(obj->ring, obj->last_rendering_seqno, > + true); > @@ -2400,7 +2402,8 @@ i915_gem_object_flush_fence(struct drm_i915_gem_obj= ect *obj, > if (!ring_passed_seqno(obj->last_fenced_ring, > obj->last_fenced_seqno)) { > ret =3D i915_wait_request(obj->last_fenced_ring, > - obj->last_fenced_seqno); > + obj->last_fenced_seqno, > + true); > if (ret) > return ret; > } > @@ -2541,7 +2544,8 @@ i915_gem_object_get_fence(struct drm_i915_gem_objec= t *obj, > if (!ring_passed_seqno(obj->last_fenced_ring, > reg->setup_seqno)) { > ret =3D i915_wait_request(obj->last_fenced_ring, > - reg->setup_seqno); > + reg->setup_seqno, > + true); > if (ret) > return ret; > } Any reason you're changing behaviour outside of the area with the actual problem? If so, you should stick those in a separate patch instead of mixing them into this bug fix. =2D-=20 keith.packard@intel.com --=-=-= Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIVAwUBTq37mDYtFsjWk68qAQjd2w//ZtxVx2jDDLzk1IxaPTOHrg4X84FxyU9l a9WUThmJLXKLsFjiHUDeR3D9Z52CBJVqqSO2RlMRueUeVASmEeCK0FdjqDe8S3oW YLA422ygXysGjrEGjYzQnHZS7CfppUQOUHL0XKUATdkQjO1I47A9toKFX+/Xfj0G BGnuWihW8HUCbPhH5oa1SUrxyvyE6Lj0iW29QusasxsjIm2HNksS0WrojAykvdmO x80Y8HmtFKi4Xe5eOx3V/qtyN+fZO3mPgd7esmuIc65Nxz9UZwyJ2oHtemKcMidP beT75uEYqiac3GKE5H9fGlme2Rwleo3+t+y1f3AZSlaazhwj+0C/6RECDx6kmF9S MDg+te7fBr06jwT1yT8yxmsK8X5atpz/1zI5Tx1Zw42ERMrZbdMdBuDyyPZMTgu1 vW4i/t7I7GZsKInhV58LtIwzwdLhxfl4Jq2dr3qAb2qruQ0Qu8QAtFW5s0TUKlY0 e+Fa0PLOXrACOpD0IQsFWhsQMFIb6Lter9+DCQulc5T6ze+euHXqr1X/uji7RAYk ifNOit6wWM3+aHUxf5opjBgXKbWOCFb9N5Lqqb8RLu2nU+2G0fJfCgd2wA8x1RBd npoYVyHIu9TUxx64I9o6MgwGj+s+eFZX1aAsvB0vThTUwYMpCjLdlm1Awr6PJ02M qDiXPiRpjQs= =Bl5b -----END PGP SIGNATURE----- --=-=-=-- --===============1404541965== 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 --===============1404541965==--