if (batch->num_cliprects) {
vslock((caddr_t)batch->cliprects, cliplen);
}
- DRM_LOCK();
ret = i915_dispatch_batchbuffer(dev, batch);
- if (sarea_priv)
- sarea_priv->last_dispatch = READ_BREADCRUMB(dev_priv);
-
- DRM_UNLOCK();
if (batch->num_cliprects)
vsunlock((caddr_t)batch->cliprects, cliplen);
- DRM_LOCK();
+
+ if (sarea_priv)
+ sarea_priv->last_dispatch = READ_BREADCRUMB(dev_priv);
return ret;
}
vslock((caddr_t)cmdbuf->cliprects, cliplen);
vslock((caddr_t)cmdbuf->buf, cmdbuf->sz);
}
- DRM_LOCK();
ret = i915_dispatch_cmdbuffer(dev, cmdbuf);
- DRM_UNLOCK();
+
if (cmdbuf->num_cliprects) {
vsunlock((caddr_t)cmdbuf->buf, cmdbuf->sz);
vsunlock((caddr_t)cmdbuf->cliprects, cliplen);